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

ModelingAlgorithms
TKBool
TopOpeBRep


TopOpeBRep_ShapeIntersector Class Reference

Intersect two shapes.

A GeomShape is a shape with a geometric domain, i.e.
a Face or an Edge.

The purpose of the ShapeIntersector is to find
couples of intersecting GeomShape in two Shapes
(which can be any kind of topologies : Compound,
Solid, Shell, etc... )

It is in charge of exploration of the shapes and
rejection. For this it is provided with two tools :

- ShapeExplorer from TopOpeBRepTool.
- ShapeScanner from TopOpeBRep which implements bounding boxes.
.

#include <TopOpeBRep_ShapeIntersector.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT TopOpeBRep_ShapeIntersector ()
Standard_EXPORT void InitIntersection (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
 Initialize the intersection of shapes S1,S2.
.
Standard_EXPORT void InitIntersection (const TopoDS_Shape &S1, const TopoDS_Shape &S2, const TopoDS_Face &F1, const TopoDS_Face &F2)
 Initialize the intersection of shapes S1,S2.
.
Standard_EXPORT const TopoDS_Shape & Shape (const Standard_Integer Index) const
 return the shape <index> ( = 1 or 2) given to
InitIntersection().
Index = 1 will return S1, Index = 2 will return S2.

Standard_EXPORT Standard_Boolean MoreIntersection () const
 returns True if there are more intersection
between two the shapes.

Standard_EXPORT void NextIntersection ()
 search for the next intersection between the two shapes.

Standard_EXPORT TopOpeBRep_FacesIntersectorChangeFacesIntersector ()
 return the current intersection of two Faces.

Standard_EXPORT TopOpeBRep_EdgesIntersectorChangeEdgesIntersector ()
 return the current intersection of two Edges.

Standard_EXPORT TopOpeBRep_FaceEdgeIntersectorChangeFaceEdgeIntersector ()
 return the current intersection of a Face and an Edge.

Standard_EXPORT const TopoDS_Shape & CurrentGeomShape (const Standard_Integer Index) const
 return geometric shape <index> ( = 1 or 2 ) of
current intersection.

Standard_EXPORT void GetTolerances (Standard_Real &tol1, Standard_Real &tol2) const
 return MAX of intersection tolerances with
which FacesIntersector from TopOpeBRep was working.

Standard_EXPORT void DumpCurrent (const Standard_Integer K) const
Standard_EXPORT Standard_Integer Index (const Standard_Integer K) const
Standard_EXPORT void RejectedFaces (const TopoDS_Shape &anObj, const TopoDS_Shape &aReference, TopTools_ListOfShape &aListOfShape)

Private Member Functions

Standard_EXPORT void Reset ()
Standard_EXPORT void Init (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
Standard_EXPORT void SetIntersectionDone ()
Standard_EXPORT void InitFFIntersection ()
Standard_EXPORT void FindFFIntersection ()
Standard_EXPORT Standard_Boolean MoreFFCouple () const
Standard_EXPORT void NextFFCouple ()
Standard_EXPORT void InitEEFFIntersection ()
Standard_EXPORT void FindEEFFIntersection ()
Standard_EXPORT Standard_Boolean MoreEEFFCouple () const
Standard_EXPORT void NextEEFFCouple ()
Standard_EXPORT void InitFEIntersection ()
Standard_EXPORT void FindFEIntersection ()
Standard_EXPORT Standard_Boolean MoreFECouple () const
Standard_EXPORT void NextFECouple ()
Standard_EXPORT void InitEFIntersection ()
Standard_EXPORT void FindEFIntersection ()
Standard_EXPORT Standard_Boolean MoreEFCouple () const
Standard_EXPORT void NextEFCouple ()
Standard_EXPORT void InitEEIntersection ()
Standard_EXPORT void FindEEIntersection ()
Standard_EXPORT Standard_Boolean MoreEECouple () const
Standard_EXPORT void NextEECouple ()

Private Attributes

TopoDS_Shape myShape1
TopoDS_Shape myShape2
Handle_TopOpeBRepTool_HBoxTool myHBoxTool
TopOpeBRepTool_ShapeExplorer myFaceExplorer
TopOpeBRep_ShapeScanner myFaceScanner
TopOpeBRep_FacesIntersector myFFIntersector
Standard_Boolean myFFSameDomain
TopOpeBRepTool_ShapeExplorer myEdgeExplorer
TopOpeBRep_ShapeScanner myEdgeScanner
TopOpeBRep_EdgesIntersector myEEIntersector
TopOpeBRep_FaceEdgeIntersector myFEIntersector
TopoDS_Face myEEFace1
TopoDS_Face myEEFace2
Standard_Boolean myIntersectionDone
Standard_Real myTol1
Standard_Real myTol2
Standard_Boolean myFFDone
Standard_Boolean myEEFFDone
Standard_Boolean myEFDone
Standard_Boolean myFEDone
Standard_Boolean myEEDone
Standard_Boolean myFFInit
Standard_Boolean myEEFFInit
Standard_Boolean myEFInit
Standard_Boolean myFEInit
Standard_Boolean myEEInit


Constructor & Destructor Documentation

Standard_EXPORT TopOpeBRep_ShapeIntersector::TopOpeBRep_ShapeIntersector  ) 
 


Member Function Documentation

Standard_EXPORT TopOpeBRep_EdgesIntersector& TopOpeBRep_ShapeIntersector::ChangeEdgesIntersector  ) 
 

Standard_EXPORT TopOpeBRep_FaceEdgeIntersector& TopOpeBRep_ShapeIntersector::ChangeFaceEdgeIntersector  ) 
 

Standard_EXPORT TopOpeBRep_FacesIntersector& TopOpeBRep_ShapeIntersector::ChangeFacesIntersector  ) 
 

Standard_EXPORT const TopoDS_Shape& TopOpeBRep_ShapeIntersector::CurrentGeomShape const Standard_Integer  Index  )  const
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::DumpCurrent const Standard_Integer  K  )  const
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::FindEEFFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::FindEEIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::FindEFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::FindFEIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::FindFFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::GetTolerances Standard_Real &  tol1,
Standard_Real &  tol2
const
 

Standard_EXPORT Standard_Integer TopOpeBRep_ShapeIntersector::Index const Standard_Integer  K  )  const
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::Init const TopoDS_Shape &  S1,
const TopoDS_Shape &  S2
[private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitEEFFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitEEIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitEFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitFEIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitFFIntersection  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitIntersection const TopoDS_Shape &  S1,
const TopoDS_Shape &  S2,
const TopoDS_Face &  F1,
const TopoDS_Face &  F2
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::InitIntersection const TopoDS_Shape &  S1,
const TopoDS_Shape &  S2
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreEECouple  )  const [private]
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreEEFFCouple  )  const [private]
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreEFCouple  )  const [private]
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreFECouple  )  const [private]
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreFFCouple  )  const [private]
 

Standard_EXPORT Standard_Boolean TopOpeBRep_ShapeIntersector::MoreIntersection  )  const
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextEECouple  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextEEFFCouple  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextEFCouple  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextFECouple  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextFFCouple  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::NextIntersection  ) 
 

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

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

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

Standard_EXPORT void TopOpeBRep_ShapeIntersector::RejectedFaces const TopoDS_Shape &  anObj,
const TopoDS_Shape &  aReference,
TopTools_ListOfShape &  aListOfShape
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::Reset  )  [private]
 

Standard_EXPORT void TopOpeBRep_ShapeIntersector::SetIntersectionDone  )  [private]
 

Standard_EXPORT const TopoDS_Shape& TopOpeBRep_ShapeIntersector::Shape const Standard_Integer  Index  )  const
 


Field Documentation

TopOpeBRepTool_ShapeExplorer TopOpeBRep_ShapeIntersector::myEdgeExplorer [private]
 

TopOpeBRep_ShapeScanner TopOpeBRep_ShapeIntersector::myEdgeScanner [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEEDone [private]
 

TopoDS_Face TopOpeBRep_ShapeIntersector::myEEFace1 [private]
 

TopoDS_Face TopOpeBRep_ShapeIntersector::myEEFace2 [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEEFFDone [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEEFFInit [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEEInit [private]
 

TopOpeBRep_EdgesIntersector TopOpeBRep_ShapeIntersector::myEEIntersector [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEFDone [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myEFInit [private]
 

TopOpeBRepTool_ShapeExplorer TopOpeBRep_ShapeIntersector::myFaceExplorer [private]
 

TopOpeBRep_ShapeScanner TopOpeBRep_ShapeIntersector::myFaceScanner [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myFEDone [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myFEInit [private]
 

TopOpeBRep_FaceEdgeIntersector TopOpeBRep_ShapeIntersector::myFEIntersector [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myFFDone [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myFFInit [private]
 

TopOpeBRep_FacesIntersector TopOpeBRep_ShapeIntersector::myFFIntersector [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myFFSameDomain [private]
 

Handle_TopOpeBRepTool_HBoxTool TopOpeBRep_ShapeIntersector::myHBoxTool [private]
 

Standard_Boolean TopOpeBRep_ShapeIntersector::myIntersectionDone [private]
 

TopoDS_Shape TopOpeBRep_ShapeIntersector::myShape1 [private]
 

TopoDS_Shape TopOpeBRep_ShapeIntersector::myShape2 [private]
 

Standard_Real TopOpeBRep_ShapeIntersector::myTol1 [private]
 

Standard_Real TopOpeBRep_ShapeIntersector::myTol2 [private]
 


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