sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > > Class Template Reference

#include <CudaTetrahedralVisualModel.h>

Inheritance diagram for sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >:

Collaboration graph
[legend]

Public Types

typedef
gpu::cuda::CudaVectorTypes
< TCoord, TDeriv, TReal > 
DataTypes
typedef DataTypes::Real Real
typedef DataTypes::Coord Coord
typedef DataTypes::VecCoord VecCoord
typedef
core::componentmodel::topology::BaseMeshTopology::Tetra 
Tetra
typedef
core::componentmodel::topology::BaseMeshTopology::SeqTetras 
SeqTetras

Public Member Functions

 OglTetrahedralModel ()
virtual ~OglTetrahedralModel ()
void init ()
 Initialization method called at graph modification, during bottom-up traversal.
void drawTransparent ()
 Display transparent surfaces.
bool addBBox (double *minBBox, double *maxBBox)
 used to add the bounding-box of this visual model to the given bounding box in order to compute the scene bounding box or cull hidden objects.
void handleTopologyChange ()
 Handle topological Changes.
void updateVisual ()
 used to update the model if necessary.

Static Public Member Functions

template<class T >
static bool canCreate (T *&obj, core::objectmodel::BaseContext *context, core::objectmodel::BaseObjectDescription *arg)
 Pre-construction check method called by ObjectFactory.

Protected Member Functions

void updateTopology ()

Private Attributes

core::componentmodel::topology::BaseMeshTopology * topo
core::componentmodel::behavior::MechanicalState
< DataTypes > * 
nodes
bool needUpdateTopology
gpu::cuda::CudaVector< Tetra > tetras
Data< bool > depthTest
Data< bool > blending
Data< bool > useVBO

Detailed Description

template<class TCoord, class TDeriv, class TReal>
class sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >

Definition at line 39 of file CudaTetrahedralVisualModel.h.


Member Typedef Documentation

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::Coord sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Coord

Definition at line 44 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
typedef gpu::cuda::CudaVectorTypes<TCoord,TDeriv,TReal> sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::DataTypes

Definition at line 42 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::Real sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Real

Definition at line 43 of file CudaTetrahedralVisualModel.h.

Definition at line 47 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
typedef core::componentmodel::topology::BaseMeshTopology::Tetra sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Tetra

Definition at line 46 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::VecCoord sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecCoord

Definition at line 45 of file CudaTetrahedralVisualModel.h.


Constructor & Destructor Documentation

template<class TCoord , class TDeriv , class TReal >
sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::OglTetrahedralModel (  )  [inline]

Definition at line 42 of file CudaTetrahedralVisualModel.inl.

template<class TCoord , class TDeriv , class TReal >
sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::~OglTetrahedralModel (  )  [inline, virtual]

Definition at line 51 of file CudaTetrahedralVisualModel.inl.


Member Function Documentation

template<class TCoord , class TDeriv , class TReal >
bool sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::addBBox ( double *  ,
double *   
) [inline, virtual]

used to add the bounding-box of this visual model to the given bounding box in order to compute the scene bounding box or cull hidden objects.

Returns:
false if the visual model does not define any bounding box, which should only be the case for "debug" objects, as this lack of information might affect performances and leads to incorrect scene bounding box.

Reimplemented from sofa::core::VisualModel.

Definition at line 140 of file CudaTetrahedralVisualModel.inl.

template<class TCoord , class TDeriv , class TReal >
template<class T >
static bool sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::canCreate ( T *&  obj,
core::objectmodel::BaseContext *  context,
core::objectmodel::BaseObjectDescription *  arg 
) [inline, static]

Pre-construction check method called by ObjectFactory.

Check that DataTypes matches the MechanicalState.

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

Definition at line 82 of file CudaTetrahedralVisualModel.h.

References sofa::component::visualmodel::OglTetrahedralModel< DataTypes >::canCreate(), and sofa::core::objectmodel::BaseContext::getMechanicalState().

template<class TCoord , class TDeriv , class TReal >
void sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::drawTransparent (  )  [inline, virtual]

Display transparent surfaces.

Transparent objects should use this method to get a correct display order.

Reimplemented from sofa::core::VisualModel.

Definition at line 79 of file CudaTetrahedralVisualModel.inl.

template<class TCoord , class TDeriv , class TReal >
void sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::handleTopologyChange (  )  [inline, virtual]

Handle topological Changes.

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

Definition at line 68 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
void sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::init ( void   )  [inline, virtual]

Initialization method called at graph modification, during bottom-up traversal.

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

Definition at line 56 of file CudaTetrahedralVisualModel.inl.

References sofa::core::objectmodel::BaseContext::get().

template<class TCoord , class TDeriv , class TReal >
void sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::updateTopology (  )  [inline, protected]

template<class TCoord , class TDeriv , class TReal >
void sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::updateVisual (  )  [inline, virtual]

used to update the model if necessary.

Reimplemented from sofa::core::VisualModel.

Definition at line 73 of file CudaTetrahedralVisualModel.h.


Field Documentation

template<class TCoord , class TDeriv , class TReal >
Data<bool> sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::blending [private]

Definition at line 57 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
Data<bool> sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::depthTest [private]

Definition at line 56 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
bool sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::needUpdateTopology [private]

Definition at line 53 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
core::componentmodel::behavior::MechanicalState<DataTypes>* sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::nodes [private]

Definition at line 51 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
gpu::cuda::CudaVector<Tetra> sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::tetras [private]

Definition at line 54 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
core::componentmodel::topology::BaseMeshTopology* sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::topo [private]

Definition at line 50 of file CudaTetrahedralVisualModel.h.

template<class TCoord , class TDeriv , class TReal >
Data<bool> sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::useVBO [private]

Definition at line 58 of file CudaTetrahedralVisualModel.h.


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