KiCad PCB EDA Suite
p2t::SweepContext Class Reference

#include <sweep_context.h>

Classes

struct  Basin
 
struct  EdgeEvent
 

Public Member Functions

 SweepContext (std::vector< Point * > polyline)
 Constructor. More...
 
 ~SweepContext ()
 Destructor. More...
 
void set_head (Point *p1)
 
Pointhead ()
 
void set_tail (Point *p1)
 
Pointtail ()
 
int point_count ()
 
NodeLocateNode (Point &point)
 
void RemoveNode (Node *node)
 
void CreateAdvancingFront (std::vector< Node * > nodes)
 
void MapTriangleToNodes (Triangle &t)
 Try to map a node to all sides of this triangle that don't have a neighbor. More...
 
void AddToMap (Triangle *triangle)
 
PointGetPoint (const int &index)
 
PointGetPoints ()
 
void RemoveFromMap (Triangle *triangle)
 
void AddHole (std::vector< Point * > polyline)
 
void AddPoint (Point *point)
 
AdvancingFrontfront ()
 
void MeshClean (Triangle &triangle)
 
std::vector< Triangle * > GetTriangles ()
 
std::list< Triangle * > GetMap ()
 

Public Attributes

std::vector< Edge * > edge_list
 
Basin basin
 
EdgeEvent edge_event
 

Private Member Functions

void InitTriangulation ()
 
void InitEdges (std::vector< Point * > polyline)
 

Private Attributes

std::vector< Triangle * > triangles_
 
std::list< Triangle * > map_
 
std::vector< Point * > points_
 
AdvancingFrontfront_
 
Pointhead_
 
Pointtail_
 
Nodeaf_head_
 
Nodeaf_middle_
 
Nodeaf_tail_
 

Friends

class Sweep
 

Detailed Description

Definition at line 50 of file sweep_context.h.

Constructor & Destructor Documentation

p2t::SweepContext::SweepContext ( std::vector< Point * >  polyline)

Constructor.

p2t::SweepContext::~SweepContext ( )

Destructor.

Member Function Documentation

void p2t::SweepContext::AddHole ( std::vector< Point * >  polyline)
void p2t::SweepContext::AddPoint ( Point point)
void p2t::SweepContext::AddToMap ( Triangle triangle)
void p2t::SweepContext::CreateAdvancingFront ( std::vector< Node * >  nodes)
AdvancingFront * p2t::SweepContext::front ( )
inline

Definition at line 157 of file sweep_context.h.

References front_.

158 {
159  return front_;
160 }
AdvancingFront * front_
std::list<Triangle*> p2t::SweepContext::GetMap ( )
Point* p2t::SweepContext::GetPoint ( const int &  index)
Point* p2t::SweepContext::GetPoints ( )
std::vector<Triangle*> p2t::SweepContext::GetTriangles ( )
Point * p2t::SweepContext::head ( )
inline

Definition at line 175 of file sweep_context.h.

References head_.

176 {
177  return head_;
178 }
void p2t::SweepContext::InitEdges ( std::vector< Point * >  polyline)
private
void p2t::SweepContext::InitTriangulation ( )
private
Node& p2t::SweepContext::LocateNode ( Point point)
void p2t::SweepContext::MapTriangleToNodes ( Triangle t)

Try to map a node to all sides of this triangle that don't have a neighbor.

void p2t::SweepContext::MeshClean ( Triangle triangle)
int p2t::SweepContext::point_count ( )
inline

Definition at line 163 of file sweep_context.h.

References points_.

164 {
165  return points_.size();
166 }
std::vector< Point * > points_
void p2t::SweepContext::RemoveFromMap ( Triangle triangle)
void p2t::SweepContext::RemoveNode ( Node node)
void p2t::SweepContext::set_head ( Point p1)
inline

Definition at line 169 of file sweep_context.h.

References head_.

170 {
171  head_ = p1;
172 }
void p2t::SweepContext::set_tail ( Point p1)
inline

Definition at line 181 of file sweep_context.h.

References tail_.

182 {
183  tail_ = p1;
184 }
Point * p2t::SweepContext::tail ( )
inline

Definition at line 187 of file sweep_context.h.

References tail_.

188 {
189  return tail_;
190 }

Friends And Related Function Documentation

friend class Sweep
friend

Definition at line 138 of file sweep_context.h.

Member Data Documentation

Node* p2t::SweepContext::af_head_
private

Definition at line 151 of file sweep_context.h.

Node * p2t::SweepContext::af_middle_
private

Definition at line 151 of file sweep_context.h.

Node * p2t::SweepContext::af_tail_
private

Definition at line 151 of file sweep_context.h.

Basin p2t::SweepContext::basin

Definition at line 133 of file sweep_context.h.

EdgeEvent p2t::SweepContext::edge_event

Definition at line 134 of file sweep_context.h.

std::vector<Edge*> p2t::SweepContext::edge_list

Definition at line 98 of file sweep_context.h.

AdvancingFront* p2t::SweepContext::front_
private

Definition at line 145 of file sweep_context.h.

Referenced by front().

Point* p2t::SweepContext::head_
private

Definition at line 147 of file sweep_context.h.

Referenced by head(), and set_head().

std::list<Triangle*> p2t::SweepContext::map_
private

Definition at line 141 of file sweep_context.h.

std::vector<Point*> p2t::SweepContext::points_
private

Definition at line 142 of file sweep_context.h.

Referenced by point_count().

Point* p2t::SweepContext::tail_
private

Definition at line 149 of file sweep_context.h.

Referenced by set_tail(), and tail().

std::vector<Triangle*> p2t::SweepContext::triangles_
private

Definition at line 140 of file sweep_context.h.


The documentation for this class was generated from the following file: