Commit 718d1d26 authored by Guilhem Saurel's avatar Guilhem Saurel
Browse files

Export symbols.

parent d4571ba0
...@@ -52,7 +52,7 @@ struct CollisionRequest; ...@@ -52,7 +52,7 @@ struct CollisionRequest;
/// @{ /// @{
/// @brief A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points /// @brief A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points
class AABB class HPP_FCL_DLLAPI AABB
{ {
public: public:
/// @brief The min point in the AABB /// @brief The min point in the AABB
......
...@@ -59,7 +59,7 @@ namespace details ...@@ -59,7 +59,7 @@ namespace details
/// @brief Convert a bounding volume of type BV1 in configuration tf1 to a bounding volume of type BV2 in I configuration. /// @brief Convert a bounding volume of type BV1 in configuration tf1 to a bounding volume of type BV2 in I configuration.
template<typename BV1, typename BV2> template<typename BV1, typename BV2>
class Converter class HPP_FCL_DLLAPI Converter
{ {
private: private:
static void convert(const BV1& /*bv1*/, const Transform3f& /*tf1*/, BV2& /*bv2*/) static void convert(const BV1& /*bv1*/, const Transform3f& /*tf1*/, BV2& /*bv2*/)
...@@ -71,7 +71,7 @@ private: ...@@ -71,7 +71,7 @@ private:
/// @brief Convert from AABB to AABB, not very tight but is fast. /// @brief Convert from AABB to AABB, not very tight but is fast.
template<> template<>
class Converter<AABB, AABB> class HPP_FCL_DLLAPI Converter<AABB, AABB>
{ {
public: public:
static void convert(const AABB& bv1, const Transform3f& tf1, AABB& bv2) static void convert(const AABB& bv1, const Transform3f& tf1, AABB& bv2)
...@@ -86,7 +86,7 @@ public: ...@@ -86,7 +86,7 @@ public:
}; };
template<> template<>
class Converter<AABB, OBB> class HPP_FCL_DLLAPI Converter<AABB, OBB>
{ {
public: public:
static void convert(const AABB& bv1, const Transform3f& tf1, OBB& bv2) static void convert(const AABB& bv1, const Transform3f& tf1, OBB& bv2)
...@@ -98,7 +98,7 @@ public: ...@@ -98,7 +98,7 @@ public:
}; };
template<> template<>
class Converter<OBB, OBB> class HPP_FCL_DLLAPI Converter<OBB, OBB>
{ {
public: public:
static void convert(const OBB& bv1, const Transform3f& tf1, OBB& bv2) static void convert(const OBB& bv1, const Transform3f& tf1, OBB& bv2)
...@@ -110,7 +110,7 @@ public: ...@@ -110,7 +110,7 @@ public:
}; };
template<> template<>
class Converter<OBBRSS, OBB> class HPP_FCL_DLLAPI Converter<OBBRSS, OBB>
{ {
public: public:
static void convert(const OBBRSS& bv1, const Transform3f& tf1, OBB& bv2) static void convert(const OBBRSS& bv1, const Transform3f& tf1, OBB& bv2)
...@@ -120,7 +120,7 @@ public: ...@@ -120,7 +120,7 @@ public:
}; };
template<> template<>
class Converter<RSS, OBB> class HPP_FCL_DLLAPI Converter<RSS, OBB>
{ {
public: public:
static void convert(const RSS& bv1, const Transform3f& tf1, OBB& bv2) static void convert(const RSS& bv1, const Transform3f& tf1, OBB& bv2)
...@@ -133,7 +133,7 @@ public: ...@@ -133,7 +133,7 @@ public:
template<typename BV1> template<typename BV1>
class Converter<BV1, AABB> class HPP_FCL_DLLAPI Converter<BV1, AABB>
{ {
public: public:
static void convert(const BV1& bv1, const Transform3f& tf1, AABB& bv2) static void convert(const BV1& bv1, const Transform3f& tf1, AABB& bv2)
...@@ -148,7 +148,7 @@ public: ...@@ -148,7 +148,7 @@ public:
}; };
template<typename BV1> template<typename BV1>
class Converter<BV1, OBB> class HPP_FCL_DLLAPI Converter<BV1, OBB>
{ {
public: public:
static void convert(const BV1& bv1, const Transform3f& tf1, OBB& bv2) static void convert(const BV1& bv1, const Transform3f& tf1, OBB& bv2)
...@@ -160,7 +160,7 @@ public: ...@@ -160,7 +160,7 @@ public:
}; };
template<> template<>
class Converter<OBB, RSS> class HPP_FCL_DLLAPI Converter<OBB, RSS>
{ {
public: public:
static void convert(const OBB& bv1, const Transform3f& tf1, RSS& bv2) static void convert(const OBB& bv1, const Transform3f& tf1, RSS& bv2)
...@@ -175,7 +175,7 @@ public: ...@@ -175,7 +175,7 @@ public:
}; };
template<> template<>
class Converter<RSS, RSS> class HPP_FCL_DLLAPI Converter<RSS, RSS>
{ {
public: public:
static void convert(const RSS& bv1, const Transform3f& tf1, RSS& bv2) static void convert(const RSS& bv1, const Transform3f& tf1, RSS& bv2)
...@@ -190,7 +190,7 @@ public: ...@@ -190,7 +190,7 @@ public:
}; };
template<> template<>
class Converter<OBBRSS, RSS> class HPP_FCL_DLLAPI Converter<OBBRSS, RSS>
{ {
public: public:
static void convert(const OBBRSS& bv1, const Transform3f& tf1, RSS& bv2) static void convert(const OBBRSS& bv1, const Transform3f& tf1, RSS& bv2)
...@@ -200,7 +200,7 @@ public: ...@@ -200,7 +200,7 @@ public:
}; };
template<> template<>
class Converter<AABB, RSS> class HPP_FCL_DLLAPI Converter<AABB, RSS>
{ {
public: public:
static void convert(const AABB& bv1, const Transform3f& tf1, RSS& bv2) static void convert(const AABB& bv1, const Transform3f& tf1, RSS& bv2)
...@@ -246,7 +246,7 @@ public: ...@@ -246,7 +246,7 @@ public:
}; };
template<> template<>
class Converter<AABB, OBBRSS> class HPP_FCL_DLLAPI Converter<AABB, OBBRSS>
{ {
public: public:
static void convert(const AABB& bv1, const Transform3f& tf1, OBBRSS& bv2) static void convert(const AABB& bv1, const Transform3f& tf1, OBBRSS& bv2)
......
...@@ -54,7 +54,7 @@ namespace fcl ...@@ -54,7 +54,7 @@ namespace fcl
/// @{ /// @{
/// @brief BVNodeBase encodes the tree structure for BVH /// @brief BVNodeBase encodes the tree structure for BVH
struct BVNodeBase struct HPP_FCL_DLLAPI BVNodeBase
{ {
/// @brief An index for first child node or primitive /// @brief An index for first child node or primitive
/// If the value is positive, it is the index of the first child bv node /// If the value is positive, it is the index of the first child bv node
...@@ -84,7 +84,7 @@ struct BVNodeBase ...@@ -84,7 +84,7 @@ struct BVNodeBase
/// @brief A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and also the geometry data provided in BV template parameter. /// @brief A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and also the geometry data provided in BV template parameter.
template<typename BV> template<typename BV>
struct BVNode : public BVNodeBase struct HPP_FCL_DLLAPI BVNode : public BVNodeBase
{ {
/// @brief bounding volume storing the geometry /// @brief bounding volume storing the geometry
BV bv; BV bv;
......
...@@ -51,7 +51,7 @@ struct CollisionRequest; ...@@ -51,7 +51,7 @@ struct CollisionRequest;
/// @{ /// @{
/// @brief Oriented bounding box class /// @brief Oriented bounding box class
class OBB class HPP_FCL_DLLAPI OBB
{ {
public: public:
/// @brief Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box. /// @brief Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box.
......
...@@ -53,7 +53,7 @@ namespace fcl ...@@ -53,7 +53,7 @@ namespace fcl
/// @{ /// @{
/// @brief Class merging the OBB and RSS, can handle collision and distance simultaneously /// @brief Class merging the OBB and RSS, can handle collision and distance simultaneously
class OBBRSS class HPP_FCL_DLLAPI OBBRSS
{ {
public: public:
......
...@@ -52,7 +52,7 @@ struct CollisionRequest; ...@@ -52,7 +52,7 @@ struct CollisionRequest;
/// @{ /// @{
/// @brief A class for rectangle sphere-swept bounding volume /// @brief A class for rectangle sphere-swept bounding volume
class RSS class HPP_FCL_DLLAPI RSS
{ {
public: public:
/// @brief Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i-th principle direction of the RSS. /// @brief Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i-th principle direction of the RSS.
......
...@@ -86,7 +86,7 @@ struct CollisionRequest; ...@@ -86,7 +86,7 @@ struct CollisionRequest;
/// (-1, 1, -1) and (1, -1, 1) --> indices 10 and 22 /// (-1, 1, -1) and (1, -1, 1) --> indices 10 and 22
/// (1, -1, -1) and (-1, 1, 1) --> indices 11 and 23 /// (1, -1, -1) and (-1, 1, 1) --> indices 11 and 23
template<short N> template<short N>
class KDOP class HPP_FCL_DLLAPI KDOP
{ {
private: private:
/// @brief Origin's distances to N KDOP planes /// @brief Origin's distances to N KDOP planes
......
...@@ -52,10 +52,10 @@ struct CollisionRequest; ...@@ -52,10 +52,10 @@ struct CollisionRequest;
/// @{ /// @{
/// @brief A class describing the kIOS collision structure, which is a set of spheres. /// @brief A class describing the kIOS collision structure, which is a set of spheres.
class kIOS class HPP_FCL_DLLAPI kIOS
{ {
/// @brief One sphere in kIOS /// @brief One sphere in kIOS
struct kIOS_Sphere struct HPP_FCL_DLLAPI kIOS_Sphere
{ {
Vec3f o; Vec3f o;
FCL_REAL r; FCL_REAL r;
......
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
#include <list> #include <list>
#include <hpp/fcl/config.hh>
namespace hpp namespace hpp
{ {
namespace fcl namespace fcl
...@@ -50,7 +52,7 @@ namespace fcl ...@@ -50,7 +52,7 @@ namespace fcl
/// Front list is a set of internal and leaf nodes in the BVTT hierarchy, where /// Front list is a set of internal and leaf nodes in the BVTT hierarchy, where
/// the traversal terminates while performing a query during a given time instance. The front list reflects the subset of a /// the traversal terminates while performing a query during a given time instance. The front list reflects the subset of a
/// BVTT that is traversed for that particular proximity query. /// BVTT that is traversed for that particular proximity query.
struct BVHFrontNode struct HPP_FCL_DLLAPI BVHFrontNode
{ {
/// @brief The nodes to start in the future, i.e. the wave front of the traversal tree. /// @brief The nodes to start in the future, i.e. the wave front of the traversal tree.
int left, right; int left, right;
......
...@@ -59,7 +59,7 @@ template <typename BV> class BVFitter; ...@@ -59,7 +59,7 @@ template <typename BV> class BVFitter;
template <typename BV> class BVSplitter; template <typename BV> class BVSplitter;
/// @brief A base class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh) /// @brief A base class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh)
class BVHModelBase : public CollisionGeometry class HPP_FCL_DLLAPI BVHModelBase : public CollisionGeometry
{ {
public: public:
/// @brief Geometry point data /// @brief Geometry point data
...@@ -266,7 +266,7 @@ protected: ...@@ -266,7 +266,7 @@ protected:
/// @brief A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh) /// @brief A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh)
/// \tparam BV one of the bounding volume class in \ref Bounding_Volume. /// \tparam BV one of the bounding volume class in \ref Bounding_Volume.
template<typename BV> template<typename BV>
class BVHModel : public BVHModelBase class HPP_FCL_DLLAPI BVHModel : public BVHModelBase
{ {
public: public:
......
...@@ -56,7 +56,7 @@ namespace fcl ...@@ -56,7 +56,7 @@ namespace fcl
const int GST_INDEP HPP_FCL_DEPRECATED = 0; const int GST_INDEP HPP_FCL_DEPRECATED = 0;
/// @brief Contact information returned by collision /// @brief Contact information returned by collision
struct Contact struct HPP_FCL_DLLAPI Contact
{ {
/// @brief collision object 1 /// @brief collision object 1
const CollisionGeometry* o1; const CollisionGeometry* o1;
...@@ -139,7 +139,7 @@ struct Contact ...@@ -139,7 +139,7 @@ struct Contact
struct QueryResult; struct QueryResult;
/// @brief base class for all query requests /// @brief base class for all query requests
struct QueryRequest struct HPP_FCL_DLLAPI QueryRequest
{ {
/// @brief whether enable gjk intial guess /// @brief whether enable gjk intial guess
bool enable_cached_gjk_guess; bool enable_cached_gjk_guess;
...@@ -160,7 +160,7 @@ struct QueryRequest ...@@ -160,7 +160,7 @@ struct QueryRequest
}; };
/// @brief base class for all query results /// @brief base class for all query results
struct QueryResult struct HPP_FCL_DLLAPI QueryResult
{ {
/// @brief stores the last GJK ray when relevant. /// @brief stores the last GJK ray when relevant.
Vec3f cached_gjk_guess; Vec3f cached_gjk_guess;
...@@ -188,7 +188,7 @@ enum CollisionRequestFlag ...@@ -188,7 +188,7 @@ enum CollisionRequestFlag
}; };
/// @brief request to the collision algorithm /// @brief request to the collision algorithm
struct CollisionRequest : QueryRequest struct HPP_FCL_DLLAPI CollisionRequest : QueryRequest
{ {
/// @brief The maximum number of contacts will return /// @brief The maximum number of contacts will return
size_t num_max_contacts; size_t num_max_contacts;
...@@ -237,7 +237,7 @@ struct CollisionRequest : QueryRequest ...@@ -237,7 +237,7 @@ struct CollisionRequest : QueryRequest
}; };
/// @brief collision result /// @brief collision result
struct CollisionResult : QueryResult struct HPP_FCL_DLLAPI CollisionResult : QueryResult
{ {
private: private:
/// @brief contact information /// @brief contact information
...@@ -321,7 +321,7 @@ public: ...@@ -321,7 +321,7 @@ public:
struct DistanceResult; struct DistanceResult;
/// @brief request to the distance computation /// @brief request to the distance computation
struct DistanceRequest : QueryRequest struct HPP_FCL_DLLAPI DistanceRequest : QueryRequest
{ {
/// @brief whether to return the nearest points /// @brief whether to return the nearest points
bool enable_nearest_points; bool enable_nearest_points;
...@@ -357,7 +357,7 @@ struct DistanceRequest : QueryRequest ...@@ -357,7 +357,7 @@ struct DistanceRequest : QueryRequest
}; };
/// @brief distance result /// @brief distance result
struct DistanceResult : QueryResult struct HPP_FCL_DLLAPI DistanceResult : QueryResult
{ {
public: public:
......
...@@ -51,7 +51,7 @@ namespace fcl ...@@ -51,7 +51,7 @@ namespace fcl
/// @brief collision matrix stores the functions for collision between different types of objects and provides a uniform call interface /// @brief collision matrix stores the functions for collision between different types of objects and provides a uniform call interface
struct CollisionFunctionMatrix struct HPP_FCL_DLLAPI CollisionFunctionMatrix
{ {
/// @brief the uniform call interface for collision: for collision, we need know /// @brief the uniform call interface for collision: for collision, we need know
/// 1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2; /// 1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2;
......
...@@ -60,7 +60,7 @@ enum NODE_TYPE {BV_UNKNOWN, BV_AABB, BV_OBB, BV_RSS, BV_kIOS, BV_OBBRSS, BV_KDOP ...@@ -60,7 +60,7 @@ enum NODE_TYPE {BV_UNKNOWN, BV_AABB, BV_OBB, BV_RSS, BV_kIOS, BV_OBBRSS, BV_KDOP
/// @{ /// @{
/// @brief The geometry for the object for collision or distance computation /// @brief The geometry for the object for collision or distance computation
class CollisionGeometry class HPP_FCL_DLLAPI CollisionGeometry
{ {
public: public:
CollisionGeometry() : cost_density(1), CollisionGeometry() : cost_density(1),
...@@ -154,7 +154,7 @@ public: ...@@ -154,7 +154,7 @@ public:
}; };
/// @brief the object for collision or distance computation, contains the geometry and the transform information /// @brief the object for collision or distance computation, contains the geometry and the transform information
class CollisionObject class HPP_FCL_DLLAPI CollisionObject
{ {
public: public:
CollisionObject(const boost::shared_ptr<CollisionGeometry> &cgeom_) : CollisionObject(const boost::shared_ptr<CollisionGeometry> &cgeom_) :
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include <Eigen/Core> #include <Eigen/Core>
#include <Eigen/Geometry> #include <Eigen/Geometry>
#include <hpp/fcl/config.hh>
namespace hpp namespace hpp
{ {
...@@ -75,7 +76,7 @@ typedef Eigen::Matrix<FCL_REAL, 3, 3> Matrix3f; ...@@ -75,7 +76,7 @@ typedef Eigen::Matrix<FCL_REAL, 3, 3> Matrix3f;
typedef Eigen::Vector2i support_func_guess_t; typedef Eigen::Vector2i support_func_guess_t;
/// @brief Triangle with 3 indices for points /// @brief Triangle with 3 indices for points
class Triangle class HPP_FCL_DLLAPI Triangle
{ {
public: public:
typedef std::size_t index_type; typedef std::size_t index_type;
......
...@@ -48,7 +48,7 @@ namespace fcl ...@@ -48,7 +48,7 @@ namespace fcl
{ {
/// @brief distance matrix stores the functions for distance between different types of objects and provides a uniform call interface /// @brief distance matrix stores the functions for distance between different types of objects and provides a uniform call interface
struct DistanceFunctionMatrix struct HPP_FCL_DLLAPI DistanceFunctionMatrix
{ {
/// @brief the uniform call interface for distance: for distance, we need know /// @brief the uniform call interface for distance: for distance, we need know
/// 1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2; /// 1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2;
......
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include <hpp/fcl/config.hh>
namespace hpp { namespace hpp {
namespace fcl { namespace fcl {
class CollisionObject; class CollisionObject;
......
...@@ -76,7 +76,7 @@ void fit<AABB>(Vec3f* ps, int n, AABB& bv); ...@@ -76,7 +76,7 @@ void fit<AABB>(Vec3f* ps, int n, AABB& bv);
/// @brief The class for the default algorithm fitting a bounding volume to a set of points /// @brief The class for the default algorithm fitting a bounding volume to a set of points
template<typename BV> template<typename BV>
class BVFitterTpl class HPP_FCL_DLLAPI BVFitterTpl
{ {
public: public:
/// @brief default deconstructor /// @brief default deconstructor
...@@ -122,7 +122,7 @@ protected: ...@@ -122,7 +122,7 @@ protected:
/// @brief The class for the default algorithm fitting a bounding volume to a set of points /// @brief The class for the default algorithm fitting a bounding volume to a set of points
template<typename BV> template<typename BV>
class BVFitter : public BVFitterTpl<BV> class HPP_FCL_DLLAPI BVFitter : public BVFitterTpl<BV>
{ {
public: public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles). /// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
...@@ -173,7 +173,7 @@ protected: ...@@ -173,7 +173,7 @@ protected:
/// @brief Specification of BVFitter for OBB bounding volume /// @brief Specification of BVFitter for OBB bounding volume
template<> template<>
class BVFitter<OBB> : public BVFitterTpl<OBB> class HPP_FCL_DLLAPI BVFitter<OBB> : public BVFitterTpl<OBB>
{ {
public: public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles). /// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
...@@ -183,7 +183,7 @@ public: ...@@ -183,7 +183,7 @@ public:
/// @brief Specification of BVFitter for RSS bounding volume /// @brief Specification of BVFitter for RSS bounding volume
template<> template<>
class BVFitter<RSS> : public BVFitterTpl<RSS> class HPP_FCL_DLLAPI BVFitter<RSS> : public BVFitterTpl<RSS>
{ {
public: public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles). /// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
...@@ -193,7 +193,7 @@ public: ...@@ -193,7 +193,7 @@ public:
/// @brief Specification of BVFitter for kIOS bounding volume /// @brief Specification of BVFitter for kIOS bounding volume
template<> template<>
class BVFitter<kIOS> : public BVFitterTpl<kIOS> class HPP_FCL_DLLAPI BVFitter<kIOS> : public BVFitterTpl<kIOS>
{ {
public: public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles). /// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
...@@ -203,7 +203,7 @@ public: ...@@ -203,7 +203,7 @@ public:
/// @brief Specification of BVFitter for OBBRSS bounding volume /// @brief Specification of BVFitter for OBBRSS bounding volume
template<> template<>
class BVFitter<OBBRSS> : public BVFitterTpl<OBBRSS> class HPP_FCL_DLLAPI BVFitter<OBBRSS> : public BVFitterTpl<OBBRSS>
{ {
public: public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles). /// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
...@@ -213,7 +213,7 @@ public: ...@@ -213,7 +213,7 @@ public:
/// @brief Specification of BVFitter for AABB bounding volume /// @brief Specification of BVFitter for AABB bounding volume
template<> templat