Component storing all state vectors of a simulated body (position, velocity, etc), using the datatype specified in the templace.
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=VecDerivId::force()) |
| Set F = 0. More...
|
|
virtual void | resetAcc (const ExecParams *params, VecDerivId a=VecDerivId::dx()) |
| Set Acc =0. More...
|
|
virtual void | accumulateForce (const ExecParams *params, VecDerivId f=VecDerivId::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 |
|
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) |
| 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 |
|