CDT  1.4.1
C++ library for constrained Delaunay triangulation
Loading...
Searching...
No Matches
CDTUtils.hpp File Reference

Utilities and helpers - implementation. More...

#include "CDTUtils.h"
#include "predicates.h"
#include <stdexcept>
Include dependency graph for CDTUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  CDT
 Namespace containing triangulation functionality.
 

Functions

template<typename T >
Box2d< T > CDT::envelopBox (const std::vector< V2d< T > > &vertices)
 Bounding box of a collection of 2D points.
 
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 >
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_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 >
CDT::distanceSquared (const T ax, const T ay, const T bx, const T by)
 
template<typename T >
CDT::distance (const T ax, const T ay, const T bx, const T by)
 
template<typename T >
CDT::distance (const V2d< T > &a, const V2d< T > &b)
 Distance between two 2D points.
 
template<typename T >
CDT::distanceSquared (const V2d< T > &a, const V2d< T > &b)
 Squared distance between two 2D points.
 
CDT_INLINE_IF_HEADER_ONLY bool CDT::touchesSuperTriangle (const Triangle &t)
 Check if any of triangle's vertices belongs to a super-triangle.
 

Detailed Description

Utilities and helpers - implementation.

Definition in file CDTUtils.hpp.