OCCT3D About OCCT
Open CASCADE Technology Reference Manual 8.0.1
Loading...
Searching...
No Matches
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes
BRepGraph_RepId Struct Reference

Lightweight typed index into a per-kind use-record vector inside BRepGraph. More...

#include <BRepGraphInc_RepId.hxx>

Data Structures

struct  Typed
 Compile-time typed wrapper around BRepGraph_RepId. More...
 

Public Types

enum class  Kind : int {
  EdgeCurve3D = 0 , EdgePolygon3D = 1 , CoEdgeCurve2D = 2 , CoEdgePolygon2D = 3 ,
  CoEdgePolygonOnTri = 4 , FaceSurface = 5 , FaceTriangulation = 6
}
 Enumeration of use-record kinds. More...
 

Public Member Functions

 BRepGraph_RepId ()
 Default: invalid RepId.
 
 BRepGraph_RepId (const Kind theKind, const uint32_t theIdx)
 
bool IsValid () const
 True if this id points to an allocated slot.
 
bool IsValid (const uint32_t theMaxCount) const
 True if this id is within [0, theMaxCount).
 
bool operator== (const BRepGraph_RepId &theOther) const
 
bool operator!= (const BRepGraph_RepId &theOther) const
 
bool operator< (const BRepGraph_RepId &theOther) const
 
bool IsRemoved (const BRepGraph &theGraph) const
 Return true if this use entry has been soft-removed in the given graph.
 

Static Public Member Functions

static bool IsValidKind (const Kind theKind)
 True if the kind value is one of the supported use-record kinds.
 

Data Fields

Kind RepKind
 
uint32_t Index
 

Static Public Attributes

static constexpr uint32_t THE_START_INDEX = 0u
 
static constexpr uint32_t THE_INVALID_INDEX = std::numeric_limits<uint32_t>::max()
 

Detailed Description

Lightweight typed index into a per-kind use-record vector inside BRepGraph.

The pair (Kind, Index) forms a unique use-record identifier within one graph instance. Default-constructed RepId has Index = UINT32_MAX (invalid).

Use records are session-local representation slots with no public stable UID, graph-level lock state, independent mutation generation, or layer callbacks. They do have a soft-removed state so an owner can clear and later reuse its slot.

Member Enumeration Documentation

◆ Kind

Enumeration of use-record kinds.

Enumerator
EdgeCurve3D 

Geom_Curve use for edges.

EdgePolygon3D 

Poly_Polygon3D use for edges.

CoEdgeCurve2D 

Geom2d_Curve use for coedges.

CoEdgePolygon2D 

Poly_Polygon2D use for coedges.

CoEdgePolygonOnTri 

Poly_PolygonOnTriangulation use for coedges.

FaceSurface 

Geom_Surface use for faces.

FaceTriangulation 

Poly_Triangulation use for faces.

Constructor & Destructor Documentation

◆ BRepGraph_RepId() [1/2]

BRepGraph_RepId::BRepGraph_RepId ( )
inline

Default: invalid RepId.

◆ BRepGraph_RepId() [2/2]

BRepGraph_RepId::BRepGraph_RepId ( const Kind theKind,
const uint32_t theIdx )
inline

Member Function Documentation

◆ IsRemoved()

bool BRepGraph_RepId::IsRemoved ( const BRepGraph & theGraph) const

Return true if this use entry has been soft-removed in the given graph.

◆ IsValid() [1/2]

bool BRepGraph_RepId::IsValid ( ) const
inline

True if this id points to an allocated slot.

◆ IsValid() [2/2]

bool BRepGraph_RepId::IsValid ( const uint32_t theMaxCount) const
inline

True if this id is within [0, theMaxCount).

◆ IsValidKind()

static bool BRepGraph_RepId::IsValidKind ( const Kind theKind)
inlinestatic

True if the kind value is one of the supported use-record kinds.

◆ operator!=()

bool BRepGraph_RepId::operator!= ( const BRepGraph_RepId & theOther) const
inline

◆ operator<()

bool BRepGraph_RepId::operator< ( const BRepGraph_RepId & theOther) const
inline

◆ operator==()

bool BRepGraph_RepId::operator== ( const BRepGraph_RepId & theOther) const
inline

Field Documentation

◆ Index

uint32_t BRepGraph_RepId::Index

◆ RepKind

Kind BRepGraph_RepId::RepKind

◆ THE_INVALID_INDEX

constexpr uint32_t BRepGraph_RepId::THE_INVALID_INDEX = std::numeric_limits<uint32_t>::max()
staticconstexpr

◆ THE_START_INDEX

constexpr uint32_t BRepGraph_RepId::THE_START_INDEX = 0u
staticconstexpr

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