From 0594e6db458e23168e419c8057f1d5f792eafd63 Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Tue, 8 Oct 2019 18:33:03 +0200 Subject: [PATCH] Remove inclusion of internal headers in public headers. --- CMakeLists.txt | 1 - include/hpp/fcl/BVH/BVH_model.h | 15 +++------ src/BVH/BVH_model.cpp | 31 ++++++++++++++----- src/BVH/BVH_utility.cpp | 2 +- src/narrowphase/narrowphase.cpp | 8 +++-- src/shape/geometric_shapes.cpp | 2 +- src/shape/geometric_shapes_utility.cpp | 2 +- .../shape/geometric_shapes_utility.h | 2 ++ src/traversal/traversal_node_bvh_shape.h | 2 +- src/traversal/traversal_node_octree.h | 2 +- src/traversal/traversal_node_shapes.h | 3 +- test/benchmark.cpp | 7 +++-- test/collision.cpp | 11 ++++--- test/distance.cpp | 8 +++-- test/frontlist.cpp | 1 + test/octree.cpp | 4 ++- 16 files changed, 61 insertions(+), 40 deletions(-) rename {include/hpp/fcl => src}/shape/geometric_shapes_utility.h (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4100a818..53de7c32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,7 +122,6 @@ SET(${PROJECT_NAME}_HEADERS include/hpp/fcl/BV/kDOP.h include/hpp/fcl/narrowphase/narrowphase.h include/hpp/fcl/narrowphase/gjk.h - include/hpp/fcl/shape/geometric_shapes_utility.h include/hpp/fcl/shape/geometric_shape_to_BVH_model.h include/hpp/fcl/shape/geometric_shapes.h include/hpp/fcl/distance_func_matrix.h diff --git a/include/hpp/fcl/BVH/BVH_model.h b/include/hpp/fcl/BVH/BVH_model.h index 66005904..d6d20033 100644 --- a/include/hpp/fcl/BVH/BVH_model.h +++ b/include/hpp/fcl/BVH/BVH_model.h @@ -41,8 +41,6 @@ #include <hpp/fcl/collision_object.h> #include <hpp/fcl/BVH/BVH_internal.h> #include <hpp/fcl/BV/BV_node.h> -#include "../../src/BVH/BV_splitter.h" -#include "../../src/BVH/BV_fitter.h" #include <vector> #include <boost/shared_ptr.hpp> #include <boost/noncopyable.hpp> @@ -54,6 +52,9 @@ namespace fcl class ConvexBase; +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 { @@ -258,15 +259,7 @@ public: boost::shared_ptr<BVFitter<BV> > bv_fitter; /// @brief Constructing an empty BVH - BVHModel() : BVHModelBase (), - bv_splitter(new BVSplitter<BV>(SPLIT_METHOD_MEAN)), - bv_fitter(new BVFitter<BV>()), - num_bvs_allocated(0), - primitive_indices(NULL), - bvs(NULL), - num_bvs(0) - { - } + BVHModel(); /// @brief copy from another BVH BVHModel(const BVHModel& other); diff --git a/src/BVH/BVH_model.cpp b/src/BVH/BVH_model.cpp index 11379c84..281656f1 100644 --- a/src/BVH/BVH_model.cpp +++ b/src/BVH/BVH_model.cpp @@ -36,11 +36,16 @@ /** \author Jia Pan */ #include <hpp/fcl/BVH/BVH_model.h> -#include <hpp/fcl/BV/BV.h> -#include <hpp/fcl/shape/convex.h> + #include <iostream> #include <string.h> +#include <hpp/fcl/BV/BV.h> +#include <hpp/fcl/shape/convex.h> + +#include "../../src/BVH/BV_splitter.h" +#include "../../src/BVH/BV_fitter.h" + namespace hpp { namespace fcl @@ -630,6 +635,20 @@ void BVHModelBase::computeLocalAABB() aabb_local = aabb_; } + + /// @brief Constructing an empty BVH +template<typename BV> +BVHModel<BV>::BVHModel() : + BVHModelBase (), + bv_splitter(new BVSplitter<BV>(SPLIT_METHOD_MEAN)), + bv_fitter(new BVFitter<BV>()), + num_bvs_allocated(0), + primitive_indices(NULL), + bvs(NULL), + num_bvs(0) +{ +} + template<typename BV> void BVHModel<BV>::deleteBVs() { @@ -1015,11 +1034,6 @@ NODE_TYPE BVHModel<KDOP<24> >::getNodeType() const return BV_KDOP24; } - - - - - template class BVHModel<KDOP<16> >; template class BVHModel<KDOP<18> >; template class BVHModel<KDOP<24> >; @@ -1028,6 +1042,7 @@ template class BVHModel<AABB>; template class BVHModel<RSS>; template class BVHModel<kIOS>; template class BVHModel<OBBRSS>; -} + +} // namespace fcl } // namespace hpp diff --git a/src/BVH/BVH_utility.cpp b/src/BVH/BVH_utility.cpp index b1f2f7be..c3ac12c7 100644 --- a/src/BVH/BVH_utility.cpp +++ b/src/BVH/BVH_utility.cpp @@ -38,7 +38,7 @@ #include <hpp/fcl/BVH/BVH_utility.h> #include <hpp/fcl/narrowphase/narrowphase.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> +#include "../src/shape/geometric_shapes_utility.h" namespace hpp { diff --git a/src/narrowphase/narrowphase.cpp b/src/narrowphase/narrowphase.cpp index f0b29a72..e8e05b76 100644 --- a/src/narrowphase/narrowphase.cpp +++ b/src/narrowphase/narrowphase.cpp @@ -36,10 +36,12 @@ /** \author Jia Pan */ #include <hpp/fcl/narrowphase/narrowphase.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> -#include "../intersect.h" -#include <boost/math/constants/constants.hpp> + #include <vector> +#include <boost/math/constants/constants.hpp> + +#include "../src/shape/geometric_shapes_utility.h" +#include "../src/intersect.h" #include "../src/narrowphase/details.h" namespace hpp diff --git a/src/shape/geometric_shapes.cpp b/src/shape/geometric_shapes.cpp index ddf0cb4f..eb9cc274 100644 --- a/src/shape/geometric_shapes.cpp +++ b/src/shape/geometric_shapes.cpp @@ -37,7 +37,7 @@ #include <hpp/fcl/shape/geometric_shapes.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> +#include "../src/shape/geometric_shapes_utility.h" namespace hpp { diff --git a/src/shape/geometric_shapes_utility.cpp b/src/shape/geometric_shapes_utility.cpp index b02f9523..1bd29f4b 100644 --- a/src/shape/geometric_shapes_utility.cpp +++ b/src/shape/geometric_shapes_utility.cpp @@ -36,7 +36,7 @@ /** \author Jia Pan */ -#include <hpp/fcl/shape/geometric_shapes_utility.h> +#include "../src/shape/geometric_shapes_utility.h" #include "../BVH/BV_fitter.h" #include "../math/tools.h" diff --git a/include/hpp/fcl/shape/geometric_shapes_utility.h b/src/shape/geometric_shapes_utility.h similarity index 99% rename from include/hpp/fcl/shape/geometric_shapes_utility.h rename to src/shape/geometric_shapes_utility.h index c29a903c..2a6a2ba6 100644 --- a/include/hpp/fcl/shape/geometric_shapes_utility.h +++ b/src/shape/geometric_shapes_utility.h @@ -43,6 +43,8 @@ #include <hpp/fcl/shape/geometric_shapes.h> #include <hpp/fcl/BV/BV.h> +#include "../src/BVH/BV_fitter.h" + namespace hpp { namespace fcl diff --git a/src/traversal/traversal_node_bvh_shape.h b/src/traversal/traversal_node_bvh_shape.h index e931a392..b01351ac 100644 --- a/src/traversal/traversal_node_bvh_shape.h +++ b/src/traversal/traversal_node_bvh_shape.h @@ -41,7 +41,7 @@ #include <hpp/fcl/collision_data.h> #include <hpp/fcl/shape/geometric_shapes.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> +#include "../src/shape/geometric_shapes_utility.h" #include "traversal_node_base.h" #include "details/traversal.h" #include <hpp/fcl/BVH/BVH_model.h> diff --git a/src/traversal/traversal_node_octree.h b/src/traversal/traversal_node_octree.h index c8f0f522..142531ef 100644 --- a/src/traversal/traversal_node_octree.h +++ b/src/traversal/traversal_node_octree.h @@ -41,9 +41,9 @@ #include <hpp/fcl/collision_data.h> #include "traversal_node_base.h" #include <hpp/fcl/narrowphase/narrowphase.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> #include <hpp/fcl/octree.h> #include <hpp/fcl/BVH/BVH_model.h> +#include "../src/shape/geometric_shapes_utility.h" namespace hpp { diff --git a/src/traversal/traversal_node_shapes.h b/src/traversal/traversal_node_shapes.h index 90252734..4344c4e5 100644 --- a/src/traversal/traversal_node_shapes.h +++ b/src/traversal/traversal_node_shapes.h @@ -42,9 +42,8 @@ #include <hpp/fcl/collision_data.h> #include "traversal_node_base.h" #include <hpp/fcl/narrowphase/narrowphase.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> #include <hpp/fcl/BV/BV.h> -#include <hpp/fcl/shape/geometric_shapes_utility.h> +#include "../src/shape/geometric_shapes_utility.h" namespace hpp { diff --git a/test/benchmark.cpp b/test/benchmark.cpp index f3a16334..21e4cae7 100644 --- a/test/benchmark.cpp +++ b/test/benchmark.cpp @@ -14,12 +14,15 @@ // received a copy of the GNU Lesser General Public License along with // hpp-fcl. If not, see <http://www.gnu.org/licenses/>. +#include <boost/filesystem.hpp> + #include "../src/traversal/traversal_node_setup.h" #include "../src/traversal/traversal_node_bvhs.h" -#include <../src/collision_node.h> +#include "../src/collision_node.h" +#include "../src/BVH/BV_splitter.h" + #include "utility.h" #include "fcl_resources/config.h" -#include <boost/filesystem.hpp> #define RUN_CASE(BV,tf,models,split) \ run<BV>(tf, models, split, #BV " - " #split ":\t") diff --git a/test/collision.cpp b/test/collision.cpp index d28452d9..2cc49180 100644 --- a/test/collision.cpp +++ b/test/collision.cpp @@ -44,19 +44,22 @@ #include <boost/test/unit_test.hpp> #include <boost/utility/binary.hpp> +#include <boost/filesystem.hpp> #include <boost/assign/list_of.hpp> -#include "../src/traversal/traversal_node_bvhs.h" -#include "../src/traversal/traversal_node_setup.h" -#include <../src/collision_node.h> #include <hpp/fcl/collision.h> #include <hpp/fcl/BV/BV.h> #include <hpp/fcl/shape/geometric_shapes.h> #include <hpp/fcl/narrowphase/narrowphase.h> #include <hpp/fcl/mesh_loader/assimp.h> + +#include "../src/traversal/traversal_node_bvhs.h" +#include "../src/traversal/traversal_node_setup.h" +#include "../src/collision_node.h" +#include "../src/BVH/BV_splitter.h" + #include "utility.h" #include "fcl_resources/config.h" -#include <boost/filesystem.hpp> using namespace hpp::fcl; diff --git a/test/distance.cpp b/test/distance.cpp index a7457eb6..eea1eb8b 100644 --- a/test/distance.cpp +++ b/test/distance.cpp @@ -39,14 +39,16 @@ #define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include <boost/utility/binary.hpp> +#include <boost/timer.hpp> +#include <boost/filesystem.hpp> #include "../src/traversal/traversal_node_bvhs.h" #include "../src/traversal/traversal_node_setup.h" -#include <../src/collision_node.h> +#include "../src/collision_node.h" +#include "../src/BVH/BV_splitter.h" + #include "utility.h" -#include <boost/timer.hpp> #include "fcl_resources/config.h" -#include <boost/filesystem.hpp> using namespace hpp::fcl; diff --git a/test/frontlist.cpp b/test/frontlist.cpp index b2e9f300..05045b06 100644 --- a/test/frontlist.cpp +++ b/test/frontlist.cpp @@ -44,6 +44,7 @@ #include "../src/traversal/traversal_node_bvhs.h" #include "../src/traversal/traversal_node_setup.h" #include <../src/collision_node.h> +#include <../src/BVH/BV_splitter.h> #include "utility.h" #include "fcl_resources/config.h" diff --git a/test/octree.cpp b/test/octree.cpp index 65507fa0..406339dc 100644 --- a/test/octree.cpp +++ b/test/octree.cpp @@ -38,14 +38,16 @@ #define BOOST_TEST_DYN_LINK #include <fstream> #include <boost/test/unit_test.hpp> +#include <boost/filesystem.hpp> #include <hpp/fcl/BVH/BVH_model.h> #include <hpp/fcl/collision.h> #include <hpp/fcl/distance.h> #include <hpp/fcl/shape/geometric_shapes.h> +#include "../src/BVH/BV_splitter.h" + #include "utility.h" #include "fcl_resources/config.h" -#include <boost/filesystem.hpp> using hpp::fcl::Vec3f; using hpp::fcl::Triangle; -- GitLab