![]() |
Murl Engine API
Version 2018.3
|
A template class for safe access of basic graph node properties and for easy use of the GraphObservableNode object in combination with a INodeObserver. More...
#include <murl_logic_graph_node.h>
A template class for safe access of basic graph node properties and for easy use of the GraphObservableNode object in combination with a INodeObserver.
See GraphNodeTypes for predefined types.
Public Types | |
typedef GraphObservableNode< NodeType > | ObservableNodeT |
Type definition of the observable node. More... | |
Public Member Functions | |
GraphNodeT () | |
The default constructor. More... | |
GraphNodeT (Graph::INode *node) | |
The constructor including a graph node. More... | |
template<class NodeType2 > | |
GraphNodeT (const GraphNodeT< NodeType2 > &graphNode) | |
The constructor including a graph node object. More... | |
GraphNodeT (const Graph::IRoot *root, const String &nodeIdPath) | |
The constructor including the graph root node and path. More... | |
GraphNodeT (Graph::INamespace *namespaceNode, const String &nodeIdPath) | |
The constructor including a graph namespace node and path. More... | |
GraphNodeT (const NamespaceNode &namespaceNode, const String &nodeIdPath) | |
The constructor including a graph namespace node and path. More... | |
virtual | ~GraphNodeT () |
The destructor. More... | |
Bool | IsValid () const |
Check if the graph node is valid. More... | |
Bool | RemoveReference () |
Remove the reference from the graph node. More... | |
Bool | CanReference (Graph::INode *node) const |
Check if a graph node can be referenced by this template's node type. More... | |
template<class NodeType2 > | |
Bool | CanReference (const GraphNodeT< NodeType2 > &graphNode) const |
Check if a graph node object can be referenced by this template's node type. More... | |
Bool | CanResolveReference (Graph::INode *node) const |
Check if a graph node can be referenced by this template's node type by resolving a Graph::IReference node. More... | |
template<class NodeType2 > | |
Bool | CanResolveReference (const GraphNodeT< NodeType2 > &graphNode) const |
Check if a graph node object can be referenced by this template's node type by resolving a Logic::ReferenceNode. More... | |
IObservableNodePtr | GetReference (Graph::INode *node) |
Get a reference to a graph node of this template's node type. More... | |
template<class NodeType2 > | |
IObservableNodePtr | GetReference (const GraphNodeT< NodeType2 > &graphNode) |
Get a reference to a graph node object of this template's node type. More... | |
IObservableNodePtr | GetReference (const Graph::IRoot *root, const String &nodeIdPath) |
Get a reference to a graph node by identifier. More... | |
IObservableNodePtr | GetReference (Graph::INamespace *namespaceNode, const String &nodeIdPath) |
Get a reference to a graph node by identifier relative to a namespace. More... | |
IObservableNodePtr | GetReference (const NamespaceNode &namespaceNode, const String &nodeIdPath) |
Get a reference to a graph node by identifier relative to a namespace. More... | |
IObservableNodePtr | ResolveReference (Graph::INode *node) |
Get a reference to a graph node by resolving a Graph::IReference node. More... | |
template<class NodeType2 > | |
IObservableNodePtr | ResolveReference (const GraphNodeT< NodeType2 > &graphNode) |
Get a reference to a graph node by resolving a Logic::ReferenceNode. More... | |
IObservableNodePtr | ResolveReference (const Graph::IRoot *root, const String &nodeIdPath) |
Get a reference to a graph node by resolving a Graph::IReference node by identifier. More... | |
IObservableNodePtr | ResolveReference (Graph::INamespace *namespaceNode, const String &nodeIdPath) |
Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace. More... | |
IObservableNodePtr | ResolveReference (const NamespaceNode &namespaceNode, const String &nodeIdPath) |
Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace. More... | |
operator IObservableNodePtr () const | |
Conversion operator. More... | |
NodeType * | operator-> () const |
Dereference operator. More... | |
NodeType * | GetNode () const |
Get the graph node interface. More... | |
Graph::INode * | GetNodeInterface () const |
Get the graph Graph::INode interface. More... | |
const String & | GetId () const |
Get the Graph::INode node identifier. More... | |
Bool | SetActive (Bool isActive) |
Enable/disable logic traversals. More... | |
Bool | IsActive () const |
Check if logic traversals are enabled. More... | |
Bool | SetVisible (Bool isVisible) |
Enable/disable output traversals. More... | |
Bool | IsVisible () const |
Check if output traversals are enabled. More... | |
Bool | SetActiveAndVisible (Bool enabled) |
Enable/disable both logic and output traversals. More... | |
Bool | IsActiveAndVisible () const |
Check if both logic and output traversals are enabled. More... | |
Graph::INode * | GetChild (UInt32 index=0) const |
Get the graph Graph::INode interface of a child by index. More... | |
Graph::INode * | GetChild (const String &identifier) const |
Get the graph Graph::INode interface of a child by identifier. More... | |
UInt32 | GetNumberOfChildren () const |
Return the number of the graph node's children. More... | |
Graph::INode * | GetParent (UInt32 index=0) const |
Get the graph Graph::INode interface of a parent by index. More... | |
Graph::INode * | GetParent (const String &identifier) const |
Get the graph Graph::INode interface of a parent by identifier. More... | |
UInt32 | GetNumberOfParents () const |
Return the number of the graph node's parents. More... | |
Graph::IController * | GetController (UInt32 index=0) const |
Get the Graph::IController interface at a given index. More... | |
template<class ControllerType > | |
ControllerType * | GetController (UInt32 index=0) const |
Get the graph controller interface of a specified type at a given index. More... | |
UInt32 | GetNumberOfControllers () const |
Return the number of the graph node's controllers. More... | |
Graph::ILinkController * | GetLinkController (UInt32 index=0) const |
Get the Graph::ILinkController interface at a given index. More... | |
Graph::ILogicController * | GetLogicController (UInt32 index=0) const |
Get the Graph::ILogicController interface at a given index. More... | |
Graph::INodeLinkController * | GetNodeLinkController (UInt32 index=0) const |
Get the Graph::INodeLinkController interface at a given index. More... | |
Graph::IScriptLogicController * | GetScriptLogicController (UInt32 index=0) const |
Get the Graph::IScriptLogicController interface at a given index. More... | |
Graph::ITimeController * | GetTimeController (UInt32 index=0) const |
Get the Graph::ITimeController interface at a given index. More... | |
Graph::IAnimationTimeController * | GetAnimationTimeController (UInt32 index=0) const |
Get the Graph::IAnimationTimeController interface at a given index. More... | |
Graph::IUniformTimeController * | GetUniformTimeController (UInt32 index=0) const |
Get the Graph::IUniformTimeController interface at a given index. More... | |
Graph::IWaveUniformTimeController * | GetWaveUniformTimeController (UInt32 index=0) const |
Get the Graph::IWaveUniformTimeController interface at a given index. More... | |
Graph::IVariableController * | GetVariableController (UInt32 index=0) const |
Get the Graph::IVariableController interface at a given index. More... | |
Graph::ITimelineVariableController * | GetTimelineVariableController (UInt32 index=0) const |
Get the Graph::ITimelineVariableController interface at a given index. More... | |
typedef GraphObservableNode<NodeType> Murl::Logic::GraphNodeT< NodeType >::ObservableNodeT |
Type definition of the observable node.
|
inline |
The default constructor.
Creates a GraphObservableNode object.
|
inline |
The constructor including a graph node.
Creates a GraphObservableNode object.
node | The graph node. |
|
inline |
The constructor including a graph node object.
Creates a GraphObservableNode object.
graphNode | The graph node object. |
|
inline |
The constructor including the graph root node and path.
Creates a GraphObservableNode object.
root | The graph root node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
The constructor including a graph namespace node and path.
Creates a GraphObservableNode object.
namespaceNode | The graph namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
The constructor including a graph namespace node and path.
Creates a GraphObservableNode object.
namespaceNode | The logic namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inlinevirtual |
The destructor.
Destroys the GraphObservableNode object.
|
inline |
Check if the graph node is valid.
|
inline |
Remove the reference from the graph node.
|
inline |
Check if a graph node can be referenced by this template's node type.
node | The graph node to check. |
|
inline |
Check if a graph node object can be referenced by this template's node type.
graphNode | The graph node object to check. |
|
inline |
Check if a graph node can be referenced by this template's node type by resolving a Graph::IReference node.
node | The graph node to check. |
|
inline |
Check if a graph node object can be referenced by this template's node type by resolving a Logic::ReferenceNode.
graphNode | The graph node object to check. |
|
inline |
Get a reference to a graph node of this template's node type.
node | The graph node. |
|
inline |
Get a reference to a graph node object of this template's node type.
graphNode | The graph node object. |
|
inline |
Get a reference to a graph node by identifier.
root | The graph root node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Get a reference to a graph node by identifier relative to a namespace.
namespaceNode | The graph namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Get a reference to a graph node by identifier relative to a namespace.
namespaceNode | The logic namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Get a reference to a graph node by resolving a Graph::IReference node.
node | The Graph::IReference node to resolve. |
|
inline |
Get a reference to a graph node by resolving a Logic::ReferenceNode.
graphNode | The Logic::ReferenceNode node to resolve. |
|
inline |
Get a reference to a graph node by resolving a Graph::IReference node by identifier.
root | The graph root node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace.
namespaceNode | The graph namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace.
namespaceNode | The logic namespace node. |
nodeIdPath | The node ID to find, with optional path specification when searching in sub-namespaces. |
|
inline |
Conversion operator.
|
inline |
Dereference operator.
|
inline |
Get the graph node interface.
|
inline |
Get the graph Graph::INode interface.
|
inline |
Get the Graph::INode node identifier.
|
inline |
Enable/disable logic traversals.
Calls Graph::ITraversable::SetActive().
isActive | If true, logic traversals are enabled. |
|
inline |
Check if logic traversals are enabled.
Calls Graph::ITraversable::IsActive().
|
inline |
Enable/disable output traversals.
Calls Graph::ITraversable::SetVisible().
isVisible | If true, output traversals are enabled. |
|
inline |
Check if output traversals are enabled.
Calls Graph::ITraversable::IsVisible().
|
inline |
Enable/disable both logic and output traversals.
Calls Graph::ITraversable::SetActiveAndVisible().
enabled | If true, both logic and output traversals are enabled. |
|
inline |
Check if both logic and output traversals are enabled.
Calls Graph::ITraversable::IsActiveAndVisible().
|
inline |
Get the graph Graph::INode interface of a child by index.
index | The zero-based index of the child. |
|
inline |
Get the graph Graph::INode interface of a child by identifier.
identifier | The identifier of the child to search for. |
|
inline |
Return the number of the graph node's children.
|
inline |
Get the graph Graph::INode interface of a parent by index.
index | The zero-based index of the parent. |
|
inline |
Get the graph Graph::INode interface of a parent by identifier.
identifier | The identifier of the parent to search for. |
|
inline |
Return the number of the graph node's parents.
|
inline |
Get the Graph::IController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the graph controller interface of a specified type at a given index.
index | The zero-based index of the controller. |
ControllerType | The controller interface class type. |
|
inline |
Return the number of the graph node's controllers.
|
inline |
Get the Graph::ILinkController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::ILogicController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::INodeLinkController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::IScriptLogicController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::ITimeController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::IAnimationTimeController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::IUniformTimeController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::IWaveUniformTimeController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::IVariableController interface at a given index.
index | The zero-based index of the controller. |
|
inline |
Get the Graph::ITimelineVariableController interface at a given index.
index | The zero-based index of the controller. |