Programmer's Documentation

Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
TTiTopology Class Reference

Detailed Description

Intersection topology.

This is the top-level object for the intersection processing algorithm in libsurf. It uses an intersector object, which computes the discrete triangle intersections, and processes the intersection segments found.

See Also
TTIntersection, TTIntersector

#include <ttitopology.h>

Collaboration diagram for TTiTopology:

Public Member Functions

 TTiTopology ()
 empty topology object
 TTiTopology (const TTIntersectorPtr &tti)
 construct intersection topology
void addLineViz (MeshFields &mvz) const
 visualization (lines only)
uint findLines ()
 search for singly-connected intersection lines
void refine ()
 refine intersection points iteratively
uint nlines () const
 number of intersection lines identifies
void filter (uint jline)
 filter identified intersection lines to improve mesh quality
bool projection (uint k, const MeshComponent *c, PointList< 2 > &ppt, PointList< 3 > &vtx) const
 construct projection of intersection line k on component c
void spotRefinement (const MeshComponent *c, Real smax, RSpotArray &sra) const
 determine local refinement pattern near intersections
void affectedVertices (const MeshComponent *c, Indices &vlist) const
 determine vertices affected by intersections

Private Member Functions

void mergeNodes (Real mthreshold)
 merge intersection nodes
Real uvDistance (const std::vector< bool > &onb, uint i, uint j) const
 helper for mergeNodes, does not work otherwise
void findTriples ()
 find three-surface intersections
void fixate ()
 construct node-segment connectivity data
Real localLength (uint k) const
 compute minimum local triangle dimension around node k

Private Attributes

TTIntersectorPtr tip
 pointer to intersector object
ConnectMap n2smap
 connectivity from nodes to segments
TTiNodeArray nodes
 points shared by intersection segments
TTIntersectionArray segments
 edges / segments
std::vector< std::deque< uint > > lines
 segment indices which make up singly-connected strings

Static Private Attributes

static Real tolBound = 1e-7
 parameter limit for tolerant boundaries

The documentation for this class was generated from the following files:
Generated on Wed Jan 19 2022 03:03:19 for libsurf by   doxygen 1.8.5