sofa::component::collision::VoxelGrid Class Reference

#include <VoxelGrid.h>

Inheritance diagram for sofa::component::collision::VoxelGrid:

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

Collaboration graph
[legend]

Public Member Functions

 VoxelGrid (Vector3 minVect=Vector3(-20.0,-20.0,-20.0), Vector3 maxVect=Vector3(-20.0,-20.0,-20.0), Vector3 nbSubdivision=Vector3(5.0, 5.0, 5.0), bool draw=false)
 ~VoxelGrid ()
void createVoxelGrid (const Vector3 &min, const Vector3 &max, const Vector3 &nbSubdivision)
void draw ()
 Render internal data of this object, for debugging purposes.
void add (core::CollisionModel *cm, int phase)
void addCollisionModel (core::CollisionModel *cm)
 Add a new collision model to the set of root collision models managed by this class.
void addCollisionPair (const std::pair< core::CollisionModel *, core::CollisionModel * > &cmPair)
 Add a new potentially colliding pairs of models.
void add (core::CollisionModel *cm)
void clearBroadPhase ()
void clearNarrowPhase ()

Private Member Functions

void posToIdx (const Vector3 &pos, Vector3 &indices)

Private Attributes

Vector3 nbSubDiv
GridCell *** grid
bool bDraw
Vector3 minVect
Vector3 maxVect
Vector3 step
simulation::tree::GNode * timeLogger
simulation::tree::GNode::ctime_t timeInter

Friends

class GridCell

Detailed Description

Definition at line 69 of file VoxelGrid.h.


Constructor & Destructor Documentation

sofa::component::collision::VoxelGrid::VoxelGrid ( Vector3  minVect = Vector3(-20.0, -20.0, -20.0),
Vector3  maxVect = Vector3(-20.0, -20.0, -20.0),
Vector3  nbSubdivision = Vector3(5.0, 5.0, 5.0),
bool  draw = false 
) [inline]

Definition at line 81 of file VoxelGrid.h.

References bDraw, createVoxelGrid(), draw(), maxVect, minVect, timeInter, and timeLogger.

sofa::component::collision::VoxelGrid::~VoxelGrid (  )  [inline]

Definition at line 90 of file VoxelGrid.h.


Member Function Documentation

void sofa::component::collision::VoxelGrid::add ( core::CollisionModel *  cm  ) 

void sofa::component::collision::VoxelGrid::add ( core::CollisionModel *  cm,
int  phase 
)

void sofa::component::collision::VoxelGrid::addCollisionModel ( core::CollisionModel *  cm  )  [virtual]

Add a new collision model to the set of root collision models managed by this class.

Implements sofa::core::componentmodel::collision::BroadPhaseDetection.

Definition at line 144 of file VoxelGrid.cpp.

void sofa::component::collision::VoxelGrid::addCollisionPair ( const std::pair< core::CollisionModel *, core::CollisionModel * > &  cmPair  )  [virtual]

Add a new potentially colliding pairs of models.

Implements sofa::core::componentmodel::collision::NarrowPhaseDetection.

void sofa::component::collision::VoxelGrid::clearBroadPhase (  )  [inline]

Definition at line 103 of file VoxelGrid.h.

void sofa::component::collision::VoxelGrid::clearNarrowPhase (  )  [inline]

Definition at line 108 of file VoxelGrid.h.

void sofa::component::collision::VoxelGrid::createVoxelGrid ( const Vector3 &  min,
const Vector3 &  max,
const Vector3 &  nbSubdivision 
)

Definition at line 97 of file VoxelGrid.cpp.

References grid, maxVect, minVect, sofa::component::collision::GridCell::setMinMax(), and step.

Referenced by VoxelGrid().

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

Render internal data of this object, for debugging purposes.

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

Definition at line 246 of file VoxelGrid.cpp.

References bDraw, sofa::component::collision::GridCell::draw(), grid, maxVect, minVect, and step.

Referenced by VoxelGrid().

void sofa::component::collision::VoxelGrid::posToIdx ( const Vector3 &  pos,
Vector3 &  indices 
) [private]

Definition at line 76 of file VoxelGrid.cpp.

References maxVect, minVect, and step.

Referenced by add().


Friends And Related Function Documentation

friend class GridCell [friend]

Definition at line 79 of file VoxelGrid.h.


Field Documentation

Definition at line 74 of file VoxelGrid.h.

Referenced by draw(), and VoxelGrid().

Definition at line 73 of file VoxelGrid.h.

Referenced by add(), createVoxelGrid(), and draw().

Definition at line 75 of file VoxelGrid.h.

Referenced by createVoxelGrid(), draw(), posToIdx(), and VoxelGrid().

Definition at line 75 of file VoxelGrid.h.

Referenced by createVoxelGrid(), draw(), posToIdx(), and VoxelGrid().

Definition at line 72 of file VoxelGrid.h.

Definition at line 75 of file VoxelGrid.h.

Referenced by createVoxelGrid(), draw(), and posToIdx().

Definition at line 78 of file VoxelGrid.h.

Referenced by sofa::component::collision::GridCell::add(), and VoxelGrid().

Definition at line 77 of file VoxelGrid.h.

Referenced by sofa::component::collision::GridCell::add(), and VoxelGrid().


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

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