#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