Open CASCADE Technology
6.5.4
|
determines the section between 2 triangulated shapes.
The section is a set of edges.
#include <IntPoly_ShapeSection.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | 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 |
IntPoly_ShapeSection::IntPoly_ShapeSection | ( | const TopoDS_Shape & | S1, |
const TopoDS_Shape & | S2 | ||
) |
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 | ||
) |
void IntPoly_ShapeSection::ForwConstruction | ( | const gp_Pnt & | Point | ) |
void IntPoly_ShapeSection::Insert | ( | const gp_Pnt & | OldPnt, |
const gp_Pnt & | ComPnt, | ||
const gp_Pnt & | NewPnt | ||
) |
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 | ||
) |
void IntPoly_ShapeSection::PrevConstruction | ( | const gp_Pnt & | Point | ) |