Polyphase Game Engine
Loading...
Searching...
No Matches
GraphNode Class Reference

#include <GraphNode.h>

Inheritance diagram for GraphNode:
Object ACosNode ASinNode ATan2Node ATanNode AbsNode AddHoursNode AddMinutesNode AddNode AddSecondsNode AddVectorNode AndNode AnimClipNode AnimSpeedNode AnimationOutputNode AssetInputNode BeginOverlapEventNode BlendNode BoolInputNode BoolToStringNode BranchNode BuildNavDataNode ByteInputNode CallScriptFunctionNode CeilNode ClampNode CollisionBeginEventNode CollisionEndEventNode ColorConstantNode ColorInputNode ColorToStringNode ColorToVectorNode ConditionNode CopyToPointsNode CosNode CreatePointsGridNode CreatePointsLineNode CrossProductNode DateTimeNowNode DateTimeToFloatNode DateTimeToStringNode DebugLogNode DictionaryToJsonNode DictionaryToStringNode DistanceBetweenNodesNode DivideNode DivideVectorNode DoNNode DoOnceNode DotProductNode EnableAutoNavRebuildNode EndOverlapEventNode EqualNode ExpNode FSMOutputNode FilterPointsNode FindChildGraphNode FindClosestNavPointNode FindInSceneNode FindNavPathNode FindNodeNode FindRandomNavPointNode FlipFlopNode FloatConstantNode FloatInputNode FloatToDateTimeNode FloatToStringNode FloorNode FmodNode ForEachLoopNode ForEachPointNode ForLoopNode FracNode FresnelNode FunctionCallNode FunctionOutputNode GamepadAxisNode GateNode GetAttributeBoolNode GetAttributeColorNode GetAttributeFloatNode GetAttributeIntNode GetAttributeStringNode GetAttributeVectorNode GetDictionaryKeysNode GetDictionaryValueNode GetNode3DClass GetNode3DName GetParent3DGraphNode GetParentGraphNode GetPointAttributeColorNode GetPointAttributeFloatNode GetPointAttributeVectorNode GetPointCountNode GetPointPositionNode GetPositionNode GetRotationNode GetScaleNode GetSelfNode GetSelfParent3DNode GetSelfParentNode GetSizeNode GetTextNode GetTransformNode GetVariableNode GizmoDrawCubeNode GizmoDrawLineNode GizmoDrawRayNode GizmoDrawSphereNode GizmoDrawWireCubeNode GizmoDrawWireSphereNode GizmoResetStateNode GizmoSetColorNode GizmoSetMatrixNode GradientNode GraphOutputNode GreaterEqualNode GreaterNode HexToColorNode InputCountNode InputDownNode InputEventNode InstantiateAtPointsNode InstantiateSceneNode InstantiateUINode IntConstantNode IntInputNode IntToStringNode InvalidateNavMeshNode InverseLerpNode IsAutoNavRebuildNode IsNearlyEqualNode IsNullNode IsValidNode LerpNode LerpVectorNode LessEqualNode LessNode LinearColorNode LoadUIDocumentNode Log2Node LogNode MakeVector2DNode MakeVectorNode MaterialOutputNode MaxNode MergePointsNode MinNode MountUINode MousePositionNode MultiGateNode MultiplyNode MultiplyVectorComponentNode MultiplyVectorNode NegateNode NegateVectorNode Node3DInputNode Node3DToNodeNode Node3DToStringNode Node3DToTextNode NodeInputNode NodeToNode3DNode NodeToStringNode NodeToTextNode NoiseNode NormalMapNode NormalizeNode NotEqualNode NotNode OneMinusNode OrNode PINode PannerNode ParseJsonToDictionaryNode PauseAudioNode PlayAnimationNode PlayAudioNode PointCloudFirstPointNode PointCloudLastPointNode PointCloudToProceduralOutputNode PointsFromSplineNode PowerNode ProceduralOutputNode RGBAColorNode RGBColorNode RandomNode RandomPointNearNodeNode RandomPointNearVectorNode RandomPointsInBoxNode RandomRangeNode RandomizeAttributeNode ReflectNode RemapValueNode RemovePointNode RerouteNode ReversePointsNode RotateVectorNode RoundNode ScatterPointsOnMeshNode SceneGraphOutputNode ScrollWheelNode SelectNode SequenceNode SerialConnectNode SerialConnectedEventNode SerialDisconnectNode SerialDisconnectedEventNode SerialEnumeratePortsNode SerialMessageEventNode SerialSendMessageNode SerialStartReceiveNode SerialStopReceiveNode SetActiveGraphNode SetAttributeBoolNode SetAttributeColorNode SetAttributeFloatNode SetAttributeIntNode SetAttributeStringNode SetAttributeVectorNode SetAudioClipNode SetAudioTimeNode SetPitchNode SetPointAttributeColorNode SetPointAttributeFloatNode SetPointAttributeVectorNode SetPointInLoopNode SetPointPositionNode SetPositionNode SetRotationNode SetScaleNode SetSizeNode SetSpriteNode SetTextNode SetTransformNode SetUIDataNode SetVariableNode SetVisibilityNode SetVolumeNode SetWidgetColorNode ShaderOutputNode SignNode SinNode SmoothstepNode SortPointsByAttributeNode SplineGetPointNode SplineLengthNode SplineNearestPercentNode SplinePointCountNode SplinePositionAtNode SplineTangentAtNode SplitColorNode SplitVectorNode SqrtNode StartEventNode StateNode StepNode StopAnimationNode StopAudioNode StopEventNode StringConcatenateNode StringContainsNode StringEndsWithNode StringFindNode StringFormatNode StringInputNode StringLengthNode StringReplaceNode StringSplitNode StringStartsWithNode StringToBoolNode StringToColorNode StringToDictionaryNode StringToFloatNode StringToIntNode StringToLowerNode StringToUpperNode StringToVectorNode StringTrimNode SubstringNode SubtractNode SubtractVectorNode TanNode TextureSampleNode TickEventNode TimeNode TransformPointsNode TransitionNode UIFindByIdNode UIGetRootWidgetNode UITickNode UnmountUINode VectorConstantNode VectorDistanceNode VectorInputNode VectorLengthNode VectorToColorNode VectorToStringNode VertexNormalNode VertexPositionNode ViewerNode VoronoiNode WaitTillNode WhileLoopNode WorldPositionNode XorNode

Public Member Functions

 DECLARE_FACTORY_MANAGER (GraphNode)
 
 DECLARE_FACTORY (GraphNode, GraphNode)
 
 DECLARE_OBJECT (GraphNode, Object)
 
 GraphNode ()
 
virtual ~GraphNode ()
 
virtual void SetupPins ()
 
virtual void Evaluate ()
 
virtual const char * GetNodeTypeName () const
 
virtual const char * GetNodeCategory () const
 
virtual glm::vec4 GetNodeColor () const
 
virtual bool IsInputNode () const
 
virtual bool IsFlowNode () const
 
virtual bool IsEventNode () const
 
virtual const char * GetEventName () const
 
virtual const std::string & GetInputName () const
 
virtual void SetInputName (const std::string &name)
 
void SetGraph (NodeGraph *graph)
 
NodeGraphGetGraph () const
 
void TriggerExecutionPin (uint32_t outputPinIndex)
 
bool WasExecutionTriggered (uint32_t inputPinIndex) const
 
virtual void SaveStream (Stream &stream)
 
virtual void LoadStream (Stream &stream, uint32_t version)
 
virtual void CopyCustomData (const GraphNode *src)
 
virtual bool GetPinEnumOptions (uint32_t pinIndex, std::vector< PinEnumOption > &outOptions) const
 
GraphPinAddInputPin (const char *name, DatumType type, const Datum &defaultValue=Datum())
 
GraphPinAddOutputPin (const char *name, DatumType type)
 
GraphPinId GetInputPinId (uint32_t index) const
 
GraphPinId GetOutputPinId (uint32_t index) const
 
GraphPinGetInputPin (uint32_t index)
 
GraphPinGetOutputPin (uint32_t index)
 
const DatumGetInputValue (uint32_t index) const
 
void SetOutputValue (uint32_t index, const Datum &value)
 
uint32_t GetNumInputPins () const
 
uint32_t GetNumOutputPins () const
 
const std::vector< GraphPin > & GetInputPins () const
 
const std::vector< GraphPin > & GetOutputPins () const
 
std::vector< GraphPin > & GetInputPins ()
 
std::vector< GraphPin > & GetOutputPins ()
 
GraphNodeId GetId () const
 
void SetId (GraphNodeId id)
 
const glm::vec2 & GetEditorPosition () const
 
void SetEditorPosition (const glm::vec2 &pos)
 
- Public Member Functions inherited from Object
virtual ~Object ()=default
 
virtual const char * RuntimeName () const =0
 
virtual const char * RuntimeParentName () const =0
 
virtual RuntimeId InstanceRuntimeId () const =0
 
virtual ObjectQueryInterface (RuntimeId id) const
 
virtual bool Is (RuntimeId id) const
 
virtual bool Is (const char *name) const
 
virtual void GatherProperties (std::vector< Property > &props)
 
virtual bool DrawCustomProperty (Property &prop)
 
template<typename T >
T * As () const
 
virtual bool Equals (const Object *rhs) const
 

Static Public Member Functions

static void WriteDatumToStream (Stream &stream, const Datum &datum)
 
static Datum ReadDatumFromStream (Stream &stream)
 
- Static Public Member Functions inherited from Object
static const char * ClassRuntimeName ()
 

Protected Attributes

NodeGraphmGraph = nullptr
 
GraphNodeId mId = INVALID_GRAPH_NODE_ID
 
std::vector< GraphPinmInputPins
 
std::vector< GraphPinmOutputPins
 
glm::vec2 mEditorPosition = glm::vec2(0.0f)
 
GraphPinId mNextPinId = 1
 

Constructor & Destructor Documentation

◆ GraphNode()

GraphNode::GraphNode ( )

◆ ~GraphNode()

GraphNode::~GraphNode ( )
virtual

Member Function Documentation

◆ AddInputPin()

GraphPin & GraphNode::AddInputPin ( const char *  name,
DatumType  type,
const Datum defaultValue = Datum() 
)

◆ AddOutputPin()

GraphPin & GraphNode::AddOutputPin ( const char *  name,
DatumType  type 
)

◆ CopyCustomData()

virtual void GraphNode::CopyCustomData ( const GraphNode src)
inlinevirtual

◆ DECLARE_FACTORY()

GraphNode::DECLARE_FACTORY ( GraphNode  ,
GraphNode   
)

◆ DECLARE_FACTORY_MANAGER()

GraphNode::DECLARE_FACTORY_MANAGER ( GraphNode  )

◆ DECLARE_OBJECT()

GraphNode::DECLARE_OBJECT ( GraphNode  ,
Object   
)

◆ Evaluate()

void GraphNode::Evaluate ( )
virtual

Reimplemented in AnimationOutputNode, AnimClipNode, BlendNode, AnimSpeedNode, FSMOutputNode, StateNode, TransitionNode, ConditionNode, FunctionOutputNode, FunctionCallNode, GizmoSetColorNode, GizmoSetMatrixNode, GizmoResetStateNode, GizmoDrawCubeNode, GizmoDrawWireCubeNode, GizmoDrawSphereNode, GizmoDrawWireSphereNode, GizmoDrawLineNode, GizmoDrawRayNode, FloatInputNode, IntInputNode, BoolInputNode, StringInputNode, ByteInputNode, AssetInputNode, VectorInputNode, ColorInputNode, NodeInputNode, Node3DInputNode, MaterialOutputNode, TextureSampleNode, FresnelNode, PannerNode, NormalMapNode, AddNode, SubtractNode, MultiplyNode, DivideNode, LerpNode, ClampNode, AbsNode, DotProductNode, RemapValueNode, SinNode, VectorDistanceNode, RandomPointNearVectorNode, CosNode, TanNode, ASinNode, ACosNode, ATanNode, ATan2Node, SqrtNode, PowerNode, FloorNode, CeilNode, RoundNode, FmodNode, MinNode, MaxNode, NegateNode, SignNode, FracNode, OneMinusNode, CrossProductNode, NormalizeNode, VectorLengthNode, ReflectNode, RotateVectorNode, AddVectorNode, SubtractVectorNode, MultiplyVectorNode, DivideVectorNode, MultiplyVectorComponentNode, LerpVectorNode, NegateVectorNode, SmoothstepNode, InverseLerpNode, StepNode, LogNode, Log2Node, ExpNode, RandomNode, RandomRangeNode, PINode, EqualNode, NotEqualNode, GreaterNode, LessNode, GreaterEqualNode, LessEqualNode, AndNode, OrNode, NotNode, XorNode, SelectNode, IsValidNode, IsNullNode, IsNearlyEqualNode, FindNavPathNode, FindRandomNavPointNode, FindClosestNavPointNode, IsAutoNavRebuildNode, BuildNavDataNode, EnableAutoNavRebuildNode, InvalidateNavMeshNode, CreatePointsGridNode, ScatterPointsOnMeshNode, PointsFromSplineNode, CreatePointsLineNode, RandomPointsInBoxNode, MergePointsNode, SetPointAttributeFloatNode, SetPointAttributeVectorNode, SetPointAttributeColorNode, GetPointAttributeFloatNode, GetPointAttributeVectorNode, GetPointAttributeColorNode, GetPointCountNode, GetPointPositionNode, SetPointPositionNode, ForEachPointNode, SetPointInLoopNode, FilterPointsNode, TransformPointsNode, RandomizeAttributeNode, CopyToPointsNode, InstantiateAtPointsNode, PointCloudToProceduralOutputNode, PointCloudFirstPointNode, PointCloudLastPointNode, RemovePointNode, ReversePointsNode, SortPointsByAttributeNode, ProceduralOutputNode, NoiseNode, VoronoiNode, GradientNode, StartEventNode, TickEventNode, StopEventNode, BeginOverlapEventNode, EndOverlapEventNode, CollisionBeginEventNode, CollisionEndEventNode, GraphOutputNode, SceneGraphOutputNode, GetTransformNode, SetTransformNode, FindNodeNode, GetSelfNode, GetParentGraphNode, GetParent3DGraphNode, GetSelfParentNode, GetSelfParent3DNode, FindInSceneNode, FindChildGraphNode, GetNode3DName, GetNode3DClass, GetPositionNode, GetRotationNode, GetScaleNode, SetPositionNode, SetRotationNode, SetScaleNode, SetVisibilityNode, SetActiveGraphNode, DistanceBetweenNodesNode, RandomPointNearNodeNode, InstantiateSceneNode, SetAttributeIntNode, SetAttributeFloatNode, SetAttributeVectorNode, SetAttributeStringNode, SetAttributeBoolNode, SetAttributeColorNode, GetAttributeIntNode, GetAttributeFloatNode, GetAttributeVectorNode, GetAttributeStringNode, GetAttributeBoolNode, GetAttributeColorNode, SetTextNode, GetTextNode, SetSpriteNode, SetSizeNode, GetSizeNode, SetWidgetColorNode, LoadUIDocumentNode, MountUINode, UnmountUINode, SetUIDataNode, UIFindByIdNode, UIGetRootWidgetNode, UITickNode, InstantiateUINode, SetAudioClipNode, SetAudioTimeNode, SetVolumeNode, SetPitchNode, PlayAudioNode, StopAudioNode, PauseAudioNode, PlayAnimationNode, StopAnimationNode, ForLoopNode, ForEachLoopNode, WaitTillNode, BranchNode, SequenceNode, WhileLoopNode, DoOnceNode, FlipFlopNode, GateNode, DoNNode, MultiGateNode, InputEventNode, InputDownNode, InputCountNode, GamepadAxisNode, MousePositionNode, ScrollWheelNode, CallScriptFunctionNode, SerialEnumeratePortsNode, SerialConnectNode, SerialDisconnectNode, SerialSendMessageNode, SerialStartReceiveNode, SerialStopReceiveNode, SerialMessageEventNode, SerialConnectedEventNode, SerialDisconnectedEventNode, ShaderOutputNode, VertexPositionNode, VertexNormalNode, WorldPositionNode, SplinePositionAtNode, SplineTangentAtNode, SplinePointCountNode, SplineGetPointNode, SplineNearestPercentNode, SplineLengthNode, FloatConstantNode, IntConstantNode, VectorConstantNode, ColorConstantNode, TimeNode, ViewerNode, DebugLogNode, FloatToStringNode, IntToStringNode, ColorToStringNode, VectorToStringNode, BoolToStringNode, NodeToStringNode, Node3DToStringNode, StringToFloatNode, StringToIntNode, StringToBoolNode, StringToVectorNode, StringToColorNode, VectorToColorNode, ColorToVectorNode, SplitVectorNode, SplitColorNode, HexToColorNode, RGBAColorNode, RGBColorNode, LinearColorNode, DateTimeToStringNode, DateTimeNowNode, DateTimeToFloatNode, FloatToDateTimeNode, AddSecondsNode, AddMinutesNode, AddHoursNode, StringToDictionaryNode, ParseJsonToDictionaryNode, GetDictionaryValueNode, GetDictionaryKeysNode, DictionaryToJsonNode, DictionaryToStringNode, StringConcatenateNode, StringLengthNode, SubstringNode, StringContainsNode, StringFindNode, StringReplaceNode, StringSplitNode, StringToUpperNode, StringToLowerNode, StringTrimNode, StringFormatNode, StringStartsWithNode, StringEndsWithNode, MakeVectorNode, MakeVector2DNode, NodeToNode3DNode, Node3DToNodeNode, RerouteNode, NodeToTextNode, Node3DToTextNode, GetVariableNode, and SetVariableNode.

◆ GetEditorPosition()

const glm::vec2 & GraphNode::GetEditorPosition ( ) const
inline

◆ GetEventName()

◆ GetGraph()

NodeGraph * GraphNode::GetGraph ( ) const
inline

◆ GetId()

GraphNodeId GraphNode::GetId ( ) const
inline

◆ GetInputName()

const std::string & GraphNode::GetInputName ( ) const
virtual

◆ GetInputPin()

GraphPin * GraphNode::GetInputPin ( uint32_t  index)

◆ GetInputPinId()

GraphPinId GraphNode::GetInputPinId ( uint32_t  index) const

◆ GetInputPins() [1/2]

std::vector< GraphPin > & GraphNode::GetInputPins ( )
inline

◆ GetInputPins() [2/2]

const std::vector< GraphPin > & GraphNode::GetInputPins ( ) const
inline

◆ GetInputValue()

const Datum & GraphNode::GetInputValue ( uint32_t  index) const

◆ GetNodeCategory()

virtual const char * GraphNode::GetNodeCategory ( ) const
inlinevirtual

Reimplemented in AnimationOutputNode, AnimClipNode, BlendNode, AnimSpeedNode, FSMOutputNode, StateNode, TransitionNode, ConditionNode, FunctionOutputNode, FunctionCallNode, GizmoSetColorNode, GizmoSetMatrixNode, GizmoResetStateNode, GizmoDrawCubeNode, GizmoDrawWireCubeNode, GizmoDrawSphereNode, GizmoDrawWireSphereNode, GizmoDrawLineNode, GizmoDrawRayNode, FloatInputNode, IntInputNode, BoolInputNode, StringInputNode, ByteInputNode, AssetInputNode, VectorInputNode, ColorInputNode, NodeInputNode, Node3DInputNode, MaterialOutputNode, TextureSampleNode, FresnelNode, PannerNode, NormalMapNode, AddNode, SubtractNode, MultiplyNode, DivideNode, LerpNode, ClampNode, AbsNode, DotProductNode, RemapValueNode, SinNode, VectorDistanceNode, RandomPointNearVectorNode, CosNode, TanNode, ASinNode, ACosNode, ATanNode, ATan2Node, SqrtNode, PowerNode, FloorNode, CeilNode, RoundNode, FmodNode, MinNode, MaxNode, NegateNode, SignNode, FracNode, OneMinusNode, CrossProductNode, NormalizeNode, VectorLengthNode, ReflectNode, RotateVectorNode, AddVectorNode, SubtractVectorNode, MultiplyVectorNode, DivideVectorNode, MultiplyVectorComponentNode, LerpVectorNode, NegateVectorNode, SmoothstepNode, InverseLerpNode, StepNode, LogNode, Log2Node, ExpNode, RandomNode, RandomRangeNode, PINode, EqualNode, NotEqualNode, GreaterNode, LessNode, GreaterEqualNode, LessEqualNode, AndNode, OrNode, NotNode, XorNode, SelectNode, IsValidNode, IsNullNode, IsNearlyEqualNode, FindNavPathNode, FindRandomNavPointNode, FindClosestNavPointNode, IsAutoNavRebuildNode, BuildNavDataNode, EnableAutoNavRebuildNode, InvalidateNavMeshNode, CreatePointsGridNode, ScatterPointsOnMeshNode, PointsFromSplineNode, CreatePointsLineNode, RandomPointsInBoxNode, MergePointsNode, SetPointAttributeFloatNode, SetPointAttributeVectorNode, SetPointAttributeColorNode, GetPointAttributeFloatNode, GetPointAttributeVectorNode, GetPointAttributeColorNode, GetPointCountNode, GetPointPositionNode, SetPointPositionNode, ForEachPointNode, SetPointInLoopNode, FilterPointsNode, TransformPointsNode, RandomizeAttributeNode, CopyToPointsNode, InstantiateAtPointsNode, PointCloudToProceduralOutputNode, PointCloudFirstPointNode, PointCloudLastPointNode, RemovePointNode, ReversePointsNode, SortPointsByAttributeNode, ProceduralOutputNode, NoiseNode, VoronoiNode, GradientNode, StartEventNode, TickEventNode, StopEventNode, BeginOverlapEventNode, EndOverlapEventNode, CollisionBeginEventNode, CollisionEndEventNode, GraphOutputNode, SceneGraphOutputNode, GetTransformNode, SetTransformNode, FindNodeNode, GetSelfNode, GetParentGraphNode, GetParent3DGraphNode, GetSelfParentNode, GetSelfParent3DNode, FindInSceneNode, FindChildGraphNode, GetNode3DName, GetNode3DClass, GetPositionNode, GetRotationNode, GetScaleNode, SetPositionNode, SetRotationNode, SetScaleNode, SetVisibilityNode, SetActiveGraphNode, DistanceBetweenNodesNode, RandomPointNearNodeNode, InstantiateSceneNode, SetAttributeIntNode, SetAttributeFloatNode, SetAttributeVectorNode, SetAttributeStringNode, SetAttributeBoolNode, SetAttributeColorNode, GetAttributeIntNode, GetAttributeFloatNode, GetAttributeVectorNode, GetAttributeStringNode, GetAttributeBoolNode, GetAttributeColorNode, SetTextNode, GetTextNode, SetSpriteNode, SetSizeNode, GetSizeNode, SetWidgetColorNode, LoadUIDocumentNode, MountUINode, UnmountUINode, SetUIDataNode, UIFindByIdNode, UIGetRootWidgetNode, UITickNode, InstantiateUINode, SetAudioClipNode, SetAudioTimeNode, SetVolumeNode, SetPitchNode, PlayAudioNode, StopAudioNode, PauseAudioNode, PlayAnimationNode, StopAnimationNode, ForLoopNode, ForEachLoopNode, WaitTillNode, BranchNode, SequenceNode, WhileLoopNode, DoOnceNode, FlipFlopNode, GateNode, DoNNode, MultiGateNode, InputEventNode, InputDownNode, InputCountNode, GamepadAxisNode, MousePositionNode, ScrollWheelNode, CallScriptFunctionNode, SerialEnumeratePortsNode, SerialConnectNode, SerialDisconnectNode, SerialSendMessageNode, SerialStartReceiveNode, SerialStopReceiveNode, SerialMessageEventNode, SerialConnectedEventNode, SerialDisconnectedEventNode, ShaderOutputNode, VertexPositionNode, VertexNormalNode, WorldPositionNode, SplinePositionAtNode, SplineTangentAtNode, SplinePointCountNode, SplineGetPointNode, SplineNearestPercentNode, SplineLengthNode, FloatConstantNode, IntConstantNode, VectorConstantNode, ColorConstantNode, TimeNode, ViewerNode, DebugLogNode, FloatToStringNode, IntToStringNode, ColorToStringNode, VectorToStringNode, BoolToStringNode, NodeToStringNode, Node3DToStringNode, StringToFloatNode, StringToIntNode, StringToBoolNode, StringToVectorNode, StringToColorNode, VectorToColorNode, ColorToVectorNode, SplitVectorNode, SplitColorNode, HexToColorNode, RGBAColorNode, RGBColorNode, LinearColorNode, DateTimeToStringNode, DateTimeNowNode, DateTimeToFloatNode, FloatToDateTimeNode, AddSecondsNode, AddMinutesNode, AddHoursNode, StringToDictionaryNode, ParseJsonToDictionaryNode, GetDictionaryValueNode, GetDictionaryKeysNode, DictionaryToJsonNode, DictionaryToStringNode, StringConcatenateNode, StringLengthNode, SubstringNode, StringContainsNode, StringFindNode, StringReplaceNode, StringSplitNode, StringToUpperNode, StringToLowerNode, StringTrimNode, StringFormatNode, StringStartsWithNode, StringEndsWithNode, MakeVectorNode, MakeVector2DNode, NodeToNode3DNode, Node3DToNodeNode, RerouteNode, NodeToTextNode, Node3DToTextNode, GetVariableNode, and SetVariableNode.

◆ GetNodeColor()

glm::vec4 GraphNode::GetNodeColor ( ) const
virtual

Reimplemented in AnimationOutputNode, AnimClipNode, BlendNode, AnimSpeedNode, FSMOutputNode, StateNode, TransitionNode, ConditionNode, FunctionOutputNode, FunctionCallNode, GizmoSetColorNode, GizmoSetMatrixNode, GizmoResetStateNode, GizmoDrawCubeNode, GizmoDrawWireCubeNode, GizmoDrawSphereNode, GizmoDrawWireSphereNode, GizmoDrawLineNode, GizmoDrawRayNode, FloatInputNode, IntInputNode, BoolInputNode, StringInputNode, ByteInputNode, AssetInputNode, VectorInputNode, ColorInputNode, NodeInputNode, Node3DInputNode, MaterialOutputNode, TextureSampleNode, FresnelNode, PannerNode, NormalMapNode, AddNode, SubtractNode, MultiplyNode, DivideNode, LerpNode, ClampNode, AbsNode, DotProductNode, RemapValueNode, SinNode, VectorDistanceNode, RandomPointNearVectorNode, CosNode, TanNode, ASinNode, ACosNode, ATanNode, ATan2Node, SqrtNode, PowerNode, FloorNode, CeilNode, RoundNode, FmodNode, MinNode, MaxNode, NegateNode, SignNode, FracNode, OneMinusNode, CrossProductNode, NormalizeNode, VectorLengthNode, ReflectNode, RotateVectorNode, AddVectorNode, SubtractVectorNode, MultiplyVectorNode, DivideVectorNode, MultiplyVectorComponentNode, LerpVectorNode, NegateVectorNode, SmoothstepNode, InverseLerpNode, StepNode, LogNode, Log2Node, ExpNode, RandomNode, RandomRangeNode, PINode, EqualNode, NotEqualNode, GreaterNode, LessNode, GreaterEqualNode, LessEqualNode, AndNode, OrNode, NotNode, XorNode, SelectNode, IsValidNode, IsNullNode, IsNearlyEqualNode, FindNavPathNode, FindRandomNavPointNode, FindClosestNavPointNode, IsAutoNavRebuildNode, BuildNavDataNode, EnableAutoNavRebuildNode, InvalidateNavMeshNode, CreatePointsGridNode, ScatterPointsOnMeshNode, PointsFromSplineNode, CreatePointsLineNode, RandomPointsInBoxNode, MergePointsNode, SetPointAttributeFloatNode, SetPointAttributeVectorNode, SetPointAttributeColorNode, GetPointAttributeFloatNode, GetPointAttributeVectorNode, GetPointAttributeColorNode, GetPointCountNode, GetPointPositionNode, SetPointPositionNode, ForEachPointNode, SetPointInLoopNode, FilterPointsNode, TransformPointsNode, RandomizeAttributeNode, CopyToPointsNode, InstantiateAtPointsNode, PointCloudToProceduralOutputNode, PointCloudFirstPointNode, PointCloudLastPointNode, RemovePointNode, ReversePointsNode, SortPointsByAttributeNode, ProceduralOutputNode, NoiseNode, VoronoiNode, GradientNode, StartEventNode, TickEventNode, StopEventNode, BeginOverlapEventNode, EndOverlapEventNode, CollisionBeginEventNode, CollisionEndEventNode, GraphOutputNode, SceneGraphOutputNode, GetTransformNode, SetTransformNode, FindNodeNode, GetSelfNode, GetParentGraphNode, GetParent3DGraphNode, GetSelfParentNode, GetSelfParent3DNode, FindInSceneNode, FindChildGraphNode, GetNode3DName, GetNode3DClass, GetPositionNode, GetRotationNode, GetScaleNode, SetPositionNode, SetRotationNode, SetScaleNode, SetVisibilityNode, SetActiveGraphNode, DistanceBetweenNodesNode, RandomPointNearNodeNode, InstantiateSceneNode, SetAttributeIntNode, SetAttributeFloatNode, SetAttributeVectorNode, SetAttributeStringNode, SetAttributeBoolNode, SetAttributeColorNode, GetAttributeIntNode, GetAttributeFloatNode, GetAttributeVectorNode, GetAttributeStringNode, GetAttributeBoolNode, GetAttributeColorNode, SetTextNode, GetTextNode, SetSpriteNode, SetSizeNode, GetSizeNode, SetWidgetColorNode, LoadUIDocumentNode, MountUINode, UnmountUINode, SetUIDataNode, UIFindByIdNode, UIGetRootWidgetNode, UITickNode, InstantiateUINode, SetAudioClipNode, SetAudioTimeNode, SetVolumeNode, SetPitchNode, PlayAudioNode, StopAudioNode, PauseAudioNode, PlayAnimationNode, StopAnimationNode, ForLoopNode, ForEachLoopNode, WaitTillNode, BranchNode, SequenceNode, WhileLoopNode, DoOnceNode, FlipFlopNode, GateNode, DoNNode, MultiGateNode, InputEventNode, InputDownNode, InputCountNode, GamepadAxisNode, MousePositionNode, ScrollWheelNode, CallScriptFunctionNode, SerialEnumeratePortsNode, SerialConnectNode, SerialDisconnectNode, SerialSendMessageNode, SerialStartReceiveNode, SerialStopReceiveNode, SerialMessageEventNode, SerialConnectedEventNode, SerialDisconnectedEventNode, ShaderOutputNode, VertexPositionNode, VertexNormalNode, WorldPositionNode, SplinePositionAtNode, SplineTangentAtNode, SplinePointCountNode, SplineGetPointNode, SplineNearestPercentNode, SplineLengthNode, FloatConstantNode, IntConstantNode, VectorConstantNode, ColorConstantNode, TimeNode, ViewerNode, DebugLogNode, FloatToStringNode, IntToStringNode, ColorToStringNode, VectorToStringNode, BoolToStringNode, NodeToStringNode, Node3DToStringNode, StringToFloatNode, StringToIntNode, StringToBoolNode, StringToVectorNode, StringToColorNode, VectorToColorNode, ColorToVectorNode, SplitVectorNode, SplitColorNode, HexToColorNode, RGBAColorNode, RGBColorNode, LinearColorNode, DateTimeToStringNode, DateTimeNowNode, DateTimeToFloatNode, FloatToDateTimeNode, AddSecondsNode, AddMinutesNode, AddHoursNode, StringToDictionaryNode, ParseJsonToDictionaryNode, GetDictionaryValueNode, GetDictionaryKeysNode, DictionaryToJsonNode, DictionaryToStringNode, StringConcatenateNode, StringLengthNode, SubstringNode, StringContainsNode, StringFindNode, StringReplaceNode, StringSplitNode, StringToUpperNode, StringToLowerNode, StringTrimNode, StringFormatNode, StringStartsWithNode, StringEndsWithNode, MakeVectorNode, MakeVector2DNode, NodeToNode3DNode, Node3DToNodeNode, RerouteNode, NodeToTextNode, Node3DToTextNode, GetVariableNode, and SetVariableNode.

◆ GetNodeTypeName()

virtual const char * GraphNode::GetNodeTypeName ( ) const
inlinevirtual

Reimplemented in AnimationOutputNode, AnimClipNode, BlendNode, AnimSpeedNode, FSMOutputNode, StateNode, TransitionNode, ConditionNode, FunctionOutputNode, FunctionCallNode, GizmoSetColorNode, GizmoSetMatrixNode, GizmoResetStateNode, GizmoDrawCubeNode, GizmoDrawWireCubeNode, GizmoDrawSphereNode, GizmoDrawWireSphereNode, GizmoDrawLineNode, GizmoDrawRayNode, FloatInputNode, IntInputNode, BoolInputNode, StringInputNode, ByteInputNode, AssetInputNode, VectorInputNode, ColorInputNode, NodeInputNode, Node3DInputNode, MaterialOutputNode, TextureSampleNode, FresnelNode, PannerNode, NormalMapNode, AddNode, SubtractNode, MultiplyNode, DivideNode, LerpNode, ClampNode, AbsNode, DotProductNode, RemapValueNode, SinNode, VectorDistanceNode, RandomPointNearVectorNode, CosNode, TanNode, ASinNode, ACosNode, ATanNode, ATan2Node, SqrtNode, PowerNode, FloorNode, CeilNode, RoundNode, FmodNode, MinNode, MaxNode, NegateNode, SignNode, FracNode, OneMinusNode, CrossProductNode, NormalizeNode, VectorLengthNode, ReflectNode, RotateVectorNode, AddVectorNode, SubtractVectorNode, MultiplyVectorNode, DivideVectorNode, MultiplyVectorComponentNode, LerpVectorNode, NegateVectorNode, SmoothstepNode, InverseLerpNode, StepNode, LogNode, Log2Node, ExpNode, RandomNode, RandomRangeNode, PINode, EqualNode, NotEqualNode, GreaterNode, LessNode, GreaterEqualNode, LessEqualNode, AndNode, OrNode, NotNode, XorNode, SelectNode, IsValidNode, IsNullNode, IsNearlyEqualNode, FindNavPathNode, FindRandomNavPointNode, FindClosestNavPointNode, IsAutoNavRebuildNode, BuildNavDataNode, EnableAutoNavRebuildNode, InvalidateNavMeshNode, CreatePointsGridNode, ScatterPointsOnMeshNode, PointsFromSplineNode, CreatePointsLineNode, RandomPointsInBoxNode, MergePointsNode, SetPointAttributeFloatNode, SetPointAttributeVectorNode, SetPointAttributeColorNode, GetPointAttributeFloatNode, GetPointAttributeVectorNode, GetPointAttributeColorNode, GetPointCountNode, GetPointPositionNode, SetPointPositionNode, ForEachPointNode, SetPointInLoopNode, FilterPointsNode, TransformPointsNode, RandomizeAttributeNode, CopyToPointsNode, InstantiateAtPointsNode, PointCloudToProceduralOutputNode, PointCloudFirstPointNode, PointCloudLastPointNode, RemovePointNode, ReversePointsNode, SortPointsByAttributeNode, ProceduralOutputNode, NoiseNode, VoronoiNode, GradientNode, StartEventNode, TickEventNode, StopEventNode, BeginOverlapEventNode, EndOverlapEventNode, CollisionBeginEventNode, CollisionEndEventNode, GraphOutputNode, SceneGraphOutputNode, GetTransformNode, SetTransformNode, FindNodeNode, GetSelfNode, GetParentGraphNode, GetParent3DGraphNode, GetSelfParentNode, GetSelfParent3DNode, FindInSceneNode, FindChildGraphNode, GetNode3DName, GetNode3DClass, GetPositionNode, GetRotationNode, GetScaleNode, SetPositionNode, SetRotationNode, SetScaleNode, SetVisibilityNode, SetActiveGraphNode, DistanceBetweenNodesNode, RandomPointNearNodeNode, InstantiateSceneNode, SetAttributeIntNode, SetAttributeFloatNode, SetAttributeVectorNode, SetAttributeStringNode, SetAttributeBoolNode, SetAttributeColorNode, GetAttributeIntNode, GetAttributeFloatNode, GetAttributeVectorNode, GetAttributeStringNode, GetAttributeBoolNode, GetAttributeColorNode, SetTextNode, GetTextNode, SetSpriteNode, SetSizeNode, GetSizeNode, SetWidgetColorNode, LoadUIDocumentNode, MountUINode, UnmountUINode, SetUIDataNode, UIFindByIdNode, UIGetRootWidgetNode, UITickNode, InstantiateUINode, SetAudioClipNode, SetAudioTimeNode, SetVolumeNode, SetPitchNode, PlayAudioNode, StopAudioNode, PauseAudioNode, PlayAnimationNode, StopAnimationNode, ForLoopNode, ForEachLoopNode, WaitTillNode, BranchNode, SequenceNode, WhileLoopNode, DoOnceNode, FlipFlopNode, GateNode, DoNNode, MultiGateNode, InputEventNode, InputDownNode, InputCountNode, GamepadAxisNode, MousePositionNode, ScrollWheelNode, CallScriptFunctionNode, SerialEnumeratePortsNode, SerialConnectNode, SerialDisconnectNode, SerialSendMessageNode, SerialStartReceiveNode, SerialStopReceiveNode, SerialMessageEventNode, SerialConnectedEventNode, SerialDisconnectedEventNode, ShaderOutputNode, VertexPositionNode, VertexNormalNode, WorldPositionNode, SplinePositionAtNode, SplineTangentAtNode, SplinePointCountNode, SplineGetPointNode, SplineNearestPercentNode, SplineLengthNode, FloatConstantNode, IntConstantNode, VectorConstantNode, ColorConstantNode, TimeNode, ViewerNode, DebugLogNode, FloatToStringNode, IntToStringNode, ColorToStringNode, VectorToStringNode, BoolToStringNode, NodeToStringNode, Node3DToStringNode, StringToFloatNode, StringToIntNode, StringToBoolNode, StringToVectorNode, StringToColorNode, VectorToColorNode, ColorToVectorNode, SplitVectorNode, SplitColorNode, HexToColorNode, RGBAColorNode, RGBColorNode, LinearColorNode, DateTimeToStringNode, DateTimeNowNode, DateTimeToFloatNode, FloatToDateTimeNode, AddSecondsNode, AddMinutesNode, AddHoursNode, StringToDictionaryNode, ParseJsonToDictionaryNode, GetDictionaryValueNode, GetDictionaryKeysNode, DictionaryToJsonNode, DictionaryToStringNode, StringConcatenateNode, StringLengthNode, SubstringNode, StringContainsNode, StringFindNode, StringReplaceNode, StringSplitNode, StringToUpperNode, StringToLowerNode, StringTrimNode, StringFormatNode, StringStartsWithNode, StringEndsWithNode, MakeVectorNode, MakeVector2DNode, NodeToNode3DNode, Node3DToNodeNode, RerouteNode, NodeToTextNode, Node3DToTextNode, GetVariableNode, and SetVariableNode.

◆ GetNumInputPins()

uint32_t GraphNode::GetNumInputPins ( ) const
inline

◆ GetNumOutputPins()

uint32_t GraphNode::GetNumOutputPins ( ) const
inline

◆ GetOutputPin()

GraphPin * GraphNode::GetOutputPin ( uint32_t  index)

◆ GetOutputPinId()

GraphPinId GraphNode::GetOutputPinId ( uint32_t  index) const

◆ GetOutputPins() [1/2]

std::vector< GraphPin > & GraphNode::GetOutputPins ( )
inline

◆ GetOutputPins() [2/2]

const std::vector< GraphPin > & GraphNode::GetOutputPins ( ) const
inline

◆ GetPinEnumOptions()

virtual bool GraphNode::GetPinEnumOptions ( uint32_t  pinIndex,
std::vector< PinEnumOption > &  outOptions 
) const
inlinevirtual

Reimplemented in InputEventNode, InputDownNode, and GamepadAxisNode.

◆ IsEventNode()

◆ IsFlowNode()

◆ IsInputNode()

virtual bool GraphNode::IsInputNode ( ) const
inlinevirtual

◆ LoadStream()

◆ ReadDatumFromStream()

Datum GraphNode::ReadDatumFromStream ( Stream stream)
static

◆ SaveStream()

◆ SetEditorPosition()

void GraphNode::SetEditorPosition ( const glm::vec2 &  pos)
inline

◆ SetGraph()

void GraphNode::SetGraph ( NodeGraph graph)
inline

◆ SetId()

void GraphNode::SetId ( GraphNodeId  id)
inline

◆ SetInputName()

virtual void GraphNode::SetInputName ( const std::string &  name)
inlinevirtual

◆ SetOutputValue()

void GraphNode::SetOutputValue ( uint32_t  index,
const Datum value 
)

◆ SetupPins()

void GraphNode::SetupPins ( )
virtual

Reimplemented in AnimationOutputNode, AnimClipNode, BlendNode, AnimSpeedNode, FSMOutputNode, StateNode, TransitionNode, ConditionNode, FunctionOutputNode, FunctionCallNode, GizmoSetColorNode, GizmoSetMatrixNode, GizmoResetStateNode, GizmoDrawCubeNode, GizmoDrawWireCubeNode, GizmoDrawSphereNode, GizmoDrawWireSphereNode, GizmoDrawLineNode, GizmoDrawRayNode, FloatInputNode, IntInputNode, BoolInputNode, StringInputNode, ByteInputNode, AssetInputNode, VectorInputNode, ColorInputNode, NodeInputNode, Node3DInputNode, MaterialOutputNode, TextureSampleNode, FresnelNode, PannerNode, NormalMapNode, AddNode, SubtractNode, MultiplyNode, DivideNode, LerpNode, ClampNode, AbsNode, DotProductNode, RemapValueNode, SinNode, VectorDistanceNode, RandomPointNearVectorNode, CosNode, TanNode, ASinNode, ACosNode, ATanNode, ATan2Node, SqrtNode, PowerNode, FloorNode, CeilNode, RoundNode, FmodNode, MinNode, MaxNode, NegateNode, SignNode, FracNode, OneMinusNode, CrossProductNode, NormalizeNode, VectorLengthNode, ReflectNode, RotateVectorNode, AddVectorNode, SubtractVectorNode, MultiplyVectorNode, DivideVectorNode, MultiplyVectorComponentNode, LerpVectorNode, NegateVectorNode, SmoothstepNode, InverseLerpNode, StepNode, LogNode, Log2Node, ExpNode, RandomNode, RandomRangeNode, PINode, EqualNode, NotEqualNode, GreaterNode, LessNode, GreaterEqualNode, LessEqualNode, AndNode, OrNode, NotNode, XorNode, SelectNode, IsValidNode, IsNullNode, IsNearlyEqualNode, FindNavPathNode, FindRandomNavPointNode, FindClosestNavPointNode, IsAutoNavRebuildNode, BuildNavDataNode, EnableAutoNavRebuildNode, InvalidateNavMeshNode, CreatePointsGridNode, ScatterPointsOnMeshNode, PointsFromSplineNode, CreatePointsLineNode, RandomPointsInBoxNode, MergePointsNode, SetPointAttributeFloatNode, SetPointAttributeVectorNode, SetPointAttributeColorNode, GetPointAttributeFloatNode, GetPointAttributeVectorNode, GetPointAttributeColorNode, GetPointCountNode, GetPointPositionNode, SetPointPositionNode, ForEachPointNode, SetPointInLoopNode, FilterPointsNode, TransformPointsNode, RandomizeAttributeNode, CopyToPointsNode, InstantiateAtPointsNode, PointCloudToProceduralOutputNode, PointCloudFirstPointNode, PointCloudLastPointNode, RemovePointNode, ReversePointsNode, SortPointsByAttributeNode, ProceduralOutputNode, NoiseNode, VoronoiNode, GradientNode, StartEventNode, TickEventNode, StopEventNode, BeginOverlapEventNode, EndOverlapEventNode, CollisionBeginEventNode, CollisionEndEventNode, GraphOutputNode, SceneGraphOutputNode, GetTransformNode, SetTransformNode, FindNodeNode, GetSelfNode, GetParentGraphNode, GetParent3DGraphNode, GetSelfParentNode, GetSelfParent3DNode, FindInSceneNode, FindChildGraphNode, GetNode3DName, GetNode3DClass, GetPositionNode, GetRotationNode, GetScaleNode, SetPositionNode, SetRotationNode, SetScaleNode, SetVisibilityNode, SetActiveGraphNode, DistanceBetweenNodesNode, RandomPointNearNodeNode, InstantiateSceneNode, SetAttributeIntNode, SetAttributeFloatNode, SetAttributeVectorNode, SetAttributeStringNode, SetAttributeBoolNode, SetAttributeColorNode, GetAttributeIntNode, GetAttributeFloatNode, GetAttributeVectorNode, GetAttributeStringNode, GetAttributeBoolNode, GetAttributeColorNode, SetTextNode, GetTextNode, SetSpriteNode, SetSizeNode, GetSizeNode, SetWidgetColorNode, LoadUIDocumentNode, MountUINode, UnmountUINode, SetUIDataNode, UIFindByIdNode, UIGetRootWidgetNode, UITickNode, InstantiateUINode, SetAudioClipNode, SetAudioTimeNode, SetVolumeNode, SetPitchNode, PlayAudioNode, StopAudioNode, PauseAudioNode, PlayAnimationNode, StopAnimationNode, ForLoopNode, ForEachLoopNode, WaitTillNode, BranchNode, SequenceNode, WhileLoopNode, DoOnceNode, FlipFlopNode, GateNode, DoNNode, MultiGateNode, InputEventNode, InputDownNode, InputCountNode, GamepadAxisNode, MousePositionNode, ScrollWheelNode, CallScriptFunctionNode, SerialEnumeratePortsNode, SerialConnectNode, SerialDisconnectNode, SerialSendMessageNode, SerialStartReceiveNode, SerialStopReceiveNode, SerialMessageEventNode, SerialConnectedEventNode, SerialDisconnectedEventNode, ShaderOutputNode, VertexPositionNode, VertexNormalNode, WorldPositionNode, SplinePositionAtNode, SplineTangentAtNode, SplinePointCountNode, SplineGetPointNode, SplineNearestPercentNode, SplineLengthNode, FloatConstantNode, IntConstantNode, VectorConstantNode, ColorConstantNode, TimeNode, ViewerNode, DebugLogNode, FloatToStringNode, IntToStringNode, ColorToStringNode, VectorToStringNode, BoolToStringNode, NodeToStringNode, Node3DToStringNode, StringToFloatNode, StringToIntNode, StringToBoolNode, StringToVectorNode, StringToColorNode, VectorToColorNode, ColorToVectorNode, SplitVectorNode, SplitColorNode, HexToColorNode, RGBAColorNode, RGBColorNode, LinearColorNode, DateTimeToStringNode, DateTimeNowNode, DateTimeToFloatNode, FloatToDateTimeNode, AddSecondsNode, AddMinutesNode, AddHoursNode, StringToDictionaryNode, ParseJsonToDictionaryNode, GetDictionaryValueNode, GetDictionaryKeysNode, DictionaryToJsonNode, DictionaryToStringNode, StringConcatenateNode, StringLengthNode, SubstringNode, StringContainsNode, StringFindNode, StringReplaceNode, StringSplitNode, StringToUpperNode, StringToLowerNode, StringTrimNode, StringFormatNode, StringStartsWithNode, StringEndsWithNode, MakeVectorNode, MakeVector2DNode, NodeToNode3DNode, Node3DToNodeNode, RerouteNode, NodeToTextNode, Node3DToTextNode, GetVariableNode, and SetVariableNode.

◆ TriggerExecutionPin()

void GraphNode::TriggerExecutionPin ( uint32_t  outputPinIndex)

◆ WasExecutionTriggered()

bool GraphNode::WasExecutionTriggered ( uint32_t  inputPinIndex) const

◆ WriteDatumToStream()

void GraphNode::WriteDatumToStream ( Stream stream,
const Datum datum 
)
static

Member Data Documentation

◆ mEditorPosition

glm::vec2 GraphNode::mEditorPosition = glm::vec2(0.0f)
protected

◆ mGraph

NodeGraph* GraphNode::mGraph = nullptr
protected

◆ mId

GraphNodeId GraphNode::mId = INVALID_GRAPH_NODE_ID
protected

◆ mInputPins

std::vector<GraphPin> GraphNode::mInputPins
protected

◆ mNextPinId

GraphPinId GraphNode::mNextPinId = 1
protected

◆ mOutputPins

std::vector<GraphPin> GraphNode::mOutputPins
protected

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