#pragma once #include "pch.h" #include "PointFunctions.h" class Visibility; //This file includes helper-functions that operate on arrangements. void polygonToArrangement(vector vertices, Arrangement_2& arrangement); Polygon_2 arrangementToPolygon(Arrangement_2 &arrangement); vector faceToPolygon(Face_handle face); vector faceToPolygonP(Face_handle face); Arrangement_2 rotateArrangement(Arrangement_2 &original); vector shootRayUpDown(Arrangement_2& theArrangement, Point_2 start, bool goUp = true, bool goDown = true); Vertex_handle splitFaceEdge(Arrangement_2& theArrangement, Point_2 splitter, Face_handle face); bool properIntersectFace(Face_handle& face, Ray_2 ray, Segment_2& out); bool properIntersectFace(Face_handle& face, Segment_2 ray, Segment_2& out); Ray_2 getRay(int numberOfRays, int rayIndex, Point_2 reflex);