#include <DDGNode.h>
A DDGNode is a vertex in the data dependencies graph. The data dependency graph is used to update the data when some of other changes and it is at the root of the implementation of the data update mecanisme as well as DataEngines. More...
A DDGNode is a vertex in the data dependencies graph. The data dependency graph is used to update the data when some of other changes and it is at the root of the implementation of the data update mecanisme as well as DataEngines.
Protected Attributes | |
DDGLinkContainer | inputs |
DDGLinkContainer | outputs |
Public Member Functions | |
DDGNode () | |
Constructor. More... | |
virtual | ~DDGNode () |
Destructor. Automatically remove remaining links. More... | |
void | addInput (DDGNode *n) |
Add a new input to this node. More... | |
void | delInput (DDGNode *n) |
Remove an input from this node. More... | |
void | addOutput (DDGNode *n) |
Add a new output to this node. More... | |
void | delOutput (DDGNode *n) |
Remove an output from this node. More... | |
const DDGLinkContainer & | getInputs () |
Get the list of inputs for this DDGNode. More... | |
const DDGLinkContainer & | getOutputs () |
Get the list of outputs for this DDGNode. More... | |
virtual void | update ()=0 |
Update this value. More... | |
bool | isDirty () const |
Returns true if the DDGNode needs to be updated. More... | |
virtual void | setDirtyValue () |
Indicate the value needs to be updated. More... | |
virtual void | setDirtyOutputs () |
Indicate the outputs needs to be updated. This method must be called after changing the value of this node. More... | |
void | cleanDirty () |
Set dirty flag to false. More... | |
virtual void | notifyEndEdit () |
Notify links that the DGNode has been modified. More... | |
void | updateIfDirty () const |
Utility method to call update if necessary. This method should be called before reading of writing the value of this node. More... | |
Protected Member Functions | |
virtual void | doAddInput (DDGNode *n) |
virtual void | doDelInput (DDGNode *n) |
virtual void | doAddOutput (DDGNode *n) |
virtual void | doDelOutput (DDGNode *n) |
void | cleanDirtyOutputsOfInputs () |
the dirtyOutputs flags of all the inputs will be set to false More... | |
|
protected |
|
protected |
sofa::core::objectmodel::DDGNode::DDGNode | ( | ) |
Constructor.
|
virtual |
Destructor. Automatically remove remaining links.
void sofa::core::objectmodel::DDGNode::addInput | ( | DDGNode * | n | ) |
Add a new input to this node.
void sofa::core::objectmodel::DDGNode::addOutput | ( | DDGNode * | n | ) |
Add a new output to this node.
void sofa::core::objectmodel::DDGNode::cleanDirty | ( | ) |
Set dirty flag to false.
|
protected |
the dirtyOutputs flags of all the inputs will be set to false
void sofa::core::objectmodel::DDGNode::delInput | ( | DDGNode * | n | ) |
Remove an input from this node.
void sofa::core::objectmodel::DDGNode::delOutput | ( | DDGNode * | n | ) |
Remove an output from this node.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
const DDGNode::DDGLinkContainer & sofa::core::objectmodel::DDGNode::getInputs | ( | ) |
Get the list of inputs for this DDGNode.
const DDGNode::DDGLinkContainer & sofa::core::objectmodel::DDGNode::getOutputs | ( | ) |
Get the list of outputs for this DDGNode.
|
inline |
Returns true if the DDGNode needs to be updated.
|
virtual |
Notify links that the DGNode has been modified.
Reimplemented in sofa::gui::qt::ObjectStateListener.
|
virtual |
Indicate the outputs needs to be updated. This method must be called after changing the value of this node.
|
virtual |
Indicate the value needs to be updated.
Reimplemented in sofa::core::DataTrackerFunctor< FunctorType >.
|
pure virtual |
void sofa::core::objectmodel::DDGNode::updateIfDirty | ( | ) | const |
Utility method to call update if necessary. This method should be called before reading of writing the value of this node.