All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
fcl::OcTreeSolver< NarrowPhaseSolver > Class Template Reference

Algorithms for collision related with octree. More...

#include <traversal_node_octree.h>

List of all members.

Public Member Functions

template<typename BV >
void MeshOcTreeDistance (const BVHModel< BV > *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between mesh and octree
template<typename BV >
void MeshOcTreeIntersect (const BVHModel< BV > *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between mesh and octree
void OcTreeDistance (const OcTree *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between two octrees
void OcTreeIntersect (const OcTree *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between two octrees
template<typename BV >
void OcTreeMeshDistance (const OcTree *tree1, const BVHModel< BV > *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between octree and mesh
template<typename BV >
void OcTreeMeshIntersect (const OcTree *tree1, const BVHModel< BV > *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between octree and mesh
template<typename S >
void OcTreeShapeDistance (const OcTree *tree, const S &s, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between octree and shape
template<typename S >
void OcTreeShapeIntersect (const OcTree *tree, const S &s, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between octree and shape
 OcTreeSolver (const NarrowPhaseSolver *solver_)
template<typename S >
void ShapeOcTreeDistance (const S &s, const OcTree *tree, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between shape and octree
template<typename S >
void ShapeOcTreeIntersect (const S &s, const OcTree *tree, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between shape and octree

Private Member Functions

bool OcTreeDistanceRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const OcTree *tree2, const OcTree::OcTreeNode *root2, const AABB &bv2, const Transform3f &tf1, const Transform3f &tf2) const
bool OcTreeIntersectRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const OcTree *tree2, const OcTree::OcTreeNode *root2, const AABB &bv2, const Transform3f &tf1, const Transform3f &tf2) const
template<typename BV >
bool OcTreeMeshDistanceRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const BVHModel< BV > *tree2, int root2, const Transform3f &tf1, const Transform3f &tf2) const
template<typename BV >
bool OcTreeMeshIntersectRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const BVHModel< BV > *tree2, int root2, const Transform3f &tf1, const Transform3f &tf2) const
template<typename S >
bool OcTreeShapeDistanceRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const S &s, const AABB &aabb2, const Transform3f &tf1, const Transform3f &tf2) const
template<typename S >
bool OcTreeShapeIntersectRecurse (const OcTree *tree1, const OcTree::OcTreeNode *root1, const AABB &bv1, const S &s, const OBB &obb2, const Transform3f &tf1, const Transform3f &tf2) const

Private Attributes

const CollisionRequestcrequest
CollisionResultcresult
const DistanceRequestdrequest
DistanceResultdresult
const NarrowPhaseSolver * solver

Detailed Description

template<typename NarrowPhaseSolver>
class fcl::OcTreeSolver< NarrowPhaseSolver >

Algorithms for collision related with octree.

Definition at line 52 of file traversal_node_octree.h.


Constructor & Destructor Documentation

template<typename NarrowPhaseSolver >
fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeSolver ( const NarrowPhaseSolver *  solver_) [inline]

Definition at line 64 of file traversal_node_octree.h.


Member Function Documentation

template<typename NarrowPhaseSolver >
template<typename BV >
void fcl::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeDistance ( const BVHModel< BV > *  tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const [inline]

distance between mesh and octree

Definition at line 148 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename BV >
void fcl::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeIntersect ( const BVHModel< BV > *  tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const [inline]

collision between mesh and octree

Definition at line 132 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeDistance ( const OcTree tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const [inline]

distance between two octrees

Definition at line 87 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeDistanceRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const OcTree tree2,
const OcTree::OcTreeNode root2,
const AABB bv2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

Definition at line 698 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeIntersect ( const OcTree tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const [inline]

collision between two octrees

Definition at line 73 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeIntersectRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const OcTree tree2,
const OcTree::OcTreeNode root2,
const AABB bv2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

stop when 1) bounding boxes of two objects not overlap; OR 2) at least one of the nodes is free; OR 2) (two uncertain nodes OR one node occupied and one node uncertain) AND cost not required

Definition at line 778 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename BV >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshDistance ( const OcTree tree1,
const BVHModel< BV > *  tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const [inline]

distance between octree and mesh

Definition at line 117 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename BV >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshDistanceRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const BVHModel< BV > *  tree2,
int  root2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

Definition at line 424 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename BV >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshIntersect ( const OcTree tree1,
const BVHModel< BV > *  tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const [inline]

collision between octree and mesh

Definition at line 102 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename BV >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshIntersectRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const BVHModel< BV > *  tree2,
int  root2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

stop when 1) bounding boxes of two objects not overlap; OR 2) at least one of the nodes is free; OR 2) (two uncertain nodes OR one node occupied and one node uncertain) AND cost not required

Definition at line 510 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeDistance ( const OcTree tree,
const S &  s,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const [inline]

distance between octree and shape

Definition at line 202 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeDistanceRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const S &  s,
const AABB aabb2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

Definition at line 237 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
void fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeIntersect ( const OcTree tree,
const S &  s,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const [inline]

collision between octree and shape

Definition at line 163 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
bool fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeIntersectRecurse ( const OcTree tree1,
const OcTree::OcTreeNode root1,
const AABB bv1,
const S &  s,
const OBB obb2,
const Transform3f tf1,
const Transform3f tf2 
) const [inline, private]

stop when 1) bounding boxes of two objects not overlap; OR 2) at least of one the nodes is free; OR 2) (two uncertain nodes or one node occupied and one node uncertain) AND cost not required

Definition at line 285 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
void fcl::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeDistance ( const S &  s,
const OcTree tree,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const [inline]

distance between shape and octree

Definition at line 219 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
template<typename S >
void fcl::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeIntersect ( const S &  s,
const OcTree tree,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const [inline]

collision between shape and octree

Definition at line 183 of file traversal_node_octree.h.


Member Data Documentation

template<typename NarrowPhaseSolver >
const CollisionRequest* fcl::OcTreeSolver< NarrowPhaseSolver >::crequest [mutable, private]

Definition at line 57 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
CollisionResult* fcl::OcTreeSolver< NarrowPhaseSolver >::cresult [mutable, private]

Definition at line 60 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
const DistanceRequest* fcl::OcTreeSolver< NarrowPhaseSolver >::drequest [mutable, private]

Definition at line 58 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
DistanceResult* fcl::OcTreeSolver< NarrowPhaseSolver >::dresult [mutable, private]

Definition at line 61 of file traversal_node_octree.h.

template<typename NarrowPhaseSolver >
const NarrowPhaseSolver* fcl::OcTreeSolver< NarrowPhaseSolver >::solver [private]

Definition at line 55 of file traversal_node_octree.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


fcl
Author(s): Jia Pan
autogenerated on Tue Jan 15 2013 16:05:32