sofa::component::mapping::LineSetSkinningMapping< BasicMapping > Class Template Reference

#include <LineSetSkinningMapping.h>

Inheritance diagram for sofa::component::mapping::LineSetSkinningMapping< BasicMapping >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::mapping::LineSetSkinningMapping< BasicMapping >:

Collaboration graph
[legend]

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

Detailed Description

template<class BasicMapping>
class sofa::component::mapping::LineSetSkinningMapping< BasicMapping >

Definition at line 49 of file LineSetSkinningMapping.h.


Member Typedef Documentation

template<class BasicMapping >
typedef Inherit::In sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::In

Definition at line 53 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::Coord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InCoord

Definition at line 63 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::Deriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InDeriv

Definition at line 64 of file LineSetSkinningMapping.h.

Definition at line 52 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::SparseDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InSparseDeriv

Definition at line 66 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::SparseVecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InSparseVecDeriv

Definition at line 65 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::VecCoord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InVecCoord

Definition at line 61 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::VecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::InVecDeriv

Definition at line 62 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Inherit::Out sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::Out

Definition at line 54 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::Coord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutCoord

Definition at line 57 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::Deriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutDeriv

Definition at line 58 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef OutCoord::value_type sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutReal

Definition at line 68 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::SparseDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutSparseDeriv

Definition at line 60 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::SparseVecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutSparseVecDeriv

Definition at line 59 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::VecCoord sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutVecCoord

Definition at line 55 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef Out::VecDeriv sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::OutVecDeriv

Definition at line 56 of file LineSetSkinningMapping.h.

template<class BasicMapping >
typedef In::Real sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::Real

Definition at line 67 of file LineSetSkinningMapping.h.


Constructor & Destructor Documentation

template<class BasicMapping >
sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::LineSetSkinningMapping ( In *  from,
Out *  to 
) [inline]

Definition at line 71 of file LineSetSkinningMapping.h.

template<class BasicMapping >
virtual sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::~LineSetSkinningMapping (  )  [inline, virtual]

Definition at line 79 of file LineSetSkinningMapping.h.


Member Function Documentation

template<class BasicMapping >
void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::apply ( typename Out::VecCoord &  out,
const typename In::VecCoord &  in 
) [inline]

template<class BasicMapping >
void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJ ( typename Out::VecDeriv &  out,
const typename In::VecDeriv &  in 
) [inline]

template<class BasicMapping >
void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT ( typename In::VecConst &  out,
const typename Out::VecConst &  in 
) [inline]

template<class BasicMapping >
void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT ( typename In::VecDeriv &  out,
const typename Out::VecDeriv &  in 
) [inline]

template<class BasicMapping >
double sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::convolutionSegment ( Vec< 3, Real > &  first,
Vec< 3, Real > &  last,
OutCoord &  vertice 
) [inline, private]

template<class BasicMapping >
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.

template<class BasicMapping >
bool sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::getShow ( const core::componentmodel::behavior::BaseMechanicalMapping *  m  )  const [inline, protected]

template<class BasicMapping >
bool sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::getShow ( const core::objectmodel::BaseObject *  m  )  const [inline, protected]

template<class BasicMapping >
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().

template<class BasicMapping >
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().

template<class BasicMapping >
void sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::reinit (  )  [inline, virtual]


Field Documentation

template<class BasicMapping >
vector<std::set<int> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhood [private]

template<class BasicMapping >
vector<std::set<int> > sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::neighborhoodLinesSet [private]

template<class BasicMapping >
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().

template<class BasicMapping >
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().

template<class BasicMapping >
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().


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:21:02 2008 for Sofa by  doxygen 1.5.7.1