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

#include <hpp/fcl/distance.h>

Collaboration diagram for hpp::fcl::ComputeDistance:

Public Member Functions

 ComputeDistance (const CollisionGeometry *o1, const CollisionGeometry *o2)
 
FCL_REAL operator() (const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request, DistanceResult &result) const
 
FCL_REAL operator() (const Transform3f &tf1, const Transform3f &tf2, DistanceRequest &request, DistanceResult &result) const
 
bool operator== (const ComputeDistance &other) const
 
bool operator!= (const ComputeDistance &other) const
 
virtual ~ComputeDistance ()
 

Protected Member Functions

virtual FCL_REAL run (const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request, DistanceResult &result) const
 

Protected Attributes

const CollisionGeometryo1
 
const CollisionGeometryo2
 
GJKSolver solver
 
DistanceFunctionMatrix::DistanceFunc 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.

ComputeDistance calc_distance (o1, o2);
FCL_REAL distance = calc_distance(tf1, tf2, request, result);

Constructor & Destructor Documentation

◆ ComputeDistance()

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

◆ ~ComputeDistance()

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

Member Function Documentation

◆ operator!=()

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

◆ operator()() [1/2]

FCL_REAL hpp::fcl::ComputeDistance::operator() ( const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request,
DistanceResult result 
) const

◆ operator()() [2/2]

FCL_REAL hpp::fcl::ComputeDistance::operator() ( const Transform3f tf1,
const Transform3f tf2,
DistanceRequest request,
DistanceResult result 
) const
inline

◆ operator==()

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

◆ run()

virtual FCL_REAL hpp::fcl::ComputeDistance::run ( const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request,
DistanceResult result 
) const
protectedvirtual

Member Data Documentation

◆ func

DistanceFunctionMatrix::DistanceFunc hpp::fcl::ComputeDistance::func
protected

◆ o1

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

◆ o2

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

◆ solver

GJKSolver hpp::fcl::ComputeDistance::solver
mutableprotected

◆ swap_geoms

bool hpp::fcl::ComputeDistance::swap_geoms
protected

The documentation for this class was generated from the following file:
hpp::fcl::ComputeDistance::ComputeDistance
ComputeDistance(const CollisionGeometry *o1, const CollisionGeometry *o2)
hpp::fcl::distance
FCL_REAL distance(const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
Approximate distance between two kIOS bounding volumes.
hpp::fcl::ComputeDistance::o1
const CollisionGeometry * o1
Definition: distance.h:124
hpp::fcl::FCL_REAL
double FCL_REAL
Definition: data_types.h:65
hpp::fcl::ComputeDistance::o2
const CollisionGeometry * o2
Definition: distance.h:132