Open CASCADE Technology 6.6.0
|
The class BOPDS_DS provides the control
the data structure for
partition and boolean operation algorithms
The data structure has the following contents:
1. the arguments of an operation [myArguments];
2 the information about arguments/new shapes
and their sub-shapes (type of the shape,
bounding box, etc) [myLines];
3. each argument shape(and its subshapes)
has/have own range of indices (rank)
4. pave blocks on source edges [myPaveBlocksPool];
5. the state of source faces [myFaceInfoPool]
6 the collection of same domain shapes [myShapesSD]
7 the collection of interferences [myInterfTB,
myInterfVV,..myInterfFF]
#include <BOPDS_DS.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC Standard_EXPORT | BOPDS_DS () |
Empty contructor | |
virtual Standard_EXPORT | ~BOPDS_DS () |
Standard_EXPORT | BOPDS_DS (const BOPCol_BaseAllocator &theAllocator) |
Contructor theAllocator - the allocator to manage the memory | |
Standard_EXPORT void | Clear () |
Clears the contents | |
Standard_EXPORT const BOPCol_BaseAllocator & | Allocator () const |
Selector | |
Standard_EXPORT void | SetArguments (const BOPCol_ListOfShape &theLS) |
Modifier Sets the arguments [theLS] of an operation | |
Standard_EXPORT const BOPCol_ListOfShape & | Arguments () const |
Selector Returns the arguments of an operation | |
Standard_EXPORT void | Init () |
Initializes the data structure for the arguments | |
Standard_EXPORT Standard_Integer | NbShapes () const |
Selector Returns the total number of shapes stored | |
Standard_EXPORT Standard_Integer | NbSourceShapes () const |
Selector Returns the total number of source shapes stored | |
Standard_EXPORT Standard_Integer | NbRanges () const |
Selector Returns the number of index ranges | |
Standard_EXPORT const BOPDS_IndexRange & | Range (const Standard_Integer theIndex) const |
Selector Returns the index range "i" | |
Standard_EXPORT Standard_Integer | Rank (const Standard_Integer theIndex) const |
Selector Returns the rank of the shape of index "i" | |
Standard_EXPORT Standard_Boolean | IsNewShape (const Standard_Integer theIndex) const |
Returns true if the shape of index "i" is not the source shape/sub-shape | |
Standard_EXPORT Standard_Integer | Append (const BOPDS_ShapeInfo &theSI) |
Modifier Appends the information about the shape [theSI] to the data structure Returns the index of theSI in the data structure | |
Standard_EXPORT Standard_Integer | Append (const TopoDS_Shape &theS) |
Modifier Appends the default information about the shape [theS] to the data structure Returns the index of theS in the data structure | |
Standard_EXPORT const BOPDS_ShapeInfo & | ShapeInfo (const Standard_Integer theIndex) const |
Selector Returns the information about the shape with index theIndex | |
Standard_EXPORT BOPDS_ShapeInfo & | ChangeShapeInfo (const Standard_Integer theIndex) |
Selector/Modifier Returns the information about the shape with index theIndex | |
Standard_EXPORT const TopoDS_Shape & | Shape (const Standard_Integer theIndex) const |
Selector Returns the shape with index theIndex | |
Standard_EXPORT Standard_Integer | Index (const TopoDS_Shape &theS) const |
Selector Returns the index of the shape theS | |
Standard_EXPORT const BOPDS_VectorOfListOfPaveBlock & | PaveBlocksPool () const |
Selector Returns the information about pave blocks on source edges | |
Standard_EXPORT BOPDS_VectorOfListOfPaveBlock & | ChangePaveBlocksPool () |
Selector/Modifier Returns the information about pave blocks on source edges | |
Standard_EXPORT Standard_Boolean | HasPaveBlocks (const Standard_Integer theIndex) const |
Query Returns true if the shape with index theIndex has the information about pave blocks | |
Standard_EXPORT const BOPDS_ListOfPaveBlock & | PaveBlocks (const Standard_Integer theIndex) const |
Selector Returns the pave blocks for the shape with index theIndex | |
Standard_EXPORT BOPDS_ListOfPaveBlock & | ChangePaveBlocks (const Standard_Integer theIndex) |
Selector/Modifier Returns the pave blocks for the shape with index theIndex | |
Standard_EXPORT void | UpdatePaveBlocks () |
Update the pave blocks for the all shapes in data structure | |
Standard_EXPORT void | UpdatePaveBlock (const Handle(BOPDS_PaveBlock)&thePB) |
Update the pave block thePB | |
Standard_EXPORT void | UpdateCommonBlock (const Handle(BOPDS_CommonBlock)&theCB) |
Update the common block theCB face info | |
Standard_EXPORT const BOPDS_VectorOfFaceInfo & | FaceInfoPool () const |
Selector Returns the information about state of faces | |
Standard_EXPORT Standard_Boolean | HasFaceInfo (const Standard_Integer theIndex) const |
Query Returns true if the shape with index theIndex has the information about state of face | |
Standard_EXPORT const BOPDS_FaceInfo & | FaceInfo (const Standard_Integer theIndex) const |
Selector Returns the state of face with index theIndex | |
Standard_EXPORT BOPDS_FaceInfo & | ChangeFaceInfo (const Standard_Integer theIndex) |
Selector/Modifier Returns the state of face with index theIndex | |
Standard_EXPORT void | UpdateFaceInfoIn (const Standard_Integer theIndex) |
Update the state In of face with index theIndex | |
Standard_EXPORT void | UpdateFaceInfoOn (const Standard_Integer theIndex) |
Update the state On of face with index theIndex | |
Standard_EXPORT void | FaceInfoOn (const Standard_Integer theIndex, BOPDS_IndexedMapOfPaveBlock &theMPB, BOPCol_MapOfInteger &theMVP) |
Selector Returns the state On [theMPB,theMVP] of face with index theIndex | |
Standard_EXPORT void | FaceInfoIn (const Standard_Integer theIndex, BOPDS_IndexedMapOfPaveBlock &theMPB, BOPCol_MapOfInteger &theMVP) |
Selector Returns the state In [theMPB,theMVP] of face with index theIndex | |
Standard_EXPORT void | AloneVertices (const Standard_Integer theF, BOPCol_ListOfInteger &theLI) const |
Selector Returns the indices of alone vertices for the face with index theIndex | |
Standard_EXPORT void | RefineFaceInfoOn () |
Refine the state On for the all faces having state information ++ | |
Standard_EXPORT void | VerticesOnIn (const Standard_Integer theF1, const Standard_Integer theF2, BOPCol_MapOfInteger &theMI, BOPDS_MapOfPaveBlock &aMPB) const |
Returns the indices of vertices and pave blocks that are On/In for the faces with indices theF1, theF2 | |
Standard_EXPORT void | SharedEdges (const Standard_Integer theF1, const Standard_Integer theF2, BOPCol_ListOfInteger &theLI, const BOPCol_BaseAllocator &theAllocator) |
Returns the indices of edges that are shared for the faces with indices theF1, theF2 same domain shapes | |
Standard_EXPORT BOPCol_DataMapOfIntegerInteger & | ShapesSD () |
Selector Returns the collection same domain shapes | |
Standard_EXPORT void | AddShapeSD (const Standard_Integer theIndex, const Standard_Integer theIndexSD) |
Modifier Adds the information about same domain shapes with indices theIndex, theIndexSD | |
Standard_EXPORT Standard_Boolean | HasShapeSD (const Standard_Integer theIndex, Standard_Integer &theIndexSD) const |
Query Returns true if the shape with index theIndex has the same domain shape. In this case theIndexSD will contain the index of same domain shape found interferences | |
BOPDS_VectorOfInterfVV & | InterfVV () |
Selector/Modifier Returns the collection of interferences Vertex/Vertex | |
BOPDS_VectorOfInterfVE & | InterfVE () |
Selector/Modifier Returns the collection of interferences Vertex/Edge | |
BOPDS_VectorOfInterfVF & | InterfVF () |
Selector/Modifier Returns the collection of interferences Vertex/Face | |
BOPDS_VectorOfInterfEE & | InterfEE () |
Selector/Modifier Returns the collection of interferences Edge/Edge | |
BOPDS_VectorOfInterfEF & | InterfEF () |
Selector/Modifier Returns the collection of interferences Edge/Face | |
BOPDS_VectorOfInterfFF & | InterfFF () |
Selector/Modifier Returns the collection of interferences Face/Face | |
void | AddInterf (const Standard_Integer theI1, const Standard_Integer theI2) |
Modifier Adds the information about an interference between shapes with indices theI1, theI2 to the summary table of interferences | |
Standard_EXPORT Standard_Boolean | HasInterf (const Standard_Integer theI) const |
Query Returns true if the shape with index theI is interferred | |
Standard_Boolean | HasInterf (const Standard_Integer theI1, const Standard_Integer theI2) const |
Query Returns true if the shapes with indices theI1, theI2 are interferred | |
Standard_EXPORT Standard_Boolean | HasInterfShapeSubShapes (const Standard_Integer theI1, const Standard_Integer theI2) const |
Query Returns true if the shape with index theI1 is interfered with any of sub-shapes of the shapes with index theI2 | |
Standard_EXPORT Standard_Boolean | HasInterfSubShapes (const Standard_Integer theI1, const Standard_Integer theI2) const |
Query Returns true if the shapes with indices theI1, theI2 have interferred sub-shapes | |
const BOPDS_MapOfPassKey & | Interferences () const |
Selector Returns the table of interferences debug | |
Standard_EXPORT void | Dump () const |
Standard_EXPORT void | SortPaveBlocks (const Handle(BOPDS_CommonBlock)&theCB) |
Standard_EXPORT Standard_Boolean | IsToSort (const Handle(BOPDS_CommonBlock)&theCB, Standard_Integer &theI) |
Standard_EXPORT Standard_Boolean | IsSubShape (const Standard_Integer theI1, const Standard_Integer theI2) |
Standard_EXPORT void | Paves (const Standard_Integer theIndex, BOPDS_ListOfPave &theLP) |
Fills theLP with sorted paves of the shape with index theIndex | |
Standard_EXPORT void | UpdateEdgeTolerance (const Standard_Integer theIndex, const Standard_Real theTolerance) |
Updates tolerance of the sub-shapes of the shape with index <theIndex>. | |
Protected Member Functions | |
Standard_EXPORT void | InitPaveBlocks (const Standard_Integer theIndex) |
Initializes the pave blocks for the shape with index theIndex | |
Standard_EXPORT void | InitFaceInfo (const Standard_Integer theIndex) |
Initializes the state of face with index theIndex | |
Standard_EXPORT void | InitShape (const Standard_Integer theIndex, const TopoDS_Shape &theS, BOPCol_BaseAllocator &theAllocator, BOPCol_DataMapOfShapeInteger &theMSI) |
Standard_EXPORT Standard_Boolean | CheckCoincidence (const Handle(BOPDS_PaveBlock)&thePB1, const Handle(BOPDS_PaveBlock)&thePB2) |
Protected Attributes | |
BOPCol_BaseAllocator | myAllocator |
BOPCol_ListOfShape | myArguments |
Standard_Integer | myNbShapes |
Standard_Integer | myNbSourceShapes |
BOPDS_VectorOfIndexRange | myRanges |
BOPDS_VectorOfShapeInfo | myLines |
BOPCol_DataMapOfShapeInteger | myMapShapeIndex |
BOPDS_VectorOfListOfPaveBlock | myPaveBlocksPool |
BOPDS_VectorOfFaceInfo | myFaceInfoPool |
BOPCol_DataMapOfIntegerInteger | myShapesSD |
BOPDS_MapOfPassKey | myInterfTB |
BOPDS_VectorOfInterfVV | myInterfVV |
BOPDS_VectorOfInterfVE | myInterfVE |
BOPDS_VectorOfInterfVF | myInterfVF |
BOPDS_VectorOfInterfEE | myInterfEE |
BOPDS_VectorOfInterfEF | myInterfEF |
BOPDS_VectorOfInterfFF | myInterfFF |
DEFINE_STANDARD_ALLOC Standard_EXPORT BOPDS_DS::BOPDS_DS | ( | ) |
virtual Standard_EXPORT BOPDS_DS::~BOPDS_DS | ( | ) | [virtual] |
Standard_EXPORT BOPDS_DS::BOPDS_DS | ( | const BOPCol_BaseAllocator & | theAllocator | ) |
void BOPDS_DS::AddInterf | ( | const Standard_Integer | theI1, |
const Standard_Integer | theI2 | ||
) |
Standard_EXPORT void BOPDS_DS::AddShapeSD | ( | const Standard_Integer | theIndex, |
const Standard_Integer | theIndexSD | ||
) |
Standard_EXPORT const BOPCol_BaseAllocator& BOPDS_DS::Allocator | ( | ) | const |
Standard_EXPORT void BOPDS_DS::AloneVertices | ( | const Standard_Integer | theF, |
BOPCol_ListOfInteger & | theLI | ||
) | const |
Standard_EXPORT Standard_Integer BOPDS_DS::Append | ( | const BOPDS_ShapeInfo & | theSI | ) |
Standard_EXPORT Standard_Integer BOPDS_DS::Append | ( | const TopoDS_Shape & | theS | ) |
Standard_EXPORT const BOPCol_ListOfShape& BOPDS_DS::Arguments | ( | ) | const |
Standard_EXPORT BOPDS_FaceInfo& BOPDS_DS::ChangeFaceInfo | ( | const Standard_Integer | theIndex | ) |
Standard_EXPORT BOPDS_ListOfPaveBlock& BOPDS_DS::ChangePaveBlocks | ( | const Standard_Integer | theIndex | ) |
Standard_EXPORT BOPDS_VectorOfListOfPaveBlock& BOPDS_DS::ChangePaveBlocksPool | ( | ) |
Standard_EXPORT BOPDS_ShapeInfo& BOPDS_DS::ChangeShapeInfo | ( | const Standard_Integer | theIndex | ) |
Standard_EXPORT Standard_Boolean BOPDS_DS::CheckCoincidence | ( | const Handle(BOPDS_PaveBlock)& | thePB1, |
const Handle(BOPDS_PaveBlock)& | thePB2 | ||
) | [protected] |
Standard_EXPORT void BOPDS_DS::Clear | ( | ) |
Standard_EXPORT void BOPDS_DS::Dump | ( | ) | const |
Standard_EXPORT const BOPDS_FaceInfo& BOPDS_DS::FaceInfo | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT void BOPDS_DS::FaceInfoIn | ( | const Standard_Integer | theIndex, |
BOPDS_IndexedMapOfPaveBlock & | theMPB, | ||
BOPCol_MapOfInteger & | theMVP | ||
) |
Standard_EXPORT void BOPDS_DS::FaceInfoOn | ( | const Standard_Integer | theIndex, |
BOPDS_IndexedMapOfPaveBlock & | theMPB, | ||
BOPCol_MapOfInteger & | theMVP | ||
) |
Standard_EXPORT const BOPDS_VectorOfFaceInfo& BOPDS_DS::FaceInfoPool | ( | ) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasFaceInfo | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasInterf | ( | const Standard_Integer | theI | ) | const |
Standard_Boolean BOPDS_DS::HasInterf | ( | const Standard_Integer | theI1, |
const Standard_Integer | theI2 | ||
) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasInterfShapeSubShapes | ( | const Standard_Integer | theI1, |
const Standard_Integer | theI2 | ||
) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasInterfSubShapes | ( | const Standard_Integer | theI1, |
const Standard_Integer | theI2 | ||
) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasPaveBlocks | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::HasShapeSD | ( | const Standard_Integer | theIndex, |
Standard_Integer & | theIndexSD | ||
) | const |
Standard_EXPORT Standard_Integer BOPDS_DS::Index | ( | const TopoDS_Shape & | theS | ) | const |
Standard_EXPORT void BOPDS_DS::Init | ( | ) |
Standard_EXPORT void BOPDS_DS::InitFaceInfo | ( | const Standard_Integer | theIndex | ) | [protected] |
Standard_EXPORT void BOPDS_DS::InitPaveBlocks | ( | const Standard_Integer | theIndex | ) | [protected] |
Standard_EXPORT void BOPDS_DS::InitShape | ( | const Standard_Integer | theIndex, |
const TopoDS_Shape & | theS, | ||
BOPCol_BaseAllocator & | theAllocator, | ||
BOPCol_DataMapOfShapeInteger & | theMSI | ||
) | [protected] |
BOPDS_VectorOfInterfEE& BOPDS_DS::InterfEE | ( | ) |
BOPDS_VectorOfInterfEF& BOPDS_DS::InterfEF | ( | ) |
const BOPDS_MapOfPassKey& BOPDS_DS::Interferences | ( | ) | const |
BOPDS_VectorOfInterfFF& BOPDS_DS::InterfFF | ( | ) |
BOPDS_VectorOfInterfVE& BOPDS_DS::InterfVE | ( | ) |
BOPDS_VectorOfInterfVF& BOPDS_DS::InterfVF | ( | ) |
BOPDS_VectorOfInterfVV& BOPDS_DS::InterfVV | ( | ) |
Standard_EXPORT Standard_Boolean BOPDS_DS::IsNewShape | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT Standard_Boolean BOPDS_DS::IsSubShape | ( | const Standard_Integer | theI1, |
const Standard_Integer | theI2 | ||
) |
Standard_EXPORT Standard_Boolean BOPDS_DS::IsToSort | ( | const Handle(BOPDS_CommonBlock)& | theCB, |
Standard_Integer & | theI | ||
) |
Standard_EXPORT Standard_Integer BOPDS_DS::NbRanges | ( | ) | const |
Standard_EXPORT Standard_Integer BOPDS_DS::NbShapes | ( | ) | const |
Standard_EXPORT Standard_Integer BOPDS_DS::NbSourceShapes | ( | ) | const |
Standard_EXPORT const BOPDS_ListOfPaveBlock& BOPDS_DS::PaveBlocks | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT const BOPDS_VectorOfListOfPaveBlock& BOPDS_DS::PaveBlocksPool | ( | ) | const |
Standard_EXPORT void BOPDS_DS::Paves | ( | const Standard_Integer | theIndex, |
BOPDS_ListOfPave & | theLP | ||
) |
Standard_EXPORT const BOPDS_IndexRange& BOPDS_DS::Range | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT Standard_Integer BOPDS_DS::Rank | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT void BOPDS_DS::RefineFaceInfoOn | ( | ) |
Standard_EXPORT void BOPDS_DS::SetArguments | ( | const BOPCol_ListOfShape & | theLS | ) |
Standard_EXPORT const TopoDS_Shape& BOPDS_DS::Shape | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT const BOPDS_ShapeInfo& BOPDS_DS::ShapeInfo | ( | const Standard_Integer | theIndex | ) | const |
Standard_EXPORT BOPCol_DataMapOfIntegerInteger& BOPDS_DS::ShapesSD | ( | ) |
Standard_EXPORT void BOPDS_DS::SharedEdges | ( | const Standard_Integer | theF1, |
const Standard_Integer | theF2, | ||
BOPCol_ListOfInteger & | theLI, | ||
const BOPCol_BaseAllocator & | theAllocator | ||
) |
Standard_EXPORT void BOPDS_DS::SortPaveBlocks | ( | const Handle(BOPDS_CommonBlock)& | theCB | ) |
Standard_EXPORT void BOPDS_DS::UpdateCommonBlock | ( | const Handle(BOPDS_CommonBlock)& | theCB | ) |
Standard_EXPORT void BOPDS_DS::UpdateEdgeTolerance | ( | const Standard_Integer | theIndex, |
const Standard_Real | theTolerance | ||
) |
Standard_EXPORT void BOPDS_DS::UpdateFaceInfoIn | ( | const Standard_Integer | theIndex | ) |
Standard_EXPORT void BOPDS_DS::UpdateFaceInfoOn | ( | const Standard_Integer | theIndex | ) |
Standard_EXPORT void BOPDS_DS::UpdatePaveBlock | ( | const Handle(BOPDS_PaveBlock)& | thePB | ) |
Standard_EXPORT void BOPDS_DS::UpdatePaveBlocks | ( | ) |
Standard_EXPORT void BOPDS_DS::VerticesOnIn | ( | const Standard_Integer | theF1, |
const Standard_Integer | theF2, | ||
BOPCol_MapOfInteger & | theMI, | ||
BOPDS_MapOfPaveBlock & | aMPB | ||
) | const |
BOPCol_BaseAllocator BOPDS_DS::myAllocator [protected] |
BOPCol_ListOfShape BOPDS_DS::myArguments [protected] |
BOPDS_VectorOfFaceInfo BOPDS_DS::myFaceInfoPool [protected] |
BOPDS_VectorOfInterfEE BOPDS_DS::myInterfEE [protected] |
BOPDS_VectorOfInterfEF BOPDS_DS::myInterfEF [protected] |
BOPDS_VectorOfInterfFF BOPDS_DS::myInterfFF [protected] |
BOPDS_MapOfPassKey BOPDS_DS::myInterfTB [protected] |
BOPDS_VectorOfInterfVE BOPDS_DS::myInterfVE [protected] |
BOPDS_VectorOfInterfVF BOPDS_DS::myInterfVF [protected] |
BOPDS_VectorOfInterfVV BOPDS_DS::myInterfVV [protected] |
BOPDS_VectorOfShapeInfo BOPDS_DS::myLines [protected] |
Standard_Integer BOPDS_DS::myNbShapes [protected] |
Standard_Integer BOPDS_DS::myNbSourceShapes [protected] |
BOPDS_VectorOfIndexRange BOPDS_DS::myRanges [protected] |
BOPCol_DataMapOfIntegerInteger BOPDS_DS::myShapesSD [protected] |