1 #ifndef EDGE_H_INCLUDED
2 #define EDGE_H_INCLUDED
69 Vertex* originVertex()
const {
return this->origin_vertex; }
70 Vertex* destinVertex()
const {
return this->opposite_edge->origin_vertex; }
72 Edge* oppositeEdge()
const {
return this->opposite_edge; }
73 Edge* nextLeftEdge()
const {
return this->next_left_edge; }
74 Edge* prevLeftEdge()
const {
return this->next_left_edge->next_left_edge; }
75 Edge* nextRightEdge()
const {
return this->
76 opposite_edge->next_left_edge->next_left_edge->opposite_edge;}
77 Edge* prevRightEdge()
const {
return this->opposite_edge->next_left_edge->opposite_edge; }
78 Edge* rotLeftEdge()
const {
return this->next_left_edge->next_left_edge->opposite_edge; }
79 Edge* rotRightEdge()
const {
return this->opposite_edge->next_left_edge; }
80 Face* leftFace()
const {
return this->left_face; }
81 Face* rightFace()
const {
return this->opposite_edge->left_face; }
83 bool isVisible()
const {
return this->visible; }
84 bool isConstraigned()
const {
return this->constraigned; }
86 unsigned int getID()
const {
return this->id; }
92 void setOriginVertex(
Vertex* v) { this->origin_vertex = v; v->
setEdge(
this); }
93 void setOppositeEdge(
Edge* e) { this->opposite_edge = e; }
94 void setNextLeftEdge(
Edge* e) { this->next_left_edge = e; }
95 void setLeftFace(
Face* f,
short ttl = 4) {
98 this->nextLeftEdge()->setLeftFace(f, ttl-1);
100 void setVisibility(
bool v) { this->visible = v; }
101 void setConstraigned(
bool c) { this->constraigned = c; }
108 bool constraigned =
false;
111 Edge* next_left_edge;
114 static unsigned int last_id;
121 std::ostream& operator<<(std::ostream&,
Edge const &);