This is a snapshot version of FCL at 0.5.0 mainly to support

python-fcl otherwise please use the fcl port.
N.B. python-fcl also needs octomap

FCL is a library for performing three types of proximity queries on a pair of
geometric models composed of triangles.

It performs:
* Collision detection: detecting whether the two models overlap, and optionally,
  all of the triangles that overlap.
* Distance computation: computing the minimum distance between a pair of models,
  i.e., the distance between the closest pair of points.
* Tolerance verification: determining whether two models are closer or farther
  than a tolerance distance.
* Continuous collision detection: detecting whether the two moving models
  overlap during the movement, and optionally, the time of contact.
* Contact information: for collision detection and continuous collision
  detection, the contact information (including contact normals and contact
  points) can be returned optionally.
This commit is contained in:
Diane Bruce 2020-03-25 00:47:14 +00:00
parent c13207e505
commit 9676d6bc1e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=529068
7 changed files with 218 additions and 0 deletions

View File

@ -244,6 +244,7 @@
SUBDIR += facile
SUBDIR += fann
SUBDIR += fcl
SUBDIR += fcl05
SUBDIR += fflas-ffpack
SUBDIR += fftw
SUBDIR += fftw-float

42
math/fcl05/Makefile Normal file
View File

@ -0,0 +1,42 @@
# $FreeBSD$
PORTNAME= fcl
DISTVERSION= 0.5.0
CATEGORIES= math
PKGNAMESUFFIX= 05
MAINTAINER= db@FreeBSD.org
COMMENT= Flexible Collision Library (Old version)
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
LIB_DEPENDS= libccd.so:math/libccd \
liboctomap.so:math/octomap
USES= cmake compiler:c++11-lang eigen:3 pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= flexible-collision-library
GH_PROJECT= fcl
USE_LDCONFIG= yes
CMAKE_OFF= FCL_BUILD_TESTS BUILD_TESTING
OPTIONS_DEFINE_amd64= SSE2 SSE3 SSSE3 SSE4 SSE41 SSE42 SSE4A
OPTIONS_DEFAULT_amd64= SSE2
OPTIONS_DEFINE_i386= ${OPTIONS_DEFINE_amd64}
OPTIONS_DEFAULT_i386= ${OPTIONS_DEFAULT_amd64}
.for sse in ${OPTIONS_DEFINE_amd64}
${sse}_DESC= Support for ${sse}
${sse}_CMAKE_ON= -DFCL_USE_X64_SSE:BOOL=ON -DOPT_SSE_${sse}=-m${sse:tl:S/41/4.1/:S/42/4.2/}
.endfor
do-test:
@cd ${BUILD_WRKSRC} && \
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DBUILD_TESTING:BOOL=ON -DFCL_BUILD_TESTS:BOOL=ON ${CMAKE_SOURCE_PATH} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test
.include <bsd.port.mk>

3
math/fcl05/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1585063007
SHA256 (flexible-collision-library-fcl-0.5.0_GH0.tar.gz) = 8e6c19720e77024c1fbff5a912d81e8f28004208864607447bc90a31f18fb41a
SIZE (flexible-collision-library-fcl-0.5.0_GH0.tar.gz) = 5760425

View File

@ -0,0 +1,44 @@
--- CMakeLists.txt.orig 2016-07-20 03:11:04 UTC
+++ CMakeLists.txt
@@ -7,7 +7,7 @@ if(POLICY CMP0042)
cmake_policy(SET CMP0042 NEW)
endif()
-project(fcl CXX C)
+project(fcl05 CXX C)
# set the default build type
if (NOT CMAKE_BUILD_TYPE)
@@ -33,12 +33,14 @@ if(MSVC OR MSVC90 OR MSVC10)
set(MSVC ON)
endif (MSVC OR MSVC90 OR MSVC10)
-set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
+set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/fcl/lib)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
include(CompilerSettings)
include(FCLVersion)
include(GNUInstallDirs)
+set(CMAKE_INSTALL_INCLUDEDIR "include/fcl05")
+
if(MSVC OR IS_ICPC)
option(FCL_STATIC_LIBRARY "Whether the FCL library should be static rather than shared" ON)
else()
@@ -143,7 +145,7 @@ add_subdirectory(include/fcl)
add_subdirectory(src)
set(pkg_conf_file_in "${CMAKE_CURRENT_SOURCE_DIR}/fcl.pc.in")
-set(pkg_conf_file_out "${CMAKE_CURRENT_BINARY_DIR}/fcl.pc")
+set(pkg_conf_file_out "${CMAKE_CURRENT_BINARY_DIR}/fcl05.pc")
if(NOT MSVC)
set(PKG_CFLAGS "-std=c++11")
endif()
@@ -154,6 +156,7 @@ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL
PATTERN ".DS_Store" EXCLUDE
)
+SET(CMAKE_INSTALL_LIBDIR "libdata")
install(FILES "${pkg_conf_file_out}" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/ COMPONENT pkgconfig)
# Add uninstall target

View File

@ -0,0 +1,16 @@
--- fcl.pc.in.orig 2016-07-20 03:11:04 UTC
+++ fcl.pc.in
@@ -2,11 +2,11 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/fcl05
Name: @PROJECT_NAME@
Description: @PKG_DESC@
Version: @FCL_VERSION@
Requires: @PKG_EXTERNAL_DEPS@
-Libs: -L${libdir} -lfcl
+Libs: -L${libdir} -lfcl05
Cflags: @PKG_CFLAGS@ -I${includedir}

21
math/fcl05/pkg-descr Normal file
View File

@ -0,0 +1,21 @@
This is a snapshot version of FCL at 0.5.0 mainly to support
python-fcl otherwise please use the fcl port.
N.B. python-fcl also needs octomap
FCL is a library for performing three types of proximity queries on a pair of
geometric models composed of triangles.
It performs:
* Collision detection: detecting whether the two models overlap, and optionally,
all of the triangles that overlap.
* Distance computation: computing the minimum distance between a pair of models,
i.e., the distance between the closest pair of points.
* Tolerance verification: determining whether two models are closer or farther
than a tolerance distance.
* Continuous collision detection: detecting whether the two moving models
overlap during the movement, and optionally, the time of contact.
* Contact information: for collision detection and continuous collision
detection, the contact information (including contact normals and contact
points) can be returned optionally.
WWW: https://github.com/flexible-collision-library/fcl

91
math/fcl05/pkg-plist Normal file
View File

@ -0,0 +1,91 @@
include/fcl05/fcl/BV/AABB.h
include/fcl05/fcl/BV/BV.h
include/fcl05/fcl/BV/BV_node.h
include/fcl05/fcl/BV/OBB.h
include/fcl05/fcl/BV/OBBRSS.h
include/fcl05/fcl/BV/RSS.h
include/fcl05/fcl/BV/kDOP.h
include/fcl05/fcl/BV/kIOS.h
include/fcl05/fcl/BVH/BVH_front.h
include/fcl05/fcl/BVH/BVH_internal.h
include/fcl05/fcl/BVH/BVH_model.h
include/fcl05/fcl/BVH/BVH_utility.h
include/fcl05/fcl/BVH/BV_fitter.h
include/fcl05/fcl/BVH/BV_splitter.h
include/fcl05/fcl/articulated_model/joint.h
include/fcl05/fcl/articulated_model/joint_config.h
include/fcl05/fcl/articulated_model/link.h
include/fcl05/fcl/articulated_model/model.h
include/fcl05/fcl/articulated_model/model_config.h
include/fcl05/fcl/broadphase/broadphase.h
include/fcl05/fcl/broadphase/broadphase_SSaP.h
include/fcl05/fcl/broadphase/broadphase_SaP.h
include/fcl05/fcl/broadphase/broadphase_bruteforce.h
include/fcl05/fcl/broadphase/broadphase_dynamic_AABB_tree.h
include/fcl05/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h
include/fcl05/fcl/broadphase/broadphase_interval_tree.h
include/fcl05/fcl/broadphase/broadphase_spatialhash.h
include/fcl05/fcl/broadphase/broadphase_spatialhash.hxx
include/fcl05/fcl/broadphase/hash.h
include/fcl05/fcl/broadphase/hierarchy_tree.h
include/fcl05/fcl/broadphase/hierarchy_tree.hxx
include/fcl05/fcl/broadphase/interval_tree.h
include/fcl05/fcl/broadphase/morton.h
include/fcl05/fcl/ccd/conservative_advancement.h
include/fcl05/fcl/ccd/interpolation/interpolation.h
include/fcl05/fcl/ccd/interpolation/interpolation_factory.h
include/fcl05/fcl/ccd/interpolation/interpolation_linear.h
include/fcl05/fcl/ccd/interval.h
include/fcl05/fcl/ccd/interval_matrix.h
include/fcl05/fcl/ccd/interval_vector.h
include/fcl05/fcl/ccd/motion.h
include/fcl05/fcl/ccd/motion_base.h
include/fcl05/fcl/ccd/simplex.h
include/fcl05/fcl/ccd/support.h
include/fcl05/fcl/ccd/taylor_matrix.h
include/fcl05/fcl/ccd/taylor_model.h
include/fcl05/fcl/ccd/taylor_vector.h
include/fcl05/fcl/collision.h
include/fcl05/fcl/collision_data.h
include/fcl05/fcl/collision_func_matrix.h
include/fcl05/fcl/collision_node.h
include/fcl05/fcl/collision_object.h
include/fcl05/fcl/config.h
include/fcl05/fcl/continuous_collision.h
include/fcl05/fcl/data_types.h
include/fcl05/fcl/deprecated.h
include/fcl05/fcl/distance.h
include/fcl05/fcl/distance_func_matrix.h
include/fcl05/fcl/exception.h
include/fcl05/fcl/intersect.h
include/fcl05/fcl/learning/classifier.h
include/fcl05/fcl/math/constants.h
include/fcl05/fcl/math/math_details.h
include/fcl05/fcl/math/matrix_3f.h
include/fcl05/fcl/math/sampling.h
include/fcl05/fcl/math/transform.h
include/fcl05/fcl/math/vec_3f.h
include/fcl05/fcl/math/vec_nf.h
include/fcl05/fcl/narrowphase/gjk.h
include/fcl05/fcl/narrowphase/gjk_libccd.h
include/fcl05/fcl/narrowphase/narrowphase.h
include/fcl05/fcl/octree.h
include/fcl05/fcl/profile.h
include/fcl05/fcl/shape/geometric_shape_to_BVH_model.h
include/fcl05/fcl/shape/geometric_shapes.h
include/fcl05/fcl/shape/geometric_shapes_utility.h
include/fcl05/fcl/simd/math_simd_details.h
include/fcl05/fcl/simd/simd_intersect.h
include/fcl05/fcl/traversal/traversal_node_base.h
include/fcl05/fcl/traversal/traversal_node_bvh_shape.h
include/fcl05/fcl/traversal/traversal_node_bvhs.h
include/fcl05/fcl/traversal/traversal_node_octree.h
include/fcl05/fcl/traversal/traversal_node_setup.h
include/fcl05/fcl/traversal/traversal_node_shapes.h
include/fcl05/fcl/traversal/traversal_recurse.h
lib/cmake/fcl05/fcl05Config-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/fcl05/fcl05Config.cmake
lib/libfcl05.so
lib/libfcl05.so.0.5.0
lib/libfcl05.so.7
libdata/pkgconfig/fcl05.pc