CDT  1.4.2
C++ library for constrained Delaunay triangulation
 
Loading...
Searching...
No Matches
CDT.h File Reference

Public API. More...

Go to the source code of this file.

Classes

struct  CDT::DuplicatesInfo
 Information about removed duplicated vertices. More...
 
struct  boost::hash< CDT::V2d< T > >
 

Namespaces

namespace  CDT
 Namespace containing triangulation functionality.
 

Typedefs

typedef unsigned short CDT::LayerDepth
 Type used for storing layer depths for triangles.
 
typedef LayerDepth CDT::BoundaryOverlapCount
 
typedef std::vector< TriIndVecCDT::VerticesTriangles
 Triangles by vertex index.
 

Functions

CDT_EXPORT VerticesTriangles CDT::calculateTrianglesByVertex (const TriangleVec &triangles, VertInd verticesSize)
 Calculate triangles adjacent to vertices (triangles by vertex index)
 
template<typename T, typename TVertexIter, typename TGetVertexCoordX, typename TGetVertexCoordY>
DuplicatesInfo CDT::FindDuplicates (TVertexIter first, TVertexIter last, TGetVertexCoordX getX, TGetVertexCoordY getY)
 Find duplicates in given custom point-type range.
 
template<typename TVertex, typename TAllocator>
void CDT::RemoveDuplicates (std::vector< TVertex, TAllocator > &vertices, const std::vector< std::size_t > &duplicates)
 Remove duplicates in-place from vector of custom points.
 
template<typename T>
CDT_EXPORT DuplicatesInfo CDT::RemoveDuplicates (std::vector< V2d< T > > &vertices)
 Remove duplicated points in-place.
 
template<typename TEdgeIter, typename TGetEdgeVertexStart, typename TGetEdgeVertexEnd, typename TMakeEdgeFromStartAndEnd>
void CDT::RemapEdges (TEdgeIter first, TEdgeIter last, const std::vector< std::size_t > &mapping, TGetEdgeVertexStart getStart, TGetEdgeVertexEnd getEnd, TMakeEdgeFromStartAndEnd makeEdge)
 Remap vertex indices in edges (in-place) using given vertex-index mapping.
 
CDT_EXPORT void CDT::RemapEdges (std::vector< Edge > &edges, const std::vector< std::size_t > &mapping)
 Remap vertex indices in edges (in-place) using given vertex-index mapping.
 
template<typename T, typename TVertex, typename TGetVertexCoordX, typename TGetVertexCoordY, typename TVertexAllocator, typename TEdgeIter, typename TGetEdgeVertexStart, typename TGetEdgeVertexEnd, typename TMakeEdgeFromStartAndEnd>
DuplicatesInfo CDT::RemoveDuplicatesAndRemapEdges (std::vector< TVertex, TVertexAllocator > &vertices, TGetVertexCoordX getX, TGetVertexCoordY getY, TEdgeIter edgesFirst, TEdgeIter edgesLast, TGetEdgeVertexStart getStart, TGetEdgeVertexEnd getEnd, TMakeEdgeFromStartAndEnd makeEdge)
 Find point duplicates, remove them from vector (in-place) and remap edges (in-place)
 
template<typename T>
CDT_EXPORT DuplicatesInfo CDT::RemoveDuplicatesAndRemapEdges (std::vector< V2d< T > > &vertices, std::vector< Edge > &edges)
 Same as a chained call of CDT::RemoveDuplicates + CDT::RemapEdges.
 
CDT_EXPORT EdgeUSet CDT::extractEdgesFromTriangles (const TriangleVec &triangles)
 Extract all edges of triangles.
 
CDT_EXPORT unordered_map< Edge, EdgeVecCDT::EdgeToPiecesMapping (const unordered_map< Edge, EdgeVec > &pieceToOriginals)
 
template<typename T>
unordered_map< Edge, std::vector< VertInd > > CDT::EdgeToSplitVertices (const unordered_map< Edge, EdgeVec > &edgeToPieces, const std::vector< V2d< T > > &vertices)
 

Detailed Description

Public API.

Definition in file CDT.h.