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:

Public Types

enum  TTiConTop {
  tti_s2s, tti_s2t, tti_t2s, tti_t2t,

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