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

The class BOPDS_DS provides the control of data structure for the algorithms in the Boolean Component such as General Fuse, Boolean operations, Section, Maker Volume, Splitter and Cells Builder.
More...

#include <BOPDS_DS.hxx>

Public Member Functions

 BOPDS_DS ()
 Empty constructor. More...
 
virtual ~BOPDS_DS ()
 
 BOPDS_DS (const Handle< NCollection_BaseAllocator > &theAllocator)
 Constructor. More...
 
void Clear ()
 Clears the contents. More...
 
const Handle< NCollection_BaseAllocator > & Allocator () const
 Selector. More...
 
void SetArguments (const TopTools_ListOfShape &theLS)
 Modifier Sets the arguments [theLS] of an operation. More...
 
const TopTools_ListOfShapeArguments () const
 Selector Returns the arguments of an operation. More...
 
void Init (const Standard_Real theFuzz=Precision::Confusion())
 Initializes the data structure for the arguments. More...
 
Standard_Integer NbShapes () const
 Selector Returns the total number of shapes stored. More...
 
Standard_Integer NbSourceShapes () const
 Selector Returns the total number of source shapes stored. More...
 
Standard_Integer NbRanges () const
 Selector Returns the number of index ranges. More...
 
const BOPDS_IndexRangeRange (const Standard_Integer theIndex) const
 Selector Returns the index range "i". More...
 
Standard_Integer Rank (const Standard_Integer theIndex) const
 Selector Returns the rank of the shape of index "i". More...
 
Standard_Boolean IsNewShape (const Standard_Integer theIndex) const
 Returns true if the shape of index "i" is not the source shape/sub-shape. More...
 
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. More...
 
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. More...
 
const BOPDS_ShapeInfoShapeInfo (const Standard_Integer theIndex) const
 Selector Returns the information about the shape with index theIndex. More...
 
BOPDS_ShapeInfoChangeShapeInfo (const Standard_Integer theIndex)
 Selector/Modifier Returns the information about the shape with index theIndex. More...
 
const TopoDS_ShapeShape (const Standard_Integer theIndex) const
 Selector Returns the shape with index theIndex. More...
 
Standard_Integer Index (const TopoDS_Shape &theS) const
 Selector Returns the index of the shape theS. More...
 
const BOPDS_VectorOfListOfPaveBlockPaveBlocksPool () const
 Selector Returns the information about pave blocks on source edges. More...
 
BOPDS_VectorOfListOfPaveBlockChangePaveBlocksPool ()
 Selector/Modifier Returns the information about pave blocks on source edges. More...
 
Standard_Boolean HasPaveBlocks (const Standard_Integer theIndex) const
 Query Returns true if the shape with index theIndex has the information about pave blocks. More...
 
const BOPDS_ListOfPaveBlockPaveBlocks (const Standard_Integer theIndex) const
 Selector Returns the pave blocks for the shape with index theIndex. More...
 
BOPDS_ListOfPaveBlockChangePaveBlocks (const Standard_Integer theIndex)
 Selector/Modifier Returns the pave blocks for the shape with index theIndex. More...
 
void UpdatePaveBlocks ()
 Update the pave blocks for the all shapes in data structure. More...
 
void UpdatePaveBlock (const Handle< BOPDS_PaveBlock > &thePB)
 Update the pave block thePB. More...
 
void UpdateCommonBlock (const Handle< BOPDS_CommonBlock > &theCB, const Standard_Real theFuzz)
 Update the common block theCB. More...
 
Standard_Boolean IsCommonBlock (const Handle< BOPDS_PaveBlock > &thePB) const
 Query Returns true if the pave block is common block. More...
 
Handle< BOPDS_CommonBlockCommonBlock (const Handle< BOPDS_PaveBlock > &thePB) const
 Selector Returns the common block. More...
 
void SetCommonBlock (const Handle< BOPDS_PaveBlock > &thePB, const Handle< BOPDS_CommonBlock > &theCB)
 Modifier Sets the common block <theCB> More...
 
Handle< BOPDS_PaveBlockRealPaveBlock (const Handle< BOPDS_PaveBlock > &thePB) const
 Selector Returns the real first pave block. More...
 
Standard_Boolean IsCommonBlockOnEdge (const Handle< BOPDS_PaveBlock > &thePB) const
 Query Returns true if common block contains more then one pave block. More...
 
const BOPDS_VectorOfFaceInfoFaceInfoPool () const
 Selector Returns the information about state of faces. More...
 
Standard_Boolean HasFaceInfo (const Standard_Integer theIndex) const
 Query Returns true if the shape with index theIndex has the information about state of face. More...
 
const BOPDS_FaceInfoFaceInfo (const Standard_Integer theIndex) const
 Selector Returns the state of face with index theIndex. More...
 
BOPDS_FaceInfoChangeFaceInfo (const Standard_Integer theIndex)
 Selector/Modifier Returns the state of face with index theIndex. More...
 
void UpdateFaceInfoIn (const Standard_Integer theIndex)
 Update the state In of face with index theIndex. More...
 
void UpdateFaceInfoIn (const TColStd_MapOfInteger &theFaces)
 Update the state IN for all faces in the given map. More...
 
void UpdateFaceInfoOn (const Standard_Integer theIndex)
 Update the state On of face with index theIndex. More...
 
void UpdateFaceInfoOn (const TColStd_MapOfInteger &theFaces)
 Update the state ON for all faces in the given map. More...
 
void FaceInfoOn (const Standard_Integer theIndex, BOPDS_IndexedMapOfPaveBlock &theMPB, TColStd_MapOfInteger &theMVP)
 Selector Returns the state On [theMPB,theMVP] of face with index theIndex. More...
 
void FaceInfoIn (const Standard_Integer theIndex, BOPDS_IndexedMapOfPaveBlock &theMPB, TColStd_MapOfInteger &theMVP)
 Selector Returns the state In [theMPB,theMVP] of face with index theIndex. More...
 
void AloneVertices (const Standard_Integer theF, TColStd_ListOfInteger &theLI) const
 Selector Returns the indices of alone vertices for the face with index theIndex. More...
 
void RefineFaceInfoOn ()
 Refine the state On for the all faces having state information. More...
 
void RefineFaceInfoIn ()
 Removes any pave block from list of having IN state if it has also the state ON. More...
 
void SubShapesOnIn (const Standard_Integer theNF1, const Standard_Integer theNF2, TColStd_MapOfInteger &theMVOnIn, TColStd_MapOfInteger &theMVCommon, BOPDS_IndexedMapOfPaveBlock &thePBOnIn, BOPDS_MapOfPaveBlock &theCommonPB) const
 Returns information about ON/IN sub-shapes of the given faces. More...
 
void SharedEdges (const Standard_Integer theF1, const Standard_Integer theF2, TColStd_ListOfInteger &theLI, const Handle< NCollection_BaseAllocator > &theAllocator)
 Returns the indices of edges that are shared for the faces with indices theF1, theF2. More...
 
TColStd_DataMapOfIntegerIntegerShapesSD ()
 Selector Returns the collection same domain shapes. More...
 
void AddShapeSD (const Standard_Integer theIndex, const Standard_Integer theIndexSD)
 Modifier Adds the information about same domain shapes with indices theIndex, theIndexSD. More...
 
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. More...
 
BOPDS_VectorOfInterfVVInterfVV ()
 Selector/Modifier Returns the collection of interferences Vertex/Vertex. More...
 
BOPDS_VectorOfInterfVEInterfVE ()
 Selector/Modifier Returns the collection of interferences Vertex/Edge. More...
 
BOPDS_VectorOfInterfVFInterfVF ()
 Selector/Modifier Returns the collection of interferences Vertex/Face. More...
 
BOPDS_VectorOfInterfEEInterfEE ()
 Selector/Modifier Returns the collection of interferences Edge/Edge. More...
 
BOPDS_VectorOfInterfEFInterfEF ()
 Selector/Modifier Returns the collection of interferences Edge/Face. More...
 
BOPDS_VectorOfInterfFFInterfFF ()
 Selector/Modifier Returns the collection of interferences Face/Face. More...
 
BOPDS_VectorOfInterfVZInterfVZ ()
 Selector/Modifier Returns the collection of interferences Vertex/Solid. More...
 
BOPDS_VectorOfInterfEZInterfEZ ()
 Selector/Modifier Returns the collection of interferences Edge/Solid. More...
 
BOPDS_VectorOfInterfFZInterfFZ ()
 Selector/Modifier Returns the collection of interferences Face/Solid. More...
 
BOPDS_VectorOfInterfZZInterfZZ ()
 Selector/Modifier Returns the collection of interferences Solid/Solid. More...
 
Standard_Boolean 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. More...
 
Standard_Boolean HasInterf (const Standard_Integer theI) const
 Query Returns true if the shape with index theI is interferred. More...
 
Standard_Boolean HasInterf (const Standard_Integer theI1, const Standard_Integer theI2) const
 Query Returns true if the shapes with indices theI1, theI2 are interferred. More...
 
Standard_Boolean HasInterfShapeSubShapes (const Standard_Integer theI1, const Standard_Integer theI2, const Standard_Boolean theFlag=Standard_True) const
 Query Returns true if the shape with index theI1 is interfered with any sub-shape of the shape with index theI2 (theFlag=true) all sub-shapes of the shape with index theI2 (theFlag=false) More...
 
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. More...
 
const BOPDS_MapOfPairInterferences () const
 Selector Returns the table of interferences. More...
 
void Dump () const
 
Standard_Boolean IsSubShape (const Standard_Integer theI1, const Standard_Integer theI2)
 
void Paves (const Standard_Integer theIndex, BOPDS_ListOfPave &theLP)
 Fills theLP with sorted paves of the shape with index theIndex. More...
 
void UpdatePaveBlocksWithSDVertices ()
 Update the pave blocks for all shapes in data structure. More...
 
void UpdatePaveBlockWithSDVertices (const Handle< BOPDS_PaveBlock > &thePB)
 Update the pave block for all shapes in data structure. More...
 
void UpdateCommonBlockWithSDVertices (const Handle< BOPDS_CommonBlock > &theCB)
 Update the pave block of the common block for all shapes in data structure. More...
 
void InitPaveBlocksForVertex (const Standard_Integer theNV)
 
void ReleasePaveBlocks ()
 Clears information about PaveBlocks for the untouched edges. More...
 
Standard_Boolean IsValidShrunkData (const Handle< BOPDS_PaveBlock > &thePB)
 Checks if the existing shrunk data of the pave block is still valid.
The shrunk data may become invalid if e.g. the vertices of the pave block have been replaced with the new one with bigger tolerances, or the tolerances of the existing vertices have been increased. More...
 
void BuildBndBoxSolid (const Standard_Integer theIndex, Bnd_Box &theBox, const Standard_Boolean theCheckInverted=Standard_True)
 Computes bounding box <theBox> for the solid with DS-index <theIndex>. The flag <theCheckInverted> enables/disables the check of the solid for inverted status. By default the solids will be checked. More...
 

Static Public Member Functions

static Standard_Integer NbInterfTypes ()
 Returns the number of types of the interferences. More...
 

Protected Member Functions

void InitPaveBlocks (const Standard_Integer theIndex)
 Initializes the pave blocks for the shape with index theIndex. More...
 
void InitFaceInfo (const Standard_Integer theIndex)
 Initializes the state of face with index theIndex. More...
 
void InitFaceInfoIn (const Standard_Integer theIndex)
 Initializes the FaceInfo structure for face with index theIndex with elements having IN state for the face. More...
 
void InitShape (const Standard_Integer theIndex, const TopoDS_Shape &theS)
 
Standard_Boolean CheckCoincidence (const Handle< BOPDS_PaveBlock > &thePB1, const Handle< BOPDS_PaveBlock > &thePB2, const Standard_Real theFuzz)
 

Protected Attributes

Handle< NCollection_BaseAllocatormyAllocator
 
TopTools_ListOfShape myArguments
 
Standard_Integer myNbShapes
 
Standard_Integer myNbSourceShapes
 
BOPDS_VectorOfIndexRange myRanges
 
BOPDS_VectorOfShapeInfo myLines
 
TopTools_DataMapOfShapeInteger myMapShapeIndex
 
BOPDS_VectorOfListOfPaveBlock myPaveBlocksPool
 
BOPDS_DataMapOfPaveBlockCommonBlock myMapPBCB
 
BOPDS_VectorOfFaceInfo myFaceInfoPool
 
TColStd_DataMapOfIntegerInteger myShapesSD
 
TColStd_DataMapOfIntegerListOfInteger myMapVE
 
BOPDS_MapOfPair myInterfTB
 
BOPDS_VectorOfInterfVV myInterfVV
 
BOPDS_VectorOfInterfVE myInterfVE
 
BOPDS_VectorOfInterfVF myInterfVF
 
BOPDS_VectorOfInterfEE myInterfEE
 
BOPDS_VectorOfInterfEF myInterfEF
 
BOPDS_VectorOfInterfFF myInterfFF
 
BOPDS_VectorOfInterfVZ myInterfVZ
 
BOPDS_VectorOfInterfEZ myInterfEZ
 
BOPDS_VectorOfInterfFZ myInterfFZ
 
BOPDS_VectorOfInterfZZ myInterfZZ
 
TColStd_MapOfInteger myInterfered
 

Detailed Description

The class BOPDS_DS provides the control of data structure for the algorithms in the Boolean Component such as General Fuse, Boolean operations, Section, Maker Volume, Splitter and Cells Builder.

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];
  2. each argument shape(and its subshapes) has/have own range of indices (rank);
  3. pave blocks on source edges [myPaveBlocksPool];
  4. the state of source faces [myFaceInfoPool];
    6 the collection of same domain shapes [myShapesSD];
    7 the collection of interferences [myInterfTB, myInterfVV,..myInterfFF]

Constructor & Destructor Documentation

◆ BOPDS_DS() [1/2]

BOPDS_DS::BOPDS_DS ( )

Empty constructor.

◆ ~BOPDS_DS()

virtual BOPDS_DS::~BOPDS_DS ( )
virtual

◆ BOPDS_DS() [2/2]

BOPDS_DS::BOPDS_DS ( const Handle< NCollection_BaseAllocator > &  theAllocator)

Constructor.

Parameters
theAllocatorthe allocator to manage the memory

Member Function Documentation

◆ AddInterf()

Standard_Boolean BOPDS_DS::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.

◆ AddShapeSD()

void BOPDS_DS::AddShapeSD ( const Standard_Integer  theIndex,
const Standard_Integer  theIndexSD 
)

Modifier Adds the information about same domain shapes with indices theIndex, theIndexSD.

◆ Allocator()

const Handle< NCollection_BaseAllocator >& BOPDS_DS::Allocator ( ) const

Selector.

◆ AloneVertices()

void BOPDS_DS::AloneVertices ( const Standard_Integer  theF,
TColStd_ListOfInteger theLI 
) const

Selector Returns the indices of alone vertices for the face with index theIndex.

◆ Append() [1/2]

Standard_Integer BOPDS_DS::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.

◆ Append() [2/2]

Standard_Integer BOPDS_DS::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.

◆ Arguments()

const TopTools_ListOfShape& BOPDS_DS::Arguments ( ) const

Selector Returns the arguments of an operation.

◆ BuildBndBoxSolid()

void BOPDS_DS::BuildBndBoxSolid ( const Standard_Integer  theIndex,
Bnd_Box theBox,
const Standard_Boolean  theCheckInverted = Standard_True 
)

Computes bounding box <theBox> for the solid with DS-index <theIndex>. The flag <theCheckInverted> enables/disables the check of the solid for inverted status. By default the solids will be checked.

◆ ChangeFaceInfo()

BOPDS_FaceInfo& BOPDS_DS::ChangeFaceInfo ( const Standard_Integer  theIndex)

Selector/Modifier Returns the state of face with index theIndex.

◆ ChangePaveBlocks()

BOPDS_ListOfPaveBlock& BOPDS_DS::ChangePaveBlocks ( const Standard_Integer  theIndex)

Selector/Modifier Returns the pave blocks for the shape with index theIndex.

◆ ChangePaveBlocksPool()

BOPDS_VectorOfListOfPaveBlock& BOPDS_DS::ChangePaveBlocksPool ( )

Selector/Modifier Returns the information about pave blocks on source edges.

◆ ChangeShapeInfo()

BOPDS_ShapeInfo& BOPDS_DS::ChangeShapeInfo ( const Standard_Integer  theIndex)

Selector/Modifier Returns the information about the shape with index theIndex.

◆ CheckCoincidence()

Standard_Boolean BOPDS_DS::CheckCoincidence ( const Handle< BOPDS_PaveBlock > &  thePB1,
const Handle< BOPDS_PaveBlock > &  thePB2,
const Standard_Real  theFuzz 
)
protected

◆ Clear()

void BOPDS_DS::Clear ( )

Clears the contents.

◆ CommonBlock()

Handle< BOPDS_CommonBlock > BOPDS_DS::CommonBlock ( const Handle< BOPDS_PaveBlock > &  thePB) const

Selector Returns the common block.

◆ Dump()

void BOPDS_DS::Dump ( ) const

◆ FaceInfo()

const BOPDS_FaceInfo& BOPDS_DS::FaceInfo ( const Standard_Integer  theIndex) const

Selector Returns the state of face with index theIndex.

◆ FaceInfoIn()

void BOPDS_DS::FaceInfoIn ( const Standard_Integer  theIndex,
BOPDS_IndexedMapOfPaveBlock theMPB,
TColStd_MapOfInteger theMVP 
)

Selector Returns the state In [theMPB,theMVP] of face with index theIndex.

◆ FaceInfoOn()

void BOPDS_DS::FaceInfoOn ( const Standard_Integer  theIndex,
BOPDS_IndexedMapOfPaveBlock theMPB,
TColStd_MapOfInteger theMVP 
)

Selector Returns the state On [theMPB,theMVP] of face with index theIndex.

◆ FaceInfoPool()

const BOPDS_VectorOfFaceInfo& BOPDS_DS::FaceInfoPool ( ) const

Selector Returns the information about state of faces.

◆ HasFaceInfo()

Standard_Boolean BOPDS_DS::HasFaceInfo ( const Standard_Integer  theIndex) const

Query Returns true if the shape with index theIndex has the information about state of face.

◆ HasInterf() [1/2]

Standard_Boolean BOPDS_DS::HasInterf ( const Standard_Integer  theI) const

Query Returns true if the shape with index theI is interferred.

◆ HasInterf() [2/2]

Standard_Boolean BOPDS_DS::HasInterf ( const Standard_Integer  theI1,
const Standard_Integer  theI2 
) const

Query Returns true if the shapes with indices theI1, theI2 are interferred.

◆ HasInterfShapeSubShapes()

Standard_Boolean BOPDS_DS::HasInterfShapeSubShapes ( const Standard_Integer  theI1,
const Standard_Integer  theI2,
const Standard_Boolean  theFlag = Standard_True 
) const

Query Returns true if the shape with index theI1 is interfered with any sub-shape of the shape with index theI2 (theFlag=true) all sub-shapes of the shape with index theI2 (theFlag=false)

◆ HasInterfSubShapes()

Standard_Boolean BOPDS_DS::HasInterfSubShapes ( const Standard_Integer  theI1,
const Standard_Integer  theI2 
) const

Query Returns true if the shapes with indices theI1, theI2 have interferred sub-shapes.

◆ HasPaveBlocks()

Standard_Boolean BOPDS_DS::HasPaveBlocks ( const Standard_Integer  theIndex) const

Query Returns true if the shape with index theIndex has the information about pave blocks.

◆ HasShapeSD()

Standard_Boolean BOPDS_DS::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

◆ Index()

Standard_Integer BOPDS_DS::Index ( const TopoDS_Shape theS) const

Selector Returns the index of the shape theS.

◆ Init()

void BOPDS_DS::Init ( const Standard_Real  theFuzz = Precision::Confusion())

Initializes the data structure for the arguments.

◆ InitFaceInfo()

void BOPDS_DS::InitFaceInfo ( const Standard_Integer  theIndex)
protected

Initializes the state of face with index theIndex.

◆ InitFaceInfoIn()

void BOPDS_DS::InitFaceInfoIn ( const Standard_Integer  theIndex)
protected

Initializes the FaceInfo structure for face with index theIndex with elements having IN state for the face.

◆ InitPaveBlocks()

void BOPDS_DS::InitPaveBlocks ( const Standard_Integer  theIndex)
protected

Initializes the pave blocks for the shape with index theIndex.

◆ InitPaveBlocksForVertex()

void BOPDS_DS::InitPaveBlocksForVertex ( const Standard_Integer  theNV)

◆ InitShape()

void BOPDS_DS::InitShape ( const Standard_Integer  theIndex,
const TopoDS_Shape theS 
)
protected

◆ InterfEE()

BOPDS_VectorOfInterfEE& BOPDS_DS::InterfEE ( )

Selector/Modifier Returns the collection of interferences Edge/Edge.

◆ InterfEF()

BOPDS_VectorOfInterfEF& BOPDS_DS::InterfEF ( )

Selector/Modifier Returns the collection of interferences Edge/Face.

◆ Interferences()

const BOPDS_MapOfPair& BOPDS_DS::Interferences ( ) const

Selector Returns the table of interferences.

debug

◆ InterfEZ()

BOPDS_VectorOfInterfEZ& BOPDS_DS::InterfEZ ( )

Selector/Modifier Returns the collection of interferences Edge/Solid.

◆ InterfFF()

BOPDS_VectorOfInterfFF& BOPDS_DS::InterfFF ( )

Selector/Modifier Returns the collection of interferences Face/Face.

◆ InterfFZ()

BOPDS_VectorOfInterfFZ& BOPDS_DS::InterfFZ ( )

Selector/Modifier Returns the collection of interferences Face/Solid.

◆ InterfVE()

BOPDS_VectorOfInterfVE& BOPDS_DS::InterfVE ( )

Selector/Modifier Returns the collection of interferences Vertex/Edge.

◆ InterfVF()

BOPDS_VectorOfInterfVF& BOPDS_DS::InterfVF ( )

Selector/Modifier Returns the collection of interferences Vertex/Face.

◆ InterfVV()

BOPDS_VectorOfInterfVV& BOPDS_DS::InterfVV ( )

Selector/Modifier Returns the collection of interferences Vertex/Vertex.

◆ InterfVZ()

BOPDS_VectorOfInterfVZ& BOPDS_DS::InterfVZ ( )

Selector/Modifier Returns the collection of interferences Vertex/Solid.

◆ InterfZZ()

BOPDS_VectorOfInterfZZ& BOPDS_DS::InterfZZ ( )

Selector/Modifier Returns the collection of interferences Solid/Solid.

◆ IsCommonBlock()

Standard_Boolean BOPDS_DS::IsCommonBlock ( const Handle< BOPDS_PaveBlock > &  thePB) const

Query Returns true if the pave block is common block.

◆ IsCommonBlockOnEdge()

Standard_Boolean BOPDS_DS::IsCommonBlockOnEdge ( const Handle< BOPDS_PaveBlock > &  thePB) const

Query Returns true if common block contains more then one pave block.

◆ IsNewShape()

Standard_Boolean BOPDS_DS::IsNewShape ( const Standard_Integer  theIndex) const

Returns true if the shape of index "i" is not the source shape/sub-shape.

◆ IsSubShape()

Standard_Boolean BOPDS_DS::IsSubShape ( const Standard_Integer  theI1,
const Standard_Integer  theI2 
)

◆ IsValidShrunkData()

Standard_Boolean BOPDS_DS::IsValidShrunkData ( const Handle< BOPDS_PaveBlock > &  thePB)

Checks if the existing shrunk data of the pave block is still valid.
The shrunk data may become invalid if e.g. the vertices of the pave block have been replaced with the new one with bigger tolerances, or the tolerances of the existing vertices have been increased.

◆ NbInterfTypes()

static Standard_Integer BOPDS_DS::NbInterfTypes ( )
static

Returns the number of types of the interferences.

◆ NbRanges()

Standard_Integer BOPDS_DS::NbRanges ( ) const

Selector Returns the number of index ranges.

◆ NbShapes()

Standard_Integer BOPDS_DS::NbShapes ( ) const

Selector Returns the total number of shapes stored.

◆ NbSourceShapes()

Standard_Integer BOPDS_DS::NbSourceShapes ( ) const

Selector Returns the total number of source shapes stored.

◆ PaveBlocks()

const BOPDS_ListOfPaveBlock& BOPDS_DS::PaveBlocks ( const Standard_Integer  theIndex) const

Selector Returns the pave blocks for the shape with index theIndex.

◆ PaveBlocksPool()

const BOPDS_VectorOfListOfPaveBlock& BOPDS_DS::PaveBlocksPool ( ) const

Selector Returns the information about pave blocks on source edges.

◆ Paves()

void BOPDS_DS::Paves ( const Standard_Integer  theIndex,
BOPDS_ListOfPave theLP 
)

Fills theLP with sorted paves of the shape with index theIndex.

◆ Range()

const BOPDS_IndexRange& BOPDS_DS::Range ( const Standard_Integer  theIndex) const

Selector Returns the index range "i".

◆ Rank()

Standard_Integer BOPDS_DS::Rank ( const Standard_Integer  theIndex) const

Selector Returns the rank of the shape of index "i".

◆ RealPaveBlock()

Handle< BOPDS_PaveBlock > BOPDS_DS::RealPaveBlock ( const Handle< BOPDS_PaveBlock > &  thePB) const

Selector Returns the real first pave block.

◆ RefineFaceInfoIn()

void BOPDS_DS::RefineFaceInfoIn ( )

Removes any pave block from list of having IN state if it has also the state ON.

◆ RefineFaceInfoOn()

void BOPDS_DS::RefineFaceInfoOn ( )

Refine the state On for the all faces having state information.

++

◆ ReleasePaveBlocks()

void BOPDS_DS::ReleasePaveBlocks ( )

Clears information about PaveBlocks for the untouched edges.

◆ SetArguments()

void BOPDS_DS::SetArguments ( const TopTools_ListOfShape theLS)

Modifier Sets the arguments [theLS] of an operation.

◆ SetCommonBlock()

void BOPDS_DS::SetCommonBlock ( const Handle< BOPDS_PaveBlock > &  thePB,
const Handle< BOPDS_CommonBlock > &  theCB 
)

Modifier Sets the common block <theCB>

◆ Shape()

const TopoDS_Shape& BOPDS_DS::Shape ( const Standard_Integer  theIndex) const

Selector Returns the shape with index theIndex.

◆ ShapeInfo()

const BOPDS_ShapeInfo& BOPDS_DS::ShapeInfo ( const Standard_Integer  theIndex) const

Selector Returns the information about the shape with index theIndex.

◆ ShapesSD()

TColStd_DataMapOfIntegerInteger& BOPDS_DS::ShapesSD ( )

Selector Returns the collection same domain shapes.

◆ SharedEdges()

void BOPDS_DS::SharedEdges ( const Standard_Integer  theF1,
const Standard_Integer  theF2,
TColStd_ListOfInteger theLI,
const Handle< NCollection_BaseAllocator > &  theAllocator 
)

Returns the indices of edges that are shared for the faces with indices theF1, theF2.

same domain shapes

◆ SubShapesOnIn()

void BOPDS_DS::SubShapesOnIn ( const Standard_Integer  theNF1,
const Standard_Integer  theNF2,
TColStd_MapOfInteger theMVOnIn,
TColStd_MapOfInteger theMVCommon,
BOPDS_IndexedMapOfPaveBlock thePBOnIn,
BOPDS_MapOfPaveBlock theCommonPB 
) const

Returns information about ON/IN sub-shapes of the given faces.

Parameters
theMVOnInthe indices of ON/IN vertices from both faces
theMVCommonthe indices of common vertices for both faces
thePBOnInall On/In pave blocks from both faces
theCommonPBthe common pave blocks (that are shared by both faces).

◆ UpdateCommonBlock()

void BOPDS_DS::UpdateCommonBlock ( const Handle< BOPDS_CommonBlock > &  theCB,
const Standard_Real  theFuzz 
)

Update the common block theCB.

◆ UpdateCommonBlockWithSDVertices()

void BOPDS_DS::UpdateCommonBlockWithSDVertices ( const Handle< BOPDS_CommonBlock > &  theCB)

Update the pave block of the common block for all shapes in data structure.

◆ UpdateFaceInfoIn() [1/2]

void BOPDS_DS::UpdateFaceInfoIn ( const Standard_Integer  theIndex)

Update the state In of face with index theIndex.

◆ UpdateFaceInfoIn() [2/2]

void BOPDS_DS::UpdateFaceInfoIn ( const TColStd_MapOfInteger theFaces)

Update the state IN for all faces in the given map.

◆ UpdateFaceInfoOn() [1/2]

void BOPDS_DS::UpdateFaceInfoOn ( const Standard_Integer  theIndex)

Update the state On of face with index theIndex.

◆ UpdateFaceInfoOn() [2/2]

void BOPDS_DS::UpdateFaceInfoOn ( const TColStd_MapOfInteger theFaces)

Update the state ON for all faces in the given map.

◆ UpdatePaveBlock()

void BOPDS_DS::UpdatePaveBlock ( const Handle< BOPDS_PaveBlock > &  thePB)

Update the pave block thePB.

◆ UpdatePaveBlocks()

void BOPDS_DS::UpdatePaveBlocks ( )

Update the pave blocks for the all shapes in data structure.

◆ UpdatePaveBlocksWithSDVertices()

void BOPDS_DS::UpdatePaveBlocksWithSDVertices ( )

Update the pave blocks for all shapes in data structure.

◆ UpdatePaveBlockWithSDVertices()

void BOPDS_DS::UpdatePaveBlockWithSDVertices ( const Handle< BOPDS_PaveBlock > &  thePB)

Update the pave block for all shapes in data structure.

Field Documentation

◆ myAllocator

Handle< NCollection_BaseAllocator > BOPDS_DS::myAllocator
protected

◆ myArguments

TopTools_ListOfShape BOPDS_DS::myArguments
protected

◆ myFaceInfoPool

BOPDS_VectorOfFaceInfo BOPDS_DS::myFaceInfoPool
protected

◆ myInterfEE

BOPDS_VectorOfInterfEE BOPDS_DS::myInterfEE
protected

◆ myInterfEF

BOPDS_VectorOfInterfEF BOPDS_DS::myInterfEF
protected

◆ myInterfered

TColStd_MapOfInteger BOPDS_DS::myInterfered
protected

◆ myInterfEZ

BOPDS_VectorOfInterfEZ BOPDS_DS::myInterfEZ
protected

◆ myInterfFF

BOPDS_VectorOfInterfFF BOPDS_DS::myInterfFF
protected

◆ myInterfFZ

BOPDS_VectorOfInterfFZ BOPDS_DS::myInterfFZ
protected

◆ myInterfTB

BOPDS_MapOfPair BOPDS_DS::myInterfTB
protected

◆ myInterfVE

BOPDS_VectorOfInterfVE BOPDS_DS::myInterfVE
protected

◆ myInterfVF

BOPDS_VectorOfInterfVF BOPDS_DS::myInterfVF
protected

◆ myInterfVV

BOPDS_VectorOfInterfVV BOPDS_DS::myInterfVV
protected

◆ myInterfVZ

BOPDS_VectorOfInterfVZ BOPDS_DS::myInterfVZ
protected

◆ myInterfZZ

BOPDS_VectorOfInterfZZ BOPDS_DS::myInterfZZ
protected

◆ myLines

BOPDS_VectorOfShapeInfo BOPDS_DS::myLines
protected

◆ myMapPBCB

BOPDS_DataMapOfPaveBlockCommonBlock BOPDS_DS::myMapPBCB
protected

◆ myMapShapeIndex

TopTools_DataMapOfShapeInteger BOPDS_DS::myMapShapeIndex
protected

◆ myMapVE

TColStd_DataMapOfIntegerListOfInteger BOPDS_DS::myMapVE
protected

◆ myNbShapes

Standard_Integer BOPDS_DS::myNbShapes
protected

◆ myNbSourceShapes

Standard_Integer BOPDS_DS::myNbSourceShapes
protected

◆ myPaveBlocksPool

BOPDS_VectorOfListOfPaveBlock BOPDS_DS::myPaveBlocksPool
protected

◆ myRanges

BOPDS_VectorOfIndexRange BOPDS_DS::myRanges
protected

◆ myShapesSD

TColStd_DataMapOfIntegerInteger BOPDS_DS::myShapesSD
protected

The documentation for this class was generated from the following file: