Open CASCADE Technology 7.8.0
|
#include <XCAFDoc_AssemblyGraph.hxx>
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< Standard_Integer, TColStd_PackedMapOfInteger > | AdjacencyMap |
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 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 Handle< XCAFDoc_ShapeTool > & | GetShapeTool () const |
const TColStd_PackedMapOfInteger & | GetRoots () const |
Returns IDs of the root nodes. | |
Standard_Boolean | IsDirectLink (const Standard_Integer theNode1, const Standard_Integer theNode2) const |
Checks whether the assembly graph contains (n1, n2) directed link. | |
Standard_Boolean | HasChildren (const Standard_Integer theNode) const |
Checks whether direct children exist for the given node. | |
const TColStd_PackedMapOfInteger & | GetChildren (const Standard_Integer theNode) const |
Returns IDs of child nodes for the given node. | |
NodeType | GetNodeType (const Standard_Integer theNode) const |
Returns the node type from NodeType enum. | |
const TDF_Label & | GetNode (const Standard_Integer theNode) const |
returns object ID by node ID. | |
const TDF_LabelIndexedMap & | GetNodes () const |
Returns the unordered set of graph nodes. | |
Standard_Integer | NbNodes () const |
Returns the number of graph nodes. | |
const AdjacencyMap & | GetLinks () const |
Returns the collection of graph links in the form of adjacency matrix. | |
Standard_Integer | NbLinks () const |
Returns the number of graph links. | |
Standard_Integer | NbOccurrences (const Standard_Integer 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_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | 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. | |
Standard_Boolean | IsKind (const Standard_CString 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_Transient * | This () 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. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_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. | |
typedef NCollection_DataMap<Standard_Integer, TColStd_PackedMapOfInteger> XCAFDoc_AssemblyGraph::AdjacencyMap |
Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.
XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph | ( | const Handle< TDocStd_Document > & | theDoc | ) |
Constructs graph from XCAF document. Construction of a formal graph will be done immediately.
[in] | theDoc | - document to iterate. |
Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position.
[in] | theDoc | - document to iterate. |
[in] | theLabel | - starting position. |
|
inline |
Returns IDs of child nodes for the given node.
[in] | theNode | - one-based node ID. |
|
inline |
Returns the collection of graph links in the form of adjacency matrix.
|
inline |
returns object ID by node ID.
[in] | theNode | - one-based node ID. |
|
inline |
Returns the unordered set of graph nodes.
NodeType XCAFDoc_AssemblyGraph::GetNodeType | ( | const Standard_Integer | theNode | ) | const |
|
inline |
Returns IDs of the root nodes.
|
inline |
|
inline |
Checks whether direct children exist for the given node.
[in] | theNode | - one-based node ID. |
Standard_Boolean XCAFDoc_AssemblyGraph::IsDirectLink | ( | const Standard_Integer | theNode1, |
const Standard_Integer | theNode2 | ||
) | const |
Checks whether the assembly graph contains (n1, n2) directed link.
[in] | theNode1 | - one-based ID of the first node. |
[in] | theNode2 | - one-based ID of the second node. |
Standard_Integer XCAFDoc_AssemblyGraph::NbLinks | ( | ) | const |
Returns the number of graph links.
|
inline |
Returns the number of graph nodes.
Standard_Integer XCAFDoc_AssemblyGraph::NbOccurrences | ( | const Standard_Integer | theNode | ) | const |
Returns quantity of part usage occurrences.
[in] | theNode | - one-based part ID. |