#include <Tri.h>
Inherited by geos::algorithm::hull::HullTri.
|
| Tri (const Coordinate &c0, const Coordinate &c1, const Coordinate &c2) |
|
void | setAdjacent (Tri *p_tri0, Tri *p_tri1, Tri *p_tri2) |
|
void | setAdjacent (const Coordinate &pt, Tri *tri) |
|
void | setTri (TriIndex edgeIndex, Tri *tri) |
|
void | flip (TriIndex index) |
|
void | remove () |
|
void | remove (TriList< Tri > &triList) |
|
void | validate () |
|
void | validateAdjacent (TriIndex index) |
|
std::pair< const Coordinate &, const Coordinate & > | getEdge (Tri *neighbor) const |
|
const Coordinate & | getEdgeStart (TriIndex i) const |
|
const Coordinate & | getEdgeEnd (TriIndex i) const |
|
bool | hasCoordinate (const Coordinate &v) const |
|
const Coordinate & | getCoordinate (TriIndex i) const |
|
TriIndex | getIndex (const Coordinate &p) const |
|
TriIndex | getIndex (const Tri *tri) const |
|
Tri * | getAdjacent (TriIndex i) const |
|
bool | hasAdjacent (TriIndex i) const |
|
bool | hasAdjacent () const |
|
bool | isAdjacent (Tri *tri) const |
|
int | numAdjacent () const |
|
bool | isInteriorVertex (TriIndex index) const |
|
bool | isBorder () const |
|
bool | isBoundary (TriIndex index) const |
|
Coordinate | midpoint (TriIndex edgeIndex) const |
|
double | getArea () const |
|
double | getLength () const |
|
double | getLength (TriIndex i) const |
|
std::unique_ptr< Polygon > | toPolygon (const GeometryFactory *gf) const |
|
|
static TriIndex | next (TriIndex i) |
|
static TriIndex | prev (TriIndex i) |
|
static TriIndex | oppVertex (TriIndex edgeIndex) |
|
static TriIndex | oppEdge (TriIndex vertexIndex) |
|
static std::unique_ptr< Geometry > | toGeometry (std::set< Tri * > &tris, const GeometryFactory *gf) |
|
|
std::ostream & | operator<< (std::ostream &os, const Tri &) |
|
A memory-efficient representation of a triangle in a triangulation. Contains three vertices, and links to adjacent Tris for each edge. Tris are constructed independently, and if needed linked into a triangulation using TriangulationBuilder.
- Author
- Martin Davis
◆ flip()
void geos::triangulate::tri::Tri::flip |
( |
TriIndex |
index | ) |
|
Interchanges the vertices of this triangle and a neighbor so that their common edge becomes the the other diagonal of the quadrilateral they form. Neighbour triangle links are modified accordingly.
- Parameters
-
index | the index of the adjacent tri to flip with |
◆ isInteriorVertex()
bool geos::triangulate::tri::Tri::isInteriorVertex |
( |
TriIndex |
index | ) |
const |
Tests if a tri vertex is interior. A vertex of a triangle is interior if it is fully surrounded by other triangles.
- Parameters
-
- Returns
- true if the vertex is interior
◆ remove()
void geos::triangulate::tri::Tri::remove |
( |
| ) |
|
Removes this triangle from a triangulation. All adjacent references and the references to this Tri in the adjacent Tris are set to nullptr.
◆ tri0
Tri* geos::triangulate::tri::Tri::tri0 |
|
protected |
triN is the adjacent triangle across the edge pN - pNN. pNN is the next vertex CW from pN.
The documentation for this class was generated from the following file: