coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
coal::QueryRequest Struct Reference

base class for all query requests More...

#include <coal/collision_data.h>

Inheritance diagram for coal::QueryRequest:

Public Member Functions

 QueryRequest ()
 Default constructor. More...
 
 QueryRequest (const QueryRequest &other)=default
 Copy constructor. More...
 
QueryRequestoperator= (const QueryRequest &other)=default
 Copy assignment operator. More...
 
void updateGuess (const QueryResult &result) const
 Updates the guess for the internal GJK algorithm in order to warm-start it when reusing this collision request on the same collision pair. More...
 
bool operator== (const QueryRequest &other) const
 whether two QueryRequest are the same or not More...
 

Public Attributes

GJKInitialGuess gjk_initial_guess
 
bool enable_cached_gjk_guess
 whether enable gjk initial guess @Deprecated Use gjk_initial_guess instead More...
 
Vec3s cached_gjk_guess
 the gjk initial guess set by user More...
 
support_func_guess_t cached_support_func_guess
 the support function initial guess set by user More...
 
size_t gjk_max_iterations
 maximum iteration for the GJK algorithm More...
 
Scalar gjk_tolerance
 tolerance for the GJK algorithm. Note: This tolerance determines the precision on the estimated distance between two geometries which are not in collision. It is recommended to not set this tolerance to less than 1e-6. More...
 
GJKVariant gjk_variant
 whether to enable the Nesterov accleration of GJK More...
 
GJKConvergenceCriterion gjk_convergence_criterion
 convergence criterion used to stop GJK More...
 
GJKConvergenceCriterionType gjk_convergence_criterion_type
 convergence criterion used to stop GJK More...
 
size_t epa_max_iterations
 max number of iterations for EPA More...
 
Scalar epa_tolerance
 tolerance for EPA. Note: This tolerance determines the precision on the estimated distance between two geometries which are in collision. It is recommended to not set this tolerance to less than 1e-6. Also, setting EPA's tolerance to less than GJK's is not recommended. More...
 
bool enable_timings
 enable timings when performing collision/distance request More...
 
Scalar collision_distance_threshold
 threshold below which a collision is considered. More...
 

Detailed Description

base class for all query requests

Constructor & Destructor Documentation

◆ QueryRequest() [1/2]

coal::QueryRequest::QueryRequest ( )
inline

Default constructor.

◆ QueryRequest() [2/2]

coal::QueryRequest::QueryRequest ( const QueryRequest other)
default

Copy constructor.

Member Function Documentation

◆ operator=()

QueryRequest& coal::QueryRequest::operator= ( const QueryRequest other)
default

Copy assignment operator.

◆ operator==()

bool coal::QueryRequest::operator== ( const QueryRequest other) const
inline

whether two QueryRequest are the same or not

◆ updateGuess()

void coal::QueryRequest::updateGuess ( const QueryResult result) const
inline

Updates the guess for the internal GJK algorithm in order to warm-start it when reusing this collision request on the same collision pair.

Note
The option gjk_initial_guess must be set to GJKInitialGuess::CachedGuess for this to work.

Member Data Documentation

◆ cached_gjk_guess

Vec3s coal::QueryRequest::cached_gjk_guess
mutable

the gjk initial guess set by user

◆ cached_support_func_guess

support_func_guess_t coal::QueryRequest::cached_support_func_guess
mutable

the support function initial guess set by user

◆ collision_distance_threshold

Scalar coal::QueryRequest::collision_distance_threshold

threshold below which a collision is considered.

◆ enable_cached_gjk_guess

bool coal::QueryRequest::enable_cached_gjk_guess

whether enable gjk initial guess @Deprecated Use gjk_initial_guess instead

◆ enable_timings

bool coal::QueryRequest::enable_timings

enable timings when performing collision/distance request

◆ epa_max_iterations

size_t coal::QueryRequest::epa_max_iterations

max number of iterations for EPA

◆ epa_tolerance

Scalar coal::QueryRequest::epa_tolerance

tolerance for EPA. Note: This tolerance determines the precision on the estimated distance between two geometries which are in collision. It is recommended to not set this tolerance to less than 1e-6. Also, setting EPA's tolerance to less than GJK's is not recommended.

◆ gjk_convergence_criterion

GJKConvergenceCriterion coal::QueryRequest::gjk_convergence_criterion

convergence criterion used to stop GJK

◆ gjk_convergence_criterion_type

GJKConvergenceCriterionType coal::QueryRequest::gjk_convergence_criterion_type

convergence criterion used to stop GJK

◆ gjk_initial_guess

GJKInitialGuess coal::QueryRequest::gjk_initial_guess

◆ gjk_max_iterations

size_t coal::QueryRequest::gjk_max_iterations

maximum iteration for the GJK algorithm

◆ gjk_tolerance

Scalar coal::QueryRequest::gjk_tolerance

tolerance for the GJK algorithm. Note: This tolerance determines the precision on the estimated distance between two geometries which are not in collision. It is recommended to not set this tolerance to less than 1e-6.

◆ gjk_variant

GJKVariant coal::QueryRequest::gjk_variant

whether to enable the Nesterov accleration of GJK


The documentation for this struct was generated from the following file: