Specialized interface to describe many to many mapping. The inputs can be of two different types, while all the outputs must be of the same type.
More...
template<class TIn1, class TIn2, class TOut>
class sofa::core::Multi2Mapping< TIn1, TIn2, TOut >
Specialized interface to describe many to many mapping. The inputs can be of two different types, while all the outputs must be of the same type.
|
| | SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE3(Multi2Mapping, TIn1, TIn2, TOut), BaseMapping) |
| |
| virtual void | addInputModel1 (State< In1 > *, const std::string &path="") |
| |
| virtual void | addInputModel2 (State< In2 > *, const std::string &path="") |
| |
| virtual void | addOutputModel (State< Out > *, const std::string &path="") |
| |
| const VecFromModels1 & | getFromModels1 () |
| | Return the reference to fromModels (In1). More...
|
| |
| const VecFromModels2 & | getFromModels2 () |
| | Return the reference to fromModels (In2). More...
|
| |
| const VecToModels & | getToModels () |
| | Return reference to toModels. More...
|
| |
| type::vector< BaseState * > | getFrom () override |
| | Return a container of input models statically casted as BaseObject*. More...
|
| |
| type::vector< BaseState * > | getTo () override |
| | Return container of output model statically casted as BaseObject*. More...
|
| |
| virtual type::vector< behavior::BaseMechanicalState * > | getMechFrom () override |
| | Get the source (upper) model. More...
|
| |
| virtual type::vector< behavior::BaseMechanicalState * > | getMechTo () override |
| | Get the destination (lower, mapped) model. More...
|
| |
| void | apply (const MechanicalParams *mparams, MultiVecCoordId outPos, ConstMultiVecCoordId inPos) override |
| |
| virtual void | apply (const MechanicalParams *mparams, const type::vector< DataVecCoord_t< Out > * > &dataVecOutPos, const type::vector< const DataVecCoord_t< In1 > * > &dataVecIn1Pos, const type::vector< const DataVecCoord_t< In2 > * > &dataVecIn2Pos)=0 |
| |
| void | applyJ (const MechanicalParams *mparams, MultiVecDerivId outVel, ConstMultiVecDerivId inVel) override |
| |
| virtual void | applyJ (const MechanicalParams *, const type::vector< DataVecDeriv_t< Out > * > &dataVecOutVel, const type::vector< const DataVecDeriv_t< In1 > * > &dataVecIn1Vel, const type::vector< const DataVecDeriv_t< In2 > * > &dataVecIn2Vel) |
| |
| virtual void | applyJ (const type::vector< VecDeriv_t< Out > * > &, const type::vector< const VecDeriv_t< In1 > * > &, const type::vector< const VecDeriv_t< In2 > * > &) |
| |
| void | applyJT (const MechanicalParams *mparams, MultiVecDerivId inForce, ConstMultiVecDerivId outForce) override |
| |
| virtual void | applyJT (const MechanicalParams *mparams, const type::vector< DataVecDeriv_t< In1 > * > &dataVecOut1Force, const type::vector< DataVecDeriv_t< In2 > * > &dataVecOut2Force, const type::vector< const DataVecDeriv_t< Out > * > &dataVecInForce)=0 |
| |
| void | applyJT (const ConstraintParams *cparams, MultiMatrixDerivId inConst, ConstMultiMatrixDerivId outConst) override |
| | ApplyJT (Constraint)///. More...
|
| |
| virtual void | applyJT (const ConstraintParams *, const type::vector< DataMatrixDeriv_t< In1 > * > &, const type::vector< DataMatrixDeriv_t< In2 > * > &, const type::vector< const DataMatrixDeriv_t< Out > * > &) |
| | This method must be reimplemented by all mappings if they need to support constraints. More...
|
| |
| void | computeAccFromMapping (const MechanicalParams *mparams, MultiVecDerivId outAcc, ConstMultiVecDerivId inVel, ConstMultiVecDerivId inAcc) override |
| | computeAccFromMapping More...
|
| |
| virtual void | computeAccFromMapping (const MechanicalParams *, const type::vector< DataVecDeriv_t< Out > * > &, const type::vector< const DataVecDeriv_t< In1 > * > &, const type::vector< const DataVecDeriv_t< In2 > * > &, const type::vector< const DataVecDeriv_t< In1 > * > &, const type::vector< const DataVecDeriv_t< In2 > * > &) |
| | This method must be reimplemented by all mappings if they need to support composite accelerations. More...
|
| |
| void | init () override |
| | Initialization method called at graph creation and modification, during top-down traversal. More...
|
| |
| void | disable () override |
| |
| | SOFA_ABSTRACT_CLASS (BaseMapping, objectmodel::BaseObject) |
| |
| virtual bool | isLinear () const |
| |
| virtual bool | setFrom (BaseState *from) |
| | If the type is compatible set the input model and return true, otherwise do nothing and return false. More...
|
| |
| virtual bool | setTo (BaseState *to) |
| | If the type is compatible set the output model and return true, otherwise do nothing and return false. More...
|
| |
| virtual bool | isMechanical () const |
| | Return true if this mapping should be used as a mechanical mapping. More...
|
| |
| virtual bool | sameTopology () const |
| |
| virtual const sofa::linearalgebra::BaseMatrix * | getJ (const MechanicalParams *) |
| |
| virtual const sofa::linearalgebra::BaseMatrix * | getJ () |
| |
| virtual sofa::linearalgebra::BaseMatrix * | createMappedMatrix (const behavior::BaseMechanicalState *state1, const behavior::BaseMechanicalState *state2, func_createMappedMatrix) |
| |
| bool | insertInNode (objectmodel::BaseNode *node) override |
| |
| bool | removeInNode (objectmodel::BaseNode *node) override |
| |
| virtual void | applyDJT (const MechanicalParams *mparams, MultiVecDerivId inForce, ConstMultiVecDerivId outForce)=0 |
| | Accumulate a change of parent force due to the change of the mapping, for a constant child force. Null for linear mappings. More...
|
| |
| virtual bool | areForcesMapped () const |
| |
| virtual bool | areConstraintsMapped () const |
| |
| virtual bool | areMassesMapped () const |
| |
| virtual bool | areMatricesMapped () const |
| |
| virtual void | setForcesMapped (bool b) |
| |
| virtual void | setConstraintsMapped (bool b) |
| |
| virtual void | setMassesMapped (bool b) |
| |
| virtual void | setMatricesMapped (bool b) |
| |
| virtual void | setNonMechanical () |
| |
| virtual const type::vector< sofa::linearalgebra::BaseMatrix * > * | getJs () |
| |
| virtual void | updateK (const MechanicalParams *, ConstMultiVecDerivId) |
| |
| virtual const linearalgebra::BaseMatrix * | getK () |
| |
| virtual void | buildGeometricStiffnessMatrix (sofa::core::GeometricStiffnessMatrix *matrices) |
| | Assembles the geometric stiffness matrix of the mapping in the provided matrix object. More...
|
| |
| | SOFA_CLASS (BaseObject, Base) |
| |
| virtual void | draw (const core::visual::VisualParams *) |
| | Render internal data of this object, for debugging purposes. More...
|
| |
| virtual void | computeBBox (const core::ExecParams *, bool=false) |
| |
| 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...
|
| |
| 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) |
| |
|
| | Multi2Mapping () |
| | Constructor. More...
|
| |
| | ~Multi2Mapping () override |
| | Destructor. More...
|
| |
| void | getVecIn1Coord (const MultiVecCoordId id, type::vector< DataVecCoord_t< In1 > * > &v) const |
| |
| void | getConstVecIn1Coord (const ConstMultiVecCoordId id, type::vector< const DataVecCoord_t< In1 > * > &v) const |
| |
| void | getVecIn1Deriv (const MultiVecDerivId id, type::vector< DataVecDeriv_t< In1 > * > &v) const |
| |
| void | getConstVecIn1Deriv (const ConstMultiVecDerivId id, type::vector< const DataVecDeriv_t< In1 > * > &v) const |
| |
| void | getMatIn1Deriv (const MultiMatrixDerivId id, type::vector< DataMatrixDeriv_t< In1 > * > &v) const |
| |
| void | getConstMatIn1Deriv (const ConstMultiMatrixDerivId id, type::vector< const DataMatrixDeriv_t< In1 > * > &v) const |
| |
| void | getVecIn2Coord (const MultiVecCoordId id, type::vector< DataVecCoord_t< In2 > * > &v) const |
| |
| void | getConstVecIn2Coord (const ConstMultiVecCoordId id, type::vector< const DataVecCoord_t< In2 > * > &v) const |
| |
| void | getVecIn2Deriv (const MultiVecDerivId id, type::vector< DataVecDeriv_t< In2 > * > &v) const |
| |
| void | getConstVecIn2Deriv (const ConstMultiVecDerivId id, type::vector< const DataVecDeriv_t< In2 > * > &v) const |
| |
| void | getMatIn2Deriv (const MultiMatrixDerivId id, type::vector< DataMatrixDeriv_t< In2 > * > &v) const |
| |
| void | getConstMatIn2Deriv (const ConstMultiMatrixDerivId id, type::vector< const DataMatrixDeriv_t< In2 > * > &v) const |
| |
| void | getVecOutCoord (const MultiVecCoordId id, type::vector< DataVecCoord_t< Out > * > &v) const |
| |
| void | getConstVecOutCoord (const ConstMultiVecCoordId id, type::vector< const DataVecCoord_t< Out > * > &v) const |
| |
| void | getVecOutDeriv (const MultiVecDerivId id, type::vector< DataVecDeriv_t< Out > * > &v) const |
| |
| void | getConstVecOutDeriv (const ConstMultiVecDerivId id, type::vector< const DataVecDeriv_t< Out > * > &v) const |
| |
| void | getMatOutDeriv (const MultiMatrixDerivId id, type::vector< DataMatrixDeriv_t< Out > * > &v) const |
| |
| void | getConstMatOutDeriv (const ConstMultiMatrixDerivId id, type::vector< const DataMatrixDeriv_t< Out > * > &v) const |
| |
| | BaseMapping () |
| | Constructor. More...
|
| |
| | ~BaseMapping () override |
| | Destructor. More...
|
| |
| bool | testMechanicalState (BaseState *state) |
| |
| | 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 |
| |