#include "fcl/config.h"
#include "fcl/traversal/traversal_node_bvhs.h"
#include "fcl/traversal/traversal_node_shapes.h"
#include "fcl/traversal/traversal_node_bvh_shape.h"
#include "fcl/BVH/BVH_utility.h"
Go to the source code of this file.
Namespaces | |
namespace | fcl |
Main namespace. | |
namespace | fcl::details |
FCL internals. Ignore this :) unless you are God. | |
Functions | |
template<typename S1 , typename S2 , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver > &node, const S1 &shape1, const Transform3f &tf1, const S2 &shape2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize traversal node for collision between two geometric shapes, given current object transform. | |
template<typename BV , typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeCollisionTraversalNode< BV, S, NarrowPhaseSolver > &node, BVHModel< BV > &model1, Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for collision between one mesh and one shape, given current object transform. | |
template<typename S , typename BV , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshCollisionTraversalNode< S, BV, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for collision between one mesh and one shape, given current object transform. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeCollisionTraversalNodeOBB< S, NarrowPhaseSolver > &node, const BVHModel< OBB > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for OBB type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeCollisionTraversalNodeRSS< S, NarrowPhaseSolver > &node, const BVHModel< RSS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for RSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeCollisionTraversalNodekIOS< S, NarrowPhaseSolver > &node, const BVHModel< kIOS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for kIOS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver > &node, const BVHModel< OBBRSS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for OBBRSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshCollisionTraversalNodeOBB< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< OBB > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for OBB type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshCollisionTraversalNodeRSS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< RSS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for RSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshCollisionTraversalNodekIOS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< kIOS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for kIOS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< OBBRSS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest &request, CollisionResult &result) |
Initialize the traversal node for collision between one mesh and one shape, specialized for OBBRSS type. | |
template<typename BV > | |
bool | fcl::initialize (MeshCollisionTraversalNode< BV > &node, BVHModel< BV > &model1, Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, const CollisionRequest &request, CollisionResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for collision between two meshes, given the current transforms. | |
bool | fcl::initialize (MeshCollisionTraversalNodeOBB &node, const BVHModel< OBB > &model1, const Transform3f &tf1, const BVHModel< OBB > &model2, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) |
Initialize traversal node for collision between two meshes, specialized for OBB type. | |
bool | fcl::initialize (MeshCollisionTraversalNodeRSS &node, const BVHModel< RSS > &model1, const Transform3f &tf1, const BVHModel< RSS > &model2, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) |
Initialize traversal node for collision between two meshes, specialized for RSS type. | |
bool | fcl::initialize (MeshCollisionTraversalNodeOBBRSS &node, const BVHModel< OBBRSS > &model1, const Transform3f &tf1, const BVHModel< OBBRSS > &model2, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) |
Initialize traversal node for collision between two meshes, specialized for OBBRSS type. | |
bool | fcl::initialize (MeshCollisionTraversalNodekIOS &node, const BVHModel< kIOS > &model1, const Transform3f &tf1, const BVHModel< kIOS > &model2, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) |
Initialize traversal node for collision between two meshes, specialized for kIOS type. | |
template<typename S1 , typename S2 , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver > &node, const S1 &shape1, const Transform3f &tf1, const S2 &shape2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance between two geometric shapes. | |
template<typename BV > | |
bool | fcl::initialize (MeshDistanceTraversalNode< BV > &node, BVHModel< BV > &model1, Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, const DistanceRequest &request, DistanceResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for distance computation between two meshes, given the current transforms. | |
bool | fcl::initialize (MeshDistanceTraversalNodeRSS &node, const BVHModel< RSS > &model1, const Transform3f &tf1, const BVHModel< RSS > &model2, const Transform3f &tf2, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between two meshes, specialized for RSS type. | |
bool | fcl::initialize (MeshDistanceTraversalNodekIOS &node, const BVHModel< kIOS > &model1, const Transform3f &tf1, const BVHModel< kIOS > &model2, const Transform3f &tf2, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between two meshes, specialized for kIOS type. | |
bool | fcl::initialize (MeshDistanceTraversalNodeOBBRSS &node, const BVHModel< OBBRSS > &model1, const Transform3f &tf1, const BVHModel< OBBRSS > &model2, const Transform3f &tf2, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between two meshes, specialized for OBBRSS type. | |
template<typename BV , typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeDistanceTraversalNode< BV, S, NarrowPhaseSolver > &node, BVHModel< BV > &model1, Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for distance computation between one mesh and one shape, given the current transforms. | |
template<typename S , typename BV , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for distance computation between one shape and one mesh, given the current transforms. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver > &node, const BVHModel< RSS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one mesh and one shape, specialized for RSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver > &node, const BVHModel< kIOS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one mesh and one shape, specialized for kIOS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver > &node, const BVHModel< OBBRSS > &model1, const Transform3f &tf1, const S &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one mesh and one shape, specialized for OBBRSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< RSS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one shape and one mesh, specialized for RSS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< kIOS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one shape and one mesh, specialized for kIOS type. | |
template<typename S , typename NarrowPhaseSolver > | |
bool | fcl::initialize (ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< OBBRSS > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |
Initialize traversal node for distance computation between one shape and one mesh, specialized for OBBRSS type. | |
template<typename BV > | |
bool | fcl::initialize (MeshContinuousCollisionTraversalNode< BV > &node, const BVHModel< BV > &model1, const Transform3f &tf1, const BVHModel< BV > &model2, const Transform3f &tf2, const CollisionRequest &request) |
Initialize traversal node for continuous collision detection between two meshes. | |
template<typename BV > | |
bool | fcl::initialize (MeshConservativeAdvancementTraversalNode< BV > &node, BVHModel< BV > &model1, BVHModel< BV > &model2, const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2, FCL_REAL w=1, bool use_refit=false, bool refit_bottomup=false) |
Initialize traversal node for conservative advancement computation between two meshes, given the current transforms. | |
bool | fcl::initialize (MeshConservativeAdvancementTraversalNodeRSS &node, const BVHModel< RSS > &model1, const BVHModel< RSS > &model2, const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2, FCL_REAL w=1) |
Initialize traversal node for conservative advancement computation between two meshes, given the current transforms, specialized for RSS. | |
template<typename S , typename BV , typename NarrowPhaseSolver , template< typename, typename > class OrientedNode> | |
static bool | fcl::details::setupShapeMeshDistanceOrientedNode (OrientedNode< S, NarrowPhaseSolver > &node, const S &model1, const Transform3f &tf1, const BVHModel< BV > &model2, const Transform3f &tf2, const NarrowPhaseSolver *nsolver, const DistanceRequest &request, DistanceResult &result) |