#include <VoxelGrid.h>


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 |
Definition at line 69 of file VoxelGrid.h.
| 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.
| void sofa::component::collision::VoxelGrid::add | ( | core::CollisionModel * | cm | ) |
| void sofa::component::collision::VoxelGrid::add | ( | core::CollisionModel * | cm, | |
| int | phase | |||
| ) |
Definition at line 149 of file VoxelGrid.cpp.
References sofa::component::collision::GridCell::add(), sofa::core::CollisionModel::begin(), sofa::core::componentmodel::collision::BroadPhaseDetection::cmPairs, sofa::core::CollisionModel::end(), sofa::component::collision::GridCell::eraseAll(), sofa::core::componentmodel::collision::Intersection::getAlarmDistance(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::gettimestamp(), grid, sofa::core::componentmodel::collision::Detection::intersectionMethod, posToIdx(), sofa::component::collision::settimestamp(), and sofa::core::componentmodel::collision::Intersection::useProximity().
| 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().
friend class GridCell [friend] |
Definition at line 79 of file VoxelGrid.h.
GridCell*** sofa::component::collision::VoxelGrid::grid [private] |
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 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().
1.5.7.1