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

Triangulation class - implementation. More...

#include "Triangulation.h"
#include "portable_nth_element.hpp"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <deque>
#include <stdexcept>
Include dependency graph for Triangulation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CDT::detail::FixedCapacityQueue< T >
 
class  CDT::detail::less_than_x< T >
 
class  CDT::detail::less_than_y< T >
 

Namespaces

namespace  CDT
 Namespace containing triangulation functionality.
 

Typedefs

typedef std::deque< TriIndCDT::TriDeque
 

Functions

template<typename T >
array< T, 3 > CDT::detail::arr3 (const T &v0, const T &v1, const T &v2)
 Needed for c++03 compatibility (no uniform initialization available)
 
const float CDT::detail::defaults::minDistToConstraintEdge (0)
 
Edge CDT::RemapNoSuperTriangle (const Edge &e)
 Remap removing super-triangle: subtract 3 from vertices.
 
template<typename T , typename Allocator1 >
void CDT::detail::insert_unique (std::vector< T, Allocator1 > &to, const T &elem)
 
template<typename T , typename Allocator1 , typename Allocator2 >
void CDT::detail::insert_unique (std::vector< T, Allocator1 > &to, const std::vector< T, Allocator2 > &from)
 
template<typename T >
CDT::detail::lerp (const T &a, const T &b, const T t)
 
template<typename T >
V2d< T > CDT::detail::intersectionPosition (const V2d< T > &a, const V2d< T > &b, const V2d< T > &c, const V2d< T > &d)
 
template<typename T >
double CDT::detail::log2_bc (T x)
 
std::size_t CDT::detail::maxQueueLengthBFSKDTree (const std::size_t vertexCount)
 Since KD-tree bulk load builds a balanced tree the maximum length of a queue can be pre-calculated: it is calculated as size of a completely filled tree layer plus the number of the nodes on a completely filled layer that have two children.
 

Variables

const std::size_t CDT::detail::defaults::nTargetVerts = 0
 
const SuperGeometryType::Enum CDT::detail::defaults::superGeomType = SuperGeometryType::SuperTriangle
 
const VertexInsertionOrder::Enum CDT::detail::defaults::vertexInsertionOrder
 
const IntersectingConstraintEdges::Enum CDT::detail::defaults::intersectingEdgesStrategy
 

Detailed Description

Triangulation class - implementation.

Definition in file Triangulation.hpp.

Function Documentation

◆ arr3()

template<typename T >
array< T, 3 > CDT::detail::arr3 ( const T & v0,
const T & v1,
const T & v2 )

Needed for c++03 compatibility (no uniform initialization available)

Definition at line 29 of file Triangulation.hpp.

◆ insert_unique() [1/2]

template<typename T , typename Allocator1 , typename Allocator2 >
void CDT::detail::insert_unique ( std::vector< T, Allocator1 > & to,
const std::vector< T, Allocator2 > & from )

Definition at line 396 of file Triangulation.hpp.

◆ insert_unique() [2/2]

template<typename T , typename Allocator1 >
void CDT::detail::insert_unique ( std::vector< T, Allocator1 > & to,
const T & elem )

Definition at line 386 of file Triangulation.hpp.

◆ intersectionPosition()

template<typename T >
V2d< T > CDT::detail::intersectionPosition ( const V2d< T > & a,
const V2d< T > & b,
const V2d< T > & c,
const V2d< T > & d )

Definition at line 492 of file Triangulation.hpp.

◆ lerp()

template<typename T >
T CDT::detail::lerp ( const T & a,
const T & b,
const T t )

Definition at line 485 of file Triangulation.hpp.

◆ log2_bc()

template<typename T >
double CDT::detail::log2_bc ( T x)
inline

Definition at line 1831 of file Triangulation.hpp.

◆ maxQueueLengthBFSKDTree()

std::size_t CDT::detail::maxQueueLengthBFSKDTree ( const std::size_t vertexCount)
inline

Since KD-tree bulk load builds a balanced tree the maximum length of a queue can be pre-calculated: it is calculated as size of a completely filled tree layer plus the number of the nodes on a completely filled layer that have two children.

Definition at line 1845 of file Triangulation.hpp.

Variable Documentation

◆ intersectingEdgesStrategy

const IntersectingConstraintEdges::Enum CDT::detail::defaults::intersectingEdgesStrategy
Initial value:
=
IntersectingConstraintEdges::NotAllowed

Definition at line 42 of file Triangulation.hpp.

◆ nTargetVerts

const std::size_t CDT::detail::defaults::nTargetVerts = 0

Definition at line 38 of file Triangulation.hpp.

◆ superGeomType

const SuperGeometryType::Enum CDT::detail::defaults::superGeomType = SuperGeometryType::SuperTriangle

Definition at line 39 of file Triangulation.hpp.

◆ vertexInsertionOrder

const VertexInsertionOrder::Enum CDT::detail::defaults::vertexInsertionOrder
Initial value:
=
VertexInsertionOrder::Auto

Definition at line 40 of file Triangulation.hpp.