#include <DataTrackerCallback.h>
A DDGNode with trackable input Data (containing a DataTracker) More...

A DDGNode with trackable input Data (containing a DataTracker)
| Protected Attributes | |
| Tracking Data mechanism | |
| each Data added to the DataTracker is tracked to be able to check if its value changed since their last clean, called by default in DataEngine::cleanDirty(). | |
| DataTracker | m_dataTracker | 
|  Protected Attributes inherited from sofa::core::objectmodel::DDGNode | |
| DDGLinkContainer | inputs | 
| DDGLinkContainer | outputs | 
| Public Member Functions | |
| DataTrackerDDGNode () | |
| void | addInputs (std::initializer_list< sofa::core::objectmodel::BaseData * > datas) | 
| Create a DataCallback object associated with multiple Data fields.  More... | |
| void | addOutputs (std::initializer_list< sofa::core::objectmodel::BaseData * > datas) | 
| virtual void | cleanDirty (const core::ExecParams *params=nullptr) | 
| void | updateAllInputsIfDirty () | 
|  Public Member Functions inherited from sofa::core::objectmodel::DDGNode | |
| 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... | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from sofa::core::objectmodel::DDGNode | |
| 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 | 
| 
 | inline | 
| void sofa::core::DataTrackerDDGNode::addInputs | ( | std::initializer_list< sofa::core::objectmodel::BaseData * > | datas | ) | 
Create a DataCallback object associated with multiple Data fields.
| void sofa::core::DataTrackerDDGNode::addOutputs | ( | std::initializer_list< sofa::core::objectmodel::BaseData * > | datas | ) | 
| 
 | virtual | 
Set dirty flag to false for the DDGNode and for all the tracked Data
| void sofa::core::DataTrackerDDGNode::updateAllInputsIfDirty | ( | ) | 
utility function to ensure all inputs are up-to-date can be useful for particularly complex DDGNode with a lot input/output imbricated access