#include <TriangleOctreeModel.h>


Public Member Functions | |
| TriangleOctreeModel () | |
| void | draw () |
| Render the whole collision model. | |
| virtual void | computeBoundingTree (int maxDepth=0) |
| Create or update the bounding volume hierarchy. | |
| virtual void | computeContinuousBoundingTree (double dt, int maxDepth=0) |
| Create or update the bounding volume hierarchy, accounting for motions within the given timestep. | |
| void | buildOctree () |
Data Fields | |
| vector< vector< int > > | pTri |
| vector< Vector3 > | pNorms |
| int | cubeSize |
| TriangleOctree * | octreeRoot |
Protected Member Functions | |
| int | fillOctree (int t, int d=0, Vector3 v=Vector3(0, 0, 0)) |
Definition at line 50 of file TriangleOctreeModel.h.
| sofa::component::collision::TriangleOctreeModel::TriangleOctreeModel | ( | ) |
Definition at line 76 of file TriangleOctreeModel.cpp.
References CUBE_SIZE, cubeSize, and octreeRoot.
| void sofa::component::collision::TriangleOctreeModel::buildOctree | ( | ) |
Reimplemented from sofa::component::collision::TriangleModel.
Definition at line 225 of file TriangleOctreeModel.cpp.
References sofa::component::collision::TriangleModel::elems, fillOctree(), and octreeRoot.
Referenced by sofa::component::collision::RayTraceDetection::findPairsVolume().
| void sofa::component::collision::TriangleOctreeModel::computeBoundingTree | ( | int | maxDepth = 0 |
) | [virtual] |
Create or update the bounding volume hierarchy.
Reimplemented from sofa::component::collision::TriangleModel.
Definition at line 154 of file TriangleOctreeModel.cpp.
References sofa::component::collision::CubeModel::computeBoundingTree(), cross(), sofa::core::CollisionModel::empty(), sofa::core::CollisionModel::isMoving(), sofa::component::collision::TriangleModel::mstate, sofa::component::collision::Triangle::n(), sofa::defaulttype::Vec< N, real >::normalize(), octreeRoot, sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), pNorms, pTri, sofa::component::collision::CubeModel::resize(), sofa::component::collision::CubeModel::setParentOf(), sofa::core::CollisionModel::size, sofa::component::collision::TriangleModel::triangles, and sofa::component::collision::TriangleModel::updateFromTopology().
Referenced by computeContinuousBoundingTree().
| void sofa::component::collision::TriangleOctreeModel::computeContinuousBoundingTree | ( | double | , | |
| int | maxDepth = 0 | |||
| ) | [virtual] |
Create or update the bounding volume hierarchy, accounting for motions within the given timestep.
Default to computeBoundingTree().
Reimplemented from sofa::component::collision::TriangleModel.
Definition at line 221 of file TriangleOctreeModel.cpp.
References computeBoundingTree().
| void sofa::component::collision::TriangleOctreeModel::draw | ( | ) | [virtual] |
Render the whole collision model.
Reimplemented from sofa::component::collision::TriangleModel.
Definition at line 84 of file TriangleOctreeModel.cpp.
References sofa::component::collision::TriangleOctree::draw(), sofa::core::CollisionModel::getColor4f(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::CollisionModel::isActive(), and octreeRoot.
| int sofa::component::collision::TriangleOctreeModel::fillOctree | ( | int | t, | |
| int | d = 0, |
|||
| Vector3 | v = Vector3 (0, 0, 0) | |||
| ) | [protected] |
Definition at line 112 of file TriangleOctreeModel.cpp.
References CUBE_SIZE, cubeSize, sofa::component::collision::TriangleAABB::getAABB(), sofa::component::collision::TriangleOctree::insert(), octreeRoot, and sofa::component::collision::TriangleAABB::size().
Referenced by buildOctree().
Definition at line 59 of file TriangleOctreeModel.h.
Referenced by fillOctree(), and TriangleOctreeModel().
Definition at line 61 of file TriangleOctreeModel.h.
Referenced by buildOctree(), computeBoundingTree(), draw(), fillOctree(), sofa::component::collision::RayTraceDetection::findPairsVolume(), and TriangleOctreeModel().
Definition at line 57 of file TriangleOctreeModel.h.
Referenced by computeBoundingTree(), and sofa::component::collision::RayTraceDetection::findPairsVolume().
Definition at line 55 of file TriangleOctreeModel.h.
Referenced by computeBoundingTree(), and sofa::component::collision::TriangleOctree::nearestTriangle().
1.5.7.1