sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel Class Reference

#include <CudaDistanceGridCollisionModel.h>

Inheritance diagram for sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel:

Inheritance graph
[legend]
Collaboration diagram for sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel:

Collaboration graph
[legend]

Data Structures

class  ElementData

Public Types

typedef Rigid3Types InDataTypes
typedef Vec3Types DataTypes
typedef
CudaRigidDistanceGridCollisionElement 
Element

Public Member Functions

 CudaRigidDistanceGridCollisionModel ()
 ~CudaRigidDistanceGridCollisionModel ()
core::componentmodel::behavior::MechanicalState
< InDataTypes > * 
getRigidModel ()
core::componentmodel::behavior::MechanicalState
< InDataTypes > * 
getMechanicalState ()
void init ()
 Initialization method called at graph modification, during bottom-up traversal.
CudaDistanceGrid * getGrid (int index=0)
bool isTransformed (int index=0)
const Matrix3 & getRotation (int index=0)
const Vector3 & getTranslation (int index=0)
void setGrid (CudaDistanceGrid *surf, int index=0)
CudaDistanceGrid * getPrevGrid (int index=0)
const Matrix3 & getPrevRotation (int index=0)
const Vector3 & getPrevTranslation (int index=0)
double getPrevDt (int index=0)
void setNewState (int index, double dt, CudaDistanceGrid *grid, const Matrix3 &rotation, const Vector3 &translation)
 Set new grid and transform, keeping the old state to estimate velocity.
void setNewState (double dt, CudaDistanceGrid *grid, const Matrix3 &rotation, const Vector3 &translation)
 Set new grid and transform, keeping the old state to estimate velocity.
void resize (int size)
 Set the number of elements.
void computeBoundingTree (int maxDepth=0)
 Create or update the bounding volume hierarchy.
void draw (int index)
 Render an collision element.
void draw ()
 Render the whole collision model.

Data Fields

Data< bool > usePoints

Protected Member Functions

void updateGrid ()

Protected Attributes

std::vector< ElementData > elems
bool modified
Data< std::string > filename
Data< double > scale
Data< helper::fixed_array
< CudaDistanceGrid::Coord, 2 > > 
box
Data< int > nx
Data< int > ny
Data< int > nz
Data< std::string > dumpfilename
core::componentmodel::behavior::MechanicalState
< RigidTypes > * 
rigid

Detailed Description

Definition at line 437 of file CudaDistanceGridCollisionModel.h.


Member Typedef Documentation

Definition at line 478 of file CudaDistanceGridCollisionModel.h.

Definition at line 479 of file CudaDistanceGridCollisionModel.h.

Definition at line 477 of file CudaDistanceGridCollisionModel.h.


Constructor & Destructor Documentation

sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::CudaRigidDistanceGridCollisionModel (  ) 

Definition at line 449 of file CudaDistanceGridCollisionModel.cpp.

References rigid.

sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::~CudaRigidDistanceGridCollisionModel (  ) 

Definition at line 463 of file CudaDistanceGridCollisionModel.cpp.

References elems.


Member Function Documentation

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::computeBoundingTree ( int  maxDepth = 0  )  [virtual]

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::draw (  )  [virtual]

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::draw ( int   )  [virtual]

CudaDistanceGrid* sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getGrid ( int  index = 0  )  [inline]

Definition at line 492 of file CudaDistanceGridCollisionModel.h.

References elems.

Referenced by draw().

core::componentmodel::behavior::MechanicalState<InDataTypes>* sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getMechanicalState ( void   )  [inline]

Definition at line 488 of file CudaDistanceGridCollisionModel.h.

References rigid.

double sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getPrevDt ( int  index = 0  )  [inline]

Definition at line 523 of file CudaDistanceGridCollisionModel.h.

References elems.

CudaDistanceGrid* sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getPrevGrid ( int  index = 0  )  [inline]

Definition at line 511 of file CudaDistanceGridCollisionModel.h.

References elems.

const Matrix3& sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getPrevRotation ( int  index = 0  )  [inline]

Definition at line 515 of file CudaDistanceGridCollisionModel.h.

References elems.

const Vector3& sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getPrevTranslation ( int  index = 0  )  [inline]

Definition at line 519 of file CudaDistanceGridCollisionModel.h.

References elems.

core::componentmodel::behavior::MechanicalState<InDataTypes>* sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getRigidModel (  )  [inline]

Definition at line 487 of file CudaDistanceGridCollisionModel.h.

References rigid.

const Matrix3& sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getRotation ( int  index = 0  )  [inline]

Definition at line 500 of file CudaDistanceGridCollisionModel.h.

References elems.

const Vector3& sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::getTranslation ( int  index = 0  )  [inline]

Definition at line 504 of file CudaDistanceGridCollisionModel.h.

References elems.

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::init ( void   )  [virtual]

bool sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::isTransformed ( int  index = 0  )  [inline]

Definition at line 496 of file CudaDistanceGridCollisionModel.h.

References elems.

Referenced by computeBoundingTree(), draw(), and setNewState().

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::resize ( int  s  )  [virtual]

Set the number of elements.

Reimplemented from sofa::core::CollisionModel.

Definition at line 502 of file CudaDistanceGridCollisionModel.cpp.

References elems.

Referenced by init().

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::setGrid ( CudaDistanceGrid *  surf,
int  index = 0 
)

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::setNewState ( double  dt,
CudaDistanceGrid *  grid,
const Matrix3 &  rotation,
const Vector3 &  translation 
)

Set new grid and transform, keeping the old state to estimate velocity.

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::setNewState ( int  index,
double  dt,
CudaDistanceGrid *  grid,
const Matrix3 &  rotation,
const Vector3 &  translation 
)

Set new grid and transform, keeping the old state to estimate velocity.

Definition at line 516 of file CudaDistanceGridCollisionModel.cpp.

References sofa::gpu::cuda::CudaDistanceGrid::addRef(), elems, sofa::defaulttype::Mat< L, C, real >::identity(), isTransformed(), and modified.

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::updateGrid (  )  [protected]

Definition at line 586 of file CudaDistanceGridCollisionModel.cpp.

Referenced by computeBoundingTree().


Field Documentation

Definition at line 467 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 471 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 465 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 462 of file CudaDistanceGridCollisionModel.h.

Referenced by computeBoundingTree(), setGrid(), and setNewState().

Definition at line 468 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 469 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 470 of file CudaDistanceGridCollisionModel.h.

Referenced by init().

Definition at line 466 of file CudaDistanceGridCollisionModel.h.

Referenced by init().


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

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