template<class DataTypes>
class sofa::component::solidmechanics::spring::TriangleBendingSprings< DataTypes >
Bending springs added between vertices of triangles sharing a common edge. The springs connect the vertices not belonging to the common edge. It compresses when the surface bends along the common edge.
@author The SOFA team </www.sofa-framework.org>
|
| SingleLink< TriangleBendingSprings< DataTypes >, sofa::core::topology::BaseMeshTopology, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > | l_topology |
| | Link to be set to the topology container in the component graph. More...
|
| |
| Data< float > | d_showArrowSize |
| | size of the axis More...
|
| |
| Data< int > | d_drawMode |
| | The way springs will be drawn: - 0: Line - 1:Cylinder - 2: Arrow. More...
|
| |
| Data< type::vector< SReal > > | d_ks |
| | List of stiffness for the all springs. Must have the same size as indices1 & indices2, or if only one element, it will be applied to all springs. If empty, 0 will be applied everywhere. More...
|
| |
| Data< type::vector< SReal > > | d_kd |
| | List of damping for the all springs. Must have the same size as indices1 & indices2, or if only one element, it will be applied to all springs. If empty, 0 will be applied everywhere. More...
|
| |
| Data< type::vector< Spring > > | d_springs |
| | pairs of indices, stiffness, damping, rest length More...
|
| |
| Data< type::vector< SReal > > | d_lengths |
| | List of lengths to create the springs. Must have the same size as indices1 & indices2, or if only one element, it will be applied to all springs. If empty, 0 will be applied everywhere. More...
|
| |
| Data< type::vector< bool > > | d_elongationOnly |
| | List of boolean stating on the fact that the spring should only apply forces on elongations. Must have the same size as indices1 & indices2, or if only one element, it will be applied to all springs. If empty, False will be applied everywhere. More...
|
| |
| Data< type::vector< bool > > | d_enabled |
| | List of boolean stating on the fact that the spring is enabled. Must have as same size than indices1 & indices2, or if only one element, it will be applied to all springs. If empty, True will be applied everywhere. More...
|
| |
| Data< SReal > | rayleighStiffness |
| | Rayleigh Damping stiffness matrix coefficient. More...
|
| |
| objectmodel::lifecycle::RemovedData | isCompliance |
| | Considered as compliance, else considered as stiffness (default to false) More...
|
| |
| Data< bool > | f_listening |
| | if true, handle the events, otherwise ignore the events More...
|
| |
| std::vector< lifecycle::DeprecatedData * > | m_oldAttributes |
| |
| Data< int > | d_messageLogCount |
| |
| Data< std::string > | name |
| | Name of the object. More...
|
| |
| Data< bool > | f_printLog |
| | if true, emits extra messages at runtime. More...
|
| |
| Data< sofa::core::objectmodel::TagSet > | f_tags |
| | list of the subsets the object belongs to More...
|
| |
| Data< sofa::type::BoundingBox > | f_bbox |
| | this object bounding box More...
|
| |
| Data< sofa::core::objectmodel::ComponentState > | d_componentState |
| | The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). More...
|
| |
| std::string | m_definitionSourceFileName {""} |
| |
| int | m_definitionSourceFilePos {-1} |
| |
| std::string | m_instanciationSourceFileName {""} |
| |
| int | m_instanciationSourceFilePos {-1} |
| |
|
| | SOFA_CLASS (SOFA_TEMPLATE(TriangleBendingSprings, DataTypes), SOFA_TEMPLATE(SpringForceField, DataTypes)) |
| |
| void | init () override |
| | Searches triangle topology and creates the bending springs. More...
|
| |
| | SOFA_CLASS (SOFA_TEMPLATE(SpringForceField, DataTypes), SOFA_TEMPLATE(core::behavior::PairInteractionForceField, DataTypes)) |
| |
| void | reinit () override |
| | Update method called when variables used in precomputation are modified. More...
|
| |
| bool | load (const char *filename) |
| |
| void | addForce (const core::MechanicalParams *mparams, DataVecDeriv &f1, DataVecDeriv &f2, const DataVecCoord &x1, const DataVecCoord &x2, const DataVecDeriv &v1, const DataVecDeriv &v2) override |
| |
| void | addDForce (const core::MechanicalParams *, DataVecDeriv &df1, DataVecDeriv &df2, const DataVecDeriv &dx1, const DataVecDeriv &dx2) override |
| |
| void | addSpringDForce (VecDeriv &df1, const VecDeriv &dx1, VecDeriv &df2, const VecDeriv &dx2, sofa::Index i, const Spring &spring, SReal kFactor, SReal bFactor) |
| |
| DataTypes::DPos | computeSpringDForce (VecDeriv &df1, const VecDeriv &dx1, VecDeriv &df2, const VecDeriv &dx2, sofa::Index i, const Spring &spring, SReal kFactor, SReal bFactor) |
| |
| SReal | getPotentialEnergy (const core::MechanicalParams *, const DataVecCoord &data_x1, const DataVecCoord &data_x2) const override |
| |
| virtual void | addKToMatrix (const core::MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) override |
| | Compute the system matrix corresponding to . More...
|
| |
| void | buildStiffnessMatrix (core::behavior::StiffnessMatrix *matrix) override |
| |
| void | buildDampingMatrix (core::behavior::DampingMatrix *) override |
| |
| void | draw (const core::visual::VisualParams *vparams) override |
| | Render internal data of this object, for debugging purposes. More...
|
| |
| void | computeBBox (const core::ExecParams *params, bool onlyVisible=false) override |
| |
| core::behavior::MechanicalState< DataTypes > * | getObject1 () |
| |
| core::behavior::MechanicalState< DataTypes > * | getObject2 () |
| |
| const sofa::type::vector< Spring > & | getSprings () const |
| |
| SReal | getArrowSize () const |
| |
| void | setArrowSize (float s) |
| |
| int | getDrawMode () const |
| |
| void | setDrawMode (int m) |
| |
| void | clear (sofa::Size reserve=0) |
| |
| void | removeSpring (sofa::Index idSpring) |
| |
| void | addSpring (sofa::Index m1, sofa::Index m2, SReal ks, SReal kd, SReal initlen) |
| |
| void | addSpring (const Spring &spring) |
| |
| void | initGnuplot (const std::string path) override |
| | initialization to export kinetic, potential energy and force intensity to gnuplot files format More...
|
| |
| void | exportGnuplot (SReal time) override |
| | export kinetic and potential energy state at "time" to a gnuplot file More...
|
| |
| | SOFA_ABSTRACT_CLASS2 (SOFA_TEMPLATE(PairInteractionForceField, DataTypes), BaseInteractionForceField, SOFA_TEMPLATE2(PairStateAccessor, DataTypes, DataTypes)) |
| |
| void | setPathObject1 (const std::string &path) |
| | Set the Object1 path. More...
|
| |
| void | setPathObject2 (const std::string &path) |
| | Set the Object2 path. More...
|
| |
| std::string | getPathObject1 () const |
| | Retrieve the Object1 path. More...
|
| |
| std::string | getPathObject2 () const |
| | Retrieve the Object2 path. More...
|
| |
| void | addForce (const MechanicalParams *mparams, MultiVecDerivId fId) override |
| |
| void | addDForce (const MechanicalParams *mparams, MultiVecDerivId dfId) override |
| |
| SReal | getPotentialEnergy (const MechanicalParams *mparams) const override |
| |
| | SOFA_ABSTRACT_CLASS (BaseInteractionForceField, BaseForceField) |
| |
| virtual BaseMechanicalState * | getMechModel1 () |
| |
| virtual BaseMechanicalState * | getMechModel2 () |
| |
| void | addKToMatrix (const MechanicalParams *, const sofa::core::behavior::MultiMatrixAccessor *) override |
| | Compute the system matrix corresponding to . More...
|
| |
| bool | insertInNode (objectmodel::BaseNode *node) override |
| |
| bool | removeInNode (objectmodel::BaseNode *node) override |
| |
| | SOFA_ABSTRACT_CLASS (BaseForceField, StateAccessor) |
| |
| virtual void | addMBKdx (const MechanicalParams *mparams, MultiVecDerivId dfId) |
| | Accumulate the contribution of M, B, and/or K matrices multiplied by the dx vector with the given coefficients. More...
|
| |
| virtual void | addBToMatrix (const MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) |
| | Compute the system matrix corresponding to . More...
|
| |
| virtual void | addMBKToMatrix (const MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) |
| | Compute the system matrix corresponding to . More...
|
| |
| virtual const sofa::linearalgebra::BaseMatrix * | getComplianceMatrix (const MechanicalParams *)=delete |
| |
| virtual void | addClambda (const MechanicalParams *, MultiVecDerivId, MultiVecDerivId, SReal)=delete |
| | Accumulate the contribution of the C compliant matrix multiplied by the given Lagrange multipliers lambda vector with the given cFactor coefficient. More...
|
| |
| | SOFA_ABSTRACT_CLASS (StateAccessor, objectmodel::BaseObject) |
| |
| virtual const MultiLink< StateAccessor, BaseMechanicalState, BaseLink::FLAG_DUPLICATE >::Container & | getMechanicalStates () const |
| | Return a list of mechanical states to which this component is associated. More...
|
| |
| void | computeBBox (const core::ExecParams *params, bool onlyVisible=false) override |
| |
| | SOFA_CLASS (BaseObject, Base) |
| |
| void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
| | Sets a source Object and parses it to collect dependent Data. More...
|
| |
| void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
| |
| Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
| |
| virtual std::string | getPathName () const override |
| | Return the full path name of this object. More...
|
| |
| SReal | getTime () const |
| | Current time. More...
|
| |
| const BaseContext * | getContext () const |
| |
| BaseContext * | getContext () |
| |
| const BaseObject * | getMaster () const |
| |
| BaseObject * | getMaster () |
| |
| const VecSlaves & | getSlaves () const |
| |
| BaseObject * | getSlave (const std::string &name) const |
| |
| virtual void | addSlave (BaseObject::SPtr s) |
| |
| virtual void | removeSlave (BaseObject::SPtr s) |
| |
| virtual void | handleEvent (Event *) |
| | Handle an event. More...
|
| |
| virtual void | handleTopologyChange () |
| |
| virtual void | handleTopologyChange (core::topology::Topology *t) |
| |
| void | parse (BaseObjectDescription *arg) override |
| | Parse the given description to assign values to this object's fields and potentially other parameters. More...
|
| |
| virtual void | bwdInit () |
| | Initialization method called at graph creation and modification, during bottom-up traversal. More...
|
| |
| void | updateInternal () |
| | Update method called when variables (used to compute other internal variables) are modified. More...
|
| |
| virtual void | storeResetState () |
| | Save the initial state for later uses in reset() More...
|
| |
| virtual void | reset () |
| | Reset to initial state. More...
|
| |
| virtual void | cleanup () |
| |
| virtual const BaseClass * | getClass () const |
| |
| void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
| |
| void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
| |
| void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
| |
| const std::string & | getName () const |
| | Accessor to the object name. More...
|
| |
| void | setName (const std::string &n) |
| | Set the name of this object. More...
|
| |
| void | setName (const std::string &n, int counter) |
| | Set the name of this object, adding an integer counter. More...
|
| |
| std::string | getTypeName () const |
| | Get the type name of this object (i.e. class and template types) More...
|
| |
| virtual std::string | getClassName () const |
| | Get the class name of this object. More...
|
| |
| virtual std::string | getTemplateName () const final |
| | Get the template type names (if any) used to instantiate this object. More...
|
| |
| std::string | getNameSpaceName () const |
| | Get the template type names (if any) used to instantiate this object. More...
|
| |
| void | setDefinitionSourceFileName (const std::string &sourceFileName) |
| | Set the source filename (where the component is implemented) More...
|
| |
| const std::string & | getDefinitionSourceFileName () const |
| | Get the source filename (where the component is implemented) More...
|
| |
| void | setDefinitionSourceFilePos (const int) |
| | Set the source location (where the component is implemented) More...
|
| |
| int | getDefinitionSourceFilePos () const |
| | Get the source location (where the component is implemented) More...
|
| |
| void | setInstanciationSourceFileName (const std::string &sourceFileName) |
| |
| const std::string & | getInstanciationSourceFileName () const |
| |
| void | setInstanciationSourceFilePos (const int) |
| |
| int | getInstanciationSourceFilePos () const |
| |
| void | addMessage (const sofa::helper::logging::Message &m) const |
| |
| size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
| |
| const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
| |
| const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
| |
| void | clearLoggedMessages () const |
| |
| bool | notMuted () const |
| |
| const sofa::core::objectmodel::TagSet & | getTags () const |
| | Represents the subsets the object belongs to. More...
|
| |
| bool | hasTag (Tag t) const |
| | Return true if the object belong to the given subset. More...
|
| |
| void | addTag (Tag t) |
| | Add a subset qualification to the object. More...
|
| |
| void | removeTag (Tag t) |
| | Remove a subset qualification to the object. More...
|
| |
| ComponentState | getComponentState () const |
| |
| bool | isComponentStateValid () const |
| |
| bool | isComponentStateInvalid () const |
| |
| | SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior |
| |
| virtual bool | parseField (const std::string &attribute, const std::string &value) |
| | Assign one field value (Data or Link) More...
|
| |
| virtual bool | hasField (const std::string &attribute) const |
| | Check if a given Data field or Link exists. More...
|
| |
| void | parseFields (const std::list< std::string > &str) |
| | Assign the field values stored in the given list of name + value pairs of strings. More...
|
| |
| virtual void | parseFields (const std::map< std::string, std::string * > &str) |
| | Assign the field values stored in the given map of name -> value pairs. More...
|
| |
| void | writeDatas (std::map< std::string, std::string * > &str)=delete |
| | Write the current field values to the given map of name -> value pairs. More...
|
| |
| void | writeDatas (std::ostream &out, const std::string &separator=" ") |
| |
| BaseData * | findData (const std::string &name) const |
| |
| std::vector< BaseData * > | findGlobalField (const std::string &name) const |
| | Find data fields given a name: several can be found as we look into the alias map. More...
|
| |
| BaseLink * | findLink (const std::string &name) const |
| |
| std::vector< BaseLink * > | findLinks (const std::string &name) const |
| | Find link fields given a name: several can be found as we look into the alias map. More...
|
| |
| virtual void | updateLinks (bool logErrors=true) |
| | Update pointers in case the pointed-to objects have appeared. More...
|
| |
| template<class T > |
| BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
| | Helper method used to initialize a data field containing a value of type T. More...
|
| |
| template<class T > |
| BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| | Helper method used to initialize a data field containing a value of type T. More...
|
| |
| template<class T > |
| Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| | Helper method used to initialize a data field containing a value of type T. More...
|
| |
| void | addData (BaseData *f, const std::string &name) |
| |
| void | addData (BaseData *f) |
| |
| void | removeData (BaseData *f) |
| | Remove a data field. More...
|
| |
| void | addAlias (BaseData *field, const char *alias) |
| | Add an alias to a Data. More...
|
| |
| void | addLink (BaseLink *l) |
| | Add a link. More...
|
| |
| void | addAlias (BaseLink *link, const char *alias) |
| | Add an alias to a Link. More...
|
| |
| const VecData & | getDataFields () const |
| | Accessor to the vector containing all the fields of this object. More...
|
| |
| const MapData & | getDataAliases () const |
| | Accessor to the map containing all the aliases of this object. More...
|
| |
| const VecLink & | getLinks () const |
| | Accessor to the vector containing all the fields of this object. More...
|
| |
| const MapLink & | getLinkAliases () const |
| | Accessor to the map containing all the aliases of this object. More...
|
| |
| virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
| |
| template<class T > |
| bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
| |
| | SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE2(PairStateAccessor, DataTypes1, DataTypes2), StateAccessor) |
| |
| void | init () override |
| | Initialization method called at graph creation and modification, during top-down traversal. More...
|
| |
| MechanicalState< DataTypes1 > * | getMState1 () |
| | Retrieve the associated MechanicalState #1. More...
|
| |
| const MechanicalState< DataTypes1 > * | getMState1 () const |
| | Retrieve the associated MechanicalState #1. More...
|
| |
| BaseMechanicalState * | getMechModel1 () |
| | Retrieve the associated MechanicalState #1 as a BaseMechanicalState. More...
|
| |
| const BaseMechanicalState * | getMechModel1 () const |
| | Retrieve the associated MechanicalState #1 as a BaseMechanicalState. More...
|
| |
| MechanicalState< DataTypes2 > * | getMState2 () |
| | Retrieve the associated MechanicalState #2. More...
|
| |
| const MechanicalState< DataTypes2 > * | getMState2 () const |
| | Retrieve the associated MechanicalState #2. More...
|
| |
| BaseMechanicalState * | getMechModel2 () |
| | Retrieve the associated MechanicalState #2 as a BaseMechanicalState. More...
|
| |
| const BaseMechanicalState * | getMechModel2 () const |
| | Retrieve the associated MechanicalState #2 as a BaseMechanicalState. More...
|
| |
|
| | TriangleBendingSprings () |
| |
| | ~TriangleBendingSprings () |
| |
| void | addSpring (unsigned, unsigned) |
| |
| void | registerTriangle (unsigned, unsigned, unsigned, std::map< IndexPair, unsigned > &) |
| |
| | SpringForceField (SReal _ks=100.0, SReal _kd=5.0) |
| |
| | SpringForceField (MechanicalState *object1, MechanicalState *object2, SReal _ks=100.0, SReal _kd=5.0) |
| |
| virtual std::unique_ptr< SpringForce > | computeSpringForce (const VecCoord &p1, const VecDeriv &v1, const VecCoord &p2, const VecDeriv &v2, const Spring &spring) |
| |
| virtual void | addSpringForce (Real &potentialEnergy, VecDeriv &f1, const VecCoord &p1, const VecDeriv &v1, VecDeriv &f2, const VecCoord &p2, const VecDeriv &v2, sofa::Index, const Spring &spring) |
| |
| void | initializeTopologyHandler (sofa::core::topology::TopologySubsetIndices &indices, core::topology::BaseMeshTopology *topology, sofa::Index mstateId) |
| |
| void | updateTopologyIndicesFromSprings () |
| |
| void | updateTopologyIndicesFromSprings_springAdded () |
| |
| void | updateTopologyIndices_springRemoved (unsigned id) |
| |
| void | updateSpringsFromTopologyIndices () |
| |
| void | applyRemovedPoints (const sofa::core::topology::PointsRemoved *pointsRemoved, sofa::Index mstateId) |
| |
| void | applyRemovedEdges (const sofa::core::topology::EdgesRemoved *edgesRemoved, sofa::Index mstateId) |
| |
| | PairInteractionForceField (MechanicalState< DataTypes > *mm1=nullptr, MechanicalState< DataTypes > *mm2=nullptr) |
| |
| | ~PairInteractionForceField () override |
| |
| | BaseForceField () |
| |
| | ~BaseForceField () override=default |
| |
| | StateAccessor () |
| |
| | ~StateAccessor () override=default |
| |
| | BaseObject () |
| |
| | ~BaseObject () override |
| |
| virtual void | doUpdateInternal () |
| | Implementation of the internal update. More...
|
| |
| void | changeContextLink (BaseContext *before, BaseContext *&after) |
| |
| void | changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add) |
| | This method insures that slaves objects have master and context links set correctly. More...
|
| |
| void | trackInternalData (const BaseData &data) |
| | Method called to add the Data to the DataTracker (listing the Data to track) More...
|
| |
| void | cleanTracker () |
| |
| bool | hasDataChanged (const BaseData &data) |
| | Method called to know if a tracked Data has changed. More...
|
| |
| | Base () |
| |
| virtual | ~Base () |
| |
| void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| | Helper method used by initData() More...
|
| |
| void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags) |
| | Helper method used by initData() More...
|
| |
| template<class T > |
| void | initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| | Helper method used by initData() More...
|
| |
| virtual | ~IntrusiveObject ()=default |
| |
| | PairStateAccessor (MechanicalState< DataTypes1 > *mm1=nullptr, MechanicalState< DataTypes2 > *mm2=nullptr) |
| |
| | ~PairStateAccessor () override=default |
| |