25 #if GEOM_PSEUDO3D==GEOM_TRUE
26 namespace GEOM_FADE25D {
27 #elif GEOM_PSEUDO3D==GEOM_FALSE
28 namespace GEOM_FADE2D {
30 #error GEOM_PSEUDO3D is not defined
133 pSavedTr=other.pSavedTr;
155 int ccwIdx=incBy1(pTr->getIntraTriangleIndex(pPnt));
157 std::swap(pSavedTr,pTr);
158 pTr=pSavedTr->getOppositeTriangle(ccwIdx);
179 int cwIdx=incBy2(pTr->getIntraTriangleIndex(pPnt));
180 std::swap(pSavedTr,pTr);
181 pTr=pSavedTr->getOppositeTriangle(cwIdx);
192 return (pPnt==rhs.pPnt && pTr==rhs.pTr);
202 return (pPnt!=rhs.pPnt || pTr!=rhs.pTr);
251 assert(pTr==NULL && pSavedTr!=NULL);
253 enum DIRECTION{DIRECTION_NONE,DIRECTION_BACK,DIRECTION_FWD};
254 DIRECTION direction(DIRECTION_NONE);
260 direction=DIRECTION_BACK;
264 assert(direction==DIRECTION_NONE);
265 direction=DIRECTION_FWD;
268 if(direction==DIRECTION_FWD)
while(*
operator++()!=NULL);
269 if(direction==DIRECTION_BACK)
while(*
operator--()!=NULL);
Represents a 2.5D point.
Definition: Point2.h:61
Represents a triangle in a triangulation.
Definition: Triangle2.h:59
Triangle2 * getOppositeTriangle(const int idx) const
Get the neighbor triangle at the specified index.
Definition: Triangle2.h:420
int getIntraTriangleIndex(const Point2 *pCorner) const
Get the index of the specified corner.
Definition: Triangle2.h:451
Iterator for all triangles around a given vertex.
Definition: TriangleAroundVertexIterator.h:82
Triangle2 * previewNextTriangle()
Preview the next triangle (CCW direction).
Definition: TriangleAroundVertexIterator.h:223
TriangleAroundVertexIterator & operator--()
Move the iterator to the previous triangle (clockwise order)
Definition: TriangleAroundVertexIterator.h:172
Triangle2 * previewPrevTriangle()
Preview the previous triangle (CW direction).
Definition: TriangleAroundVertexIterator.h:236
TriangleAroundVertexIterator(Point2 *pPnt_, Triangle2 *pTr_)
Constructor.
Definition: TriangleAroundVertexIterator.h:108
TriangleAroundVertexIterator & operator=(const TriangleAroundVertexIterator &other)
Assignment operator.
Definition: TriangleAroundVertexIterator.h:129
Triangle2 * operator*()
Returns the current triangle (or NULL)
Definition: TriangleAroundVertexIterator.h:210
bool operator!=(const TriangleAroundVertexIterator &rhs)
Compare the current iterator with another iterator.
Definition: TriangleAroundVertexIterator.h:200
bool operator==(const TriangleAroundVertexIterator &rhs)
Compare the current iterator with another iterator.
Definition: TriangleAroundVertexIterator.h:190
TriangleAroundVertexIterator(const Point2 *pPnt_)
Constructor.
Definition: TriangleAroundVertexIterator.h:92
TriangleAroundVertexIterator(const TriangleAroundVertexIterator &it)
Copy constructor.
Definition: TriangleAroundVertexIterator.h:118
TriangleAroundVertexIterator & operator++()
Move the iterator to the next triangle (counterclockwise order)
Definition: TriangleAroundVertexIterator.h:145