sofa::component::visualmodel::CudaVisualModel< TDataTypes > Class Template Reference

#include <CudaVisualModel.h>

Inheritance diagram for sofa::component::visualmodel::CudaVisualModel< TDataTypes >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::visualmodel::CudaVisualModel< TDataTypes >:

Collaboration graph
[legend]

Public Types

typedef TDataTypes DataTypes
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef DataTypes::Real Real
typedef
core::componentmodel::topology::BaseMeshTopology::PointID 
Index
typedef
core::componentmodel::topology::BaseMeshTopology::Triangle 
Triangle
typedef
core::componentmodel::topology::BaseMeshTopology::SeqTriangles 
SeqTriangles
typedef
core::componentmodel::topology::BaseMeshTopology::Quad 
Quad
typedef
core::componentmodel::topology::BaseMeshTopology::SeqQuads 
SeqQuads
typedef
core::componentmodel::behavior::State
< DataTypes > 
TState
typedef
gpu::cuda::CudaKernelsCudaVisualModel
< DataTypes > 
Kernels

Public Member Functions

 CudaVisualModel ()
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
virtual void reinit ()
 Update method called when variables used in precomputation are modified.
virtual void drawVisual ()
 Display the VisualModel object.
virtual void updateVisual ()
 used to update the model if necessary.

Data Fields

TState * state
core::componentmodel::topology::BaseMeshTopology * topology
bool needUpdateTopology
gpu::cuda::CudaVector< Triangle > triangles
gpu::cuda::CudaVector< Quad > quads
VecCoord fnormals
VecCoord vnormals
int nbElement
 number of elements
int nbVertex
 number of vertices to process to compute all elements
int nbElementPerVertex
 max number of elements connected to a vertex
gpu::cuda::CudaVector< int > velems
 Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc).
Data< defaulttype::Vec4f > matAmbient
Data< defaulttype::Vec4f > matDiffuse
Data< defaulttype::Vec4f > matSpecular
Data< defaulttype::Vec4f > matEmissive
Data< float > matShininess
Data< bool > useVBO
Data< bool > computeNormals

Protected Member Functions

void updateTopology ()
void updateNormals ()
void initV (int nbe, int nbv, int nbelemperv)
void setV (int vertex, int num, int index)

Detailed Description

template<class TDataTypes>
class sofa::component::visualmodel::CudaVisualModel< TDataTypes >

Definition at line 57 of file CudaVisualModel.h.


Member Typedef Documentation

template<class TDataTypes >
typedef DataTypes::Coord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Coord

Definition at line 64 of file CudaVisualModel.h.

template<class TDataTypes >
typedef TDataTypes sofa::component::visualmodel::CudaVisualModel< TDataTypes >::DataTypes

Definition at line 61 of file CudaVisualModel.h.

template<class TDataTypes >
typedef DataTypes::Deriv sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Deriv

Definition at line 65 of file CudaVisualModel.h.

Definition at line 68 of file CudaVisualModel.h.

template<class TDataTypes >
typedef gpu::cuda::CudaKernelsCudaVisualModel<DataTypes> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Kernels

Definition at line 76 of file CudaVisualModel.h.

Definition at line 71 of file CudaVisualModel.h.

template<class TDataTypes >
typedef DataTypes::Real sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Real

Definition at line 66 of file CudaVisualModel.h.

Definition at line 72 of file CudaVisualModel.h.

Definition at line 70 of file CudaVisualModel.h.

Definition at line 69 of file CudaVisualModel.h.

Definition at line 74 of file CudaVisualModel.h.

template<class TDataTypes >
typedef DataTypes::VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::VecCoord

Definition at line 62 of file CudaVisualModel.h.

template<class TDataTypes >
typedef DataTypes::VecDeriv sofa::component::visualmodel::CudaVisualModel< TDataTypes >::VecDeriv

Definition at line 63 of file CudaVisualModel.h.


Constructor & Destructor Documentation

template<class TDataTypes >
sofa::component::visualmodel::CudaVisualModel< TDataTypes >::CudaVisualModel (  )  [inline]

Definition at line 98 of file CudaVisualModel.h.


Member Function Documentation

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual (  )  [inline, virtual]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::init ( void   )  [inline, virtual]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV ( int  nbe,
int  nbv,
int  nbelemperv 
) [inline, protected]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::reinit (  )  [inline, virtual]

Update method called when variables used in precomputation are modified.

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

Definition at line 99 of file CudaVisualModel.inl.

References sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV ( int  vertex,
int  num,
int  index 
) [inline, protected]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals (  )  [inline, protected]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology (  )  [inline, protected]

template<class TDataTypes >
void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual (  )  [inline, virtual]


Field Documentation

template<class TDataTypes >
Data<bool> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::computeNormals

template<class TDataTypes >
VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::fnormals

template<class TDataTypes >
Data<float> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matShininess

template<class TDataTypes >
int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElement

template<class TDataTypes >
int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElementPerVertex

template<class TDataTypes >
int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbVertex

template<class TDataTypes >
bool sofa::component::visualmodel::CudaVisualModel< TDataTypes >::needUpdateTopology

template<class TDataTypes >
TState* sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state

template<class TDataTypes >
Data<bool> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::useVBO

Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc).

Definition at line 91 of file CudaVisualModel.h.

Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().

template<class TDataTypes >
VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::vnormals


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

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