The IVariable graph node interface. More...

#include "murl_graph_i_variable.h"

Inheritance diagram for Murl::Graph::IVariable:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual Bool SetInputType (IEnums::VariableType type)=0
 Set the data type for all constant input operands. More...
 
virtual IEnums::VariableType GetInputType () const =0
 Get the data type for all constant input operands. More...
 
virtual Bool SetOutputType (IEnums::VariableType type)=0
 Set the output data type. More...
 
virtual IEnums::VariableType GetOutputType () const =0
 Get the output data type. More...
 
virtual Bool SetOperation (IEnums::AluOperation operation)=0
 Set the arithmetic/logic operation to perform. More...
 
virtual IEnums::AluOperation GetOperation () const =0
 Get the arithmetic/logic operation performed. More...
 
virtual Bool SetAutoResetEnabled (Bool enabled)=0
 Enable/disable auto-resetting. More...
 
virtual Bool IsAutoResetEnabled () const =0
 Check if auto-resetting is enabled. More...
 
virtual IVariableNodeTargetGetVariableInputOperandNodeTarget ()=0
 Get the mutable Graph::IVariableNodeTarget container referencing the input variables. More...
 
virtual const IVariableNodeTargetGetVariableInputOperandNodeTarget () const =0
 Get the constant Graph::IVariableNodeTarget container referencing the input variables. More...
 
virtual IVariableNodeTargetGetVariableOutputOperandNodeTarget ()=0
 Get the mutable Graph::IVariableNodeTarget container referencing the output variables. More...
 
virtual const IVariableNodeTargetGetVariableOutputOperandNodeTarget () const =0
 Get the constant Graph::IVariableNodeTarget container referencing the output variables. More...
 
virtual Bool SetConstantInputOperand (UInt32 index, const String &value)=0
 Set a constant string input value at a given index. More...
 
virtual Bool SetConstantInputOperand (UInt32 index, Bool value)=0
 Set a constant boolean input value at a given index. More...
 
virtual Bool SetConstantInputOperand (UInt32 index, Real value)=0
 Set a constant floating-point input value at a given index. More...
 
virtual Bool SetConstantInputOperand (UInt32 index, SInt32 value)=0
 Set a constant integer input value at a given index. More...
 
virtual Bool GetConstantInputOperand (UInt32 index, Bool &value) const =0
 Get a constant boolean input value at a given index. More...
 
virtual Bool GetConstantInputOperand (UInt32 index, Real &value) const =0
 Get a constant floating-point input value at a given index. More...
 
virtual Bool GetConstantInputOperand (UInt32 index, SInt32 &value) const =0
 Get a constant integer input value at a given index. More...
 
virtual Bool SetConstantOutputOperand (UInt32 index, const String &value)=0
 Set a constant string output value at a given index. More...
 
virtual Bool SetConstantOutputOperand (UInt32 index, Bool value)=0
 Set a constant boolean output value at a given index. More...
 
virtual Bool SetConstantOutputOperand (UInt32 index, Real value)=0
 Set a constant floating-point output value at a given index. More...
 
virtual Bool SetConstantOutputOperand (UInt32 index, SInt32 value)=0
 Set a constant integer output value at a given index. More...
 
virtual Bool GetConstantOutputOperand (UInt32 index, Bool &value) const =0
 Get a constant boolean output value at a given index. More...
 
virtual Bool GetConstantOutputOperand (UInt32 index, Real &value) const =0
 Get a constant floating-point output value at a given index. More...
 
virtual Bool GetConstantOutputOperand (UInt32 index, SInt32 &value) const =0
 Get a constant integer output value at a given index. More...
 
virtual Bool GetValue (Bool &value) const =0
 Try to get the result as a boolean value. More...
 
virtual Bool GetValue (Real &value) const =0
 Try to get the result as a floating-point value. More...
 
virtual Bool GetValue (SInt32 &value) const =0
 Try to get the result as a integer value. More...
 

Detailed Description

The IVariable graph node interface.

Variable nodes provide a generic bridge between user logic code and certain scene graph nodes as well as a means for simple arithmetic operations within the scene graph. Variable nodes serve as input for e.g. controllers that implement the Graph::IVariableController interface, or Graph::IClipTransition nodes.

Depending on the actual operation given (IEnums::ALU_OPERATION_*), certain constraints apply to the given input and output data types (inType and outType: IEnums::VARIABLE_TYPE_*) as well as number of constant and variable inputs and outputs (numIn and numOut):

  • COPY and REPLACE: numIn==1, numOut==0, inType==outType Result equals input operand #0.
  • ADD, SUBTRACT, SUBTRACT_REVERSE, MULTIPLY, DIVIDE, DIVIDE_REVERSE: numIn>=2, numOut==0, inType==outType, inType==SINT32||REAL Result is the combined operation over all input operands.
  • MAP, MAP_CLAMPED: numIn>=3, numIn==numOut, inType==REAL Input operands 1..N represent an either strictly ascending or descending sequence of values that map input operand 0 linearly to their corresponding output values (not necessarily in strict order). MAP_CLAMPED clamps the result to the given first or last output operand, if input #0 is outside the range of inputs 1..N. Output #0 is ignored.
  • LESS, LESS_OR_EQUAL, GREATER, GREATER_OR_EQUAL: numIn==2, numOut==0, outType==BOOL, inType==SINT32||REAL Result is boolean true or false depending on comparison outcome.
  • EQUAL, NOT_EQUAL: numIn==2, numOut==0, outType==BOOL, inType==SINT32||REAL||BOOL Result is boolean true or false depending on comparison outcome.
  • NEGATE: numIn==1, numOut==0, inType==outType, inType==SINT32||REAL Result is the negated input #0 (-value).
  • INVERT: numIn==1, numOut==0, inType==outType, inType==SINT32||BOOL Result is bitwise (SINT32) or logically (BOOL) inverted.
  • AND, OR, XOR: numIn>=2, numOut==0, inType==outType, inType==SINT32||BOOL Result is the bitwise (SINT32) or logical (BOOL) outcome of operation.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::IVariable::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::IVariable::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ SetInputType()

virtual Bool Murl::Graph::IVariable::SetInputType ( IEnums::VariableType  type)
pure virtual

Set the data type for all constant input operands.

Parameters
typeThe data type.
Returns
true if successful.

◆ GetInputType()

virtual IEnums::VariableType Murl::Graph::IVariable::GetInputType ( ) const
pure virtual

Get the data type for all constant input operands.

Returns
The data type.

◆ SetOutputType()

virtual Bool Murl::Graph::IVariable::SetOutputType ( IEnums::VariableType  type)
pure virtual

Set the output data type.

Parameters
typeThe data type.
Returns
true if successful.

◆ GetOutputType()

virtual IEnums::VariableType Murl::Graph::IVariable::GetOutputType ( ) const
pure virtual

Get the output data type.

Returns
The data type.

◆ SetOperation()

virtual Bool Murl::Graph::IVariable::SetOperation ( IEnums::AluOperation  operation)
pure virtual

Set the arithmetic/logic operation to perform.

Parameters
operationThe operation.
Returns
true if successful.

◆ GetOperation()

virtual IEnums::AluOperation Murl::Graph::IVariable::GetOperation ( ) const
pure virtual

Get the arithmetic/logic operation performed.

Returns
The operation.

◆ SetAutoResetEnabled()

virtual Bool Murl::Graph::IVariable::SetAutoResetEnabled ( Bool  enabled)
pure virtual

Enable/disable auto-resetting.

Parameters
enabledIf true, auto-resetting is enabled.
Returns
true if successful.

◆ IsAutoResetEnabled()

virtual Bool Murl::Graph::IVariable::IsAutoResetEnabled ( ) const
pure virtual

Check if auto-resetting is enabled.

Returns
true if auto-resetting is enabled.

◆ GetVariableInputOperandNodeTarget() [1/2]

virtual IVariableNodeTarget* Murl::Graph::IVariable::GetVariableInputOperandNodeTarget ( )
pure virtual

Get the mutable Graph::IVariableNodeTarget container referencing the input variables.

This method returns a mutable pointer to the node's Graph::IVariableNodeTarget container, which allows to set or query references to the input variables.

Returns
The mutable Graph::IVariableNodeTarget container, or null if not available.

◆ GetVariableInputOperandNodeTarget() [2/2]

virtual const IVariableNodeTarget* Murl::Graph::IVariable::GetVariableInputOperandNodeTarget ( ) const
pure virtual

Get the constant Graph::IVariableNodeTarget container referencing the input variables.

This method returns a constant pointer to the node's Graph::IVariableNodeTarget container, which allows to query references to the input variables.

Returns
The constant Graph::IVariableNodeTarget container, or null if not available.

◆ GetVariableOutputOperandNodeTarget() [1/2]

virtual IVariableNodeTarget* Murl::Graph::IVariable::GetVariableOutputOperandNodeTarget ( )
pure virtual

Get the mutable Graph::IVariableNodeTarget container referencing the output variables.

This method returns a mutable pointer to the node's Graph::IVariableNodeTarget container, which allows to set or query references to the output variables.

Returns
The mutable Graph::IVariableNodeTarget container, or null if not available.

◆ GetVariableOutputOperandNodeTarget() [2/2]

virtual const IVariableNodeTarget* Murl::Graph::IVariable::GetVariableOutputOperandNodeTarget ( ) const
pure virtual

Get the constant Graph::IVariableNodeTarget container referencing the output variables.

This method returns a constant pointer to the node's Graph::IVariableNodeTarget container, which allows to query references to the output variables.

Returns
The constant Graph::IVariableNodeTarget container, or null if not available.

◆ SetConstantInputOperand() [1/4]

virtual Bool Murl::Graph::IVariable::SetConstantInputOperand ( UInt32  index,
const String value 
)
pure virtual

Set a constant string input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantInputOperand() [2/4]

virtual Bool Murl::Graph::IVariable::SetConstantInputOperand ( UInt32  index,
Bool  value 
)
pure virtual

Set a constant boolean input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantInputOperand() [3/4]

virtual Bool Murl::Graph::IVariable::SetConstantInputOperand ( UInt32  index,
Real  value 
)
pure virtual

Set a constant floating-point input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantInputOperand() [4/4]

virtual Bool Murl::Graph::IVariable::SetConstantInputOperand ( UInt32  index,
SInt32  value 
)
pure virtual

Set a constant integer input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe value to apply.
Returns
true if successful.

◆ GetConstantInputOperand() [1/3]

virtual Bool Murl::Graph::IVariable::GetConstantInputOperand ( UInt32  index,
Bool value 
) const
pure virtual

Get a constant boolean input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ GetConstantInputOperand() [2/3]

virtual Bool Murl::Graph::IVariable::GetConstantInputOperand ( UInt32  index,
Real value 
) const
pure virtual

Get a constant floating-point input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ GetConstantInputOperand() [3/3]

virtual Bool Murl::Graph::IVariable::GetConstantInputOperand ( UInt32  index,
SInt32 value 
) const
pure virtual

Get a constant integer input value at a given index.

See class description.

Parameters
indexThe input operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ SetConstantOutputOperand() [1/4]

virtual Bool Murl::Graph::IVariable::SetConstantOutputOperand ( UInt32  index,
const String value 
)
pure virtual

Set a constant string output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantOutputOperand() [2/4]

virtual Bool Murl::Graph::IVariable::SetConstantOutputOperand ( UInt32  index,
Bool  value 
)
pure virtual

Set a constant boolean output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantOutputOperand() [3/4]

virtual Bool Murl::Graph::IVariable::SetConstantOutputOperand ( UInt32  index,
Real  value 
)
pure virtual

Set a constant floating-point output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe value to apply.
Returns
true if successful.

◆ SetConstantOutputOperand() [4/4]

virtual Bool Murl::Graph::IVariable::SetConstantOutputOperand ( UInt32  index,
SInt32  value 
)
pure virtual

Set a constant integer output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe value to apply.
Returns
true if successful.

◆ GetConstantOutputOperand() [1/3]

virtual Bool Murl::Graph::IVariable::GetConstantOutputOperand ( UInt32  index,
Bool value 
) const
pure virtual

Get a constant boolean output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ GetConstantOutputOperand() [2/3]

virtual Bool Murl::Graph::IVariable::GetConstantOutputOperand ( UInt32  index,
Real value 
) const
pure virtual

Get a constant floating-point output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ GetConstantOutputOperand() [3/3]

virtual Bool Murl::Graph::IVariable::GetConstantOutputOperand ( UInt32  index,
SInt32 value 
) const
pure virtual

Get a constant integer output value at a given index.

See class description.

Parameters
indexThe output operand index.
valueThe return value to retrieve.
Returns
true if successful.

◆ GetValue() [1/3]

virtual Bool Murl::Graph::IVariable::GetValue ( Bool value) const
pure virtual

Try to get the result as a boolean value.

Parameters
valueA reference to a boolean variable to receive the result.
Returns
true if successful.

◆ GetValue() [2/3]

virtual Bool Murl::Graph::IVariable::GetValue ( Real value) const
pure virtual

Try to get the result as a floating-point value.

Parameters
valueA reference to a floating-point variable to receive the result.
Returns
true if successful.

◆ GetValue() [3/3]

virtual Bool Murl::Graph::IVariable::GetValue ( SInt32 value) const
pure virtual

Try to get the result as a integer value.

Parameters
valueA reference to a integer variable to receive the result.
Returns
true if successful.

The documentation for this interface was generated from the following file:
  • murl_graph_i_variable.h


Copyright © 2011-2024 Spraylight GmbH.