hpp-fcl 2.3.6
HPP fork of FCL -- The Flexible Collision Library
Loading...
Searching...
No Matches
broadphase_callbacks.h
Go to the documentation of this file.
1/*
2 * Software License Agreement (BSD License)
3 *
4 * Copyright (c) 2022, INRIA
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
17 * * Neither the name of the copyright holder nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 */
34
37#ifndef HPP_FCL_BROADPHASE_BROAD_PHASE_CALLBACKS_H
38#define HPP_FCL_BROADPHASE_BROAD_PHASE_CALLBACKS_H
39
40#include "hpp/fcl/fwd.hh"
41#include "hpp/fcl/data_types.h"
42
43namespace hpp {
44namespace fcl {
45
53 virtual void init(){};
54
61 virtual bool collide(CollisionObject* o1, CollisionObject* o2) = 0;
62
65 return collide(o1, o2);
66 }
67};
68
76 virtual void init(){};
77
86 FCL_REAL& dist) = 0;
87
90 FCL_REAL& dist) {
91 return distance(o1, o2, dist);
92 }
93};
94
95} // namespace fcl
96} // namespace hpp
97
98#endif // HPP_FCL_BROADPHASE_BROAD_PHASE_CALLBACKS_H
the object for collision or distance computation, contains the geometry and the transform information
Definition: collision_object.h:215
#define HPP_FCL_DLLAPI
Definition: config.hh:64
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.
std::size_t collide(const CollisionObject *o1, const CollisionObject *o2, const CollisionRequest &request, CollisionResult &result)
Main collision interface: given two collision objects, and the requirements for contacts,...
double FCL_REAL
Definition: data_types.h:65
Main namespace.
Definition: broadphase_bruteforce.h:44
Base callback class for collision queries. This class can be supersed by child classes to provide des...
Definition: broadphase_callbacks.h:50
virtual bool operator()(CollisionObject *o1, CollisionObject *o2)
Functor call associated to the collide operation.
Definition: broadphase_callbacks.h:64
virtual bool collide(CollisionObject *o1, CollisionObject *o2)=0
Collision evaluation between two objects in collision. This callback will cause the broadphase evalua...
virtual void init()
Initialization of the callback before running the collision broadphase manager.
Definition: broadphase_callbacks.h:53
Base callback class for distance queries. This class can be supersed by child classes to provide desi...
Definition: broadphase_callbacks.h:73
virtual void init()
Initialization of the callback before running the collision broadphase manager.
Definition: broadphase_callbacks.h:76
virtual bool distance(CollisionObject *o1, CollisionObject *o2, FCL_REAL &dist)=0
Distance evaluation between two objects in collision. This callback will cause the broadphase evaluat...
virtual bool operator()(CollisionObject *o1, CollisionObject *o2, FCL_REAL &dist)
Functor call associated to the distance operation.
Definition: broadphase_callbacks.h:89