9#include <unordered_set>
28 uint32_t
GetNumNodes()
const {
return (uint32_t)mNodes.size(); }
29 const std::vector<GraphNode*>&
GetNodes()
const {
return mNodes; }
37 uint32_t
GetNumLinks()
const {
return (uint32_t)mLinks.size(); }
38 const std::vector<GraphLink>&
GetLinks()
const {
return mLinks; }
81 bool SetInputInt(
const char* inputName, int32_t value);
84 bool SetInputVector(
const char* inputName,
const glm::vec3& value);
85 bool SetInputColor(
const char* inputName,
const glm::vec4& value);
108 std::vector<GraphNode*> mNodes;
109 std::vector<GraphLink> mLinks;
110 std::string mDomainName;
111 std::string mGraphName;
112 Node* mOwnerNode =
nullptr;
uint32_t TypeId
Definition EngineTypes.h:64
uint32_t GraphLinkId
Definition GraphTypes.h:9
uint32_t GraphPinId
Definition GraphTypes.h:8
uint32_t GraphNodeId
Definition GraphTypes.h:7
Definition GraphNode.h:73
Definition NodeGraph.h:17
void SetOwnerNode(Node *node)
Definition NodeGraph.h:73
GraphNode * FindInputNode(const char *inputName) const
Definition NodeGraph.cpp:489
std::unordered_set< GraphPinId > mExecutedPinIds
Definition NodeGraph.h:104
bool SetInputInt(const char *inputName, int32_t value)
Definition NodeGraph.cpp:514
GraphNodeId AllocNodeId()
Definition NodeGraph.h:62
bool SetInputVector(const char *inputName, const glm::vec3 &value)
Definition NodeGraph.cpp:550
void SetDomainName(const std::string &name)
Definition NodeGraph.h:53
bool SetInputVector2D(const char *inputName, const glm::vec2 &value)
Definition NodeGraph.cpp:598
const std::string & GetDomainName() const
Definition NodeGraph.h:52
const std::string & GetGraphName() const
Definition NodeGraph.h:56
void SetGraphName(const std::string &name)
Definition NodeGraph.h:57
bool SetInputFloat(const char *inputName, float value)
Definition NodeGraph.cpp:502
const Datum & GetOutputValue(uint32_t pinIndex) const
Definition NodeGraph.cpp:684
GraphLink * FindLink(GraphLinkId id) const
Definition NodeGraph.cpp:157
const std::vector< GraphNode * > & GetNodes() const
Definition NodeGraph.h:29
~NodeGraph()
Definition NodeGraph.cpp:14
void SaveStream(Stream &stream)
Definition NodeGraph.cpp:262
void CopyFrom(const NodeGraph &other)
Definition NodeGraph.cpp:429
void InsertNode(GraphNode *node)
Definition NodeGraph.cpp:387
bool SetInputSpline3D(const char *inputName, Node *value)
Definition NodeGraph.cpp:664
GraphNode * FindPinOwner(GraphPinId id) const
Definition NodeGraph.cpp:203
void Clear()
Definition NodeGraph.cpp:415
GraphNode * FindOutputNode() const
Definition NodeGraph.cpp:669
const std::vector< GraphLink > & GetLinks() const
Definition NodeGraph.h:38
bool SetInputBool(const char *inputName, bool value)
Definition NodeGraph.cpp:526
GraphPinId AllocPinId()
Definition NodeGraph.h:63
GraphLinkId AllocLinkId()
Definition NodeGraph.h:64
bool SetInputString(const char *inputName, const char *value)
Definition NodeGraph.cpp:538
bool SetInputWidget(const char *inputName, Node *value)
Definition NodeGraph.cpp:639
GraphNode * FindNode(GraphNodeId id) const
Definition NodeGraph.cpp:68
uint32_t GetNumNodes() const
Definition NodeGraph.h:28
uint32_t GetNumLinks() const
Definition NodeGraph.h:37
bool SetInputByte(const char *inputName, uint8_t value)
Definition NodeGraph.cpp:574
NodeGraph()
Definition NodeGraph.cpp:10
GraphLink * FindLinkByInputPin(GraphPinId inputPinId) const
Definition NodeGraph.cpp:169
bool SetInputAudio3D(const char *inputName, Node *value)
Definition NodeGraph.cpp:654
void LoadStream(Stream &stream, uint32_t version)
Definition NodeGraph.cpp:291
bool SetInputText(const char *inputName, Node *value)
Definition NodeGraph.cpp:644
bool SetInputShort(const char *inputName, int16_t value)
Definition NodeGraph.cpp:610
GraphPin * FindPin(GraphPinId id) const
Definition NodeGraph.cpp:181
GraphLink * AddLink(GraphPinId outputPinId, GraphPinId inputPinId)
Definition NodeGraph.cpp:80
void RemoveLink(GraphLinkId id)
Definition NodeGraph.cpp:145
bool SetInputAsset(const char *inputName, Asset *value)
Definition NodeGraph.cpp:586
bool SetInputQuad(const char *inputName, Node *value)
Definition NodeGraph.cpp:649
bool SetInputNode(const char *inputName, Node *value)
Definition NodeGraph.cpp:622
bool SetInputScene(const char *inputName, Asset *value)
Definition NodeGraph.cpp:659
bool SetInputNode3D(const char *inputName, Node *value)
Definition NodeGraph.cpp:634
bool WouldCreateCycle(GraphNodeId fromNodeId, GraphNodeId toNodeId) const
Definition NodeGraph.cpp:225
Node * GetOwnerNode() const
Definition NodeGraph.h:74
bool SetInputColor(const char *inputName, const glm::vec4 &value)
Definition NodeGraph.cpp:562
void RemoveNode(GraphNodeId id)
Definition NodeGraph.cpp:45