17 #include <geos/geom/Coordinate.h>
37 namespace triangulate {
73 void replace(
Tri* triOld,
Tri* triNew);
85 std::vector<Tri*> getAdjacentTris(
Tri* tri, TriIndex index0, TriIndex index1);
89 void flip(
Tri* tri, TriIndex index0, TriIndex index1,
105 void setAdjacent(
Tri* p_tri0,
Tri* p_tri1,
Tri* p_tri2);
106 void setTri(TriIndex edgeIndex,
Tri* tri);
120 void validateAdjacent(TriIndex index);
122 std::pair<const Coordinate&, const Coordinate&> getEdge(
Tri* neighbor)
const;
124 const Coordinate& getEdgeStart(TriIndex i)
const;
125 const Coordinate& getEdgeEnd(TriIndex i)
const;
127 bool hasCoordinate(
const Coordinate& v)
const;
128 const Coordinate& getCoordinate(TriIndex i)
const;
131 TriIndex getIndex(
Tri* tri)
const;
133 Tri* getAdjacent(TriIndex i)
const;
134 bool hasAdjacent(TriIndex i)
const;
135 bool isAdjacent(
Tri* tri)
const;
136 int numAdjacent()
const;
138 static TriIndex next(TriIndex i);
139 static TriIndex prev(TriIndex i);
140 static TriIndex oppVertex(TriIndex edgeIndex);
141 static TriIndex oppEdge(TriIndex vertexIndex);
142 Coordinate midpoint(TriIndex edgeIndex)
const;
146 friend std::ostream& operator << (std::ostream& os,
const Tri&);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Represents a linear polygon, which may include holes.
Definition: Polygon.h:64
void flip(TriIndex index)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26