ttl.h File Reference

#include <list>
#include <iterator>
#include <ttl/ttl_constr.h>

Go to the source code of this file.

Namespaces

namespace  ttl
 

Main interface to TTL.


Functions

Delaunay Triangulation



template<class TraitsType , class DartType , class PointType >
bool ttl::insertNode (DartType &dart, PointType &point)
 Inserts a new node in an existing Delaunay triangulation and swaps edges to obtain a new Delaunay triangulation.
template<class TraitsType , class DartType >
void ttl::removeRectangularBoundary (DartType &dart)
 Removes the rectangular boundary of a triangulation as a final step of an incremental Delaunay triangulation.
template<class TraitsType , class DartType >
void ttl::removeNode (DartType &dart)
 Removes the node associated with dart and updates the triangulation to be Delaunay.
template<class TraitsType , class DartType >
void ttl::removeBoundaryNode (DartType &dart)
 Removes the boundary node associated with dart and updates the triangulation to be Delaunay.
template<class TraitsType , class DartType >
void ttl::removeInteriorNode (DartType &dart)
 Removes the interior node associated with dart and updates the triangulation to be Delaunay.
template<class TraitsType , class ForwardIterator , class DartType >
void ttl::insertNodes (ForwardIterator first, ForwardIterator last, DartType &dart)
Topological and Geometric Queries



template<class TraitsType , class PointType , class DartType >
bool ttl::locateFaceSimplest (const PointType &point, DartType &dart)
 Locates the face containing a given point.
template<class TraitsType , class PointType , class DartType >
bool ttl::locateTriangle (const PointType &point, DartType &dart)
 Locates the triangle containing a given point.
template<class TraitsType , class PointType , class DartType >
bool ttl::inTriangleSimplest (const PointType &point, const DartType &dart)
 Checks if point is inside the triangle associated with dart.
template<class TraitsType , class PointType , class DartType >
bool ttl::inTriangle (const PointType &point, const DartType &dart)
 Checks if point is inside the triangle associated with dart.
template<class DartType , class DartListType >
void ttl::getBoundary (const DartType &dart, DartListType &boundary)
 Gets the boundary as sequence of darts, where the edges associated with the darts are boundary edges, given a dart with an associating edge at the boundary of a topology structure.
template<class DartType >
bool ttl::isBoundaryEdge (const DartType &dart)
 Checks if the edge associated with dart is at the boundary of the triangulation.
template<class DartType >
bool ttl::isBoundaryFace (const DartType &dart)
 Checks if the face associated with dart is at the boundary of the triangulation.
template<class DartType >
bool ttl::isBoundaryNode (const DartType &dart)
 Checks if the node associated with dart is at the boundary of the triangulation.
template<class DartType >
int ttl::getDegreeOfNode (const DartType &dart)
 Returns the degree of the node associated with dart.
template<class DartType , class DartListType >
void ttl::get_0_orbit_interior (const DartType &dart, DartListType &orbit)
 Gets the 0-orbit around an interior node.
template<class DartType , class DartListType >
void ttl::get_0_orbit_boundary (const DartType &dart, DartListType &orbit)
 Gets the 0-orbit around a node at the boundary.
template<class DartType >
bool ttl::same_0_orbit (const DartType &d1, const DartType &d2)
 Checks if the two darts belong to the same 0-orbit, i.e., if they share a node.
template<class DartType >
bool ttl::same_1_orbit (const DartType &d1, const DartType &d2)
 Checks if the two darts belong to the same 1-orbit, i.e., if they share an edge.
template<class DartType >
bool ttl::same_2_orbit (const DartType &d1, const DartType &d2)
 Checks if the two darts belong to the same 2-orbit, i.e., if they lie in the same triangle.
template<class TraitsType , class DartType >
bool ttl::swappableEdge (const DartType &dart, bool allowDegeneracy)
 Checks if the edge associated with dart is swappable, i.e., if the edge is a diagonal in a strictly convex (or convex) quadrilateral.
template<class DartType >
void ttl::positionAtNextBoundaryEdge (DartType &dart)
 Given a dart, CCW or CW, positioned in a 0-orbit at the boundary of a tessellation.
template<class TraitsType , class DartType >
bool ttl::convexBoundary (const DartType &dart)
 Checks if the boundary of a triangulation is convex.
template<class TopologyElementType , class DartType >
bool ttl::isMemberOfFace (const TopologyElementType &topologyElement, const DartType &dart)
template<class TraitsType , class NodeType , class DartType >
bool ttl::locateFaceWithNode (const NodeType &node, DartType &dart_iter)
template<class DartType >
void ttl::getAdjacentTriangles (const DartType &dart, DartType &t1, DartType &t2, DartType &t3)
template<class DartType >
void ttl::getNeighborNodes (const DartType &dart, list< DartType > &node_list, bool &boundary)
template<class TraitsType , class DartType >
bool ttl::degenerateTriangle (const DartType &dart)
Utilities for Delaunay Triangulation



template<class TraitsType , class DartType , class DartListType >
void ttl::optimizeDelaunay (DartListType &elist)
 Optimizes the edges in the given sequence according to the Delaunay criterion, i.e., such that the edge will fullfill the circumcircle criterion (or equivalently the MaxMin angle criterion) with respect to the quadrilaterals where they are diagonals.
template<class TraitsType , class DartType , class DartListType >
void ttl::optimizeDelaunay (DartListType &elist, const typename DartListType::iterator end)
template<class TraitsType , class DartType >
bool ttl::swapTestDelaunay (const DartType &dart, bool cycling_check)
 Checks if the edge associated with dart should be swapped according to the Delaunay criterion, i.e., the circumcircle criterion (or equivalently the MaxMin angle criterion).
template<class TraitsType , class DartType >
void ttl::recSwapDelaunay (DartType &diagonal)
 Recursively swaps edges in the triangulation according to the Delaunay criterion.
template<class TraitsType , class DartType , class ListType >
void ttl::swapEdgesAwayFromInteriorNode (DartType &dart, ListType &swapped_edges)
 Swaps edges away from the (interior) node associated with dart such that that exactly three edges remain incident with the node.
template<class TraitsType , class DartType , class ListType >
void ttl::swapEdgesAwayFromBoundaryNode (DartType &dart, ListType &swapped_edges)
 Swaps edges away from the (boundary) node associated with dart in such a way that when removing the edges that remain incident with the node, the boundary of the triangulation will be convex.
template<class TraitsType , class DartType , class DartListType >
void ttl::swapEdgeInList (const typename DartListType::iterator &it, DartListType &elist)
 Swap the the edge associated with iterator it and update affected darts in elist accordingly.
Constrained (Delaunay) Triangulation



template<class TraitsType , class DartType >
DartType ttl::insertConstraint (DartType &dstart, DartType &dend, bool optimize_delaunay)
 Inserts a constrained edge between two existing nodes in a triangulation.

Generated on Wed Nov 17 17:44:27 2010 for TTL by  doxygen 1.6.1