Chrysalis - Pattern
Loading...
Searching...
No Matches
ProjectSpace.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_SPACE_H
2#define CHRYSALIS_SPACE_H
3
4#include <unordered_set>
5
6#include "Curve.h"
7#include "serialization.h"
8
9#include "Point.h"
10
11namespace Chrysalis {
14 public:
16
17 void movePoint(const Point* point, CG::Point position) const;
18
19 bool hasCurve(const Point* from, const Point* to) const;
20 const Curve* getCurve(const Point* from, const Point* to) const;
21
22 Point* addPoint(double x, double y);
23 Point* addPoint(const CG::Point& point);
24 Curve* addCurve(const Point* from, const Point* to,
25 const CG::Segment& segmentFrom, const CG::Segment& segmentTo,
26 const std::vector<CG::Point>& points);
27 private:
29 std::unordered_set<Point*> points_;
31 std::unordered_map<const Point*, std::unordered_map<const Point*, Curve*>> curves_;
32 };
33}
34
35#endif //CHRYSALIS_SPACE_H
Definition Curve.h:8
Definition Point.h:9
Definition ProjectSpace.h:12
Curve * addCurve(const Point *from, const Point *to, const CG::Segment &segmentFrom, const CG::Segment &segmentTo, const std::vector< CG::Point > &points)
Definition ProjectSpace.cpp:40
bool hasCurve(const Point *from, const Point *to) const
Definition ProjectSpace.cpp:22
~ProjectSpace()
Definition ProjectSpace.cpp:7
Point * addPoint(double x, double y)
Definition ProjectSpace.cpp:30
const Curve * getCurve(const Point *from, const Point *to) const
Definition ProjectSpace.cpp:26
void movePoint(const Point *point, CG::Point position) const
Definition ProjectSpace.cpp:18
CGAL::Segment_2< LinearKernel > Segment
Definition CGAL.h:26
CGAL::Point_2< LinearKernel > Point
Definition CGAL.h:24
Definition Argument.h:9
#define SERIALIZED
Definition serialization.h:57