hpp-fcl 1.8.1
HPP fork of FCL -- The Flexible Collision Library
Loading...
Searching...
No Matches
fwd.hh
Go to the documentation of this file.
1//
2// Software License Agreement (BSD License)
3//
4// Copyright (c) 2014, CNRS-LAAS
5// Author: Florent Lamiraux
6//
7// All rights reserved.
8//
9// Redistribution and use in source and binary forms, with or without
10// modification, are permitted provided that the following conditions
11// are met:
12//
13// * Redistributions of source code must retain the above copyright
14// notice, this list of conditions and the following disclaimer.
15// * Redistributions in binary form must reproduce the above
16// copyright notice, this list of conditions and the following
17// disclaimer in the documentation and/or other materials provided
18// with the distribution.
19// * Neither the name of CNRS-LAAS nor the names of its
20// contributors may be used to endorse or promote products derived
21// from this software without specific prior written permission.
22//
23// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34// POSSIBILITY OF SUCH DAMAGE.
35//
36
37#ifndef HPP_FCL_FWD_HH
38#define HPP_FCL_FWD_HH
39
40#include <boost/shared_ptr.hpp>
41#include <sstream>
42
43#include <hpp/fcl/config.hh>
44
45#if _WIN32
46 #define HPP_FCL_PRETTY_FUNCTION __FUNCSIG__
47#else
48 #define HPP_FCL_PRETTY_FUNCTION __PRETTY_FUNCTION__
49#endif
50
51#define HPP_FCL_UNUSED_VARIABLE(var) (void)(var)
52
53#define HPP_FCL_THROW_PRETTY(message,exception) \
54{ \
55std::stringstream ss; \
56ss << "From file: " << __FILE__ << "\n"; \
57ss << "in function: " << HPP_FCL_PRETTY_FUNCTION << "\n"; \
58ss << "at line: " << __LINE__ << "\n"; \
59ss << "message: " << message << "\n"; \
60throw exception(ss.str()); \
61}
62
63#if (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
64 #define HPP_FCL_WITH_CXX11_SUPPORT
65#endif
66
67namespace hpp {
68namespace fcl {
69 using boost::shared_ptr;
70
71 class CollisionObject;
72 typedef shared_ptr <CollisionObject> CollisionObjectPtr_t;
73 typedef shared_ptr < const CollisionObject> CollisionObjectConstPtr_t;
75 typedef shared_ptr <CollisionGeometry> CollisionGeometryPtr_t;
76 typedef shared_ptr <const CollisionGeometry>
78 class Transform3f;
79
80 class AABB;
81
82 class BVHModelBase;
83 typedef shared_ptr<BVHModelBase> BVHModelPtr_t;
84
85 class OcTree;
86 typedef shared_ptr<OcTree> OcTreePtr_t;
87 typedef shared_ptr<const OcTree> OcTreeConstPtr_t;
88}
89} // namespace hpp
90
91#endif // HPP_FCL_FWD_HH
A class describing the AABB collision structure, which is a box in 3D space determined by two diagona...
Definition: AABB.h:56
A base class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewe...
Definition: BVH_model.h:64
The geometry for the object for collision or distance computation.
Definition: collision_object.h:67
Octree is one type of collision geometry which can encode uncertainty information in the sensor data.
Definition: octree.h:57
Simple transform class used locally by InterpMotion.
Definition: transform.h:59
shared_ptr< const CollisionGeometry > CollisionGeometryConstPtr_t
Definition: fwd.hh:77
shared_ptr< CollisionGeometry > CollisionGeometryPtr_t
Definition: fwd.hh:75
shared_ptr< BVHModelBase > BVHModelPtr_t
Definition: fwd.hh:83
shared_ptr< OcTree > OcTreePtr_t
Definition: fwd.hh:86
shared_ptr< CollisionObject > CollisionObjectPtr_t
Definition: fwd.hh:72
shared_ptr< const OcTree > OcTreeConstPtr_t
Definition: fwd.hh:87
shared_ptr< const CollisionObject > CollisionObjectConstPtr_t
Definition: fwd.hh:73
Main namespace.
Definition: AABB.h:44