Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
BOPDS_PaveBlock Class Reference

The class BOPDS_PaveBlock is to store the information about pave block on an edge. Two adjacent paves on edge make up pave block. More...

#include <BOPDS_PaveBlock.hxx>

Inheritance diagram for BOPDS_PaveBlock:
Inheritance graph
[legend]

Public Member Functions

 BOPDS_PaveBlock ()
 Empty constructor.
 
 BOPDS_PaveBlock (const occ::handle< NCollection_BaseAllocator > &theAllocator)
 Constructor.
 
void SetPave1 (const BOPDS_Pave &thePave)
 Modifier Sets the first pave <thePave>
 
const BOPDS_PavePave1 () const
 Selector Returns the first pave.
 
void SetPave2 (const BOPDS_Pave &thePave)
 Modifier Sets the second pave <thePave>
 
const BOPDS_PavePave2 () const
 Selector Returns the second pave.
 
void SetEdge (const int theEdge)
 Modifier Sets the index of edge of pave block <theEdge>
 
int Edge () const
 Selector Returns the index of edge of pave block.
 
bool HasEdge () const
 Query Returns true if the pave block has edge.
 
bool HasEdge (int &theEdge) const
 Query Returns true if the pave block has edge Returns the index of edge <theEdge>
 
void SetOriginalEdge (const int theEdge)
 Modifier Sets the index of original edge of the pave block <theEdge>
 
int OriginalEdge () const
 Selector Returns the index of original edge of pave block.
 
bool IsSplitEdge () const
 Query Returns true if the edge is equal to the original edge of the pave block.
 
void Range (double &theT1, double &theT2) const
 Selector Returns the parametric range <theT1,theT2> of the pave block.
 
bool HasSameBounds (const occ::handle< BOPDS_PaveBlock > &theOther) const
 Query Returns true if the pave block has pave indices that equal to the pave indices of the pave block <theOther>
 
void Indices (int &theIndex1, int &theIndex2) const
 Selector Returns the pave indices <theIndex1,theIndex2> of the pave block.
 
bool IsToUpdate () const
 Query Returns true if the pave block contains extra paves.
 
void AppendExtPave (const BOPDS_Pave &thePave)
 Modifier Appends extra paves <thePave>
 
void AppendExtPave1 (const BOPDS_Pave &thePave)
 Modifier Appends extra pave <thePave>
 
void RemoveExtPave (const int theVertNum)
 Modifier Removes a pave with the given vertex number from extra paves.
 
const NCollection_List< BOPDS_Pave > & ExtPaves () const
 Selector Returns the extra paves.
 
NCollection_List< BOPDS_Pave > & ChangeExtPaves ()
 Selector / Modifier Returns the extra paves.
 
void Update (NCollection_List< occ::handle< BOPDS_PaveBlock > > &theLPB, const bool theFlag=true)
 Modifier Updates the pave block. The extra paves are used to create new pave blocks <theLPB>. <theFlag> - if true, the first and second pave are used to produce new pave blocks.
 
bool ContainsParameter (const double thePrm, const double theTol, int &theInd) const
 Query Returns true if the extra paves contain the pave with given value of the parameter <thePrm> <theTol> - the value of the tolerance to compare <theInd> - index of the found pave.
 
void SetShrunkData (const double theTS1, const double theTS2, const Bnd_Box &theBox, const bool theIsSplittable)
 Modifier Sets the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.
 
void ShrunkData (double &theTS1, double &theTS2, Bnd_Box &theBox, bool &theIsSplittable) const
 Selector Returns the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.
 
bool HasShrunkData () const
 Query Returns true if the pave block contains the shrunk data.
 
void Dump () const
 
bool IsSplittable () const
 Query Returns FALSE if the pave block has a too short shrunk range and cannot be split, otherwise returns TRUE.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
bool IsKind (const char *const theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Attributes

occ::handle< NCollection_BaseAllocatormyAllocator
 
int myEdge
 
int myOriginalEdge
 
BOPDS_Pave myPave1
 
BOPDS_Pave myPave2
 
NCollection_List< BOPDS_PavemyExtPaves
 
double myTS1
 
double myTS2
 
Bnd_Box myShrunkBox
 
NCollection_Map< intmyMFence
 
bool myIsSplittable
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

The class BOPDS_PaveBlock is to store the information about pave block on an edge. Two adjacent paves on edge make up pave block.

Constructor & Destructor Documentation

◆ BOPDS_PaveBlock() [1/2]

BOPDS_PaveBlock::BOPDS_PaveBlock ( )

Empty constructor.

◆ BOPDS_PaveBlock() [2/2]

BOPDS_PaveBlock::BOPDS_PaveBlock ( const occ::handle< NCollection_BaseAllocator > & theAllocator)

Constructor.

Parameters
theAllocatorthe allocator to manage the memory

Member Function Documentation

◆ AppendExtPave()

void BOPDS_PaveBlock::AppendExtPave ( const BOPDS_Pave & thePave)

Modifier Appends extra paves <thePave>

◆ AppendExtPave1()

void BOPDS_PaveBlock::AppendExtPave1 ( const BOPDS_Pave & thePave)

Modifier Appends extra pave <thePave>

◆ ChangeExtPaves()

NCollection_List< BOPDS_Pave > & BOPDS_PaveBlock::ChangeExtPaves ( )

Selector / Modifier Returns the extra paves.

◆ ContainsParameter()

bool BOPDS_PaveBlock::ContainsParameter ( const double thePrm,
const double theTol,
int & theInd ) const

Query Returns true if the extra paves contain the pave with given value of the parameter <thePrm> <theTol> - the value of the tolerance to compare <theInd> - index of the found pave.

◆ Dump()

void BOPDS_PaveBlock::Dump ( ) const

◆ Edge()

int BOPDS_PaveBlock::Edge ( ) const

Selector Returns the index of edge of pave block.

◆ ExtPaves()

const NCollection_List< BOPDS_Pave > & BOPDS_PaveBlock::ExtPaves ( ) const

Selector Returns the extra paves.

◆ HasEdge() [1/2]

bool BOPDS_PaveBlock::HasEdge ( ) const

Query Returns true if the pave block has edge.

◆ HasEdge() [2/2]

bool BOPDS_PaveBlock::HasEdge ( int & theEdge) const

Query Returns true if the pave block has edge Returns the index of edge <theEdge>

◆ HasSameBounds()

bool BOPDS_PaveBlock::HasSameBounds ( const occ::handle< BOPDS_PaveBlock > & theOther) const

Query Returns true if the pave block has pave indices that equal to the pave indices of the pave block <theOther>

◆ HasShrunkData()

bool BOPDS_PaveBlock::HasShrunkData ( ) const

Query Returns true if the pave block contains the shrunk data.

◆ Indices()

void BOPDS_PaveBlock::Indices ( int & theIndex1,
int & theIndex2 ) const

Selector Returns the pave indices <theIndex1,theIndex2> of the pave block.

◆ IsSplitEdge()

bool BOPDS_PaveBlock::IsSplitEdge ( ) const

Query Returns true if the edge is equal to the original edge of the pave block.

◆ IsSplittable()

bool BOPDS_PaveBlock::IsSplittable ( ) const
inline

Query Returns FALSE if the pave block has a too short shrunk range and cannot be split, otherwise returns TRUE.

◆ IsToUpdate()

bool BOPDS_PaveBlock::IsToUpdate ( ) const

Query Returns true if the pave block contains extra paves.

◆ OriginalEdge()

int BOPDS_PaveBlock::OriginalEdge ( ) const

Selector Returns the index of original edge of pave block.

◆ Pave1()

const BOPDS_Pave & BOPDS_PaveBlock::Pave1 ( ) const

Selector Returns the first pave.

◆ Pave2()

const BOPDS_Pave & BOPDS_PaveBlock::Pave2 ( ) const

Selector Returns the second pave.

◆ Range()

void BOPDS_PaveBlock::Range ( double & theT1,
double & theT2 ) const

Selector Returns the parametric range <theT1,theT2> of the pave block.

◆ RemoveExtPave()

void BOPDS_PaveBlock::RemoveExtPave ( const int theVertNum)

Modifier Removes a pave with the given vertex number from extra paves.

◆ SetEdge()

void BOPDS_PaveBlock::SetEdge ( const int theEdge)

Modifier Sets the index of edge of pave block <theEdge>

◆ SetOriginalEdge()

void BOPDS_PaveBlock::SetOriginalEdge ( const int theEdge)

Modifier Sets the index of original edge of the pave block <theEdge>

◆ SetPave1()

void BOPDS_PaveBlock::SetPave1 ( const BOPDS_Pave & thePave)

Modifier Sets the first pave <thePave>

◆ SetPave2()

void BOPDS_PaveBlock::SetPave2 ( const BOPDS_Pave & thePave)

Modifier Sets the second pave <thePave>

◆ SetShrunkData()

void BOPDS_PaveBlock::SetShrunkData ( const double theTS1,
const double theTS2,
const Bnd_Box & theBox,
const bool theIsSplittable )

Modifier Sets the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.

◆ ShrunkData()

void BOPDS_PaveBlock::ShrunkData ( double & theTS1,
double & theTS2,
Bnd_Box & theBox,
bool & theIsSplittable ) const

Selector Returns the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.

◆ Update()

void BOPDS_PaveBlock::Update ( NCollection_List< occ::handle< BOPDS_PaveBlock > > & theLPB,
const bool theFlag = true )

Modifier Updates the pave block. The extra paves are used to create new pave blocks <theLPB>. <theFlag> - if true, the first and second pave are used to produce new pave blocks.

Field Documentation

◆ myAllocator

occ::handle<NCollection_BaseAllocator> BOPDS_PaveBlock::myAllocator
protected

◆ myEdge

int BOPDS_PaveBlock::myEdge
protected

◆ myExtPaves

NCollection_List<BOPDS_Pave> BOPDS_PaveBlock::myExtPaves
protected

◆ myIsSplittable

bool BOPDS_PaveBlock::myIsSplittable
protected

◆ myMFence

NCollection_Map<int> BOPDS_PaveBlock::myMFence
protected

◆ myOriginalEdge

int BOPDS_PaveBlock::myOriginalEdge
protected

◆ myPave1

BOPDS_Pave BOPDS_PaveBlock::myPave1
protected

◆ myPave2

BOPDS_Pave BOPDS_PaveBlock::myPave2
protected

◆ myShrunkBox

Bnd_Box BOPDS_PaveBlock::myShrunkBox
protected

◆ myTS1

double BOPDS_PaveBlock::myTS1
protected

◆ myTS2

double BOPDS_PaveBlock::myTS2
protected

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