libsurf
Programmer's Documentation

Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TTIntersection Class Reference

Detailed Description

Triangle-triangle intersection.

See Also
MeshComponent, TTIntersector

#include <ttintersection.h>

Collaboration diagram for TTIntersection:
[legend]

Public Types

enum  TTiConTop {
  tti_s2s, tti_s2t, tti_t2s, tti_t2t,
  tti_none
}
 

Public Member Functions

 TTIntersection ()
 undefined intersection
 
 TTIntersection (const TTIntersector *tti, uint t1, uint t2)
 initialize defined, but untested intersection
 
 TTIntersection (const TTIntersector *tti, uint t1, uint t2, const Vct3 &ps, const Vct3 &pt)
 initialize as enforced matching segment
 
bool enforced () const
 return whether this intersection was enforced explicitly
 
uint first () const
 access triangle index
 
uint second () const
 access triangle index
 
const MeshComponentfirstPatch () const
 access mesh patch
 
const MeshComponentsecondPatch () const
 access mesh patch
 
void source (uint i)
 set node number
 
void target (uint i)
 set node number
 
uint source () const
 access node number
 
uint target () const
 access node number
 
uint opposed (uint n) const
 opposed node
 
const Vct3 & srcPoint () const
 access segment start point
 
const Vct3 & trgPoint () const
 access segment start point
 
void srcParameter (Vct2 &q1, Vct2 &q2) const
 parameter position of src point
 
void trgParameter (Vct2 &q1, Vct2 &q2) const
 parameter position of trg point
 
void srcOnBoundary (Real tol, bool &ubound, bool &vbound) const
 check if source point is on a boundary
 
void trgOnBoundary (Real tol, bool &ubound, bool &vbound) const
 check if target point is on a boundary
 
void surfaces (SurfacePtr &psf1, SurfacePtr &psf2) const
 pointer to surfaces
 
TTiConTop nearestConnection (const TTIntersection &a, Real &dist) const
 compute likely connection pattern
 
Real length () const
 segment length
 
Real localDimension () const
 local length: minimum of sqrt(area) of both triangles
 
bool intersect ()
 compute 3d intersection using Guige's method
 
void addViz (MeshFields &mvz) const
 add line to visualization object
 
Real intersectsFace (uint tt) const
 check if this intersection segment intersects test triangle tt
 
TTIntersectionPtr split (Real t)
 split, change this and return a new segment at triangle tt
 

Private Member Functions

Vct2 uvProjection (const TriFace &f, const Vct3 &p) const
 compute parametric value of a projection
 

Private Attributes

Vct3 isrc
 intersection points in space
 
Vct3 itrg
 
const TTIntersectoritor
 pointer to intersector
 
uint itri1
 triangles involved
 
uint itri2
 
uint nsrc
 nodes corresponding to isrc and itrg
 
uint ntrg
 
bool bEnforced
 enforced point - cannot be filtered out
 

The documentation for this class was generated from the following files:
Generated on Fri Dec 2 2022 03:03:18 for libsurf by   doxygen 1.8.5