Open CASCADE Technology 6.6.0
Public Member Functions | Protected Member Functions | Protected Attributes
BOPDS_DS Class Reference

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_ShapeInfoChangeShapeInfo (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_FaceInfoChangeFaceInfo (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_VectorOfInterfVVInterfVV ()
 Selector/Modifier
Returns the collection of interferences Vertex/Vertex

BOPDS_VectorOfInterfVEInterfVE ()
 Selector/Modifier
Returns the collection of interferences Vertex/Edge

BOPDS_VectorOfInterfVFInterfVF ()
 Selector/Modifier
Returns the collection of interferences Vertex/Face

BOPDS_VectorOfInterfEEInterfEE ()
 Selector/Modifier
Returns the collection of interferences Edge/Edge

BOPDS_VectorOfInterfEFInterfEF ()
 Selector/Modifier
Returns the collection of interferences Edge/Face

BOPDS_VectorOfInterfFFInterfFF ()
 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_MapOfPassKeyInterferences () 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

Constructor & Destructor Documentation

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)

Member Function Documentation

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

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