fwd.hh 2.82 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// Software License Agreement (BSD License)
//
//  Copyright (c) 2014, CNRS-LAAS
//  Author: Florent Lamiraux
//
//  All rights reserved.
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions
//  are met:
//
//   * Redistributions of source code must retain the above copyright
//     notice, this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above
//     copyright notice, this list of conditions and the following
//     disclaimer in the documentation and/or other materials provided
//     with the distribution.
//   * Neither the name of CNRS-LAAS nor the names of its
//     contributors may be used to endorse or promote products derived
//     from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
//  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
//  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
//  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
//  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
//  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
//  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
//  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//  POSSIBILITY OF SUCH DAMAGE.
//

Joseph Mirabel's avatar
Joseph Mirabel committed
37
38
39
#ifndef HPP_FCL_FWD_HH
#define HPP_FCL_FWD_HH

40
#include <boost/shared_ptr.hpp>
41
#include <sstream>
42

Guilhem Saurel's avatar
Guilhem Saurel committed
43
44
#include <hpp/fcl/config.hh>

Justin Carpentier's avatar
Justin Carpentier committed
45
46
47
48
49
50
#if _WIN32
  #define HPP_FCL_PRETTY_FUNCTION __FUNCSIG__
#else
  #define HPP_FCL_PRETTY_FUNCTION __PRETTY_FUNCTION__
#endif

51
52
53
54
#define HPP_FCL_THROW_PRETTY(message,exception) \
{ \
std::stringstream ss; \
ss << "From file: " << __FILE__ << "\n"; \
Justin Carpentier's avatar
Justin Carpentier committed
55
ss << "in function: " << HPP_FCL_PRETTY_FUNCTION << "\n"; \
56
57
58
59
60
ss << "at line: " << __LINE__ << "\n"; \
ss << "message: " << message << "\n"; \
throw exception(ss.str()); \
}

61
62
63
64
#if (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
  #define HPP_FCL_WITH_CXX11_SUPPORT
#endif

65
namespace hpp {
66
namespace fcl {
Joseph Mirabel's avatar
Joseph Mirabel committed
67
68
  using boost::shared_ptr;

69
  class CollisionObject;
Joseph Mirabel's avatar
Joseph Mirabel committed
70
71
  typedef shared_ptr <CollisionObject> CollisionObjectPtr_t;
  typedef shared_ptr < const CollisionObject> CollisionObjectConstPtr_t;
72
  class CollisionGeometry;
Joseph Mirabel's avatar
Joseph Mirabel committed
73
74
  typedef shared_ptr <CollisionGeometry> CollisionGeometryPtr_t;
  typedef shared_ptr <const CollisionGeometry>
75
76
  CollisionGeometryConstPtr_t;
  class Transform3f;
77
78

  class AABB;
79
80

  class BVHModelBase;
Joseph Mirabel's avatar
Joseph Mirabel committed
81
  typedef shared_ptr<BVHModelBase> BVHModelPtr_t;
82
}
83
} // namespace hpp
Joseph Mirabel's avatar
Joseph Mirabel committed
84
85

#endif // HPP_FCL_FWD_HH