hpp-fcl  2.4.1
HPP fork of FCL -- The Flexible Collision Library
hpp::fcl::ComputeCollision Class Reference

This class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shape-shape queries. More...

#include <hpp/fcl/collision.h>

Collaboration diagram for hpp::fcl::ComputeCollision:

Public Member Functions

 ComputeCollision (const CollisionGeometry *o1, const CollisionGeometry *o2)
 Default constructor from two Collision Geometries. More...
 
std::size_t operator() (const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
 
std::size_t operator() (const Transform3f &tf1, const Transform3f &tf2, CollisionRequest &request, CollisionResult &result) const
 
bool operator== (const ComputeCollision &other) const
 
bool operator!= (const ComputeCollision &other) const
 
virtual ~ComputeCollision ()
 

Protected Member Functions

virtual std::size_t run (const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
 

Protected Attributes

const CollisionGeometryo1
 
const CollisionGeometryo2
 
GJKSolver solver
 
CollisionFunctionMatrix::CollisionFunc func
 
bool swap_geoms
 

Detailed Description

This class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shape-shape queries.

ComputeCollision calc_collision (o1, o2);
std::size_t ncontacts = calc_collision(tf1, tf2, request, result);

Constructor & Destructor Documentation

◆ ComputeCollision()

hpp::fcl::ComputeCollision::ComputeCollision ( const CollisionGeometry o1,
const CollisionGeometry o2 
)

Default constructor from two Collision Geometries.

◆ ~ComputeCollision()

virtual hpp::fcl::ComputeCollision::~ComputeCollision ( )
inlinevirtual

Member Function Documentation

◆ operator!=()

bool hpp::fcl::ComputeCollision::operator!= ( const ComputeCollision other) const
inline

◆ operator()() [1/2]

std::size_t hpp::fcl::ComputeCollision::operator() ( const Transform3f tf1,
const Transform3f tf2,
CollisionRequest request,
CollisionResult result 
) const
inline

◆ operator()() [2/2]

std::size_t hpp::fcl::ComputeCollision::operator() ( const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request,
CollisionResult result 
) const

◆ operator==()

bool hpp::fcl::ComputeCollision::operator== ( const ComputeCollision other) const
inline

◆ run()

virtual std::size_t hpp::fcl::ComputeCollision::run ( const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request,
CollisionResult result 
) const
protectedvirtual

Member Data Documentation

◆ func

CollisionFunctionMatrix::CollisionFunc hpp::fcl::ComputeCollision::func
protected

◆ o1

const CollisionGeometry* hpp::fcl::ComputeCollision::o1
mutableprotected

◆ o2

const CollisionGeometry* hpp::fcl::ComputeCollision::o2
mutableprotected

◆ solver

GJKSolver hpp::fcl::ComputeCollision::solver
mutableprotected

◆ swap_geoms

bool hpp::fcl::ComputeCollision::swap_geoms
protected

The documentation for this class was generated from the following file:
hpp::fcl::ComputeCollision::ComputeCollision
ComputeCollision(const CollisionGeometry *o1, const CollisionGeometry *o2)
Default constructor from two Collision Geometries.
hpp::fcl::ComputeCollision::o2
const CollisionGeometry * o2
Definition: collision.h:137
hpp::fcl::ComputeCollision::o1
const CollisionGeometry * o1
Definition: collision.h:129