Open CASCADE Technology 6.6.0
Public Member Functions
IntPoly_ShapeSection Class Reference

determines the section between 2 triangulated shapes.
The section is a set of edges.

#include <IntPoly_ShapeSection.hxx>

Public Member Functions

 IntPoly_ShapeSection ()
 IntPoly_ShapeSection (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
void Section ()
void Explore ()
Standard_Boolean Intersect (const gp_Pnt &S1, const gp_Pnt &S2, const gp_Pnt &S3, const gp_Vec &OS1, const gp_Vec &VS0, const gp_Vec &V1, const gp_Vec &V2, Standard_Real &h1, Standard_Real &h2, Standard_Real &ah1, Standard_Real &ah2)
 determines if it exists, the intersection point between
the (S1,S2,S3) triangle and the edge pointed by V1 and V2.
Returns True if the triangle-triangle section is found.

Standard_Boolean IsEqual (const gp_Pnt &Pt1, const gp_Pnt &Pt2)
Standard_Boolean IsInside (const gp_Pnt &P, const gp_Pnt &P1, const gp_Pnt &P2, const gp_Pnt &P3, const gp_Vec &N0)
 returns True if P is inside the (P1,P2,P3) triangle
N0 = P1P2 ^ P1P3

void InsertInMap ()
 adds if necessary, myBegPoint in myMapBegPoint
and myEndPoint in myMapEndPoint.

void Insert (const gp_Pnt &OldPnt, const gp_Pnt &ComPnt, const gp_Pnt &NewPnt)
 sees whether OldPnt and NewPnt begins or ends a section
created before and adds the 2 others points.
If not, creates a section

Standard_Integer Concat (const gp_Pnt &BegPnt, const gp_Pnt &EndPnt, gp_Pnt &OutPnt)
 sees whether BegPnt or EndPnt begins or ends a section
created before, and returns the other point to continue
the construction
Returns 2 if the construction is 'Forward'
Returns 1 if the construction is 'Previous'
Returns 0 if not and creates a section

void ConcatSection (TColgp_SequenceOfPnt &Section, const Standard_Integer NbSection, const Standard_Integer Index)
 sees whether Section begins or ends another one in mySection,
from the rank 'Index' to the last one 'NbSection'

void ForwConstruction (const gp_Pnt &Point)
 builds a section from Point in this way
___ ___ ___ ___
Point--/__/--/__/--/__/--/__/--->

void PrevConstruction (const gp_Pnt &Point)
 builds a section from Point in this way
___ ___ ___ ___
<---/__/--/__/--/__/--/__/--Point

Standard_Integer NbEdges ()
TopoDS_Edge Edge (const Standard_Integer Index)
 builds an edge from a sequence of Pnt
this is a part of the whole section


Constructor & Destructor Documentation

IntPoly_ShapeSection::IntPoly_ShapeSection ( )
IntPoly_ShapeSection::IntPoly_ShapeSection ( const TopoDS_Shape S1,
const TopoDS_Shape S2 
)

Member Function Documentation

Standard_Integer IntPoly_ShapeSection::Concat ( const gp_Pnt BegPnt,
const gp_Pnt EndPnt,
gp_Pnt OutPnt 
)
void IntPoly_ShapeSection::ConcatSection ( TColgp_SequenceOfPnt Section,
const Standard_Integer  NbSection,
const Standard_Integer  Index 
)
TopoDS_Edge IntPoly_ShapeSection::Edge ( const Standard_Integer  Index)
void IntPoly_ShapeSection::Explore ( )
void IntPoly_ShapeSection::ForwConstruction ( const gp_Pnt Point)
void IntPoly_ShapeSection::Insert ( const gp_Pnt OldPnt,
const gp_Pnt ComPnt,
const gp_Pnt NewPnt 
)
void IntPoly_ShapeSection::InsertInMap ( )
Standard_Boolean IntPoly_ShapeSection::Intersect ( const gp_Pnt S1,
const gp_Pnt S2,
const gp_Pnt S3,
const gp_Vec OS1,
const gp_Vec VS0,
const gp_Vec V1,
const gp_Vec V2,
Standard_Real h1,
Standard_Real h2,
Standard_Real ah1,
Standard_Real ah2 
)
Standard_Boolean IntPoly_ShapeSection::IsEqual ( const gp_Pnt Pt1,
const gp_Pnt Pt2 
)
Standard_Boolean IntPoly_ShapeSection::IsInside ( const gp_Pnt P,
const gp_Pnt P1,
const gp_Pnt P2,
const gp_Pnt P3,
const gp_Vec N0 
)
Standard_Integer IntPoly_ShapeSection::NbEdges ( )
void IntPoly_ShapeSection::PrevConstruction ( const gp_Pnt Point)
void IntPoly_ShapeSection::Section ( )

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines