sofa::component::collision::RigidDistanceGridCollisionModel Class Reference

#include <DistanceGridCollisionModel.h>

Inheritance diagram for sofa::component::collision::RigidDistanceGridCollisionModel:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::collision::RigidDistanceGridCollisionModel:

Collaboration graph
[legend]

Data Structures

class  ElementData

Public Types

typedef Rigid3Types InDataTypes
typedef Vec3Types DataTypes
typedef
RigidDistanceGridCollisionElement 
Element

Public Member Functions

 RigidDistanceGridCollisionModel ()
 ~RigidDistanceGridCollisionModel ()
core::componentmodel::behavior::MechanicalState
< InDataTypes > * 
getRigidModel ()
core::componentmodel::behavior::MechanicalState
< InDataTypes > * 
getMechanicalState ()
void init ()
 Initialization method called at graph modification, during bottom-up traversal.
DistanceGrid * getGrid (int index=0)
bool isTransformed (int index=0)
const Matrix3 & getRotation (int index=0)
const Vector3 & getTranslation (int index=0)
void setGrid (DistanceGrid *surf, int index=0)
DistanceGrid * 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, DistanceGrid *grid, const Matrix3 &rotation, const Vector3 &translation)
 Set new grid and transform, keeping the old state to estimate velocity.
void setNewState (double dt, DistanceGrid *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

sofa::helper::vector< ElementData > elems
bool modified
Data< std::string > filename
Data< double > scale
Data< helper::fixed_array
< DistanceGrid::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 440 of file DistanceGridCollisionModel.h.


Member Typedef Documentation

Definition at line 481 of file DistanceGridCollisionModel.h.

Definition at line 482 of file DistanceGridCollisionModel.h.

Definition at line 480 of file DistanceGridCollisionModel.h.


Constructor & Destructor Documentation

sofa::component::collision::RigidDistanceGridCollisionModel::RigidDistanceGridCollisionModel (  ) 

Definition at line 64 of file DistanceGridCollisionModel.cpp.

sofa::component::collision::RigidDistanceGridCollisionModel::~RigidDistanceGridCollisionModel (  ) 

Definition at line 78 of file DistanceGridCollisionModel.cpp.

References elems.


Member Function Documentation

void sofa::component::collision::RigidDistanceGridCollisionModel::computeBoundingTree ( int  maxDepth = 0  )  [virtual]

void sofa::component::collision::RigidDistanceGridCollisionModel::draw (  )  [virtual]

void sofa::component::collision::RigidDistanceGridCollisionModel::draw ( int   )  [virtual]

DistanceGrid* sofa::component::collision::RigidDistanceGridCollisionModel::getGrid ( int  index = 0  )  [inline]

Definition at line 495 of file DistanceGridCollisionModel.h.

References elems.

Referenced by draw().

core::componentmodel::behavior::MechanicalState<InDataTypes>* sofa::component::collision::RigidDistanceGridCollisionModel::getMechanicalState (  )  [inline]

Definition at line 491 of file DistanceGridCollisionModel.h.

References rigid.

double sofa::component::collision::RigidDistanceGridCollisionModel::getPrevDt ( int  index = 0  )  [inline]

Definition at line 526 of file DistanceGridCollisionModel.h.

References elems.

DistanceGrid* sofa::component::collision::RigidDistanceGridCollisionModel::getPrevGrid ( int  index = 0  )  [inline]

Definition at line 514 of file DistanceGridCollisionModel.h.

References elems.

const Matrix3& sofa::component::collision::RigidDistanceGridCollisionModel::getPrevRotation ( int  index = 0  )  [inline]

Definition at line 518 of file DistanceGridCollisionModel.h.

References elems.

const Vector3& sofa::component::collision::RigidDistanceGridCollisionModel::getPrevTranslation ( int  index = 0  )  [inline]

Definition at line 522 of file DistanceGridCollisionModel.h.

References elems.

core::componentmodel::behavior::MechanicalState<InDataTypes>* sofa::component::collision::RigidDistanceGridCollisionModel::getRigidModel (  )  [inline]

Definition at line 490 of file DistanceGridCollisionModel.h.

References rigid.

const Matrix3& sofa::component::collision::RigidDistanceGridCollisionModel::getRotation ( int  index = 0  )  [inline]

Definition at line 503 of file DistanceGridCollisionModel.h.

References elems.

const Vector3& sofa::component::collision::RigidDistanceGridCollisionModel::getTranslation ( int  index = 0  )  [inline]

Definition at line 507 of file DistanceGridCollisionModel.h.

References elems.

void sofa::component::collision::RigidDistanceGridCollisionModel::init ( void   )  [virtual]

bool sofa::component::collision::RigidDistanceGridCollisionModel::isTransformed ( int  index = 0  )  [inline]

Definition at line 499 of file DistanceGridCollisionModel.h.

References elems.

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

void sofa::component::collision::RigidDistanceGridCollisionModel::resize ( int  s  )  [virtual]

Set the number of elements.

Reimplemented from sofa::core::CollisionModel.

Definition at line 117 of file DistanceGridCollisionModel.cpp.

References elems.

Referenced by init().

void sofa::component::collision::RigidDistanceGridCollisionModel::setGrid ( DistanceGrid *  surf,
int  index = 0 
)

void sofa::component::collision::RigidDistanceGridCollisionModel::setNewState ( double  dt,
DistanceGrid *  grid,
const Matrix3 &  rotation,
const Vector3 &  translation 
)

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

void sofa::component::collision::RigidDistanceGridCollisionModel::setNewState ( int  index,
double  dt,
DistanceGrid *  grid,
const Matrix3 &  rotation,
const Vector3 &  translation 
)

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

Definition at line 131 of file DistanceGridCollisionModel.cpp.

References sofa::component::collision::DistanceGrid::addRef(), elems, sofa::defaulttype::Mat< L, C, real >::identity(), isTransformed(), and modified.

void sofa::component::collision::RigidDistanceGridCollisionModel::updateGrid (  )  [protected]

Definition at line 199 of file DistanceGridCollisionModel.cpp.

Referenced by computeBoundingTree().


Field Documentation

Definition at line 470 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 474 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 468 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 465 of file DistanceGridCollisionModel.h.

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

Definition at line 471 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 472 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 473 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 469 of file DistanceGridCollisionModel.h.

Referenced by init().

Definition at line 484 of file DistanceGridCollisionModel.h.


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

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