Open CASCADE Technology 6.5.2
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
BOP_ShellSolid Class Reference

Performs Boolean Operations (BO)
Common,Cut,Fuse for arguments of
shell/solid type

#include <BOP_ShellSolid.hxx>

Inheritance diagram for BOP_ShellSolid:
Inheritance graph
[legend]

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 BOP_ShellSolid ()
 Empty constructor;

virtual void Do ()
 see base classes, please

virtual void DoWithFiller (const BOPTools_DSFiller &aDSF)
 see base classes, please

virtual void Destroy ()
 Destructor

virtual ~BOP_ShellSolid ()
virtual void BuildResult ()
 see base classes, please

virtual void DoNewFaces ()
 see base classes, please

virtual void Prepare ()
 Provides some preparing steps of algorithm
1. Compute the 3D-States
2. Compute P-Curves for section- and split- edges
3. Treat degenerated edges
4 Detect Same Domain faces

Standard_Boolean CheckArgTypes () const
 Check the types of arguments.
Returns FALSE if types of arguments
are non-valid to be treated by the
agorithm

Standard_Boolean SplitFace (const Standard_Integer theFaceIndex, TopTools_DataMapOfShapeInteger &theMapOfEdgeIndex, TopTools_ListOfShape &theListOfFace) const
virtual void SetHistoryCollector (const Handle< BOP_HistoryCollector > &theHistory)

Static Public Member Functions

static Standard_Boolean CheckArgTypes (const TopAbs_ShapeEnum theType1, const TopAbs_ShapeEnum theType2, const BOP_Operation theOperation)
 Check the types of arguments.
Returns FALSE if types of arguments
are non-valid to be treated by the
agorithm

Protected Member Functions

void DetectSDFaces ()
 The algo to find SameDomain Faces
among interferred ones

void AddSplitPartsINOUT (const Standard_Integer nF1, BOP_WireEdgeSet &aWES)
void AddSectionPartsSh (const Standard_Integer nF1, const Standard_Integer iFF, BOP_WireEdgeSet &aWES)
void AddSplitPartsONSh (const Standard_Integer nF1, BOP_WireEdgeSet &aWES)
void AddPartsEFSh (const Standard_Integer nF1, const Standard_Integer iFF, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddINON2DPartsSh (const Standard_Integer nF1, const Standard_Integer iFF, BOP_WireEdgeSet &aWES)
void AddINON2DPartsSh (const Standard_Integer nF1, const Standard_Integer iFF, BOP_WireEdgeSet &aWES, TopTools_IndexedMapOfShape &anEMap)
void AddPartsEFNonSDSh (const Standard_Integer nF1, const Standard_Integer iFF, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddPartsEENonSDSh (const Standard_Integer nF1, const Standard_Integer iFF, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddSectionPartsSo (const Standard_Integer nF1, const Standard_Integer iFF, BOP_WireEdgeSet &aWES)
void AddSplitPartsON3DSo (const Standard_Integer nF1, const Standard_Integer iFF, BOP_WireEdgeSet &aWES)
void AddSplitPartsONSo (const Standard_Integer nF1, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, BOP_WireEdgeSet &aWES)
void AddPartsEFSo (const Standard_Integer nF1, const Standard_Integer iFF, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddINON2DPartsSo (const Standard_Integer iFF, const Standard_Integer nF1, const Standard_Integer nF2, BOP_WireEdgeSet &aWES)
void AddPartsEFSDSo (const Standard_Integer nF1, const Standard_Integer iFF, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, BOP_WireEdgeSet &aWES)
void AddPartsEFNonSDSo (const Standard_Integer nF1, const Standard_Integer iFF, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, const TColStd_IndexedMapOfInteger &aFFInMap, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddPartsEENonSDSo (const Standard_Integer nF1, const Standard_Integer iFF, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, const TColStd_IndexedMapOfInteger &aFFInMap, TopTools_IndexedMapOfShape &anEMap, BOP_WireEdgeSet &aWES)
void AddPartsEESDSo (const Standard_Integer nF1, const Standard_Integer iFF, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFObj, const TopTools_IndexedDataMapOfShapeListOfShape &aMEFTool, BOP_WireEdgeSet &aWES)
void DoInternalVertices (const Standard_Integer nF1, const TopTools_ListOfShape &aFaces)
 Internal usage

const TopTools_ListOfShape & Internals () const
 Internal usage

void CollectInternals ()
 Internal usage

void FillSectionEdges ()
 Internal usage

Static Protected Member Functions

static void Path (const TopoDS_Shape &aE, const TopTools_IndexedDataMapOfShapeListOfShape &aEFMap, TopTools_IndexedMapOfShape &aFaces, TopTools_IndexedMapOfShape &aProcE)
 Internal usage

static TopAbs_Orientation Orientation (const TopoDS_Edge &aE, const TopoDS_Face &aF)
 Internal usage

static void OrientFacesOnShell (const TopoDS_Shell &aShell, TopoDS_Shell &aShellNew)

Protected Attributes

TopoDS_Face myFace
TopTools_ListOfShape myNewFaces
TopTools_ListOfShape myInternals
Standard_Integer myRank

Constructor & Destructor Documentation

BOP_ShellSolid::BOP_ShellSolid ( )
virtual BOP_ShellSolid::~BOP_ShellSolid ( ) [inline, virtual]

Member Function Documentation

void BOP_ShellSolid::AddINON2DPartsSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddINON2DPartsSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
BOP_WireEdgeSet &  aWES,
TopTools_IndexedMapOfShape &  anEMap 
) [protected]
void BOP_ShellSolid::AddINON2DPartsSo ( const Standard_Integer  iFF,
const Standard_Integer  nF1,
const Standard_Integer  nF2,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEENonSDSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEENonSDSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
const TColStd_IndexedMapOfInteger &  aFFInMap,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEESDSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEFNonSDSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEFNonSDSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
const TColStd_IndexedMapOfInteger &  aFFInMap,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEFSDSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEFSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddPartsEFSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
TopTools_IndexedMapOfShape &  anEMap,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSectionPartsSh ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSectionPartsSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSplitPartsINOUT ( const Standard_Integer  nF1,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSplitPartsON3DSo ( const Standard_Integer  nF1,
const Standard_Integer  iFF,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSplitPartsONSh ( const Standard_Integer  nF1,
BOP_WireEdgeSet &  aWES 
) [protected]
void BOP_ShellSolid::AddSplitPartsONSo ( const Standard_Integer  nF1,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFObj,
const TopTools_IndexedDataMapOfShapeListOfShape &  aMEFTool,
BOP_WireEdgeSet &  aWES 
) [protected]
virtual void BOP_ShellSolid::BuildResult ( ) [virtual]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

static Standard_Boolean BOP_ShellSolid::CheckArgTypes ( const TopAbs_ShapeEnum  theType1,
const TopAbs_ShapeEnum  theType2,
const BOP_Operation  theOperation 
) [static]
Standard_Boolean BOP_ShellSolid::CheckArgTypes ( ) const
void BOP_ShellSolid::CollectInternals ( ) [protected]
virtual void BOP_ShellSolid::Destroy ( ) [virtual]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

void BOP_ShellSolid::DetectSDFaces ( ) [protected]
virtual void BOP_ShellSolid::Do ( ) [virtual]

Reimplemented from BOP_Builder.

void BOP_ShellSolid::DoInternalVertices ( const Standard_Integer  nF1,
const TopTools_ListOfShape &  aFaces 
) [protected]
virtual void BOP_ShellSolid::DoNewFaces ( ) [virtual]

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

virtual void BOP_ShellSolid::DoWithFiller ( const BOPTools_DSFiller &  aDSF) [virtual]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

void BOP_ShellSolid::FillSectionEdges ( ) [protected]
const TopTools_ListOfShape& BOP_ShellSolid::Internals ( ) const [protected]
void BOP_ShellSolid::operator delete ( void *  anAddress) [inline]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

void* BOP_ShellSolid::operator new ( size_t  size) [inline]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

void* BOP_ShellSolid::operator new ( size_t  ,
void *  anAddress 
) [inline]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid, and BOP_ShellShell.

static TopAbs_Orientation BOP_ShellSolid::Orientation ( const TopoDS_Edge &  aE,
const TopoDS_Face &  aF 
) [static, protected]
static void BOP_ShellSolid::OrientFacesOnShell ( const TopoDS_Shell &  aShell,
TopoDS_Shell &  aShellNew 
) [static, protected]
static void BOP_ShellSolid::Path ( const TopoDS_Shape &  aE,
const TopTools_IndexedDataMapOfShapeListOfShape &  aEFMap,
TopTools_IndexedMapOfShape &  aFaces,
TopTools_IndexedMapOfShape &  aProcE 
) [static, protected]
virtual void BOP_ShellSolid::Prepare ( ) [virtual]
virtual void BOP_ShellSolid::SetHistoryCollector ( const Handle< BOP_HistoryCollector > &  theHistory) [virtual]

Reimplemented from BOP_Builder.

Reimplemented in BOP_SolidSolid.

Standard_Boolean BOP_ShellSolid::SplitFace ( const Standard_Integer  theFaceIndex,
TopTools_DataMapOfShapeInteger &  theMapOfEdgeIndex,
TopTools_ListOfShape &  theListOfFace 
) const

Field Documentation


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