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_ListOfShapeInternals () 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