#include <TriangleOctree.h>

Data Structures | |
| class | traceResult |
| class | vertexData |
Public Member Functions | |
| ~TriangleOctree () | |
| TriangleOctree (TriangleOctreeModel *_tm, double _x=(double)-CUBE_SIZE, double _y=(double)-CUBE_SIZE, double _z=(double)-CUBE_SIZE, double _size=2 *CUBE_SIZE) | |
| void | draw () |
| int | nearestTriangle (int minIndex, const Vector3 &origin, const Vector3 &direction, traceResult &result) |
| void | insert (double _x, double _y, double _z, double _inc, int t) |
| int | trace (Vector3 origin, Vector3 direction, traceResult &result) |
| int | trace (const Vector3 &origin, const Vector3 &direction, double tx0, double ty0, double tz0, double tx1, double ty1, double tz1, unsigned int a, unsigned int b, Vector3 &origin1, Vector3 &direction1, traceResult &result) |
Data Fields | |
| double | x |
| double | y |
| double | z |
| bool | visited |
| double | size |
| bool | val |
| bool | is_leaf |
| bool | internal |
| TriangleOctreeModel * | tm |
| vector< int > | objects |
| TriangleOctree * | childVec [8] |
Definition at line 54 of file TriangleOctree.h.
| sofa::component::collision::TriangleOctree::~TriangleOctree | ( | ) |
| sofa::component::collision::TriangleOctree::TriangleOctree | ( | TriangleOctreeModel * | _tm, | |
| double | _x = (double)-CUBE_SIZE, |
|||
| double | _y = (double)-CUBE_SIZE, |
|||
| double | _z = (double) -CUBE_SIZE, |
|||
| double | _size = 2 * CUBE_SIZE | |||
| ) | [inline] |
Definition at line 86 of file TriangleOctree.h.
References childVec, and is_leaf.
Referenced by insert().
| void sofa::component::collision::TriangleOctree::draw | ( | ) |
| void sofa::component::collision::TriangleOctree::insert | ( | double | _x, | |
| double | _y, | |||
| double | _z, | |||
| double | _inc, | |||
| int | t | |||
| ) |
Definition at line 83 of file TriangleOctree.cpp.
References childVec, insert(), is_leaf, objects, size, tm, TriangleOctree(), x, y, and z.
Referenced by sofa::component::collision::TriangleOctreeModel::fillOctree(), and insert().
| int sofa::component::collision::TriangleOctree::nearestTriangle | ( | int | minIndex, | |
| const Vector3 & | origin, | |||
| const Vector3 & | direction, | |||
| traceResult & | result | |||
| ) |
Definition at line 134 of file TriangleOctree.cpp.
References dot(), sofa::component::collision::Triangle::n(), sofa::component::collision::RayTriangleIntersection::NewComputation(), objects, sofa::component::collision::Triangle::p1Index(), sofa::component::collision::Triangle::p2Index(), sofa::component::collision::Triangle::p3Index(), sofa::component::collision::TriangleOctreeModel::pTri, sofa::component::collision::TriangleOctree::traceResult::t, tm, sofa::component::collision::TriangleOctree::traceResult::u, and sofa::component::collision::TriangleOctree::traceResult::v.
Referenced by trace().
| int sofa::component::collision::TriangleOctree::trace | ( | const Vector3 & | origin, | |
| const Vector3 & | direction, | |||
| double | tx0, | |||
| double | ty0, | |||
| double | tz0, | |||
| double | tx1, | |||
| double | ty1, | |||
| double | tz1, | |||
| unsigned int | a, | |||
| unsigned int | b, | |||
| Vector3 & | origin1, | |||
| Vector3 & | direction1, | |||
| traceResult & | result | |||
| ) |
Definition at line 212 of file TriangleOctree.cpp.
References childVec, sofa::component::collision::choose_next(), is_leaf, nearestTriangle(), objects, size, trace(), x, y, and z.
| int sofa::component::collision::TriangleOctree::trace | ( | Vector3 | origin, | |
| Vector3 | direction, | |||
| traceResult & | result | |||
| ) |
Definition at line 446 of file TriangleOctree.cpp.
References bb_max3, bb_min3, CUBE_SIZE, and EPSILON.
Referenced by sofa::component::collision::RayTraceDetection::findPairsVolume(), and trace().
Definition at line 81 of file TriangleOctree.h.
Referenced by draw(), insert(), trace(), TriangleOctree(), and ~TriangleOctree().
Definition at line 78 of file TriangleOctree.h.
Definition at line 77 of file TriangleOctree.h.
Referenced by insert(), trace(), and TriangleOctree().
Definition at line 80 of file TriangleOctree.h.
Referenced by draw(), insert(), nearestTriangle(), and trace().
Definition at line 76 of file TriangleOctree.h.
Definition at line 73 of file TriangleOctree.h.
1.5.7.1