Edge class in the in the half-edge data structure. More...
#include <ttl/halfedge/HeTriang.h>
| Public Member Functions | |
| Edge () | |
| Constructor. | |
| ~Edge () | |
| Destructor. | |
| void | setSourceNode (Node *node) | 
| Sets the source node. | |
| void | setNextEdgeInFace (Edge *edge) | 
| Sets the next edge in face. | |
| void | setTwinEdge (Edge *edge) | 
| Sets the twin edge. | |
| void | setAsLeadingEdge (bool val=true) | 
| Sets the edge as a leading edge. | |
| bool | isLeadingEdge () const | 
| Checks if an edge is a leading edge. | |
| void | setConstrained (bool val=true) | 
| Sets the edge as a constrained edge. | |
| bool | isConstrained () const | 
| Checks if an edge is constrained. | |
| Edge * | getTwinEdge () const | 
| Returns the twin edge. | |
| Edge * | getNextEdgeInFace () const | 
| Returns the next edge in face. | |
| Node * | getSourceNode () | 
| Retuns the source node. | |
| Node * | getTargetNode () | 
| Returns the target node. | |
| Private Attributes | |
| Handle< Node > | sourceNode_ | 
| Edge * | twinEdge_ | 
| Edge * | nextEdgeInFace_ | 
| struct { | |
| unsigned char isLeadingEdge_: 1 | |
| unsigned char isConstrained_: 1 | |
| } | flags_ | 
Edge class in the in the half-edge data structure.
Definition at line 138 of file HeTriang.h.
| hed::Edge::Edge | ( | ) |  [inline] | 
Constructor.
Definition at line 151 of file HeTriang.h.
References flags_, nextEdgeInFace_, sourceNode_, and twinEdge_.
00151 { sourceNode_ = NULL; twinEdge_ = NULL; nextEdgeInFace_ = NULL; 00152 flags_.isLeadingEdge_ = 0; flags_.isConstrained_ = 0; }
| hed::Edge::~Edge | ( | ) |  [inline] | 
| Edge* hed::Edge::getNextEdgeInFace | ( | ) | const  [inline] | 
Returns the next edge in face.
Definition at line 183 of file HeTriang.h.
References nextEdgeInFace_.
Referenced by hed::Dart::alpha1(), and getTargetNode().
00183 { return nextEdgeInFace_; }
| Node* hed::Edge::getSourceNode | ( | ) |  [inline] | 
Retuns the source node.
Definition at line 186 of file HeTriang.h.
References Handle< T >::getPtr(), and sourceNode_.
Referenced by hed::Dart::getNode(), hed::Dart::getOppositeNode(), and getTargetNode().
00186 { return sourceNode_.getPtr(); }
| Node* hed::Edge::getTargetNode | ( | ) |  [inline] | 
Returns the target node.
Definition at line 189 of file HeTriang.h.
References getNextEdgeInFace(), and getSourceNode().
Referenced by hed::Dart::getNode(), and hed::Dart::getOppositeNode().
00189 { return getNextEdgeInFace()->getSourceNode(); }
| Edge* hed::Edge::getTwinEdge | ( | ) | const  [inline] | 
Returns the twin edge.
Definition at line 180 of file HeTriang.h.
References twinEdge_.
Referenced by hed::Dart::alpha2().
00180 { return twinEdge_; };
| bool hed::Edge::isConstrained | ( | ) | const  [inline] | 
Checks if an edge is constrained.
Definition at line 177 of file HeTriang.h.
References flags_.
Referenced by hed::TTLtraits::swapEdge().
00177 { return flags_.isConstrained_ == 1 ? true : false; }
| bool hed::Edge::isLeadingEdge | ( | ) | const  [inline] | 
Checks if an edge is a leading edge.
Definition at line 170 of file HeTriang.h.
References flags_.
00170 { return flags_.isLeadingEdge_ == 1 ? true : false; }
| void hed::Edge::setAsLeadingEdge | ( | bool | val = true | ) |  [inline] | 
Sets the edge as a leading edge.
Definition at line 167 of file HeTriang.h.
References flags_.
Referenced by hed::Triangulation::addLeadingEdge().
00167 { flags_.isLeadingEdge_ = (val == true ? 1 : 0); }
| void hed::Edge::setConstrained | ( | bool | val = true | ) |  [inline] | 
Sets the edge as a constrained edge.
Definition at line 173 of file HeTriang.h.
References flags_, isConstrained_, and twinEdge_.
| void hed::Edge::setNextEdgeInFace | ( | Edge * | edge | ) |  [inline] | 
Sets the next edge in face.
Definition at line 161 of file HeTriang.h.
References nextEdgeInFace_.
00161 { nextEdgeInFace_ = edge; }
| void hed::Edge::setSourceNode | ( | Node * | node | ) |  [inline] | 
Sets the source node.
Definition at line 158 of file HeTriang.h.
References sourceNode_.
00158 { sourceNode_ = node; }
| void hed::Edge::setTwinEdge | ( | Edge * | edge | ) |  [inline] | 
Sets the twin edge.
Definition at line 164 of file HeTriang.h.
References twinEdge_.
Referenced by ~Edge().
00164 { twinEdge_ = edge; }
| struct { ... }   hed::Edge::flags_  [private] | 
Referenced by Edge(), isConstrained(), isLeadingEdge(), setAsLeadingEdge(), and setConstrained().
| unsigned char hed::Edge::isConstrained_ | 
Definition at line 146 of file HeTriang.h.
Referenced by setConstrained().
| unsigned char hed::Edge::isLeadingEdge_ | 
Definition at line 145 of file HeTriang.h.
| Edge* hed::Edge::nextEdgeInFace_  [private] | 
Definition at line 142 of file HeTriang.h.
Referenced by Edge(), getNextEdgeInFace(), and setNextEdgeInFace().
| Handle<Node> hed::Edge::sourceNode_  [private] | 
Definition at line 140 of file HeTriang.h.
Referenced by Edge(), getSourceNode(), and setSourceNode().
| Edge* hed::Edge::twinEdge_  [private] | 
Definition at line 141 of file HeTriang.h.
Referenced by Edge(), getTwinEdge(), setConstrained(), setTwinEdge(), and ~Edge().
 1.6.1
 1.6.1