Component storing all state vectors of a simulated body (position, velocity, etc), using the datatype specified in the template.  
 More...
|  | 
|  | SOFA_CLASS2 (SOFA_TEMPLATE(MechanicalState, TDataTypes), BaseMechanicalState, SOFA_TEMPLATE(State, TDataTypes)) | 
|  | 
| Size | getCoordDimension () const override | 
|  | 
| Size | getDerivDimension () const override | 
|  | 
| virtual void | getIndicesInSpace (sofa::type::vector< Index > &, Real, Real, Real, Real, Real, Real) const =0 | 
|  | Get the indices of the particles located in the given bounding box.  More... 
 | 
|  | 
| void | copyToBuffer (SReal *dst, ConstVecId src, unsigned n) const override | 
|  | 
| void | copyFromBuffer (VecId dst, const SReal *src, unsigned n) override | 
|  | 
| void | addFromBuffer (VecId dst, const SReal *src, unsigned n) override | 
|  | 
|  | SOFA_ABSTRACT_CLASS (BaseMechanicalState, BaseState) | 
|  | 
|  | SOFA_BASE_CAST_IMPLEMENTATION (BaseMechanicalState) | 
|  | 
| bool | insertInNode (objectmodel::BaseNode *node) override | 
|  | 
| bool | removeInNode (objectmodel::BaseNode *node) override | 
|  | 
| virtual SReal | getPX (Index) const | 
|  | 
| virtual SReal | getPY (Index) const | 
|  | 
| virtual SReal | getPZ (Index) const | 
|  | 
| virtual void | beginIntegration (SReal) | 
|  | Called at the beginning of each integration step.  More... 
 | 
|  | 
| virtual void | endIntegration (const ExecParams *params, SReal) | 
|  | Called at the end of each integration step.  More... 
 | 
|  | 
| virtual void | resetForce (const ExecParams *params, VecDerivId f=vec_id::write_access::force) | 
|  | Set F = 0.  More... 
 | 
|  | 
| virtual void | resetAcc (const ExecParams *params, VecDerivId a=vec_id::write_access::dx) | 
|  | Set Acc =0.  More... 
 | 
|  | 
| virtual void | accumulateForce (const ExecParams *params, VecDerivId f=vec_id::write_access::force) | 
|  | Add stored external forces to F.  More... 
 | 
|  | 
| virtual void | resetConstraint (const ConstraintParams *params)=0 | 
|  | Reset the constraint matrix.  More... 
 | 
|  | 
| virtual void | getConstraintJacobian (const ConstraintParams *params, sofa::linearalgebra::BaseMatrix *J, unsigned int &off)=0 | 
|  | build the jacobian of the constraint in a baseMatrix  More... 
 | 
|  | 
| virtual void | buildIdentityBlocksInJacobian (const sofa::type::vector< unsigned int > &list_n, core::MatrixDerivId &mID)=0 | 
|  | fill the jacobian matrix (of the constraints) with identity blocks on the provided list of nodes(dofs)  More... 
 | 
|  | 
| virtual std::list< ConstraintBlock > | constraintBlocks (const std::list< unsigned int > &) const | 
|  | Express the matrix L in term of block of matrices, using the indices of the lines in the MatrixDeriv container.  More... 
 | 
|  | 
| virtual SReal | getConstraintJacobianTimesVecDeriv (unsigned int, ConstVecId) | 
|  | Compute the error given a state vector and a line of the Jacobian (line in vector C)  More... 
 | 
|  | 
| virtual void | handleStateChange () | 
|  | 
| virtual void | handleStateChange (core::topology::Topology *t) | 
|  | Handle state Changes from a given Topology.  More... 
 | 
|  | 
| virtual void | writeState (std::ostream &out) | 
|  | Write current state to the given output stream.  More... 
 | 
|  | 
| virtual void | applyTranslation (const SReal dx, const SReal dy, const SReal dz)=0 | 
|  | Translate the current state.  More... 
 | 
|  | 
| virtual void | applyRotation (const SReal, const SReal, const SReal) | 
|  | Rotate the current state.  More... 
 | 
|  | 
| virtual void | applyRotation (const type::Quat< SReal > q)=0 | 
|  | Rotate the current state.  More... 
 | 
|  | 
| virtual void | applyScale (const SReal, const SReal, const SReal)=0 | 
|  | Scale the current state.  More... 
 | 
|  | 
| virtual type::Vec3 | getScale () const | 
|  | 
| virtual bool | addBBox (SReal *, SReal *) | 
|  | 
| virtual bool | pickParticles (const ExecParams *, double, double, double, double, double, double, double, double, std::multimap< double, std::pair< sofa::core::behavior::BaseMechanicalState *, int > > &) | 
|  | Find mechanical particles hit by the given ray.  More... 
 | 
|  | 
| virtual Size | getMatrixBlockSize () const | 
|  | Get the number of scalars per Deriv value, as necessary to build mechanical matrices and vectors.  More... 
 | 
|  | 
| virtual Size | getMatrixSize () const | 
|  | Get the number of rows necessary to build mechanical matrices and vectors.  More... 
 | 
|  | 
| virtual void | copyToBaseVector (linearalgebra::BaseVector *dest, ConstVecId src, unsigned int &offset)=0 | 
|  | Copy data to a global BaseVector from the state stored in a local vector.  More... 
 | 
|  | 
| virtual void | copyFromBaseVector (VecId dest, const linearalgebra::BaseVector *src, unsigned int &offset)=0 | 
|  | Copy data to a local vector from the state stored in a global BaseVector.  More... 
 | 
|  | 
| virtual void | copyToBaseMatrix (linearalgebra::BaseMatrix *dest, ConstMatrixDerivId src, unsigned int &offset)=0 | 
|  | Copy data to a global BaseMatrix from the state stored in a local vector.  More... 
 | 
|  | 
| virtual void | copyToBuffer (SReal *dst, ConstVecId src, unsigned int n) const =0 | 
|  | Copy data to an external, user-allocated buffer.  More... 
 | 
|  | 
| virtual void | copyFromBuffer (VecId dst, const SReal *src, unsigned int n)=0 | 
|  | Copy data from an external, user-allocated buffer.  More... 
 | 
|  | 
| virtual void | addFromBuffer (VecId dst, const SReal *src, unsigned int n)=0 | 
|  | Add data from an external, user-allocated buffer.  More... 
 | 
|  | 
| virtual void | addToBaseVector (linearalgebra::BaseVector *dest, ConstVecId src, unsigned int &offset)=0 | 
|  | Add data to a global BaseVector from the state stored in a local vector.  More... 
 | 
|  | 
| virtual void | addFromBaseVectorSameSize (VecId dest, const linearalgebra::BaseVector *src, unsigned int &offset)=0 | 
|  | Perform dest[i][j] += src[offset + i][j] 0<= i < src_entries 0<= j < 3 (for 3D objects) 0 <= j < 2 (for 2D objects)  More... 
 | 
|  | 
| virtual void | addFromBaseVectorDifferentSize (VecId dest, const linearalgebra::BaseVector *src, unsigned int &offset)=0 | 
|  | Perform dest[ offset + i ][j] += src[i][j] 0<= i < src_entries 0<= j < 3 (for 3D objects) 0 <= j < 2 (for 2D objects)  More... 
 | 
|  | 
| virtual void | printDOF (ConstVecId v, std::ostream &out=std::cerr, int firstIndex=0, int range=-1) const =0 | 
|  | 
| virtual unsigned | printDOFWithElapsedTime (ConstVecId, unsigned=0, unsigned=0, std::ostream &=std::cerr) | 
|  | 
| virtual void | initGnuplot (const std::string) | 
|  | 
| virtual void | exportGnuplot (SReal) | 
|  | 
| virtual void | writeVec (ConstVecId v, std::ostream &out)=0 | 
|  | 
| virtual void | readVec (VecId v, std::istream &in)=0 | 
|  | 
| virtual SReal | compareVec (ConstVecId v, std::istream &in)=0 | 
|  | 
| virtual void | vAvail (const ExecParams *params, VecCoordId &v)=0 | 
|  | 
| virtual void | vAvail (const ExecParams *params, VecDerivId &v)=0 | 
|  | Increment the index of the given VecDerivId, so that all 'allocated' vectors in this state have a lower index.  More... 
 | 
|  | 
| virtual void | vAlloc (const ExecParams *params, VecCoordId v, const core::VecIdProperties &properties={})=0 | 
|  | Increment the index of the given MatrixDerivId, so that all 'allocated' vectors in this state have a lower index.  More... 
 | 
|  | 
| virtual void | vAlloc (const ExecParams *params, VecDerivId v, const core::VecIdProperties &properties={})=0 | 
|  | Allocate a new temporary vector.  More... 
 | 
|  | 
| virtual void | vRealloc (const ExecParams *params, VecCoordId v, const core::VecIdProperties &properties={})=0 | 
|  | Allocate a new temporary vector.  More... 
 | 
|  | 
| virtual void | vRealloc (const ExecParams *params, VecDerivId v, const core::VecIdProperties &properties={})=0 | 
|  | Reallocate a new temporary vector.  More... 
 | 
|  | 
| virtual void | vFree (const ExecParams *params, VecCoordId v)=0 | 
|  | Free a temporary vector.  More... 
 | 
|  | 
| virtual void | vFree (const ExecParams *params, VecDerivId v)=0 | 
|  | Free a temporary vector.  More... 
 | 
|  | 
| virtual void | vInit (const ExecParams *params, VecCoordId v, ConstVecCoordId vSrc)=0 | 
|  | Free a temporary vector.  More... 
 | 
|  | 
| virtual void | vInit (const ExecParams *params, VecDerivId v, ConstVecDerivId vSrc)=0 | 
|  | Initialize an unset vector.  More... 
 | 
|  | 
| virtual void | vOp (const ExecParams *params, VecId v, ConstVecId a=ConstVecId::null(), ConstVecId b=ConstVecId::null(), SReal f=1.0)=0 | 
|  | Initialize an unset vector.  More... 
 | 
|  | 
| virtual void | vMultiOp (const ExecParams *params, const VMultiOp &ops) | 
|  | Perform a sequence of linear vector accumulation operation $r_i = sum_j (v_j*f_{ij})$.  More... 
 | 
|  | 
| virtual SReal | vDot (const ExecParams *params, ConstVecId a, ConstVecId b)=0 | 
|  | Compute the scalar products between two vectors.  More... 
 | 
|  | 
| virtual SReal | vSum (const ExecParams *params, ConstVecId a, unsigned l)=0 | 
|  | Sum of the entries of state vector a at the power of l>0. This is used to compute the l-norm of the vector.  More... 
 | 
|  | 
| virtual SReal | vMax (const ExecParams *params, ConstVecId a)=0 | 
|  | Maximum of the absolute values of the entries of state vector a. This is used to compute the infinite-norm of the vector.  More... 
 | 
|  | 
| virtual Size | vSize (const ExecParams *params, ConstVecId v)=0 | 
|  | Get vector size.  More... 
 | 
|  | 
| virtual void | vThreshold (VecId a, SReal threshold)=0 | 
|  | Apply a threshold (lower bound) to all entries.  More... 
 | 
|  | 
|  | SOFA_ABSTRACT_CLASS (BaseState, objectmodel::BaseObject) | 
|  | 
| virtual Size | getSize () const =0 | 
|  | Current size of all stored vectors.  More... 
 | 
|  | 
| virtual void | resize (Size vsize)=0 | 
|  | Resize all stored vector.  More... 
 | 
|  | 
|  | SOFA_CLASS (BaseObject, Base) | 
|  | 
| virtual void | draw (const core::visual::VisualParams *) | 
|  | Render internal data of this object, for debugging purposes.  More... 
 | 
|  | 
| 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 | init () | 
|  | Initialization method called at graph creation and modification, during top-down traversal.  More... 
 | 
|  | 
| virtual void | bwdInit () | 
|  | Initialization method called at graph creation and modification, during bottom-up traversal.  More... 
 | 
|  | 
| virtual void | reinit () | 
|  | Update method called when variables used in precomputation are modified.  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_CLASS (SOFA_TEMPLATE(State, TDataTypes), BaseState) | 
|  | 
| sofa::type::TBoundingBox< Real > | computeBBox () const | 
|  | Compute the bounding box independently from the visibility parameters.  More... 
 | 
|  | 
| void | computeBBox (const core::ExecParams *params, bool onlyVisible=false) override | 
|  | 
| virtual Data< VecCoord > * | write (VecCoordId v)=0 | 
|  | 
| virtual const Data< VecCoord > * | read (ConstVecCoordId v) const =0 | 
|  | 
| virtual Data< VecDeriv > * | write (VecDerivId v)=0 | 
|  | 
| virtual const Data< VecDeriv > * | read (ConstVecDerivId v) const =0 | 
|  | 
| virtual Data< MatrixDeriv > * | write (MatrixDerivId v)=0 | 
|  | 
| virtual const Data< MatrixDeriv > * | read (ConstMatrixDerivId v) const =0 | 
|  | 
| objectmodel::BaseData * | baseWrite (VecId v) override | 
|  | 
| const objectmodel::BaseData * | baseRead (ConstVecId v) const override | 
|  | 
| ReadVecCoord | readPositions () const | 
|  | 
| WriteVecCoord | writePositions () | 
|  | 
| WriteOnlyVecCoord | writeOnlyPositions () | 
|  | 
| ReadVecCoord | readRestPositions () const | 
|  | 
| WriteVecCoord | writeRestPositions () | 
|  | 
| WriteOnlyVecCoord | writeOnlyRestPositions () | 
|  | 
| ReadVecDeriv | readVelocities () const | 
|  | 
| WriteVecDeriv | writeVelocities () | 
|  | 
| WriteOnlyVecDeriv | writeOnlyVelocities () | 
|  | 
| ReadVecDeriv | readForces () const | 
|  | 
| WriteVecDeriv | writeForces () | 
|  | 
| WriteOnlyVecDeriv | writeOnlyForces () | 
|  | 
| ReadVecDeriv | readDx () const | 
|  | 
| WriteVecDeriv | writeDx () | 
|  | 
| WriteOnlyVecDeriv | writeOnlyDx () | 
|  | 
| ReadVecDeriv | readNormals () const | 
|  | 
| const AccumulationVecId< TDataTypes, V_DERIV, V_READ > & | readTotalForces () const | 
|  | Returns a proxy objects offering simplified access to elements of the cumulative sum of all force containers.  More... 
 | 
|  | 
| void | addToTotalForces (core::ConstVecDerivId forceId) override | 
|  | The provided VecDerivId will contribute to the sum of all force containers.  More... 
 | 
|  | 
| void | removeFromTotalForces (core::ConstVecDerivId forceId) override | 
|  |