32#ifndef SWEEP_CONTEXT_H
33#define SWEEP_CONTEXT_H
43const double kAlpha = 0.3;
59void set_head(
Point* p1);
63void set_tail(
Point* p1);
67size_t point_count()
const;
71void RemoveNode(
Node* node);
73void CreateAdvancingFront();
80Point* GetPoint(
size_t index);
84void RemoveFromMap(
Triangle* triangle);
86void AddHole(
const std::vector<Point*>& polyline);
88void AddPoint(
Point* point);
94std::vector<Triangle*> &GetTriangles();
95std::list<Triangle*> &GetMap();
97std::vector<Edge*> edge_list;
106 Basin() : left_node(NULL), bottom_node(NULL), right_node(NULL), width(0.0), left_highest(
false)
116 left_highest =
false;
121 Edge* constrained_edge;
124 EdgeEvent() : constrained_edge(NULL), right(
false)
136std::vector<Triangle*> triangles_;
137std::list<Triangle*> map_;
138std::vector<Point*> points_;
147Node *af_head_, *af_middle_, *af_tail_;
149void InitTriangulation();
150void InitEdges(
const std::vector<Point*>& polyline);
159inline size_t SweepContext::point_count()
const
161 return points_.size();
164inline void SweepContext::set_head(Point* p1)
169inline Point* SweepContext::head()
const
174inline void SweepContext::set_tail(Point* p1)
179inline Point* SweepContext::tail()
const
Definition: advancing_front.h:62
Definition: sweep_context.h:51
~SweepContext()
Destructor.
Definition: sweep_context.cpp:185
SweepContext(const std::vector< Point * > &polyline)
Constructor.
Definition: sweep_context.cpp:37
void MapTriangleToNodes(Triangle &t)
Try to map a node to all sides of this triangle that don't have a neighbor.
Definition: sweep_context.cpp:149
Sweep-line, Constrained Delauney Triangulation (CDT) See: Domiter, V.
Definition: shapes.cpp:36
Definition: advancing_front.h:42
Definition: sweep_context.h:99
Definition: sweep_context.h:120