CDT
1.4.1
C++ library for constrained Delaunay triangulation
|
Triangulation class - implementation. More...
#include "Triangulation.h"
#include "portable_nth_element.hpp"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <deque>
#include <stdexcept>
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< TriInd > | CDT::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 > | |
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. | |
Triangulation class - implementation.
Definition in file Triangulation.hpp.
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.
void CDT::detail::insert_unique | ( | std::vector< T, Allocator1 > & | to, |
const std::vector< T, Allocator2 > & | from ) |
Definition at line 396 of file Triangulation.hpp.
void CDT::detail::insert_unique | ( | std::vector< T, Allocator1 > & | to, |
const T & | elem ) |
Definition at line 386 of file Triangulation.hpp.
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.
T CDT::detail::lerp | ( | const T & | a, |
const T & | b, | ||
const T | t ) |
Definition at line 485 of file Triangulation.hpp.
|
inline |
Definition at line 1831 of file Triangulation.hpp.
|
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.
const IntersectingConstraintEdges::Enum CDT::detail::defaults::intersectingEdgesStrategy |
Definition at line 42 of file Triangulation.hpp.
const std::size_t CDT::detail::defaults::nTargetVerts = 0 |
Definition at line 38 of file Triangulation.hpp.
const SuperGeometryType::Enum CDT::detail::defaults::superGeomType = SuperGeometryType::SuperTriangle |
Definition at line 39 of file Triangulation.hpp.
const VertexInsertionOrder::Enum CDT::detail::defaults::vertexInsertionOrder |
Definition at line 40 of file Triangulation.hpp.