#include <LineSetSkinningMapping.h>


Data Structures | |
| class | influencedLineType |
| class | influencedVerticeType |
Public Types | |
| typedef BasicMapping | Inherit |
| typedef Inherit::In | In |
| typedef Inherit::Out | Out |
| typedef Out::VecCoord | OutVecCoord |
| typedef Out::VecDeriv | OutVecDeriv |
| typedef Out::Coord | OutCoord |
| typedef Out::Deriv | OutDeriv |
| typedef Out::SparseVecDeriv | OutSparseVecDeriv |
| typedef Out::SparseDeriv | OutSparseDeriv |
| typedef In::VecCoord | InVecCoord |
| typedef In::VecDeriv | InVecDeriv |
| typedef In::Coord | InCoord |
| typedef In::Deriv | InDeriv |
| typedef In::SparseVecDeriv | InSparseVecDeriv |
| typedef In::SparseDeriv | InSparseDeriv |
| typedef In::Real | Real |
| typedef OutCoord::value_type | OutReal |
Public Member Functions | |
| LineSetSkinningMapping (In *from, Out *to) | |
| virtual | ~LineSetSkinningMapping () |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| void | apply (typename Out::VecCoord &out, const typename In::VecCoord &in) |
| void | applyJ (typename Out::VecDeriv &out, const typename In::VecDeriv &in) |
| void | applyJT (typename In::VecDeriv &out, const typename Out::VecDeriv &in) |
| void | applyJT (typename In::VecConst &out, const typename Out::VecConst &in) |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
Protected Member Functions | |
| bool | getShow (const core::objectmodel::BaseObject *m) const |
| bool | getShow (const core::componentmodel::behavior::BaseMechanicalMapping *m) const |
Protected Attributes | |
| sofa::core::componentmodel::topology::BaseMeshTopology * | t |
| Data< unsigned int > | nvNeighborhood |
| Data< unsigned int > | numberInfluencedLines |
| Data< int > | weightCoef |
Private Member Functions | |
| Vec< 3, double > | projectToSegment (Vec< 3, Real > &first, Vec< 3, Real > &last, OutCoord &vertice) |
| double | convolutionSegment (Vec< 3, Real > &first, Vec< 3, Real > &last, OutCoord &vertice) |
Private Attributes | |
| vector< vector < influencedLineType > > | linesInfluencedByVertice |
| vector< vector < influencedVerticeType > > | verticesInfluencedByLine |
| vector< std::set< int > > | neighborhoodLinesSet |
| vector< std::set< int > > | neighborhood |
Definition at line 49 of file LineSetSkinningMapping.h.
| typedef Inherit::In sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::In |
Definition at line 53 of file LineSetSkinningMapping.h.
| typedef In::Coord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InCoord |
Definition at line 63 of file LineSetSkinningMapping.h.
| typedef In::Deriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InDeriv |
Definition at line 64 of file LineSetSkinningMapping.h.
| typedef BasicMapping sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::Inherit |
Definition at line 52 of file LineSetSkinningMapping.h.
| typedef In::SparseDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InSparseDeriv |
Definition at line 66 of file LineSetSkinningMapping.h.
| typedef In::SparseVecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InSparseVecDeriv |
Definition at line 65 of file LineSetSkinningMapping.h.
| typedef In::VecCoord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InVecCoord |
Definition at line 61 of file LineSetSkinningMapping.h.
| typedef In::VecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InVecDeriv |
Definition at line 62 of file LineSetSkinningMapping.h.
| typedef Inherit::Out sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::Out |
Definition at line 54 of file LineSetSkinningMapping.h.
| typedef Out::Coord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutCoord |
Definition at line 57 of file LineSetSkinningMapping.h.
| typedef Out::Deriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutDeriv |
Definition at line 58 of file LineSetSkinningMapping.h.
| typedef OutCoord::value_type sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutReal |
Definition at line 68 of file LineSetSkinningMapping.h.
| typedef Out::SparseDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutSparseDeriv |
Definition at line 60 of file LineSetSkinningMapping.h.
| typedef Out::SparseVecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutSparseVecDeriv |
Definition at line 59 of file LineSetSkinningMapping.h.
| typedef Out::VecCoord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutVecCoord |
Definition at line 55 of file LineSetSkinningMapping.h.
| typedef Out::VecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutVecDeriv |
Definition at line 56 of file LineSetSkinningMapping.h.
| typedef In::Real sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::Real |
Definition at line 67 of file LineSetSkinningMapping.h.
| sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::LineSetSkinningMapping | ( | In * | from, | |
| Out * | to | |||
| ) | [inline] |
Definition at line 71 of file LineSetSkinningMapping.h.
| virtual sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::~LineSetSkinningMapping | ( | ) | [inline, virtual] |
Definition at line 79 of file LineSetSkinningMapping.h.
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::apply | ( | typename Out::VecCoord & | out, | |
| const typename In::VecCoord & | in | |||
| ) | [inline] |
Definition at line 233 of file LineSetSkinningMapping.inl.
References sofa::core::componentmodel::topology::BaseMeshTopology::getLine(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::lineIndex, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::position, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::weight.
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJ | ( | typename Out::VecDeriv & | out, | |
| const typename In::VecDeriv & | in | |||
| ) | [inline] |
Definition at line 248 of file LineSetSkinningMapping.inl.
References sofa::defaulttype::Vec< N, real >::cross(), sofa::core::componentmodel::topology::BaseMeshTopology::getLine(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::lineIndex, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::position, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::weight.
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT | ( | typename In::VecConst & | out, | |
| const typename Out::VecConst & | in | |||
| ) | [inline] |
Definition at line 283 of file LineSetSkinningMapping.inl.
References sofa::defaulttype::Vec< N, real >::cross(), sofa::core::componentmodel::topology::BaseMeshTopology::getLine(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::lineIndex, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::position, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedLineType::weight.
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT | ( | typename In::VecDeriv & | out, | |
| const typename Out::VecDeriv & | in | |||
| ) | [inline] |
Definition at line 266 of file LineSetSkinningMapping.inl.
References sofa::defaulttype::Vec< N, real >::cross(), sofa::core::componentmodel::topology::BaseMeshTopology::getLine(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbLines(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::position, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::verticeIndex, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::verticesInfluencedByLine, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::weight.
| double sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::convolutionSegment | ( | Vec< 3, Real > & | first, | |
| Vec< 3, Real > & | last, | |||
| OutCoord & | vertice | |||
| ) | [inline, private] |
Compute the weight betwewen a vertice and a line
Definition at line 64 of file LineSetSkinningMapping.inl.
References sofa::core::objectmodel::Data< T >::getValue(), sofa::defaulttype::Vec< N, real >::norm(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::weightCoef.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init().
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 199 of file LineSetSkinningMapping.inl.
| bool sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::getShow | ( | const core::componentmodel::behavior::BaseMechanicalMapping * | m | ) | const [inline, protected] |
Definition at line 118 of file LineSetSkinningMapping.h.
References sofa::core::objectmodel::BaseObject::getContext(), and sofa::core::objectmodel::BaseContext::getShowMechanicalMappings().
| bool sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::getShow | ( | const core::objectmodel::BaseObject * | m | ) | const [inline, protected] |
Definition at line 116 of file LineSetSkinningMapping.h.
References sofa::core::objectmodel::BaseObject::getContext(), and sofa::core::objectmodel::BaseContext::getShowMappings().
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 84 of file LineSetSkinningMapping.inl.
References sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::convolutionSegment(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::topology::BaseMeshTopology::getLine(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbLines(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhood, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhoodLinesSet, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::numberInfluencedLines, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::nvNeighborhood, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::position, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::verticeIndex, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::verticesInfluencedByLine, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::influencedVerticeType::weight.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit().
| Vec< 3, double > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::projectToSegment | ( | Vec< 3, Real > & | first, | |
| Vec< 3, Real > & | last, | |||
| OutCoord & | vertice | |||
| ) | [inline, private] |
Compute the perpendicular distance from a vertice to a line
Definition at line 41 of file LineSetSkinningMapping.inl.
References sofa::defaulttype::Vec< N, real >::norm().
| void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 188 of file LineSetSkinningMapping.inl.
References sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhood, sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhoodLinesSet, and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::verticesInfluencedByLine.
vector<vector<influencedLineType> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::linesInfluencedByVertice [private] |
Stores the lines influenced by each vertice
Definition at line 167 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::apply(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJ(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit().
vector<std::set<int> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhood [private] |
Stores the n level line neighborhood
Definition at line 182 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit().
vector<std::set<int> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhoodLinesSet [private] |
Stores the first level line neighborhood
Definition at line 177 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit().
Data<unsigned int> sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::numberInfluencedLines [protected] |
Set the number of most influenced lines by each vertice
Definition at line 109 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init().
Data<unsigned int> sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::nvNeighborhood [protected] |
Set the neighborhood line level
Definition at line 104 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init().
sofa::core::componentmodel::topology::BaseMeshTopology* sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::t [protected] |
Definition at line 99 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::apply(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJ(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init().
vector<vector<influencedVerticeType> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::verticesInfluencedByLine [private] |
Stores the vertices influenced by each line
Definition at line 172 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit().
Data<int> sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::weightCoef [protected] |
Set the coefficient used to compute the weight of lines
Definition at line 114 of file LineSetSkinningMapping.h.
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::convolutionSegment().
1.5.7.1