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

Export symbols.

parent d4571ba0
......@@ -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
class AABB
class HPP_FCL_DLLAPI AABB
{
public:
/// @brief The min point in the AABB
......
......@@ -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.
template<typename BV1, typename BV2>
class Converter
class HPP_FCL_DLLAPI Converter
{
private:
static void convert(const BV1& /*bv1*/, const Transform3f& /*tf1*/, BV2& /*bv2*/)
......@@ -71,7 +71,7 @@ private:
/// @brief Convert from AABB to AABB, not very tight but is fast.
template<>
class Converter<AABB, AABB>
class HPP_FCL_DLLAPI Converter<AABB, AABB>
{
public:
static void convert(const AABB& bv1, const Transform3f& tf1, AABB& bv2)
......@@ -86,7 +86,7 @@ public:
};
template<>
class Converter<AABB, OBB>
class HPP_FCL_DLLAPI Converter<AABB, OBB>
{
public:
static void convert(const AABB& bv1, const Transform3f& tf1, OBB& bv2)
......@@ -98,7 +98,7 @@ public:
};
template<>
class Converter<OBB, OBB>
class HPP_FCL_DLLAPI Converter<OBB, OBB>
{
public:
static void convert(const OBB& bv1, const Transform3f& tf1, OBB& bv2)
......@@ -110,7 +110,7 @@ public:
};
template<>
class Converter<OBBRSS, OBB>
class HPP_FCL_DLLAPI Converter<OBBRSS, OBB>
{
public:
static void convert(const OBBRSS& bv1, const Transform3f& tf1, OBB& bv2)
......@@ -120,7 +120,7 @@ public:
};
template<>
class Converter<RSS, OBB>
class HPP_FCL_DLLAPI Converter<RSS, OBB>
{
public:
static void convert(const RSS& bv1, const Transform3f& tf1, OBB& bv2)
......@@ -133,7 +133,7 @@ public:
template<typename BV1>
class Converter<BV1, AABB>
class HPP_FCL_DLLAPI Converter<BV1, AABB>
{
public:
static void convert(const BV1& bv1, const Transform3f& tf1, AABB& bv2)
......@@ -148,7 +148,7 @@ public:
};
template<typename BV1>
class Converter<BV1, OBB>
class HPP_FCL_DLLAPI Converter<BV1, OBB>
{
public:
static void convert(const BV1& bv1, const Transform3f& tf1, OBB& bv2)
......@@ -160,7 +160,7 @@ public:
};
template<>
class Converter<OBB, RSS>
class HPP_FCL_DLLAPI Converter<OBB, RSS>
{
public:
static void convert(const OBB& bv1, const Transform3f& tf1, RSS& bv2)
......@@ -175,7 +175,7 @@ public:
};
template<>
class Converter<RSS, RSS>
class HPP_FCL_DLLAPI Converter<RSS, RSS>
{
public:
static void convert(const RSS& bv1, const Transform3f& tf1, RSS& bv2)
......@@ -190,7 +190,7 @@ public:
};
template<>
class Converter<OBBRSS, RSS>
class HPP_FCL_DLLAPI Converter<OBBRSS, RSS>
{
public:
static void convert(const OBBRSS& bv1, const Transform3f& tf1, RSS& bv2)
......@@ -200,7 +200,7 @@ public:
};
template<>
class Converter<AABB, RSS>
class HPP_FCL_DLLAPI Converter<AABB, RSS>
{
public:
static void convert(const AABB& bv1, const Transform3f& tf1, RSS& bv2)
......@@ -246,7 +246,7 @@ public:
};
template<>
class Converter<AABB, OBBRSS>
class HPP_FCL_DLLAPI Converter<AABB, OBBRSS>
{
public:
static void convert(const AABB& bv1, const Transform3f& tf1, OBBRSS& bv2)
......
......@@ -54,7 +54,7 @@ namespace fcl
/// @{
/// @brief BVNodeBase encodes the tree structure for BVH
struct BVNodeBase
struct HPP_FCL_DLLAPI BVNodeBase
{
/// @brief An index for first child node or primitive
/// If the value is positive, it is the index of the first child bv node
......@@ -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.
template<typename BV>
struct BVNode : public BVNodeBase
struct HPP_FCL_DLLAPI BVNode : public BVNodeBase
{
/// @brief bounding volume storing the geometry
BV bv;
......
......@@ -51,7 +51,7 @@ struct CollisionRequest;
/// @{
/// @brief Oriented bounding box class
class OBB
class HPP_FCL_DLLAPI OBB
{
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.
......
......@@ -53,7 +53,7 @@ namespace fcl
/// @{
/// @brief Class merging the OBB and RSS, can handle collision and distance simultaneously
class OBBRSS
class HPP_FCL_DLLAPI OBBRSS
{
public:
......
......@@ -52,7 +52,7 @@ struct CollisionRequest;
/// @{
/// @brief A class for rectangle sphere-swept bounding volume
class RSS
class HPP_FCL_DLLAPI RSS
{
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.
......
......@@ -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 11 and 23
template<short N>
class KDOP
class HPP_FCL_DLLAPI KDOP
{
private:
/// @brief Origin's distances to N KDOP planes
......
......@@ -52,10 +52,10 @@ struct CollisionRequest;
/// @{
/// @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
struct kIOS_Sphere
struct HPP_FCL_DLLAPI kIOS_Sphere
{
Vec3f o;
FCL_REAL r;
......
......@@ -41,6 +41,8 @@
#include <list>
#include <hpp/fcl/config.hh>
namespace hpp
{
namespace fcl
......@@ -50,7 +52,7 @@ namespace fcl
/// 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
/// 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.
int left, right;
......
......@@ -59,7 +59,7 @@ template <typename BV> class BVFitter;
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)
class BVHModelBase : public CollisionGeometry
class HPP_FCL_DLLAPI BVHModelBase : public CollisionGeometry
{
public:
/// @brief Geometry point data
......@@ -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)
/// \tparam BV one of the bounding volume class in \ref Bounding_Volume.
template<typename BV>
class BVHModel : public BVHModelBase
class HPP_FCL_DLLAPI BVHModel : public BVHModelBase
{
public:
......
......@@ -56,7 +56,7 @@ namespace fcl
const int GST_INDEP HPP_FCL_DEPRECATED = 0;
/// @brief Contact information returned by collision
struct Contact
struct HPP_FCL_DLLAPI Contact
{
/// @brief collision object 1
const CollisionGeometry* o1;
......@@ -139,7 +139,7 @@ struct Contact
struct QueryResult;
/// @brief base class for all query requests
struct QueryRequest
struct HPP_FCL_DLLAPI QueryRequest
{
/// @brief whether enable gjk intial guess
bool enable_cached_gjk_guess;
......@@ -160,7 +160,7 @@ struct QueryRequest
};
/// @brief base class for all query results
struct QueryResult
struct HPP_FCL_DLLAPI QueryResult
{
/// @brief stores the last GJK ray when relevant.
Vec3f cached_gjk_guess;
......@@ -188,7 +188,7 @@ enum CollisionRequestFlag
};
/// @brief request to the collision algorithm
struct CollisionRequest : QueryRequest
struct HPP_FCL_DLLAPI CollisionRequest : QueryRequest
{
/// @brief The maximum number of contacts will return
size_t num_max_contacts;
......@@ -237,7 +237,7 @@ struct CollisionRequest : QueryRequest
};
/// @brief collision result
struct CollisionResult : QueryResult
struct HPP_FCL_DLLAPI CollisionResult : QueryResult
{
private:
/// @brief contact information
......@@ -321,7 +321,7 @@ public:
struct DistanceResult;
/// @brief request to the distance computation
struct DistanceRequest : QueryRequest
struct HPP_FCL_DLLAPI DistanceRequest : QueryRequest
{
/// @brief whether to return the nearest points
bool enable_nearest_points;
......@@ -357,7 +357,7 @@ struct DistanceRequest : QueryRequest
};
/// @brief distance result
struct DistanceResult : QueryResult
struct HPP_FCL_DLLAPI DistanceResult : QueryResult
{
public:
......
......@@ -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
struct CollisionFunctionMatrix
struct HPP_FCL_DLLAPI CollisionFunctionMatrix
{
/// @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;
......
......@@ -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
class CollisionGeometry
class HPP_FCL_DLLAPI CollisionGeometry
{
public:
CollisionGeometry() : cost_density(1),
......@@ -154,7 +154,7 @@ public:
};
/// @brief the object for collision or distance computation, contains the geometry and the transform information
class CollisionObject
class HPP_FCL_DLLAPI CollisionObject
{
public:
CollisionObject(const boost::shared_ptr<CollisionGeometry> &cgeom_) :
......
......@@ -44,6 +44,7 @@
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <hpp/fcl/config.hh>
namespace hpp
{
......@@ -75,7 +76,7 @@ typedef Eigen::Matrix<FCL_REAL, 3, 3> Matrix3f;
typedef Eigen::Vector2i support_func_guess_t;
/// @brief Triangle with 3 indices for points
class Triangle
class HPP_FCL_DLLAPI Triangle
{
public:
typedef std::size_t index_type;
......
......@@ -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
struct DistanceFunctionMatrix
struct HPP_FCL_DLLAPI DistanceFunctionMatrix
{
/// @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;
......
......@@ -39,6 +39,8 @@
#include <boost/shared_ptr.hpp>
#include <hpp/fcl/config.hh>
namespace hpp {
namespace fcl {
class CollisionObject;
......
......@@ -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
template<typename BV>
class BVFitterTpl
class HPP_FCL_DLLAPI BVFitterTpl
{
public:
/// @brief default deconstructor
......@@ -122,7 +122,7 @@ protected:
/// @brief The class for the default algorithm fitting a bounding volume to a set of points
template<typename BV>
class BVFitter : public BVFitterTpl<BV>
class HPP_FCL_DLLAPI BVFitter : public BVFitterTpl<BV>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......@@ -173,7 +173,7 @@ protected:
/// @brief Specification of BVFitter for OBB bounding volume
template<>
class BVFitter<OBB> : public BVFitterTpl<OBB>
class HPP_FCL_DLLAPI BVFitter<OBB> : public BVFitterTpl<OBB>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......@@ -183,7 +183,7 @@ public:
/// @brief Specification of BVFitter for RSS bounding volume
template<>
class BVFitter<RSS> : public BVFitterTpl<RSS>
class HPP_FCL_DLLAPI BVFitter<RSS> : public BVFitterTpl<RSS>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......@@ -193,7 +193,7 @@ public:
/// @brief Specification of BVFitter for kIOS bounding volume
template<>
class BVFitter<kIOS> : public BVFitterTpl<kIOS>
class HPP_FCL_DLLAPI BVFitter<kIOS> : public BVFitterTpl<kIOS>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......@@ -203,7 +203,7 @@ public:
/// @brief Specification of BVFitter for OBBRSS bounding volume
template<>
class BVFitter<OBBRSS> : public BVFitterTpl<OBBRSS>
class HPP_FCL_DLLAPI BVFitter<OBBRSS> : public BVFitterTpl<OBBRSS>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......@@ -213,7 +213,7 @@ public:
/// @brief Specification of BVFitter for AABB bounding volume
template<>
class BVFitter<AABB> : public BVFitterTpl<AABB>
class HPP_FCL_DLLAPI BVFitter<AABB> : public BVFitterTpl<AABB>
{
public:
/// @brief Compute a bounding volume that fits a set of primitives (points or triangles).
......
......@@ -55,7 +55,7 @@ enum SplitMethodType {SPLIT_METHOD_MEAN, SPLIT_METHOD_MEDIAN, SPLIT_METHOD_BV_CE
/// @brief A class describing the split rule that splits each BV node
template<typename BV>
class BVSplitter
class HPP_FCL_DLLAPI BVSplitter
{
public:
......
......@@ -49,7 +49,7 @@ namespace fcl
{
/// @brief CCD intersect kernel among primitives
class Intersect
class HPP_FCL_DLLAPI Intersect
{
public:
static bool buildTrianglePlane
......@@ -57,10 +57,10 @@ public:
}; // class Intersect
/// @brief Project functions
class Project
class HPP_FCL_DLLAPI Project
{
public:
struct ProjectResult
struct HPP_FCL_DLLAPI ProjectResult
{
/// @brief Parameterization of the projected point (based on the simplex to be projected, use 2 or 3 or 4 of the array)
FCL_REAL parameterization[4];
......@@ -96,7 +96,7 @@ public:
};
/// @brief Triangle distance functions
class TriangleDistance
class HPP_FCL_DLLAPI TriangleDistance
{
public:
......
......@@ -51,7 +51,7 @@ enum {
namespace details
{
template <bool enabled>
struct RelativeTransformation
struct HPP_FCL_DLLAPI RelativeTransformation
{
RelativeTransformation () : R (Matrix3f::Identity()) {}
......@@ -63,7 +63,7 @@ namespace details
};
template <>
struct RelativeTransformation <false>
struct HPP_FCL_DLLAPI RelativeTransformation <false>
{
static const Matrix3f& _R () { throw std::logic_error ("should never reach this point"); }
static const Vec3f & _T () { throw std::logic_error ("should never reach this point"); }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment