A class for storing topology related data. Automatically manages topology changes.
More...
template<class ElementType, class VecT>
class sofa::core::topology::TopologyData< ElementType, VecT >
A class for storing topology related data. Automatically manages topology changes.
This class is a wrapper of class type::vector that is made to take care transparently of all topology changes that might happen (non exhaustive list: element added, removed, fused, renumbered).
|
| TopologyData (const typename sofa::core::topology::BaseTopologyData< VecT >::InitData &data) |
| Constructor. More...
|
|
| ~TopologyData () |
| Default Destructor. More...
|
|
virtual void | createTopologyHandler (sofa::core::topology::BaseMeshTopology *_topology) |
| Function to create topology handler to manage this Data. More...
|
|
void | linkToPointDataArray () |
| Link Data to topology arrays. More...
|
|
void | linkToEdgeDataArray () |
| Method used to link Data to edge Data array, using the TopologyHandler's method. More...
|
|
void | linkToTriangleDataArray () |
| Method used to link Data to triangle Data array, using the TopologyHandler's method. More...
|
|
void | linkToQuadDataArray () |
| Method used to link Data to quad Data array, using the TopologyHandler's method. More...
|
|
void | linkToTetrahedronDataArray () |
| Method used to link Data to tetrahedron Data array, using the TopologyHandler's method. More...
|
|
void | linkToHexahedronDataArray () |
| Method used to link Data to hexahedron Data array, using the TopologyHandler's method. More...
|
|
void | swap (Index i1, Index i2) override |
| Swaps values at indices i1 and i2. More...
|
|
void | remove (const sofa::type::vector< Index > &index) override |
| Remove the values corresponding to the elements removed. More...
|
|
virtual void | add (const sofa::type::vector< Index > &index, const sofa::type::vector< ElementType > &elems, const sofa::type::vector< sofa::type::vector< Index > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &coefs, const sofa::type::vector< AncestorElem > &ancestorElems) override |
|
void | renumber (const sofa::type::vector< Index > &index) override |
| Reorder the values. More...
|
|
void | move (const sofa::type::vector< Index > &indexList, const sofa::type::vector< sofa::type::vector< Index > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &coefs) override |
| Move a list of points. More...
|
|
virtual void | addOnMovedPosition (const sofa::type::vector< Index > &indexList, const sofa::type::vector< ElementType > &elems) |
| Add Element after a displacement of vertices, ie. add element based on previous position topology revision. More...
|
|
virtual void | removeOnMovedPosition (const sofa::type::vector< Index > &indices) |
| Remove Element after a displacement of vertices, ie. add element based on previous position topology revision. More...
|
|
void | setDestructionCallback (std::function< void(Index, value_type &)> func) |
|
void | setCreationCallback (std::function< void(Index, value_type &, const ElementType &, const sofa::type::vector< Index > &, const sofa::type::vector< SReal > &)> func) |
|
void | addTopologyEventCallBack (core::topology::TopologyChangeType type, TopologyChangeCallback callback) |
| Method to add a Callback method to be registered in the TopologyHandler. This callback will be used when TopologyChangeType. More...
|
|
| BaseTopologyData (const sofa::core::objectmodel::BaseData::BaseInitData &init) |
|
virtual void | add (const sofa::type::vector< Topology::PointID > &, const sofa::type::vector< Topology::Point > &, const sofa::type::vector< sofa::type::vector< Topology::PointID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< PointAncestorElem > &) |
| Add some values. Values are added at the end of the vector. More...
|
|
virtual void | add (const sofa::type::vector< Topology::EdgeID > &, const sofa::type::vector< Topology::Edge > &, const sofa::type::vector< sofa::type::vector< Topology::EdgeID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< EdgeAncestorElem > &) |
|
virtual void | add (const sofa::type::vector< Topology::TriangleID > &, const sofa::type::vector< Topology::Triangle > &, const sofa::type::vector< sofa::type::vector< Topology::TriangleID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< TriangleAncestorElem > &) |
| add Triangle More...
|
|
virtual void | add (const sofa::type::vector< Topology::TetrahedronID > &, const sofa::type::vector< Topology::Tetrahedron > &, const sofa::type::vector< sofa::type::vector< Topology::TetrahedronID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< TetrahedronAncestorElem > &) |
| add Quad & Tetrahedron More...
|
|
virtual void | add (const sofa::type::vector< Topology::QuadID > &, const sofa::type::vector< Topology::Quad > &, const sofa::type::vector< sofa::type::vector< Topology::QuadID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< QuadAncestorElem > &) |
|
virtual void | add (const sofa::type::vector< Topology::HexahedronID > &, const sofa::type::vector< Topology::Hexahedron > &, const sofa::type::vector< sofa::type::vector< Topology::HexahedronID > > &, const sofa::type::vector< sofa::type::vector< SReal > > &, const sofa::type::vector< HexahedronAncestorElem > &) |
| add Hexahedron More...
|
|
virtual void | remove (const sofa::type::vector< unsigned int > &) |
| Remove the values corresponding to the points removed. More...
|
|
virtual void | swap (unsigned int, unsigned int) |
| Swaps values at indices i1 and i2. More...
|
|
virtual void | renumber (const sofa::type::vector< unsigned int > &) |
| Reorder the values. More...
|
|
virtual void | move (const sofa::type::vector< unsigned int > &, const sofa::type::vector< sofa::type::vector< unsigned int > > &, const sofa::type::vector< sofa::type::vector< SReal > > &) |
| Move a list of points. More...
|
|
sofa::core::topology::BaseMeshTopology * | getTopology () |
|
void | setDataSetArraySize (const Index s) |
| to handle PointSubsetData More...
|
|
virtual Index | getLastElementIndex () const |
| Return the last element index of the topolgy buffer this Data is linked to. More...
|
|
const sofa::defaulttype::AbstractTypeInfo * | getValueTypeInfo () const override |
| Get info about the value type of the associated variable. More...
|
|
bool | read (const std::string &s) override |
|
void | printValue (std::ostream &out) const override |
| General case for printing default value. More...
|
|
std::string | getValueString () const override |
| General case for printing value. More...
|
|
std::string | getDefaultValueString () const override |
| General case for printing default value. More...
|
|
std::string | getValueTypeString () const override |
| Get the name of the type of the value held in this Data. More...
|
|
void | operator= (const T &value) |
|
bool | copyValueFrom (const Data< T > *data) |
|
| Data (const Data &)=delete |
|
Data & | operator= (const Data &)=delete |
|
bool SOFA_CORE_API | read (const std::string &str) |
| Specialization for reading strings. More...
|
|
bool SOFA_CORE_API | read (const std::string &str) |
| Specialization for reading booleans. More...
|
|
bool | read (const std::string &str) |
| Specialization for reading strings. More...
|
|
bool | read (const std::string &str) |
| Specialization for reading booleans. More...
|
|
virtual T * | beginEdit () |
|
virtual T * | beginWriteOnly () |
|
virtual void | endEdit () |
|
void | setValue (const T &value) |
|
const T & | getValue () const |
|
BaseData * | getNewInstance () override |
|
| Data (const BaseData::BaseInitData &init) |
|
| Data (const InitData &init) |
|
| Data (const char *helpMsg=nullptr, bool isDisplayed=true, bool isReadOnly=false) |
|
| Data (const std::string &helpMsg, bool isDisplayed=true, bool isReadOnly=false) |
|
| Data (const T &value, const char *helpMsg=nullptr, bool isDisplayed=true, bool isReadOnly=false) |
|
| Data (const T &value, const std::string &helpMsg, bool isDisplayed=true, bool isReadOnly=false) |
|
| ~Data () override |
| Destructor. More...
|
|
| BaseData (const BaseInitData &init) |
|
| BaseData (const std::string &helpMsg, DataFlags flags=FLAG_DEFAULT) |
|
| BaseData (const char *helpMsg, DataFlags flags=FLAG_DEFAULT) |
|
| BaseData (const std::string &helpMsg, bool isDisplayed=true, bool isReadOnly=false) |
|
| BaseData (const char *helpMsg, bool isDisplayed=true, bool isReadOnly=false) |
|
| ~BaseData () override |
| Destructor. More...
|
|
const void * | getValueVoidPtr () const |
| Get current value as a void pointer (use getValueTypeInfo to find how to access it) More...
|
|
void * | beginEditVoidPtr () |
| Begin edit current value as a void pointer (use getValueTypeInfo to find how to access it) More...
|
|
void | endEditVoidPtr () |
| Must be called after beginEditVoidPtr(), after you are finished modifying this Data. More...
|
|
const std::string & | getHelp () const |
| Get a help message that describes this Data. More...
|
|
void | setHelp (const std::string &val) |
| Set the help message. More...
|
|
const std::string & | getGroup () const |
| Get group. More...
|
|
void | setGroup (const std::string &val) |
| Set group. More...
|
|
const std::string & | getWidget () const |
| Get widget. More...
|
|
void | setWidget (const char *val) |
| Set widget. More...
|
|
virtual std::string | getLinkPath () const |
| If we use the Data as a link and not as value directly. More...
|
|
virtual bool | canBeLinked () const |
|
Base * | getOwner () const |
| Return the Base component owning this Data. More...
|
|
void | setOwner (Base *o) |
| Set the owner of this Data. More...
|
|
BaseData * | getData () const |
| This method is needed by DDGNode. More...
|
|
const std::string & | getName () const |
| Return the name of this Data within the Base component. More...
|
|
void | setName (const std::string &name) |
|
bool | hasDefaultValue () const |
| Return whether the Data has a default value or not. More...
|
|
bool | setParent (BaseData *parent, const std::string &path=std::string()) |
| Link to a parent data. The value of this data will automatically duplicate the value of the parent data. More...
|
|
bool | setParent (const std::string &path) |
|
virtual bool | validParent (const BaseData *parent) |
| Check if a given Data can be linked as a parent of this data. More...
|
|
BaseData * | getParent () const |
|
void | update () override |
| Update the value of this Data. More...
|
|
bool | copyValueFrom (const BaseData *data) |
| Update this Data from the value of its parent. More...
|
|
bool | updateValueFromLink (const BaseData *data) |
|
template<class T > |
| SOFA_ATTRIBUTE_DEPRECATED__UNNECESSARY_PARAMETER_IN_TYPENAME () static std |
|
void | setFlag (DataFlagsEnum flag, bool b) |
| Set one of the flags. More...
|
|
bool | getFlag (DataFlagsEnum flag) const |
| Get one of the flags. More...
|
|
bool | isDisplayed () const |
| Return whether this Data has to be displayed in GUIs. More...
|
|
bool | isReadOnly () const |
| Return whether this Data will be read-only in GUIs. More...
|
|
bool | isPersistent () const |
| Return whether this Data contains persistent information. More...
|
|
bool | isAutoLink () const |
| Return whether this Data should be autolinked when using the src="" syntax. More...
|
|
bool | isRequired () const |
| Return whether the Data has to be set by the user for the owner component to be valid. More...
|
|
void | setDisplayed (bool b) |
| Set whether this Data should be displayed in GUIs. More...
|
|
void | setReadOnly (bool b) |
| Set whether this Data is read-only. More...
|
|
void | setPersistent (bool b) |
| Set whether this Data contains persistent information. More...
|
|
void | setAutoLink (bool b) |
| Set whether this data should be autolinked when using the src="" syntax. More...
|
|
void | setRequired (bool b) |
| Set whether the Data has to be set by the user for the owner component to be valid. More...
|
|
bool | isSet () const |
|
void | unset () |
| Reset the isSet flag to false, to indicate that the current value is the default for this Data. More...
|
|
void | forceSet () |
| Reset the isSet flag to true, to indicate that the current value has been modified. More...
|
|
int | getCounter () const |
|
| 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...
|
|
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...
|
|