Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Public Types | Public Member Functions
XCAFDoc_AssemblyGraph Class Reference

#include <XCAFDoc_AssemblyGraph.hxx>

Inheritance diagram for XCAFDoc_AssemblyGraph:
Inheritance graph
[legend]

Data Structures

class  Iterator
 Graph iterator. More...
 

Public Types

enum  NodeType {
  NodeType_UNDEFINED = 0 , NodeType_AssemblyRoot , NodeType_Subassembly , NodeType_Occurrence ,
  NodeType_Part , NodeType_Subshape
}
 Type of the graph node. More...
 
typedef NCollection_DataMap< int, TColStd_PackedMapOfIntegerAdjacencyMap
 Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 XCAFDoc_AssemblyGraph (const occ::handle< TDocStd_Document > &theDoc)
 Constructs graph from XCAF document. Construction of a formal graph will be done immediately.
 
 XCAFDoc_AssemblyGraph (const TDF_Label &theLabel)
 Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position.
 
const occ::handle< XCAFDoc_ShapeTool > & GetShapeTool () const
 
const TColStd_PackedMapOfIntegerGetRoots () const
 Returns IDs of the root nodes.
 
bool IsDirectLink (const int theNode1, const int theNode2) const
 Checks whether the assembly graph contains (n1, n2) directed link.
 
bool HasChildren (const int theNode) const
 Checks whether direct children exist for the given node.
 
const TColStd_PackedMapOfIntegerGetChildren (const int theNode) const
 Returns IDs of child nodes for the given node.
 
NodeType GetNodeType (const int theNode) const
 Returns the node type from NodeType enum.
 
const TDF_LabelGetNode (const int theNode) const
 returns object ID by node ID.
 
const NCollection_IndexedMap< TDF_Label > & GetNodes () const
 Returns the unordered set of graph nodes.
 
int NbNodes () const
 Returns the number of graph nodes.
 
const AdjacencyMapGetLinks () const
 Returns the collection of graph links in the form of adjacency matrix.
 
int NbLinks () const
 Returns the number of graph links.
 
int NbOccurrences (const int theNode) const
 Returns quantity of part usage occurrences.
 
- 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.
 

Additional Inherited Members

- 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.
 

Member Typedef Documentation

◆ AdjacencyMap

Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.

Member Enumeration Documentation

◆ NodeType

Type of the graph node.

Enumerator
NodeType_UNDEFINED 

Undefined node type.

NodeType_AssemblyRoot 

Root node.

NodeType_Subassembly 

Intermediate node.

NodeType_Occurrence 

Assembly/part occurrence node.

NodeType_Part 

Leaf node to represent parts.

NodeType_Subshape 

Subshape node.

Constructor & Destructor Documentation

◆ XCAFDoc_AssemblyGraph() [1/2]

XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph ( const occ::handle< TDocStd_Document > & theDoc)

Constructs graph from XCAF document. Construction of a formal graph will be done immediately.

Parameters
[in]theDoc- document to iterate.

◆ XCAFDoc_AssemblyGraph() [2/2]

XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph ( const TDF_Label & theLabel)

Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position.

Parameters
[in]theDoc- document to iterate.
[in]theLabel- starting position.

Member Function Documentation

◆ GetChildren()

const TColStd_PackedMapOfInteger & XCAFDoc_AssemblyGraph::GetChildren ( const int theNode) const
inline

Returns IDs of child nodes for the given node.

Parameters
[in]theNode- one-based node ID.
Returns
set of child IDs.

◆ GetLinks()

const AdjacencyMap & XCAFDoc_AssemblyGraph::GetLinks ( ) const
inline

Returns the collection of graph links in the form of adjacency matrix.

Returns
graph links.

◆ GetNode()

const TDF_Label & XCAFDoc_AssemblyGraph::GetNode ( const int theNode) const
inline

returns object ID by node ID.

Parameters
[in]theNode- one-based node ID.
Returns
persistent ID.

◆ GetNodes()

const NCollection_IndexedMap< TDF_Label > & XCAFDoc_AssemblyGraph::GetNodes ( ) const
inline

Returns the unordered set of graph nodes.

Returns
graph nodes.

◆ GetNodeType()

NodeType XCAFDoc_AssemblyGraph::GetNodeType ( const int theNode) const

Returns the node type from NodeType enum.

Parameters
[in]theNode- one-based node ID.
Returns
node type.
See also
NodeType

◆ GetRoots()

const TColStd_PackedMapOfInteger & XCAFDoc_AssemblyGraph::GetRoots ( ) const
inline

Returns IDs of the root nodes.

Returns
IDs of the root nodes.

◆ GetShapeTool()

const occ::handle< XCAFDoc_ShapeTool > & XCAFDoc_AssemblyGraph::GetShapeTool ( ) const
inline
Returns
Document shape tool.

◆ HasChildren()

bool XCAFDoc_AssemblyGraph::HasChildren ( const int theNode) const
inline

Checks whether direct children exist for the given node.

Parameters
[in]theNode- one-based node ID.
Returns
true/false.

◆ IsDirectLink()

bool XCAFDoc_AssemblyGraph::IsDirectLink ( const int theNode1,
const int theNode2 ) const

Checks whether the assembly graph contains (n1, n2) directed link.

Parameters
[in]theNode1- one-based ID of the first node.
[in]theNode2- one-based ID of the second node.
Returns
true/false.

◆ NbLinks()

int XCAFDoc_AssemblyGraph::NbLinks ( ) const

Returns the number of graph links.

Returns
number of graph links.

◆ NbNodes()

int XCAFDoc_AssemblyGraph::NbNodes ( ) const
inline

Returns the number of graph nodes.

Returns
number of graph nodes.

◆ NbOccurrences()

int XCAFDoc_AssemblyGraph::NbOccurrences ( const int theNode) const

Returns quantity of part usage occurrences.

Parameters
[in]theNode- one-based part ID.
Returns
usage occurrence quantity.

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