1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-10 07:04:03 +00:00

math/polyclipper: New port: Library to clip polygons (in 2D) and polyhedra (in 3D) by planes

This commit is contained in:
Yuri Victorovich 2022-12-03 13:55:34 -08:00
parent afc3e31eba
commit 0dce9995e6
6 changed files with 95 additions and 0 deletions

View File

@ -842,6 +842,7 @@
SUBDIR += ploticus-nox11
SUBDIR += plplot
SUBDIR += poly2tri
SUBDIR += polyclipper
SUBDIR += polylib
SUBDIR += polymake
SUBDIR += primecount

36
math/polyclipper/Makefile Normal file
View File

@ -0,0 +1,36 @@
PORTNAME= polyclipper
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.3-2
DISTVERSIONSUFFIX= -g2a727eb
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= Library to clip polygons (in 2D) and polyhedra (in 3D) by planes
WWW= https://github.com/LLNL/PolyClipper
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake
USE_GITHUB= yes
GH_ACCOUNT= LLNL
GH_PROJECT= PolyClipper
GH_TUPLE= llnl:blt:0ae6bd2:blt/cmake/blt \
jmikeowen:PYB11Generator:f351df2:cmake/PYB11Generator
CMAKE_ON= ENABLE_CXXONLY # otherwise it looks for python2
CMAKE_OFF= BUILD_TESTING
NO_BUILD= yes
NO_ARCH= yes
do-test:
.for f in test_array_vector_2d.cc test_array_vector_3d.cc
@${ECHO} "==> testing $f"
@cd ${WRKSRC}/test/test_array_vector && \
${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${f}.bin ${f} -I${STAGEDIR}${PREFIX}/include && \
./${f}.bin
.endfor
.include <bsd.port.mk>

View File

@ -0,0 +1,7 @@
TIMESTAMP = 1670066215
SHA256 (LLNL-PolyClipper-v1.2.3-2-g2a727eb_GH0.tar.gz) = 6a0d2734a9cdc88e575134a7a4f0603456aa80d90fd316ace20f85d1526e7e98
SIZE (LLNL-PolyClipper-v1.2.3-2-g2a727eb_GH0.tar.gz) = 275308
SHA256 (llnl-blt-0ae6bd2_GH0.tar.gz) = a881609c8b3048487a230b696e38a48cb3f11c2a00bbb03034d0700fa18cf2d7
SIZE (llnl-blt-0ae6bd2_GH0.tar.gz) = 1178467
SHA256 (jmikeowen-PYB11Generator-f351df2_GH0.tar.gz) = 036462d577b08ac6e6c45eac4b691cda9314364ebb931dfd93d677a71c3b3e3d
SIZE (jmikeowen-PYB11Generator-f351df2_GH0.tar.gz) = 64833

View File

@ -0,0 +1,32 @@
--- CMakeLists.txt.orig 2021-12-29 18:25:59 UTC
+++ CMakeLists.txt
@@ -22,18 +22,18 @@ option(ENABLE_DOCS "enable the sphinx documentation" O
#-------------------------------------------------------------------------------
set(ENABLE_OPENMP ON CACHE BOOL "")
-if (NOT POLYCLIPPER_BLT_DIR)
+if (FALSE AND NOT POLYCLIPPER_BLT_DIR)
set (POLYCLIPPER_BLT_REL_DIR "${PROJECT_SOURCE_DIR}/cmake/blt" CACHE PATH "")
get_filename_component(POLYCLIPPER_BLT_DIR "${POLYCLIPPER_BLT_REL_DIR}" ABSOLUTE)
endif()
-if (NOT EXISTS "${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake")
+if (FALSE AND NOT EXISTS "${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake")
message(FATAL_ERROR
"${POLYCLIPPER_BLT_DIR} is not present.\n"
"call cmake with -DPOLYCLIPPER_BLT_DIR=/your/installation/of/blt\n")
endif()
-include(${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake)
+#include(${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake)
#-------------------------------------------------------------------------------
# Install
@@ -118,4 +118,6 @@ endif()
#-------------------------------------------------------------------------------
# Add any tests
#-------------------------------------------------------------------------------
-add_subdirectory(test/test_array_vector)
+if (BUILD_TESTING)
+ add_subdirectory(test/test_array_vector)
+endif()

View File

@ -0,0 +1,8 @@
Polytope is a C++ library for generating polygonal and polyhedral meshes.
It makes use of various 2D and 3D tessellation techniques, but provides
a single representation for these tessellations, and a simple interface
for generating them.
Polytope has a simple C interface for use with other languages. It also
includes bindings for Python. These bindings allow you to easily incorporate
Polytope into your own mesh generation tools.

View File

@ -0,0 +1,11 @@
include/polyclipper2d.hh
include/polyclipper2dImpl.hh
include/polyclipper3d.hh
include/polyclipper3dImpl.hh
include/polyclipper_adapter.hh
include/polyclipper_plane.hh
include/polyclipper_serialize.hh
include/polyclipper_serializeImpl.hh
include/polyclipper_utilities.hh
include/polyclipper_vector2d.hh
include/polyclipper_vector3d.hh