sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > > Class Template Reference

#include <CudaBarycentricMapping.h>

Inheritance diagram for sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >:

Collaboration graph
[legend]

Data Structures

class  MapData

Public Types

typedef
gpu::cuda::CudaVectorTypes
< VecIn, VecIn, float > 
In
typedef
gpu::cuda::CudaVectorTypes
< VecOut, VecOut, float > 
Out
typedef
TopologyBarycentricMapper< In,
Out > 
Inherit
typedef Inherit::Real Real
typedef Inherit::OutReal OutReal

Public Member Functions

 BarycentricMapperMeshTopology (core::componentmodel::topology::BaseMeshTopology *topology)
void clear (int reserve=0)
int addPointInLine (int lineIndex, const SReal *baryCoords)
int createPointInLine (const typename Out::Coord &p, int lineIndex, const typename In::VecCoord *points)
int addPointInTriangle (int triangleIndex, const SReal *baryCoords)
int createPointInTriangle (const typename Out::Coord &p, int triangleIndex, const typename In::VecCoord *points)
int addPointInQuad (int quadIndex, const SReal *baryCoords)
int createPointInQuad (const typename Out::Coord &p, int quadIndex, const typename In::VecCoord *points)
int addPointInTetra (int tetraIndex, const SReal *baryCoords)
int addPointInCube (int cubeIndex, const SReal *baryCoords)
void init (const typename Out::VecCoord &out, const typename In::VecCoord &in)
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 (const typename Out::VecCoord &out, const typename In::VecCoord &in)

Protected Member Functions

void resizeMap (int size2, int maxNIn2)
void setMap (int outIndex, int j, int inIndex, Real val)
void calcMapT ()

Protected Attributes

int maxNIn
int maxNOut
int insize
int size
gpu::cuda::CudaVector< MapData > map
gpu::cuda::CudaVector< MapData > mapT
core::componentmodel::topology::BaseMeshTopology * topology

Friends

std::istream & operator>> (std::istream &in, BarycentricMapperMeshTopology< In, Out > &b)
std::ostream & operator<< (std::ostream &out, const BarycentricMapperMeshTopology< In, Out > &b)

Detailed Description

template<typename VecIn, typename VecOut>
class sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >

Definition at line 92 of file CudaBarycentricMapping.h.


Member Typedef Documentation

template<typename VecIn , typename VecOut >
typedef gpu::cuda::CudaVectorTypes<VecIn,VecIn,float> sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::In

Definition at line 95 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
typedef TopologyBarycentricMapper<In,Out> sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::Inherit

template<typename VecIn , typename VecOut >
typedef gpu::cuda::CudaVectorTypes<VecOut,VecOut,float> sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::Out

Definition at line 96 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
typedef Inherit::OutReal sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::OutReal

template<typename VecIn , typename VecOut >
typedef Inherit::Real sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::Real


Constructor & Destructor Documentation

template<typename VecIn , typename VecOut >
sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::BarycentricMapperMeshTopology ( core::componentmodel::topology::BaseMeshTopology *  topology  )  [inline]


Member Function Documentation

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::addPointInCube ( int  cubeIndex,
const SReal *  baryCoords 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::addPointInLine ( int  lineIndex,
const SReal *  baryCoords 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::addPointInQuad ( int  quadIndex,
const SReal *  baryCoords 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::addPointInTetra ( int  tetraIndex,
const SReal *  baryCoords 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::addPointInTriangle ( int  triangleIndex,
const SReal *  baryCoords 
) [inline, virtual]

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::apply ( typename Out::VecCoord &  out,
const typename In::VecCoord &  in 
) [virtual]

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::applyJ ( typename Out::VecDeriv &  out,
const typename In::VecDeriv &  in 
)

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::applyJT ( typename In::VecConst &  out,
const typename Out::VecConst &  in 
)

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::applyJT ( typename In::VecDeriv &  out,
const typename Out::VecDeriv &  in 
)

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::calcMapT (  )  [inline, protected]

Definition at line 649 of file CudaBarycentricMapping.inl.

References BSIZE.

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::clear ( int  reserve = 0  )  [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInLine ( const typename Out::Coord &  p,
int  lineIndex,
const typename In::VecCoord *  points 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInQuad ( const typename Out::Coord &  p,
int  quadIndex,
const typename In::VecCoord *  points 
) [inline, virtual]

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInTriangle ( const typename Out::Coord &  p,
int  triangleIndex,
const typename In::VecCoord *  points 
) [inline, virtual]

Reimplemented from sofa::component::mapping::TopologyBarycentricMapper< In, Out >.

Definition at line 473 of file CudaBarycentricMapping.inl.

References cross(), and norm2().

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::draw ( const typename Out::VecCoord &  out,
const typename In::VecCoord &  in 
) [virtual]

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::init ( const typename Out::VecCoord &  out,
const typename In::VecCoord &  in 
) [inline, virtual]

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::resizeMap ( int  size2,
int  maxNIn2 
) [inline, protected]

Definition at line 341 of file CudaBarycentricMapping.inl.

References BSIZE.

template<typename VecIn , typename VecOut >
void sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::setMap ( int  outIndex,
int  j,
int  inIndex,
Real  val 
) [inline, protected]

Definition at line 366 of file CudaBarycentricMapping.inl.

References BSIZE.


Friends And Related Function Documentation

template<typename VecIn , typename VecOut >
std::ostream& operator<< ( std::ostream &  out,
const BarycentricMapperMeshTopology< In, Out > &  b 
) [friend]

Definition at line 160 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
std::istream& operator>> ( std::istream &  in,
BarycentricMapperMeshTopology< In, Out > &  b 
) [friend]

Definition at line 154 of file CudaBarycentricMapping.h.


Field Documentation

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::insize [protected]

Definition at line 116 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
gpu::cuda::CudaVector< MapData > sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::map [protected]

Definition at line 117 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
gpu::cuda::CudaVector< MapData > sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::mapT [protected]

Definition at line 118 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::maxNIn [protected]

Definition at line 114 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::maxNOut [protected]

Definition at line 115 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
int sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::size [protected]

Definition at line 116 of file CudaBarycentricMapping.h.

template<typename VecIn , typename VecOut >
core::componentmodel::topology::BaseMeshTopology* sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::topology [protected]

Definition at line 119 of file CudaBarycentricMapping.h.


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

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