40 NodePort(std::string name, std::string description,
Node* parent =
nullptr);
60 void attach(std::shared_ptr<FCallBackFunc> func);
92 :
NodePort(name, description, parent)
109 return nullptr !=
dynamic_cast<T*
>(node) && !
hasNode(node);
133 if (d_node !=
nullptr)
160 auto d_node =
dynamic_cast<T*
>(node);
161 if (d_node !=
nullptr)
187 :
NodePort(name, description, parent)
211 if (d_node !=
nullptr)
230 if (d_node !=
nullptr)
248 return nullptr !=
dynamic_cast<T*
>(node) && !
hasNode(node);
253 auto derived =
dynamic_cast<T*
>(node);
267 for (
int i = 0; i <
m_nodes.size(); i++)
281 auto d_node =
dynamic_cast<T*
>(node);
282 if (d_node !=
nullptr)
292 auto d_node =
dynamic_cast<T*
>(node);
294 if (d_node !=
nullptr)
MultipleNodePort(std::string name, std::string description, Node *parent=nullptr)
std::vector< T * > & getDerivedNodes()
bool addNode(Node *node) override
bool addDerivedNode(T *d_node)
bool isKindOf(Node *node) override
bool removeNode(Node *node) override
bool removeDerivedNode(T *d_node)
std::vector< Node * > & getNodes() override
std::vector< T * > m_derived_nodes
virtual bool removeNode(Node *node)=0
NodePortType getPortType()
virtual bool addNode(Node *node)=0
std::vector< Node * > m_nodes
std::vector< std::shared_ptr< FCallBackFunc > > mCallbackFunc
virtual std::vector< Node * > & getNodes()
NodePort(std::string name, std::string description, Node *parent=nullptr)
void setPortType(NodePortType portType)
std::string m_description
virtual bool isKindOf(Node *node)=0
virtual std::string getPortName()
void attach(std::shared_ptr< FCallBackFunc > func)
virtual bool hasNode(Node *node)=0
bool setDerivedNode(T *d_node)
bool removeNode(Node *node) override
std::vector< Node * > & getNodes() override
SingleNodePort(std::string name, std::string description, Node *parent=nullptr)
bool addNode(Node *node) override
~SingleNodePort() override
bool isKindOf(Node *node) override
This is an implementation of AdditiveCCD based on peridyno.
void disconnect(Node *node, NodePort *port)