Skip to content

Commit

Permalink
Add top level fcl header, fcl.h
Browse files Browse the repository at this point in the history
  • Loading branch information
jslee02 committed Aug 15, 2016
1 parent fd69630 commit e2736f1
Show file tree
Hide file tree
Showing 10 changed files with 109 additions and 98 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -25,6 +25,7 @@ endif (MSVC OR MSVC90 OR MSVC10)

set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
include(FCLMacros)
include(CompilerSettings)
include(FCLVersion)
include(GNUInstallDirs)
Expand Down
54 changes: 54 additions & 0 deletions CMakeModules/FCLMacros.cmake
@@ -0,0 +1,54 @@
#===============================================================================
# Appends items to a cached list.
# Usage:
# fcl_append_to_cached_string(_string _cacheDesc [items...])
#===============================================================================
macro(fcl_append_to_cached_string _string _cacheDesc)
foreach(newItem ${ARGN})
set(${_string} "${${_string}}${newItem}" CACHE INTERNAL ${_cacheDesc} FORCE)
endforeach()
endmacro()

#===============================================================================
# Get list of file names give list of full paths.
# Usage:
# fcl_get_filename_components(_var _cacheDesc [items...])
#===============================================================================
macro(fcl_get_filename_components _var _cacheDesc _suffix_to_remove)
set(${_var} "" CACHE INTERNAL ${_cacheDesc} FORCE)
string(LENGTH ${_suffix_to_remove} suffix_length)
foreach(header ${ARGN})
string(LENGTH ${header} full_length)
string(
SUBSTRING
${header}
${suffix_length}
${full_length}-${suffix_length}
header)
if(${header} MATCHES "/detail/")
continue()
endif()
if(${header} MATCHES "-impl.h")
continue()
endif()
fcl_append_to_cached_string(
${_var}
${_cacheDesc}"_HEADER_NAMES"
"${header}\;")
endforeach()
endmacro()

#===============================================================================
# Generate header file list to a cached list.
# Usage:
# fcl_generate_include_header_list(_var _target_dir _cacheDesc [headers...])
#===============================================================================
macro(fcl_generate_include_header_list _var _target_dir _cacheDesc)
set(${_var} "" CACHE INTERNAL ${_cacheDesc} FORCE)
foreach(header ${ARGN})
fcl_append_to_cached_string(
${_var}
${_cacheDesc}"_HEADERS"
"#include \"${_target_dir}${header}\"\n")
endforeach()
endmacro()
31 changes: 31 additions & 0 deletions include/fcl/CMakeLists.txt
Expand Up @@ -6,3 +6,34 @@ file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" FCL_CONFIG_IN_DIR)
file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" FCL_CONFIG_OUT_DIR)
configure_file("${FCL_CONFIG_IN_DIR}/config.h.in" "${FCL_CONFIG_OUT_DIR}/config.h")
install(FILES "${FCL_CONFIG_OUT_DIR}/config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fcl)

file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" FCL_TOP_HEADER_IN_DIR)
file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" FCL_TOP_HEADER_OUT_DIR)
configure_file("${FCL_CONFIG_IN_DIR}/config.h.in" "${FCL_CONFIG_OUT_DIR}/config.h")
install(FILES "${FCL_CONFIG_OUT_DIR}/config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fcl)

fcl_get_filename_components(
fcl_header_rel_paths
"fcl headers"
${CMAKE_CURRENT_SOURCE_DIR}
${HEADERS})
fcl_get_filename_components(
fcl_config_header_rel_paths
"fcl configured headers"
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/config.h)
list(INSERT fcl_header_rel_paths 0 ${fcl_config_header_rel_paths})

fcl_generate_include_header_list(
fcl_headers
"fcl"
"fcl header relative paths"
${fcl_header_rel_paths})
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/fcl.h.in
${CMAKE_CURRENT_BINARY_DIR}/fcl.h)

install(
FILES ${hdrs} ${CMAKE_CURRENT_BINARY_DIR}/fcl.h
DESTINATION include/fcl
COMPONENT headers)
1 change: 1 addition & 0 deletions include/fcl/broadphase/broadphase_spatialhash.h
Expand Up @@ -43,6 +43,7 @@
#include "fcl/math/bv/AABB.h"
#include "fcl/broadphase/broadphase_collision_manager.h"
#include "fcl/broadphase/detail/simple_hash_table.h"
#include "fcl/broadphase/detail/sparse_hash_table.h"
#include "fcl/broadphase/detail/spatial_hash.h"

namespace fcl
Expand Down
4 changes: 3 additions & 1 deletion include/fcl/fcl.h → include/fcl/fcl.h.in
Expand Up @@ -34,9 +34,11 @@

/** @author Jeongseok Lee <jslee02@gmail.com> */

// Automatically generated file by cmake

#ifndef FCL_FCL_H
#define FCL_FCL_H

// TODO(JS): fill necessary headers here
${fcl_headers}

#endif
3 changes: 2 additions & 1 deletion include/fcl/math/motion/spline_motion.h
Expand Up @@ -42,6 +42,7 @@
#include <vector>
#include "fcl/math/geometry.h"
#include "fcl/math/motion/motion_base.h"
#include "fcl/math/detail/polysolver.h"

namespace fcl
{
Expand Down Expand Up @@ -399,7 +400,7 @@ S SplineMotion<S>::computeDWMax() const

S roots[3];

int root_num = PolySolver<S>::solveCubic(da, roots);
int root_num = detail::PolySolver<S>::solveCubic(da, roots);

S dWdW_max = a[0] * tf_t * tf_t * tf_t + a[1] * tf_t * tf_t * tf_t + a[2] * tf_t * tf_t + a[3] * tf_t + a[4];
S dWdW_1 = a[0] + a[1] + a[2] + a[3] + a[4];
Expand Down
52 changes: 0 additions & 52 deletions include/fcl/math/sampler/sampling.h

This file was deleted.

3 changes: 3 additions & 0 deletions include/fcl/narrowphase/continuous_collision.h
Expand Up @@ -41,7 +41,10 @@
#include <iostream>
#include "fcl/object/collision_object.h"
#include "fcl/object/continuous_collision_object.h"
#include "fcl/narrowphase/detail/gjk_solver_indep.h"
#include "fcl/narrowphase/detail/gjk_solver_libccd.h"
#include "fcl/narrowphase/detail/conservative_advancement_func_matrix.h"
#include "fcl/narrowphase/detail/traversal/collision/mesh_continuous_collision_traversal_node.h"

namespace fcl
{
Expand Down
Expand Up @@ -51,7 +51,13 @@
#include "fcl/object/geometry/shape/plane.h"
#include "fcl/object/geometry/shape/sphere.h"
#include "fcl/object/geometry/shape/triangle_p.h"
#include "fcl/narrowphase/continuous_collision_request.h"
#include "fcl/narrowphase/continuous_collision_result.h"
#include "fcl/narrowphase/detail/traversal/traversal_recurse.h"
#include "fcl/narrowphase/detail/traversal/distance/mesh_conservative_advancement_traversal_node.h"
#include "fcl/narrowphase/detail/traversal/distance/shape_conservative_advancement_traversal_node.h"
#include "fcl/narrowphase/detail/traversal/distance/mesh_shape_conservative_advancement_traversal_node.h"
#include "fcl/narrowphase/detail/traversal/distance/shape_mesh_conservative_advancement_traversal_node.h"

namespace fcl
{
Expand All @@ -64,7 +70,14 @@ struct ConservativeAdvancementFunctionMatrix
{
using S = typename NarrowPhaseSolver::S;

typedef S (*ConservativeAdvancementFunc)(const CollisionGeometry<S>* o1, const MotionBase<S>* motion1, const CollisionGeometry<S>* o2, const MotionBase<S>* motion2, const NarrowPhaseSolver* nsolver, const ContinuousCollisionRequest<S>& request, ContinuousCollisionResult<S>& result);
using ConservativeAdvancementFunc
= S (*)(const CollisionGeometry<S>* o1,
const MotionBase<S>* motion1,
const CollisionGeometry<S>* o2,
const MotionBase<S>* motion2,
const NarrowPhaseSolver* nsolver,
const ContinuousCollisionRequest<S>& request,
ContinuousCollisionResult<S>& result);

ConservativeAdvancementFunc conservative_advancement_matrix[NODE_COUNT][NODE_COUNT];

Expand Down
43 changes: 0 additions & 43 deletions include/fcl/object/geometry/shape/geometric_shapes_utility.h

This file was deleted.

0 comments on commit e2736f1

Please sign in to comment.