libsurf
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:
[legend]

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