Skip to content

Commit 3de7b02

Browse files
committed
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeode into epsilon_opti_multilayers_simplifier_integration
2 parents 3afa3e7 + cb7d015 commit 3de7b02

File tree

123 files changed

+3290
-862
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+3290
-862
lines changed

.github/workflows/schedule.yml

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,20 @@ name: Schedule
22

33
on:
44
workflow_dispatch:
5+
inputs:
6+
branch:
7+
type: string
8+
default: "master"
59
schedule:
610
- cron: 0 23 * * *
711

812
jobs:
9-
schedule-next:
10-
if: ${{ github.event_name == 'schedule' }}
13+
schedule:
1114
uses: Geode-solutions/actions/.github/workflows/cpp-schedule.yml@master
1215
with:
1316
name: OPENGEODE
1417
directory: opengeode
15-
branch: next
18+
branch: ${{ inputs.branch || 'next' }}
1619
secrets:
1720
TOKEN: ${{ secrets.TOKEN }}
1821
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
19-
20-
schedule-master:
21-
if: ${{ github.event_name == 'workflow_dispatch' }}
22-
uses: Geode-solutions/actions/.github/workflows/cpp-schedule.yml@master
23-
with:
24-
name: OPENGEODE
25-
directory: opengeode
26-
branch: master
27-
secrets:
28-
TOKEN: ${{ secrets.TOKEN }}
29-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_ECOSYSTEM }}

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
build
22
.settings
33
.vscode/ipch
4-
examples/.ipynb*
4+
examples/.ipynb*
5+
bindings/python/requirements.txt

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"${workspaceFolder}/build/opengeode",
66
"${workspaceFolder}/build/third_party/abseil/install/include",
77
"${workspaceFolder}/build/third_party/asyncplusplus/install/include",
8+
"${workspaceFolder}/build/third_party/earcut/install/include",
89
"${workspaceFolder}/build/third_party/bitsery/install/include",
910
"${workspaceFolder}/build/third_party/minizip/install/include",
1011
"${workspaceFolder}/build/third_party/nanoflann/install/include",

bindings/python/requirements.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

bindings/python/src/basic/attribute.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,12 @@ namespace geode
7070
pybind11::class_< AttributeBase, std::shared_ptr< AttributeBase > >(
7171
module, "AttributeBase" )
7272
.def( "generic_value", &AttributeBase::generic_value )
73+
.def( "generic_item_value", &AttributeBase::generic_item_value )
7374
.def( "properties", &AttributeBase::properties )
74-
.def( "is_genericable", &AttributeBase::is_genericable );
75+
.def( "is_genericable", &AttributeBase::is_genericable )
76+
.def( "nb_items", &AttributeBase::nb_items )
77+
.def( "type", &AttributeBase::type )
78+
.def( "name", &AttributeBase::name );
7579
python_attribute_class< bool >( module, "Bool" );
7680
python_attribute_class< int >( module, "Int" );
7781
python_attribute_class< unsigned int >( module, "UInt" );

cmake/ConfigureEarcut.cmake

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright (c) 2019 - 2024 Geode-solutions
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"), to deal
5+
# in the Software without restriction, including without limitation the rights
6+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
# copies of the Software, and to permit persons to whom the Software is
8+
# furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
# SOFTWARE.
20+
21+
set(EARCUT_PATH ${PROJECT_BINARY_DIR}/third_party/earcut)
22+
set(EARCUT_INSTALL_PREFIX ${EARCUT_PATH}/install)
23+
ExternalProject_Add(earcut
24+
PREFIX ${EARCUT_PATH}
25+
SOURCE_DIR ${EARCUT_PATH}/src
26+
BINARY_DIR ${EARCUT_PATH}/build
27+
STAMP_DIR ${EARCUT_PATH}/stamp
28+
GIT_REPOSITORY https://github.com/mapbox/earcut.hpp
29+
GIT_TAG a30c14b5676adabe4714ff4173dae8a5d568ab59
30+
GIT_SHALLOW ON
31+
GIT_PROGRESS ON
32+
CMAKE_GENERATOR ${CMAKE_GENERATOR}
33+
CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM}
34+
CMAKE_ARGS
35+
-DCMAKE_INSTALL_MESSAGE=LAZY
36+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
37+
CMAKE_CACHE_ARGS
38+
-DCMAKE_INSTALL_PREFIX:PATH=${EARCUT_INSTALL_PREFIX}
39+
-DEARCUT_BUILD_TESTS:BOOL=OFF
40+
-DEARCUT_BUILD_BENCH:BOOL=OFF
41+
-DEARCUT_BUILD_VIZ:BOOL=OFF
42+
)
43+
44+
ExternalProject_Add_StepTargets(earcut download)

cmake/ConfigureOpenGeode.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ ExternalProject_Add(opengeode
4545
-DUSE_SUPERBUILD:BOOL=OFF
4646
-DASYNCPLUSPLUS_INSTALL_PREFIX:PATH=${ASYNCPLUSPLUS_INSTALL_PREFIX}
4747
-DBITSERY_INSTALL_PREFIX:PATH=${BITSERY_INSTALL_PREFIX}
48-
-DFILESYSTEM_INSTALL_PREFIX:PATH=${FILESYSTEM_INSTALL_PREFIX}
48+
-DEARCUT_INSTALL_PREFIX:PATH=${EARCUT_INSTALL_PREFIX}
4949
-DMINIZIP_INSTALL_PREFIX:PATH=${MINIZIP_INSTALL_PREFIX}
5050
-DNANOFLANN_INSTALL_PREFIX:PATH=${NANOFLANN_INSTALL_PREFIX}
5151
-DSPDLOG_INSTALL_PREFIX:PATH=${SPDLOG_INSTALL_PREFIX}
@@ -61,6 +61,7 @@ ExternalProject_Add(opengeode
6161
abseil
6262
asyncplusplus
6363
bitsery
64+
earcut
6465
gdal
6566
minizip
6667
nanoflann
@@ -80,6 +81,7 @@ add_custom_target(download
8081
abseil-download
8182
asyncplusplus-download
8283
bitsery-download
84+
earcut-download
8385
gdal-download
8486
minizip-download
8587
nanoflann-download

cmake/CppTargets.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ endfunction()
229229
option(USE_BENCHMARK "Toggle benchmarking of tests" OFF)
230230
function(add_geode_test)
231231
cmake_parse_arguments(GEODE_TEST
232-
"ESSENTIAL"
232+
"ESSENTIAL;UNSTABLE"
233233
"SOURCE"
234234
"DEPENDENCIES"
235235
${ARGN}
@@ -239,6 +239,8 @@ function(add_geode_test)
239239
if(${GEODE_TEST_ESSENTIAL})
240240
add_dependencies(essential ${target_name})
241241
set_tests_properties(${target_name} PROPERTIES LABELS essential)
242+
elseif(${GEODE_TEST_UNSTABLE})
243+
set_tests_properties(${target_name} PROPERTIES LABELS unstable)
242244
endif()
243245
set_tests_properties(${target_name}
244246
PROPERTIES

cmake/OpenGeode.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ include(cmake/PythonTargets.cmake)
3131
find_package(absl REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${ABSEIL_INSTALL_PREFIX})
3232
find_package(Async++ REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${ASYNCPLUSPLUS_INSTALL_PREFIX})
3333
find_package(Bitsery REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${BITSERY_INSTALL_PREFIX})
34+
find_package(earcut_hpp REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${EARCUT_INSTALL_PREFIX})
3435
find_package(minizip-ng REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${MINIZIP_INSTALL_PREFIX})
3536
find_package(nanoflann REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${NANOFLANN_INSTALL_PREFIX})
3637
find_package(spdlog REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${SPDLOG_INSTALL_PREFIX})
@@ -52,6 +53,7 @@ install(
5253
if(NOT BUILD_SHARED_LIBS)
5354
install(
5455
DIRECTORY
56+
${EARCUT_INSTALL_PREFIX}/
5557
${MINIZIP_INSTALL_PREFIX}/
5658
${NANOFLANN_INSTALL_PREFIX}/
5759
${SPDLOG_INSTALL_PREFIX}/

cmake/OpenGeodeConfig.cmake.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ include(CMakeFindDependencyMacro)
3939
find_dependency(absl)
4040
find_dependency(Bitsery)
4141
find_dependency(Threads)
42+
find_dependency(Async++)
4243

4344
get_target_property(library_type OpenGeode::basic TYPE)
4445
if(library_type STREQUAL "STATIC_LIBRARY")
45-
find_dependency(Async++)
4646
find_dependency(minizip-ng)
4747
find_dependency(nanoflann)
4848
find_dependency(spdlog)

0 commit comments

Comments
 (0)