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

#include <BarycentricMapping.h>

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

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

Collaboration graph
[legend]

Detailed Description

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

Definition at line 363 of file BarycentricMapping.h.


Public Types

typedef BasicMapping Inherit
typedef Inherit::In In
typedef Inherit::Out Out
typedef In::DataTypes InDataTypes
typedef
InDataTypes::VecCoord 
InVecCoord
typedef
InDataTypes::VecDeriv 
InVecDeriv
typedef
InDataTypes::Coord 
InCoord
typedef
InDataTypes::Deriv 
InDeriv
typedef
InDataTypes::SparseVecDeriv 
InSparseVecDeriv
typedef
InDataTypes::SparseDeriv 
InSparseDeriv
typedef InDataTypes::Real Real
typedef Out::DataTypes OutDataTypes
typedef
OutDataTypes::VecCoord 
OutVecCoord
typedef
OutDataTypes::VecDeriv 
OutVecDeriv
typedef
OutDataTypes::Coord 
OutCoord
typedef
OutDataTypes::Deriv 
OutDeriv
typedef
OutDataTypes::SparseVecDeriv 
OutSparseVecDeriv
typedef
OutDataTypes::SparseDeriv 
OutSparseDeriv
typedef
OutDataTypes::Real 
OutReal

Public Member Functions

 BarycentricMapping (In *from, Out *to)
 BarycentricMapping (In *from, Out *to, Mapper *mapper)
virtual ~BarycentricMapping ()
void init ()
 Initialization method called after each graph modification.
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 ()
void initTextures ()
void update ()

Protected Types

typedef
BarycentricMapper
< InDataTypes,
OutDataTypes
Mapper
typedef
TopologyBarycentricMapper
< topology::MeshTopology,
InDataTypes,
OutDataTypes
MeshMapper
typedef
TopologyBarycentricMapper
< topology::TriangleSetTopology
< InDataTypes >,
InDataTypes,
OutDataTypes
TriangleSetMapper
typedef
TopologyBarycentricMapper
< topology::RegularGridTopology,
InDataTypes,
OutDataTypes
RegularGridMapper
typedef
TopologyBarycentricMapper
< topology::SparseGridTopology,
InDataTypes,
OutDataTypes
SparseGridMapper

Protected Member Functions

void calcMap (topology::RegularGridTopology *topo)
void calcMap (topology::SparseGridTopology *topo)
void calcMap (topology::MeshTopology *topo)
void calcMap (topology::TriangleSetTopology< InDataTypes > *topo)
bool getShow (const core::objectmodel::BaseObject *m) const
bool getShow (const core::componentmodel::behavior::BaseMechanicalMapping *m) const

Protected Attributes

Mappermapper
DataPtr
< RegularGridMapper > * 
f_grid
DataPtr
< SparseGridMapper > * 
f_sparsegrid
DataPtr< MeshMapper > * f_mesh
DataPtr
< TriangleSetMapper > * 
f_triangle

Member Typedef Documentation

template<class BasicMapping>
typedef BasicMapping sofa::component::mapping::BarycentricMapping< BasicMapping >::Inherit

Definition at line 366 of file BarycentricMapping.h.

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

Definition at line 367 of file BarycentricMapping.h.

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

Definition at line 368 of file BarycentricMapping.h.

template<class BasicMapping>
typedef In::DataTypes sofa::component::mapping::BarycentricMapping< BasicMapping >::InDataTypes

Definition at line 369 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::VecCoord sofa::component::mapping::BarycentricMapping< BasicMapping >::InVecCoord

Definition at line 370 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::VecDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::InVecDeriv

Definition at line 371 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::Coord sofa::component::mapping::BarycentricMapping< BasicMapping >::InCoord

Definition at line 372 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::Deriv sofa::component::mapping::BarycentricMapping< BasicMapping >::InDeriv

Definition at line 373 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::SparseVecDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::InSparseVecDeriv

Definition at line 374 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::SparseDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::InSparseDeriv

Definition at line 375 of file BarycentricMapping.h.

template<class BasicMapping>
typedef InDataTypes::Real sofa::component::mapping::BarycentricMapping< BasicMapping >::Real

Definition at line 376 of file BarycentricMapping.h.

template<class BasicMapping>
typedef Out::DataTypes sofa::component::mapping::BarycentricMapping< BasicMapping >::OutDataTypes

Definition at line 377 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::VecCoord sofa::component::mapping::BarycentricMapping< BasicMapping >::OutVecCoord

Definition at line 378 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::VecDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::OutVecDeriv

Definition at line 379 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::Coord sofa::component::mapping::BarycentricMapping< BasicMapping >::OutCoord

Definition at line 380 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::Deriv sofa::component::mapping::BarycentricMapping< BasicMapping >::OutDeriv

Definition at line 381 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::SparseVecDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::OutSparseVecDeriv

Definition at line 382 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::SparseDeriv sofa::component::mapping::BarycentricMapping< BasicMapping >::OutSparseDeriv

Definition at line 383 of file BarycentricMapping.h.

template<class BasicMapping>
typedef OutDataTypes::Real sofa::component::mapping::BarycentricMapping< BasicMapping >::OutReal

Definition at line 384 of file BarycentricMapping.h.

template<class BasicMapping>
typedef BarycentricMapper<InDataTypes,OutDataTypes> sofa::component::mapping::BarycentricMapping< BasicMapping >::Mapper [protected]

Definition at line 388 of file BarycentricMapping.h.

template<class BasicMapping>
typedef TopologyBarycentricMapper<topology::MeshTopology, InDataTypes, OutDataTypes> sofa::component::mapping::BarycentricMapping< BasicMapping >::MeshMapper [protected]

Definition at line 389 of file BarycentricMapping.h.

template<class BasicMapping>
typedef TopologyBarycentricMapper<topology::TriangleSetTopology<InDataTypes>, InDataTypes, OutDataTypes> sofa::component::mapping::BarycentricMapping< BasicMapping >::TriangleSetMapper [protected]

Definition at line 390 of file BarycentricMapping.h.

template<class BasicMapping>
typedef TopologyBarycentricMapper<topology::RegularGridTopology, InDataTypes, OutDataTypes> sofa::component::mapping::BarycentricMapping< BasicMapping >::RegularGridMapper [protected]

Definition at line 392 of file BarycentricMapping.h.

template<class BasicMapping>
typedef TopologyBarycentricMapper<topology::SparseGridTopology, InDataTypes, OutDataTypes> sofa::component::mapping::BarycentricMapping< BasicMapping >::SparseGridMapper [protected]

Definition at line 393 of file BarycentricMapping.h.


Constructor & Destructor Documentation

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

Definition at line 406 of file BarycentricMapping.h.

References sofa::core::objectmodel::Base::addField(), sofa::component::mapping::BarycentricMapping< BasicMapping >::f_grid, sofa::component::mapping::BarycentricMapping< BasicMapping >::f_mesh, sofa::component::mapping::BarycentricMapping< BasicMapping >::f_sparsegrid, and sofa::component::mapping::BarycentricMapping< BasicMapping >::f_triangle.

template<class BasicMapping>
sofa::component::mapping::BarycentricMapping< BasicMapping >::BarycentricMapping ( In from,
Out to,
Mapper mapper 
) [inline]

Definition at line 419 of file BarycentricMapping.h.

References sofa::core::objectmodel::Base::addField(), sofa::core::objectmodel::DataPtr< T >::beginEdit(), sofa::component::mapping::BarycentricMapping< BasicMapping >::f_grid, sofa::component::mapping::BarycentricMapping< BasicMapping >::f_mesh, sofa::component::mapping::BarycentricMapping< BasicMapping >::f_sparsegrid, and sofa::component::mapping::BarycentricMapping< BasicMapping >::f_triangle.

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

Definition at line 456 of file BarycentricMapping.h.

References sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.


Member Function Documentation

template<class BasicMapping>
void sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap ( topology::RegularGridTopology topo  )  [inline, protected]

Definition at line 75 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapping< BasicMapping >::f_grid, sofa::component::topology::RegularGridTopology::findCube(), sofa::component::topology::RegularGridTopology::findNearestCube(), sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper, and sofa::defaulttype::Vec< N, real >::ptr().

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::init().

template<class BasicMapping>
void sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap ( topology::SparseGridTopology topo  )  [inline, protected]

Definition at line 138 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapping< BasicMapping >::f_sparsegrid, sofa::component::topology::SparseGridTopology::findCube(), sofa::component::topology::SparseGridTopology::findNearestCube(), sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper, and sofa::defaulttype::Vec< N, real >::ptr().

template<class BasicMapping>
void sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap ( topology::MeshTopology topo  )  [inline, protected]

Definition at line 297 of file BarycentricMapping.inl.

References cross(), sofa::component::mapping::BarycentricMapping< BasicMapping >::f_mesh, sofa::component::topology::MeshTopology::getCubes(), sofa::component::topology::MeshTopology::getQuads(), sofa::component::topology::MeshTopology::getTetras(), sofa::component::topology::MeshTopology::getTriangles(), sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper, norm2(), sofa::defaulttype::Vec< N, real >::ptr(), and sofa::defaulttype::Mat< L, C, real >::transpose().

template<class BasicMapping>
void sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap ( topology::TriangleSetTopology< InDataTypes > *  topo  )  [inline, protected]

Definition at line 483 of file BarycentricMapping.inl.

References cross(), sofa::component::mapping::BarycentricMapping< BasicMapping >::f_mesh, sofa::component::mapping::BarycentricMapping< BasicMapping >::f_triangle, sofa::component::topology::TriangleSetTopologyContainer::getTriangleArray(), sofa::component::topology::TriangleSetTopology< DataTypes >::getTriangleSetTopologyContainer(), sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper, norm2(), sofa::defaulttype::Vec< N, real >::ptr(), and sofa::defaulttype::Mat< L, C, real >::transpose().

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

Initialization method called after each graph modification.

Reimplemented from sofa::core::objectmodel::BaseObject.

Definition at line 542 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap(), sofa::component::topology::GridTopology::getNbCubes(), sofa::simulation::tree::init(), sofa::component::mapping::BarycentricMapper< In, Out >::init(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Definition at line 586 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapper< In, Out >::apply(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Definition at line 735 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapper< In, Out >::applyJ(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Definition at line 884 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapper< In, Out >::applyJT(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Definition at line 1290 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapper< In, Out >::applyJT(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Display the VisualModel object.

Implements sofa::core::VisualModel.

Definition at line 1035 of file BarycentricMapping.inl.

References sofa::component::mapping::BarycentricMapper< In, Out >::draw(), sofa::component::mapping::BarycentricMapping< BasicMapping >::getShow(), sofa::helper::gl::glVertexT(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper.

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

Initialize the textures, or other graphical resources.

Called once before the first frame is drawn, and if the graphical context has been recreated.

Implements sofa::core::VisualModel.

Definition at line 474 of file BarycentricMapping.h.

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

used to update the model if necessary.

Implements sofa::core::VisualModel.

Definition at line 476 of file BarycentricMapping.h.

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

Definition at line 481 of file BarycentricMapping.h.

References sofa::core::objectmodel::BaseObject::getContext(), and sofa::core::objectmodel::BaseContext::getShowMappings().

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::draw().

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

Definition at line 486 of file BarycentricMapping.h.

References sofa::core::objectmodel::BaseObject::getContext(), and sofa::core::objectmodel::BaseContext::getShowMechanicalMappings().


Field Documentation

template<class BasicMapping>
Mapper* sofa::component::mapping::BarycentricMapping< BasicMapping >::mapper [protected]

Definition at line 395 of file BarycentricMapping.h.

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::apply(), sofa::component::mapping::BarycentricMapping< BasicMapping >::applyJ(), sofa::component::mapping::BarycentricMapping< BasicMapping >::applyJT(), sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap(), sofa::component::mapping::BarycentricMapping< BasicMapping >::draw(), sofa::component::mapping::BarycentricMapping< BasicMapping >::init(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::~BarycentricMapping().

template<class BasicMapping>
DataPtr< RegularGridMapper >* sofa::component::mapping::BarycentricMapping< BasicMapping >::f_grid [protected]

Definition at line 396 of file BarycentricMapping.h.

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::BarycentricMapping(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap().

template<class BasicMapping>
DataPtr< SparseGridMapper >* sofa::component::mapping::BarycentricMapping< BasicMapping >::f_sparsegrid [protected]

Definition at line 397 of file BarycentricMapping.h.

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::BarycentricMapping(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap().

template<class BasicMapping>
DataPtr< MeshMapper >* sofa::component::mapping::BarycentricMapping< BasicMapping >::f_mesh [protected]

Definition at line 398 of file BarycentricMapping.h.

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::BarycentricMapping(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap().

template<class BasicMapping>
DataPtr< TriangleSetMapper >* sofa::component::mapping::BarycentricMapping< BasicMapping >::f_triangle [protected]

Definition at line 399 of file BarycentricMapping.h.

Referenced by sofa::component::mapping::BarycentricMapping< BasicMapping >::BarycentricMapping(), and sofa::component::mapping::BarycentricMapping< BasicMapping >::calcMap().


The documentation for this class was generated from the following files:
Generated on Mon May 5 23:38:23 2008 for Sofa by  doxygen 1.5.3