OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKMesh
IntPoly


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

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT IntPoly_ShapeSection ()
Standard_EXPORT IntPoly_ShapeSection (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
Standard_EXPORT void Section ()
Standard_EXPORT void Explore ()
Standard_EXPORT 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_EXPORT Standard_Boolean IsEqual (const gp_Pnt &Pt1, const gp_Pnt &Pt2)
Standard_EXPORT 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

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

Standard_EXPORT 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_EXPORT 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

Standard_EXPORT 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'

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

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

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


Private Attributes

TopoDS_Shape myShape1
TopoDS_Shape myShape2
IntPoly_SequenceOfSequenceOfPnt mySection
IntPoly_IndexedMapOfPnt myMapBegPoints
IntPoly_IndexedMapOfPnt myMapEndPoints
gp_Pnt myBegPoint
gp_Pnt myEndPoint
Standard_Boolean myFirstTime
Standard_Integer myCpt
Standard_Integer myIndex
Standard_Integer myNbEdges


Constructor & Destructor Documentation

Standard_EXPORT IntPoly_ShapeSection::IntPoly_ShapeSection  ) 
 

Standard_EXPORT IntPoly_ShapeSection::IntPoly_ShapeSection const TopoDS_Shape &  S1,
const TopoDS_Shape &  S2
 


Member Function Documentation

Standard_EXPORT Standard_Integer IntPoly_ShapeSection::Concat const gp_Pnt &  BegPnt,
const gp_Pnt &  EndPnt,
gp_Pnt &  OutPnt
 

Standard_EXPORT void IntPoly_ShapeSection::ConcatSection TColgp_SequenceOfPnt &  Section,
const Standard_Integer  NbSection,
const Standard_Integer  Index
 

Standard_EXPORT TopoDS_Edge IntPoly_ShapeSection::Edge const Standard_Integer  Index  ) 
 

Standard_EXPORT void IntPoly_ShapeSection::Explore  ) 
 

Standard_EXPORT void IntPoly_ShapeSection::ForwConstruction const gp_Pnt &  Point  ) 
 

Standard_EXPORT void IntPoly_ShapeSection::Insert const gp_Pnt &  OldPnt,
const gp_Pnt &  ComPnt,
const gp_Pnt &  NewPnt
 

Standard_EXPORT void IntPoly_ShapeSection::InsertInMap  ) 
 

Standard_EXPORT 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_EXPORT Standard_Boolean IntPoly_ShapeSection::IsEqual const gp_Pnt &  Pt1,
const gp_Pnt &  Pt2
 

Standard_EXPORT 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_EXPORT Standard_Integer IntPoly_ShapeSection::NbEdges  ) 
 

void IntPoly_ShapeSection::operator delete void *  anAddress  )  [inline]
 

void* IntPoly_ShapeSection::operator new size_t  size  )  [inline]
 

void* IntPoly_ShapeSection::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void IntPoly_ShapeSection::PrevConstruction const gp_Pnt &  Point  ) 
 

Standard_EXPORT void IntPoly_ShapeSection::Section  ) 
 


Field Documentation

gp_Pnt IntPoly_ShapeSection::myBegPoint [private]
 

Standard_Integer IntPoly_ShapeSection::myCpt [private]
 

gp_Pnt IntPoly_ShapeSection::myEndPoint [private]
 

Standard_Boolean IntPoly_ShapeSection::myFirstTime [private]
 

Standard_Integer IntPoly_ShapeSection::myIndex [private]
 

IntPoly_IndexedMapOfPnt IntPoly_ShapeSection::myMapBegPoints [private]
 

IntPoly_IndexedMapOfPnt IntPoly_ShapeSection::myMapEndPoints [private]
 

Standard_Integer IntPoly_ShapeSection::myNbEdges [private]
 

IntPoly_SequenceOfSequenceOfPnt IntPoly_ShapeSection::mySection [private]
 

TopoDS_Shape IntPoly_ShapeSection::myShape1 [private]
 

TopoDS_Shape IntPoly_ShapeSection::myShape2 [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:42:17 2008 for OpenCASCADE by  doxygen 1.4.1