|
CDT
2.0.1
C++ library for constrained Delaunay triangulation
|
Utilities and helpers - implementation. More...
Go to the source code of this file.
Namespaces | |
| namespace | CDT |
| Namespace containing triangulation functionality. | |
Functions | |
| CDT_EXPORT Index | CDT::ccw (Index i) |
| Advance vertex or neighbor index counter-clockwise. | |
| CDT_EXPORT Index | CDT::cw (Index i) |
| Advance vertex or neighbor index clockwise. | |
| CDT_EXPORT bool | CDT::isOnEdge (PtTriLocation::Enum location) |
| Check if location is classified as on any of three edges. | |
| CDT_EXPORT Index | CDT::edgeNeighbor (PtTriLocation::Enum location) |
| Neighbor index from a on-edge location. | |
| template<typename T> | |
| T | CDT::orient2D (const V2d< T > &p, const V2d< T > &v1, const V2d< T > &v2) |
| Orient p against line v1-v2 2D: robust geometric predicate. | |
| template<typename T> | |
| PtLineLocation::Enum | CDT::locatePointLine (const V2d< T > &p, const V2d< T > &v1, const V2d< T > &v2, const T orientationTolerance) |
| Check if point lies to the left of, to the right of, or on a line. | |
| template<typename T> | |
| PtLineLocation::Enum | CDT::classifyOrientation (const T orientation, const T orientationTolerance) |
| Classify value of orient2d predicate. | |
| template<typename T> | |
| PtTriLocation::Enum | CDT::locatePointTriangle (const V2d< T > &p, const V2d< T > &v1, const V2d< T > &v2, const V2d< T > &v3) |
| Check if point a lies inside of, outside of, or on an edge of a triangle. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::opoNbr (Index vertIndex) |
| Opposed neighbor index from vertex index. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::opoVrt (Index neighborIndex) |
| Opposed vertex index from neighbor index. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::opposedTriangleInd (const VerticesArr3 &vv, VertInd iVert) |
| Index of triangle's neighbor opposed to a vertex. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::edgeNeighborInd (const VerticesArr3 &vv, VertInd iVedge1, VertInd iVedge2) |
| Index of triangle's neighbor opposed to an edge. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::opposedVertexInd (const NeighborsArr3 &nn, TriInd iTopo) |
| Index of triangle's vertex opposed to a triangle. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY Index | CDT::vertexInd (const VerticesArr3 &vv, VertInd iV) |
| If triangle has a given vertex return vertex-index. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY TriInd | CDT::opposedTriangle (const Triangle &tri, VertInd iVert) |
| Given triangle and a vertex find opposed triangle. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY VertInd | CDT::opposedVertex (const Triangle &tri, TriInd iTopo) |
| Given two triangles, return vertex of first triangle opposed to the second. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY TriInd | CDT::edgeNeighbor (const Triangle &tri, VertInd iVedge1, VertInd iVedge2) |
| Given triangle and an edge find neighbor sharing the edge. | |
| template<typename T> | |
| bool | CDT::isInCircumcircle (const V2d< T > &p, const V2d< T > &v1, const V2d< T > &v2, const V2d< T > &v3) |
| Test if point lies in a circumscribed circle of a triangle. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY bool | CDT::verticesShareEdge (const TriIndVec &aTris, const TriIndVec &bTris) |
| Test if two vertices share at least one common triangle. | |
| template<typename T> | |
| T | CDT::distanceSquared (const T ax, const T ay, const T bx, const T by) |
| template<typename T> | |
| T | CDT::distance (const T ax, const T ay, const T bx, const T by) |
| template<typename T> | |
| T | CDT::distance (const V2d< T > &a, const V2d< T > &b) |
| Distance between two 2D points. | |
| template<typename T> | |
| T | CDT::distanceSquared (const V2d< T > &a, const V2d< T > &b) |
| Squared distance between two 2D points. | |
| CDT_EXPORT CDT_INLINE_IF_HEADER_ONLY bool | CDT::touchesSuperTriangle (const Triangle &t) |
| Check if any of triangle's vertices belongs to a super-triangle. | |
| template<typename T> | |
| bool | CDT::detail::isEncroachingOnEdge (const V2d< T > &v, const V2d< T > &edgeStart, const V2d< T > &edgeEnd) |
| Check if vertex V is encroaching on diametral circle of an edge. | |
| template<typename T> | |
| T | CDT::detail::doubledArea (const V2d< T > &a, const V2d< T > &b, const V2d< T > &c) |
| Doubled surface area of a triangle ABC. | |
| template<typename T> | |
| T | CDT::detail::sineOfSmallestAngle (const V2d< T > &a, const V2d< T > &b, const V2d< T > &c) |
| Sine of smallest angle of triangle ABC. | |
| template<typename T> | |
| T | CDT::area (const V2d< T > &a, const V2d< T > &b, const V2d< T > &c) |
| Surface area of a triangle ABC. | |
| template<typename T> | |
| V2d< T > | CDT::circumcenter (V2d< T > a, V2d< T > b, V2d< T > c) |
| Position of ABC triangle circumcenter. | |
| template<typename T> | |
| T | CDT::smallestAngle (const V2d< T > &a, const V2d< T > &b, const V2d< T > &c) |
| Smallest angle of triangle ABC in radians. | |
| template<typename T> | |
| T | CDT::degToRad (const T degrees) |
| Convert an angle from degrees to radians. | |
Utilities and helpers - implementation.
Definition in file CDTUtils.hpp.
| T CDT::detail::doubledArea | ( | const V2d< T > & | a, |
| const V2d< T > & | b, | ||
| const V2d< T > & | c ) |
Doubled surface area of a triangle ABC.
Definition at line 284 of file CDTUtils.hpp.
| bool CDT::detail::isEncroachingOnEdge | ( | const V2d< T > & | v, |
| const V2d< T > & | edgeStart, | ||
| const V2d< T > & | edgeEnd ) |
Check if vertex V is encroaching on diametral circle of an edge.
Definition at line 272 of file CDTUtils.hpp.
| T CDT::detail::sineOfSmallestAngle | ( | const V2d< T > & | a, |
| const V2d< T > & | b, | ||
| const V2d< T > & | c ) |
Sine of smallest angle of triangle ABC.
Definition at line 290 of file CDTUtils.hpp.