From 27f96e326825a315e94afe377a8e2aee459a2088 Mon Sep 17 00:00:00 2001 From: MelchiorSchuh Date: Tue, 2 Jun 2026 17:46:54 +0200 Subject: [PATCH 1/2] feat(Validity): New validity library, and renaming of previous library BREAKING CHANGES: Lib 'inspector' is now called 'inspection' to differentiate it from project. Introduction of new library changes folder system. Previous includes to geode/inspector/... should now include geode/inspector/inspection --- CMakeLists.txt | 2 +- bindings/python/CMakeLists.txt | 3 +- bindings/python/inspection.py | 27 ++++ bindings/python/src/CMakeLists.txt | 3 +- .../{inspector => inspection}/CMakeLists.txt | 6 +- .../brep_inspector.hpp | 2 +- .../adjacency/brep_meshes_adjacency.hpp | 2 +- .../adjacency/section_meshes_adjacency.hpp | 2 +- .../criterion/adjacency/solid_adjacency.hpp | 2 +- .../criterion/adjacency/surface_adjacency.hpp | 2 +- .../criterion/brep_meshes_inspector.hpp | 2 +- .../component_meshes_colocation.hpp | 2 +- .../colocation/edgedcurve_colocation.hpp | 2 +- .../colocation/pointset_colocation.hpp | 2 +- .../criterion/colocation/solid_colocation.hpp | 2 +- .../colocation/surface_colocation.hpp | 2 +- .../colocation/unique_vertices_colocation.hpp | 2 +- .../degeneration/brep_meshes_degeneration.hpp | 2 +- .../degeneration/edgedcurve_degeneration.hpp | 2 +- .../section_meshes_degeneration.hpp | 2 +- .../degeneration/solid_degeneration.hpp | 2 +- .../degeneration/surface_degeneration.hpp | 2 +- .../intersections/model_intersections.hpp | 2 +- .../surface_curve_intersections.hpp | 2 +- .../intersections/surface_intersections.hpp | 2 +- .../manifold/brep_meshes_manifold.hpp | 2 +- .../manifold/section_meshes_manifold.hpp | 2 +- .../manifold/solid_edge_manifold.hpp | 2 +- .../manifold/solid_facet_manifold.hpp | 2 +- .../manifold/solid_vertex_manifold.hpp | 2 +- .../manifold/surface_edge_manifold.hpp | 2 +- .../manifold/surface_vertex_manifold.hpp | 2 +- .../criterion/section_meshes_inspector.hpp | 2 +- .../edgedcurve_inspector.hpp | 2 +- .../{inspector => inspection}/information.hpp | 2 +- .../inspection.cpp} | 8 +- .../pointset_inspector.hpp | 2 +- .../section_inspector.hpp | 4 +- .../solid_inspector.hpp | 2 +- .../surface_inspector.hpp | 2 +- .../topology/brep_topology.hpp | 2 +- .../topology/section_topology.hpp | 2 +- bindings/python/src/validity/CMakeLists.txt | 28 ++++ .../python/src/validity/pointset_validity.hpp | 36 +++++ bindings/python/src/validity/validity.cpp | 38 +++++ bindings/python/tests/CMakeLists.txt | 79 +--------- .../python/tests/inspection/CMakeLists.txt | 97 ++++++++++++ .../tests/{ => inspection}/test-py-brep.py | 4 +- .../test-py-edgedcurve-colocation.py | 4 +- .../test-py-edgedcurve-degeneration.py | 4 +- .../test-py-pointset-colocation.py | 4 +- .../tests/{ => inspection}/test-py-section.py | 4 +- .../test-py-solid-adjacency.py | 4 +- .../test-py-solid-colocation.py | 4 +- .../test-py-solid-degeneration.py | 4 +- .../test-py-solid-manifold.py | 4 +- .../test-py-surface-adjacency.py | 4 +- .../test-py-surface-colocation.py | 4 +- .../test-py-surface-curve-intersections.py | 4 +- .../test-py-surface-degeneration.py | 4 +- .../test-py-surface-intersections.py | 4 +- .../test-py-surface-manifold.py | 4 +- bindings/python/tests/validity/CMakeLists.txt | 25 +++ .../tests/validity/test-py-model-validity.py | 46 ++++++ bindings/python/{inspector.py => validity.py} | 4 +- cmake/OpenGeode-InspectorConfig.cmake.in | 5 +- .../{ => inspection}/brep_inspector.hpp | 12 +- include/geode/inspector/inspection/common.hpp | 36 +++++ .../adjacency/brep_meshes_adjacency.hpp | 9 +- .../adjacency/section_meshes_adjacency.hpp | 8 +- .../criterion/adjacency/solid_adjacency.hpp | 6 +- .../criterion/adjacency/surface_adjacency.hpp | 6 +- .../criterion/brep_meshes_inspector.hpp | 20 +-- .../component_meshes_colocation.hpp | 6 +- .../colocation/edgedcurve_colocation.hpp | 6 +- .../colocation/pointset_colocation.hpp | 6 +- .../criterion/colocation/solid_colocation.hpp | 6 +- .../colocation/surface_colocation.hpp | 6 +- .../colocation/unique_vertices_colocation.hpp | 6 +- .../degeneration/brep_meshes_degeneration.hpp | 8 +- .../degeneration/edgedcurve_degeneration.hpp | 6 +- .../section_meshes_degeneration.hpp | 8 +- .../degeneration/solid_degeneration.hpp | 6 +- .../degeneration/surface_degeneration.hpp | 6 +- .../criterion/internal/colocation_impl.hpp | 4 +- .../internal/component_meshes_adjacency.hpp | 4 +- .../component_meshes_degeneration.hpp | 4 +- .../internal/component_meshes_manifold.hpp | 4 +- .../criterion/internal/degeneration_impl.hpp | 4 +- .../intersections/model_intersections.hpp | 6 +- .../surface_curve_intersections.hpp | 4 +- .../intersections/surface_intersections.hpp | 4 +- .../manifold/brep_meshes_manifold.hpp | 8 +- .../manifold/section_meshes_manifold.hpp | 8 +- .../manifold/solid_edge_manifold.hpp | 6 +- .../manifold/solid_facet_manifold.hpp | 6 +- .../manifold/solid_vertex_manifold.hpp | 6 +- .../manifold/surface_edge_manifold.hpp | 6 +- .../manifold/surface_vertex_manifold.hpp | 6 +- .../brep_meshes_negative_elements.hpp | 8 +- .../section_meshes_negative_elements.hpp | 8 +- .../solid_negative_elements.hpp | 6 +- .../surface_negative_elements.hpp | 6 +- .../criterion/section_meshes_inspector.hpp | 22 +-- .../{ => inspection}/edgedcurve_inspector.hpp | 10 +- .../{ => inspection}/information.hpp | 2 +- .../{ => inspection}/mixin/add_inspectors.hpp | 2 +- .../{ => inspection}/pointset_inspector.hpp | 8 +- .../{ => inspection}/section_inspector.hpp | 12 +- .../{ => inspection}/solid_inspector.hpp | 22 +-- .../{ => inspection}/surface_inspector.hpp | 20 +-- .../topology/brep_blocks_topology.hpp | 8 +- .../topology/brep_corners_topology.hpp | 9 +- .../topology/brep_lines_topology.hpp | 8 +- .../topology/brep_surfaces_topology.hpp | 8 +- .../topology/brep_topology.hpp | 16 +- .../topology/internal/expected_nb_cmvs.hpp | 2 +- .../topology/internal/topology_helpers.hpp | 4 +- .../topology/section_corners_topology.hpp | 8 +- .../topology/section_lines_topology.hpp | 8 +- .../topology/section_surfaces_topology.hpp | 8 +- .../topology/section_topology.hpp | 14 +- .../geode/inspector/{ => validity}/common.hpp | 4 +- .../inspector/validity/pointset_validity.hpp | 39 +++++ src/bin/CMakeLists.txt | 22 +-- src/bin/geode-inspector-brep.cpp | 2 +- src/bin/geode-inspector-cross-section.cpp | 2 +- src/bin/geode-inspector-edgedcurve.cpp | 4 +- ...geode-inspector-implicit-cross-section.cpp | 2 +- ...de-inspector-implicit-structural-model.cpp | 2 +- src/bin/geode-inspector-pointset.cpp | 4 +- src/bin/geode-inspector-section.cpp | 2 +- src/bin/geode-inspector-solid.cpp | 4 +- src/bin/geode-inspector-structural-model.cpp | 2 +- ...-inspector-surface-curve-intersections.cpp | 4 +- src/bin/geode-inspector-surface.cpp | 4 +- src/geode/inspector/CMakeLists.txt | 127 +-------------- src/geode/inspector/inspection/CMakeLists.txt | 145 ++++++++++++++++++ .../{ => inspection}/brep_inspector.cpp | 2 +- .../inspector/{ => inspection}/common.cpp | 4 +- .../adjacency/brep_meshes_adjacency.cpp | 6 +- .../adjacency/section_meshes_adjacency.cpp | 4 +- .../criterion/adjacency/solid_adjacency.cpp | 4 +- .../criterion/adjacency/surface_adjacency.cpp | 6 +- .../criterion/brep_meshes_inspector.cpp | 2 +- .../component_meshes_colocation.cpp | 12 +- .../colocation/edgedcurve_colocation.cpp | 8 +- .../colocation/pointset_colocation.cpp | 8 +- .../criterion/colocation/solid_colocation.cpp | 6 +- .../colocation/surface_colocation.cpp | 10 +- .../colocation/unique_vertices_colocation.cpp | 8 +- .../degeneration/brep_meshes_degeneration.cpp | 6 +- .../degeneration/edgedcurve_degeneration.cpp | 8 +- .../section_meshes_degeneration.cpp | 4 +- .../degeneration/solid_degeneration.cpp | 7 +- .../degeneration/surface_degeneration.cpp | 8 +- .../criterion/internal/colocation_impl.cpp | 16 +- .../internal/component_meshes_adjacency.cpp | 12 +- .../component_meshes_degeneration.cpp | 10 +- .../internal/component_meshes_manifold.cpp | 10 +- .../criterion/internal/degeneration_impl.cpp | 8 +- .../intersections/model_intersections.cpp | 8 +- .../surface_curve_intersections.cpp | 6 +- .../intersections/surface_intersections.cpp | 6 +- .../manifold/brep_meshes_manifold.cpp | 10 +- .../manifold/section_meshes_manifold.cpp | 4 +- .../manifold/solid_edge_manifold.cpp | 5 +- .../manifold/solid_facet_manifold.cpp | 4 +- .../manifold/solid_vertex_manifold.cpp | 4 +- .../manifold/surface_edge_manifold.cpp | 6 +- .../manifold/surface_vertex_manifold.cpp | 6 +- .../brep_meshes_negative_elements.cpp | 4 +- .../section_meshes_negative_elements.cpp | 4 +- .../solid_negative_elements.cpp | 4 +- .../surface_negative_elements.cpp | 6 +- .../criterion/section_meshes_inspector.cpp | 2 +- .../{ => inspection}/edgedcurve_inspector.cpp | 6 +- .../{ => inspection}/pointset_inspector.cpp | 6 +- .../{ => inspection}/section_inspector.cpp | 2 +- .../{ => inspection}/solid_inspector.cpp | 4 +- .../{ => inspection}/surface_inspector.cpp | 6 +- .../topology/brep_blocks_topology.cpp | 6 +- .../topology/brep_corners_topology.cpp | 4 +- .../topology/brep_lines_topology.cpp | 4 +- .../topology/brep_surfaces_topology.cpp | 4 +- .../topology/brep_topology.cpp | 2 +- .../topology/internal/expected_nb_cmvs.cpp | 2 +- .../topology/internal/topology_helpers.cpp | 2 +- .../topology/section_corners_topology.cpp | 4 +- .../topology/section_lines_topology.cpp | 4 +- .../topology/section_surfaces_topology.cpp | 4 +- .../topology/section_topology.cpp | 2 +- src/geode/inspector/validity/CMakeLists.txt | 37 +++++ src/geode/inspector/validity/common.cpp | 34 ++++ .../inspector/validity/pointset_validity.cpp | 49 ++++++ tests/CMakeLists.txt | 5 +- .../{inspector => inspection}/CMakeLists.txt | 34 ++-- tests/{inspector => inspection}/test-brep.cpp | 24 +-- .../test-edgedcurve-colocation.cpp | 34 ++-- .../test-edgedcurve-degeneration.cpp | 24 +-- .../test-pointset.cpp | 34 ++-- .../test-section.cpp | 8 +- .../test-solid-adjacency.cpp | 30 ++-- .../test-solid-colocation.cpp | 19 +-- .../test-solid-degeneration.cpp | 20 +-- .../test-solid-manifold.cpp | 34 ++-- .../test-solid-negative-elements.cpp | 10 +- .../test-surface-adjacency.cpp | 56 +++---- .../test-surface-colocation.cpp | 34 ++-- .../test-surface-curve-intersections.cpp | 16 +- .../test-surface-degeneration.cpp | 36 ++--- .../test-surface-intersections.cpp | 16 +- .../test-surface-manifold.cpp | 26 ++-- .../test-surface-negative-elements.cpp | 10 +- tests/validity/CMakeLists.txt | 28 ++++ tests/validity/test-pointset-validity.cpp | 122 +++++++++++++++ 216 files changed, 1516 insertions(+), 910 deletions(-) create mode 100644 bindings/python/inspection.py rename bindings/python/src/{inspector => inspection}/CMakeLists.txt (97%) rename bindings/python/src/{inspector => inspection}/brep_inspector.hpp (97%) rename bindings/python/src/{inspector => inspection}/criterion/adjacency/brep_meshes_adjacency.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/adjacency/section_meshes_adjacency.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/adjacency/solid_adjacency.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/adjacency/surface_adjacency.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/brep_meshes_inspector.hpp (97%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/component_meshes_colocation.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/edgedcurve_colocation.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/pointset_colocation.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/solid_colocation.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/surface_colocation.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/colocation/unique_vertices_colocation.hpp (97%) rename bindings/python/src/{inspector => inspection}/criterion/degeneration/brep_meshes_degeneration.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/degeneration/edgedcurve_degeneration.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/degeneration/section_meshes_degeneration.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/degeneration/solid_degeneration.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/degeneration/surface_degeneration.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/intersections/model_intersections.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/intersections/surface_curve_intersections.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/intersections/surface_intersections.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/brep_meshes_manifold.hpp (97%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/section_meshes_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/solid_edge_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/solid_facet_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/solid_vertex_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/surface_edge_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/manifold/surface_vertex_manifold.hpp (96%) rename bindings/python/src/{inspector => inspection}/criterion/section_meshes_inspector.hpp (97%) rename bindings/python/src/{inspector => inspection}/edgedcurve_inspector.hpp (97%) rename bindings/python/src/{inspector => inspection}/information.hpp (98%) rename bindings/python/src/{inspector/inspector.cpp => inspection/inspection.cpp} (95%) rename bindings/python/src/{inspector => inspection}/pointset_inspector.hpp (97%) rename bindings/python/src/{inspector => inspection}/section_inspector.hpp (94%) rename bindings/python/src/{inspector => inspection}/solid_inspector.hpp (98%) rename bindings/python/src/{inspector => inspection}/surface_inspector.hpp (98%) rename bindings/python/src/{inspector => inspection}/topology/brep_topology.hpp (99%) rename bindings/python/src/{inspector => inspection}/topology/section_topology.hpp (99%) create mode 100644 bindings/python/src/validity/CMakeLists.txt create mode 100644 bindings/python/src/validity/pointset_validity.hpp create mode 100644 bindings/python/src/validity/validity.cpp create mode 100644 bindings/python/tests/inspection/CMakeLists.txt rename bindings/python/tests/{ => inspection}/test-py-brep.py (99%) rename bindings/python/tests/{ => inspection}/test-py-edgedcurve-colocation.py (98%) rename bindings/python/tests/{ => inspection}/test-py-edgedcurve-degeneration.py (97%) rename bindings/python/tests/{ => inspection}/test-py-pointset-colocation.py (98%) rename bindings/python/tests/{ => inspection}/test-py-section.py (98%) rename bindings/python/tests/{ => inspection}/test-py-solid-adjacency.py (98%) rename bindings/python/tests/{ => inspection}/test-py-solid-colocation.py (97%) rename bindings/python/tests/{ => inspection}/test-py-solid-degeneration.py (97%) rename bindings/python/tests/{ => inspection}/test-py-solid-manifold.py (98%) rename bindings/python/tests/{ => inspection}/test-py-surface-adjacency.py (99%) rename bindings/python/tests/{ => inspection}/test-py-surface-colocation.py (98%) rename bindings/python/tests/{ => inspection}/test-py-surface-curve-intersections.py (98%) rename bindings/python/tests/{ => inspection}/test-py-surface-degeneration.py (98%) rename bindings/python/tests/{ => inspection}/test-py-surface-intersections.py (97%) rename bindings/python/tests/{ => inspection}/test-py-surface-manifold.py (98%) create mode 100644 bindings/python/tests/validity/CMakeLists.txt create mode 100644 bindings/python/tests/validity/test-py-model-validity.py rename bindings/python/{inspector.py => validity.py} (92%) rename include/geode/inspector/{ => inspection}/brep_inspector.hpp (83%) create mode 100644 include/geode/inspector/inspection/common.hpp rename include/geode/inspector/{ => inspection}/criterion/adjacency/brep_meshes_adjacency.hpp (90%) rename include/geode/inspector/{ => inspection}/criterion/adjacency/section_meshes_adjacency.hpp (89%) rename include/geode/inspector/{ => inspection}/criterion/adjacency/solid_adjacency.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/adjacency/surface_adjacency.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/brep_meshes_inspector.hpp (75%) rename include/geode/inspector/{ => inspection}/criterion/colocation/component_meshes_colocation.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/colocation/edgedcurve_colocation.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/colocation/pointset_colocation.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/colocation/solid_colocation.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/colocation/surface_colocation.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/colocation/unique_vertices_colocation.hpp (93%) rename include/geode/inspector/{ => inspection}/criterion/degeneration/brep_meshes_degeneration.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/degeneration/edgedcurve_degeneration.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/degeneration/section_meshes_degeneration.hpp (89%) rename include/geode/inspector/{ => inspection}/criterion/degeneration/solid_degeneration.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/degeneration/surface_degeneration.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/internal/colocation_impl.hpp (94%) rename include/geode/inspector/{ => inspection}/criterion/internal/component_meshes_adjacency.hpp (95%) rename include/geode/inspector/{ => inspection}/criterion/internal/component_meshes_degeneration.hpp (96%) rename include/geode/inspector/{ => inspection}/criterion/internal/component_meshes_manifold.hpp (95%) rename include/geode/inspector/{ => inspection}/criterion/internal/degeneration_impl.hpp (95%) rename include/geode/inspector/{ => inspection}/criterion/intersections/model_intersections.hpp (93%) rename include/geode/inspector/{ => inspection}/criterion/intersections/surface_curve_intersections.hpp (95%) rename include/geode/inspector/{ => inspection}/criterion/intersections/surface_intersections.hpp (95%) rename include/geode/inspector/{ => inspection}/criterion/manifold/brep_meshes_manifold.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/manifold/section_meshes_manifold.hpp (89%) rename include/geode/inspector/{ => inspection}/criterion/manifold/solid_edge_manifold.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/manifold/solid_facet_manifold.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/manifold/solid_vertex_manifold.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/manifold/surface_edge_manifold.hpp (92%) rename include/geode/inspector/{ => inspection}/criterion/manifold/surface_vertex_manifold.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/negative_elements/brep_meshes_negative_elements.hpp (88%) rename include/geode/inspector/{ => inspection}/criterion/negative_elements/section_meshes_negative_elements.hpp (88%) rename include/geode/inspector/{ => inspection}/criterion/negative_elements/solid_negative_elements.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/negative_elements/surface_negative_elements.hpp (91%) rename include/geode/inspector/{ => inspection}/criterion/section_meshes_inspector.hpp (74%) rename include/geode/inspector/{ => inspection}/edgedcurve_inspector.hpp (86%) rename include/geode/inspector/{ => inspection}/information.hpp (99%) rename include/geode/inspector/{ => inspection}/mixin/add_inspectors.hpp (97%) rename include/geode/inspector/{ => inspection}/pointset_inspector.hpp (88%) rename include/geode/inspector/{ => inspection}/section_inspector.hpp (82%) rename include/geode/inspector/{ => inspection}/solid_inspector.hpp (79%) rename include/geode/inspector/{ => inspection}/surface_inspector.hpp (82%) rename include/geode/inspector/{ => inspection}/topology/brep_blocks_topology.hpp (95%) rename include/geode/inspector/{ => inspection}/topology/brep_corners_topology.hpp (93%) rename include/geode/inspector/{ => inspection}/topology/brep_lines_topology.hpp (95%) rename include/geode/inspector/{ => inspection}/topology/brep_surfaces_topology.hpp (95%) rename include/geode/inspector/{ => inspection}/topology/brep_topology.hpp (85%) rename include/geode/inspector/{ => inspection}/topology/internal/expected_nb_cmvs.hpp (97%) rename include/geode/inspector/{ => inspection}/topology/internal/topology_helpers.hpp (97%) rename include/geode/inspector/{ => inspection}/topology/section_corners_topology.hpp (94%) rename include/geode/inspector/{ => inspection}/topology/section_lines_topology.hpp (94%) rename include/geode/inspector/{ => inspection}/topology/section_surfaces_topology.hpp (93%) rename include/geode/inspector/{ => inspection}/topology/section_topology.hpp (86%) rename include/geode/inspector/{ => validity}/common.hpp (89%) create mode 100644 include/geode/inspector/validity/pointset_validity.hpp create mode 100644 src/geode/inspector/inspection/CMakeLists.txt rename src/geode/inspector/{ => inspection}/brep_inspector.cpp (97%) rename src/geode/inspector/{ => inspection}/common.cpp (95%) rename src/geode/inspector/{ => inspection}/criterion/adjacency/brep_meshes_adjacency.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/adjacency/section_meshes_adjacency.cpp (93%) rename src/geode/inspector/{ => inspection}/criterion/adjacency/solid_adjacency.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/adjacency/surface_adjacency.cpp (95%) rename src/geode/inspector/{ => inspection}/criterion/brep_meshes_inspector.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/colocation/component_meshes_colocation.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/colocation/edgedcurve_colocation.cpp (87%) rename src/geode/inspector/{ => inspection}/criterion/colocation/pointset_colocation.cpp (87%) rename src/geode/inspector/{ => inspection}/criterion/colocation/solid_colocation.cpp (90%) rename src/geode/inspector/{ => inspection}/criterion/colocation/surface_colocation.cpp (87%) rename src/geode/inspector/{ => inspection}/criterion/colocation/unique_vertices_colocation.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/degeneration/brep_meshes_degeneration.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/degeneration/edgedcurve_degeneration.cpp (93%) rename src/geode/inspector/{ => inspection}/criterion/degeneration/section_meshes_degeneration.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/degeneration/solid_degeneration.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/degeneration/surface_degeneration.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/internal/colocation_impl.cpp (91%) rename src/geode/inspector/{ => inspection}/criterion/internal/component_meshes_adjacency.cpp (92%) rename src/geode/inspector/{ => inspection}/criterion/internal/component_meshes_degeneration.cpp (95%) rename src/geode/inspector/{ => inspection}/criterion/internal/component_meshes_manifold.cpp (90%) rename src/geode/inspector/{ => inspection}/criterion/internal/degeneration_impl.cpp (95%) rename src/geode/inspector/{ => inspection}/criterion/intersections/model_intersections.cpp (99%) rename src/geode/inspector/{ => inspection}/criterion/intersections/surface_curve_intersections.cpp (98%) rename src/geode/inspector/{ => inspection}/criterion/intersections/surface_intersections.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/manifold/brep_meshes_manifold.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/manifold/section_meshes_manifold.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/manifold/solid_edge_manifold.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/manifold/solid_facet_manifold.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/manifold/solid_vertex_manifold.cpp (97%) rename src/geode/inspector/{ => inspection}/criterion/manifold/surface_edge_manifold.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/manifold/surface_vertex_manifold.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/negative_elements/brep_meshes_negative_elements.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/negative_elements/section_meshes_negative_elements.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/negative_elements/solid_negative_elements.cpp (96%) rename src/geode/inspector/{ => inspection}/criterion/negative_elements/surface_negative_elements.cpp (94%) rename src/geode/inspector/{ => inspection}/criterion/section_meshes_inspector.cpp (97%) rename src/geode/inspector/{ => inspection}/edgedcurve_inspector.cpp (91%) rename src/geode/inspector/{ => inspection}/pointset_inspector.cpp (90%) rename src/geode/inspector/{ => inspection}/section_inspector.cpp (97%) rename src/geode/inspector/{ => inspection}/solid_inspector.cpp (96%) rename src/geode/inspector/{ => inspection}/surface_inspector.cpp (94%) rename src/geode/inspector/{ => inspection}/topology/brep_blocks_topology.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/brep_corners_topology.cpp (98%) rename src/geode/inspector/{ => inspection}/topology/brep_lines_topology.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/brep_surfaces_topology.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/brep_topology.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/internal/expected_nb_cmvs.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/internal/topology_helpers.cpp (96%) rename src/geode/inspector/{ => inspection}/topology/section_corners_topology.cpp (98%) rename src/geode/inspector/{ => inspection}/topology/section_lines_topology.cpp (99%) rename src/geode/inspector/{ => inspection}/topology/section_surfaces_topology.cpp (98%) rename src/geode/inspector/{ => inspection}/topology/section_topology.cpp (99%) create mode 100644 src/geode/inspector/validity/CMakeLists.txt create mode 100644 src/geode/inspector/validity/common.cpp create mode 100644 src/geode/inspector/validity/pointset_validity.cpp rename tests/{inspector => inspection}/CMakeLists.txt (86%) rename tests/{inspector => inspection}/test-brep.cpp (96%) rename tests/{inspector => inspection}/test-edgedcurve-colocation.cpp (87%) rename tests/{inspector => inspection}/test-edgedcurve-degeneration.cpp (88%) rename tests/{inspector => inspection}/test-pointset.cpp (87%) rename tests/{inspector => inspection}/test-section.cpp (97%) rename tests/{inspector => inspection}/test-solid-adjacency.cpp (90%) rename tests/{inspector => inspection}/test-solid-colocation.cpp (88%) rename tests/{inspector => inspection}/test-solid-degeneration.cpp (89%) rename tests/{inspector => inspection}/test-solid-manifold.cpp (89%) rename tests/{inspector => inspection}/test-solid-negative-elements.cpp (88%) rename tests/{inspector => inspection}/test-surface-adjacency.cpp (89%) rename tests/{inspector => inspection}/test-surface-colocation.cpp (87%) rename tests/{inspector => inspection}/test-surface-curve-intersections.cpp (93%) rename tests/{inspector => inspection}/test-surface-degeneration.cpp (88%) rename tests/{inspector => inspection}/test-surface-intersections.cpp (91%) rename tests/{inspector => inspection}/test-surface-manifold.cpp (88%) rename tests/{inspector => inspection}/test-surface-negative-elements.cpp (88%) create mode 100755 tests/validity/CMakeLists.txt create mode 100644 tests/validity/test-pointset-validity.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index fec130f8..6b6cb532 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,7 +58,7 @@ endif() if(OPENGEODE_INSPECTOR_WITH_TESTS) # Enable testing with CTest enable_testing() - message(STATUS "Configuring OpenGeode-inspector with tests") + message(STATUS "Configuring OpenGeode-Inspector with tests") add_subdirectory(tests) endif() diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt index 77fa016e..c24275ee 100644 --- a/bindings/python/CMakeLists.txt +++ b/bindings/python/CMakeLists.txt @@ -29,6 +29,7 @@ add_geode_python_wheel( DESCRIPTION "Open source framework for inspecting the validity of geometric models" MODULES - "inspector.py" + "inspection.py" + "validity.py" LICENSE "MIT" ) diff --git a/bindings/python/inspection.py b/bindings/python/inspection.py new file mode 100644 index 00000000..110fae30 --- /dev/null +++ b/bindings/python/inspection.py @@ -0,0 +1,27 @@ +# +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +import opengeode + +from opengeode_inspector_py_inspection import * + +OpenGeodeInspectorInspectionLibrary.initialize() diff --git a/bindings/python/src/CMakeLists.txt b/bindings/python/src/CMakeLists.txt index c221fa9e..9fbf438e 100644 --- a/bindings/python/src/CMakeLists.txt +++ b/bindings/python/src/CMakeLists.txt @@ -18,4 +18,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -add_subdirectory(inspector) +add_subdirectory(inspection) +add_subdirectory(validity) diff --git a/bindings/python/src/inspector/CMakeLists.txt b/bindings/python/src/inspection/CMakeLists.txt similarity index 97% rename from bindings/python/src/inspector/CMakeLists.txt rename to bindings/python/src/inspection/CMakeLists.txt index e3c3ddd3..3907b107 100644 --- a/bindings/python/src/inspector/CMakeLists.txt +++ b/bindings/python/src/inspection/CMakeLists.txt @@ -19,7 +19,7 @@ # SOFTWARE. add_geode_python_binding( - NAME "py_inspector" + NAME "py_inspection" SOURCES "criterion/adjacency/surface_adjacency.hpp" "criterion/adjacency/solid_adjacency.hpp" @@ -50,7 +50,7 @@ add_geode_python_binding( "criterion/section_meshes_inspector.hpp" "topology/brep_topology.hpp" "topology/section_topology.hpp" - "inspector.cpp" + "inspection.cpp" "edgedcurve_inspector.hpp" "brep_inspector.hpp" "pointset_inspector.hpp" @@ -59,5 +59,5 @@ add_geode_python_binding( "surface_inspector.hpp" "information.hpp" DEPENDENCIES - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) \ No newline at end of file diff --git a/bindings/python/src/inspector/brep_inspector.hpp b/bindings/python/src/inspection/brep_inspector.hpp similarity index 97% rename from bindings/python/src/inspector/brep_inspector.hpp rename to bindings/python/src/inspection/brep_inspector.hpp index 90756066..c8be6d3f 100644 --- a/bindings/python/src/inspector/brep_inspector.hpp +++ b/bindings/python/src/inspection/brep_inspector.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/adjacency/brep_meshes_adjacency.hpp b/bindings/python/src/inspection/criterion/adjacency/brep_meshes_adjacency.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/adjacency/brep_meshes_adjacency.hpp rename to bindings/python/src/inspection/criterion/adjacency/brep_meshes_adjacency.hpp index 1a60596a..81aa3b3a 100644 --- a/bindings/python/src/inspector/criterion/adjacency/brep_meshes_adjacency.hpp +++ b/bindings/python/src/inspection/criterion/adjacency/brep_meshes_adjacency.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/adjacency/section_meshes_adjacency.hpp b/bindings/python/src/inspection/criterion/adjacency/section_meshes_adjacency.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/adjacency/section_meshes_adjacency.hpp rename to bindings/python/src/inspection/criterion/adjacency/section_meshes_adjacency.hpp index 2186026a..627de18c 100644 --- a/bindings/python/src/inspector/criterion/adjacency/section_meshes_adjacency.hpp +++ b/bindings/python/src/inspection/criterion/adjacency/section_meshes_adjacency.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/adjacency/solid_adjacency.hpp b/bindings/python/src/inspection/criterion/adjacency/solid_adjacency.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/adjacency/solid_adjacency.hpp rename to bindings/python/src/inspection/criterion/adjacency/solid_adjacency.hpp index c529198f..fce7fc1d 100644 --- a/bindings/python/src/inspector/criterion/adjacency/solid_adjacency.hpp +++ b/bindings/python/src/inspection/criterion/adjacency/solid_adjacency.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/adjacency/surface_adjacency.hpp b/bindings/python/src/inspection/criterion/adjacency/surface_adjacency.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/adjacency/surface_adjacency.hpp rename to bindings/python/src/inspection/criterion/adjacency/surface_adjacency.hpp index cfe5753b..70ca4fd3 100644 --- a/bindings/python/src/inspector/criterion/adjacency/surface_adjacency.hpp +++ b/bindings/python/src/inspection/criterion/adjacency/surface_adjacency.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/brep_meshes_inspector.hpp b/bindings/python/src/inspection/criterion/brep_meshes_inspector.hpp similarity index 97% rename from bindings/python/src/inspector/criterion/brep_meshes_inspector.hpp rename to bindings/python/src/inspection/criterion/brep_meshes_inspector.hpp index 8cf25220..315e1001 100644 --- a/bindings/python/src/inspector/criterion/brep_meshes_inspector.hpp +++ b/bindings/python/src/inspection/criterion/brep_meshes_inspector.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/colocation/component_meshes_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/component_meshes_colocation.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/colocation/component_meshes_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/component_meshes_colocation.hpp index e71af5bd..9e461511 100644 --- a/bindings/python/src/inspector/criterion/colocation/component_meshes_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/component_meshes_colocation.hpp @@ -24,7 +24,7 @@ #include #include -#include +#include #define PYTHON_COMPONENTS_COLOCATION( type, suffix ) \ const auto name##type = \ diff --git a/bindings/python/src/inspector/criterion/colocation/edgedcurve_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/edgedcurve_colocation.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/colocation/edgedcurve_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/edgedcurve_colocation.hpp index 53feb948..705036d5 100644 --- a/bindings/python/src/inspector/criterion/colocation/edgedcurve_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/edgedcurve_colocation.hpp @@ -24,7 +24,7 @@ #include -#include +#include #define PYTHON_EDGEDCURVE_COLOCATION( dimension ) diff --git a/bindings/python/src/inspector/criterion/colocation/pointset_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/pointset_colocation.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/colocation/pointset_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/pointset_colocation.hpp index 38888f65..5b02d701 100644 --- a/bindings/python/src/inspector/criterion/colocation/pointset_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/pointset_colocation.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/colocation/solid_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/solid_colocation.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/colocation/solid_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/solid_colocation.hpp index 31390d3e..1d8b929b 100644 --- a/bindings/python/src/inspector/criterion/colocation/solid_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/solid_colocation.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/colocation/surface_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/surface_colocation.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/colocation/surface_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/surface_colocation.hpp index 1d93d72e..bbd104a3 100644 --- a/bindings/python/src/inspector/criterion/colocation/surface_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/surface_colocation.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/colocation/unique_vertices_colocation.hpp b/bindings/python/src/inspection/criterion/colocation/unique_vertices_colocation.hpp similarity index 97% rename from bindings/python/src/inspector/criterion/colocation/unique_vertices_colocation.hpp rename to bindings/python/src/inspection/criterion/colocation/unique_vertices_colocation.hpp index bbe4797c..591b7c06 100644 --- a/bindings/python/src/inspector/criterion/colocation/unique_vertices_colocation.hpp +++ b/bindings/python/src/inspection/criterion/colocation/unique_vertices_colocation.hpp @@ -24,7 +24,7 @@ #include #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/degeneration/brep_meshes_degeneration.hpp b/bindings/python/src/inspection/criterion/degeneration/brep_meshes_degeneration.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/degeneration/brep_meshes_degeneration.hpp rename to bindings/python/src/inspection/criterion/degeneration/brep_meshes_degeneration.hpp index c5a004b9..d1d462ca 100644 --- a/bindings/python/src/inspector/criterion/degeneration/brep_meshes_degeneration.hpp +++ b/bindings/python/src/inspection/criterion/degeneration/brep_meshes_degeneration.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/degeneration/edgedcurve_degeneration.hpp b/bindings/python/src/inspection/criterion/degeneration/edgedcurve_degeneration.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/degeneration/edgedcurve_degeneration.hpp rename to bindings/python/src/inspection/criterion/degeneration/edgedcurve_degeneration.hpp index 4d82b46b..2f3efb91 100644 --- a/bindings/python/src/inspector/criterion/degeneration/edgedcurve_degeneration.hpp +++ b/bindings/python/src/inspection/criterion/degeneration/edgedcurve_degeneration.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/degeneration/section_meshes_degeneration.hpp b/bindings/python/src/inspection/criterion/degeneration/section_meshes_degeneration.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/degeneration/section_meshes_degeneration.hpp rename to bindings/python/src/inspection/criterion/degeneration/section_meshes_degeneration.hpp index 3eda5b51..e74fe2d6 100644 --- a/bindings/python/src/inspector/criterion/degeneration/section_meshes_degeneration.hpp +++ b/bindings/python/src/inspection/criterion/degeneration/section_meshes_degeneration.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/degeneration/solid_degeneration.hpp b/bindings/python/src/inspection/criterion/degeneration/solid_degeneration.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/degeneration/solid_degeneration.hpp rename to bindings/python/src/inspection/criterion/degeneration/solid_degeneration.hpp index 716890b3..c9cfcd02 100644 --- a/bindings/python/src/inspector/criterion/degeneration/solid_degeneration.hpp +++ b/bindings/python/src/inspection/criterion/degeneration/solid_degeneration.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/degeneration/surface_degeneration.hpp b/bindings/python/src/inspection/criterion/degeneration/surface_degeneration.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/degeneration/surface_degeneration.hpp rename to bindings/python/src/inspection/criterion/degeneration/surface_degeneration.hpp index 0b91baa0..53eb72ce 100644 --- a/bindings/python/src/inspector/criterion/degeneration/surface_degeneration.hpp +++ b/bindings/python/src/inspection/criterion/degeneration/surface_degeneration.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/intersections/model_intersections.hpp b/bindings/python/src/inspection/criterion/intersections/model_intersections.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/intersections/model_intersections.hpp rename to bindings/python/src/inspection/criterion/intersections/model_intersections.hpp index 8724f4b4..dc445cd2 100644 --- a/bindings/python/src/inspector/criterion/intersections/model_intersections.hpp +++ b/bindings/python/src/inspection/criterion/intersections/model_intersections.hpp @@ -25,7 +25,7 @@ #include #include -#include +#include #define PYTHON_MODEL_INTERSECTIONS( type, suffix ) \ const auto name##type = absl::StrCat( #type, "MeshesIntersections" ); \ diff --git a/bindings/python/src/inspector/criterion/intersections/surface_curve_intersections.hpp b/bindings/python/src/inspection/criterion/intersections/surface_curve_intersections.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/intersections/surface_curve_intersections.hpp rename to bindings/python/src/inspection/criterion/intersections/surface_curve_intersections.hpp index 36805c14..a837c02c 100644 --- a/bindings/python/src/inspector/criterion/intersections/surface_curve_intersections.hpp +++ b/bindings/python/src/inspection/criterion/intersections/surface_curve_intersections.hpp @@ -25,7 +25,7 @@ #include #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/intersections/surface_intersections.hpp b/bindings/python/src/inspection/criterion/intersections/surface_intersections.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/intersections/surface_intersections.hpp rename to bindings/python/src/inspection/criterion/intersections/surface_intersections.hpp index de178654..58482325 100644 --- a/bindings/python/src/inspector/criterion/intersections/surface_intersections.hpp +++ b/bindings/python/src/inspection/criterion/intersections/surface_intersections.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/manifold/brep_meshes_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/brep_meshes_manifold.hpp similarity index 97% rename from bindings/python/src/inspector/criterion/manifold/brep_meshes_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/brep_meshes_manifold.hpp index 50c7c0cb..b744e618 100644 --- a/bindings/python/src/inspector/criterion/manifold/brep_meshes_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/brep_meshes_manifold.hpp @@ -23,7 +23,7 @@ #include -#include +#include #include "../../information.hpp" diff --git a/bindings/python/src/inspector/criterion/manifold/section_meshes_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/section_meshes_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/section_meshes_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/section_meshes_manifold.hpp index a52eef1c..27d45fc4 100644 --- a/bindings/python/src/inspector/criterion/manifold/section_meshes_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/section_meshes_manifold.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/manifold/solid_edge_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/solid_edge_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/solid_edge_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/solid_edge_manifold.hpp index 87bfd672..02c2eadb 100644 --- a/bindings/python/src/inspector/criterion/manifold/solid_edge_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/solid_edge_manifold.hpp @@ -26,7 +26,7 @@ #include -#include +#include namespace geode { template < index_t dimension > diff --git a/bindings/python/src/inspector/criterion/manifold/solid_facet_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/solid_facet_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/solid_facet_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/solid_facet_manifold.hpp index 41fffc94..2101713a 100644 --- a/bindings/python/src/inspector/criterion/manifold/solid_facet_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/solid_facet_manifold.hpp @@ -25,7 +25,7 @@ #include #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/manifold/solid_vertex_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/solid_vertex_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/solid_vertex_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/solid_vertex_manifold.hpp index 235d53f4..34205d4a 100644 --- a/bindings/python/src/inspector/criterion/manifold/solid_vertex_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/solid_vertex_manifold.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/manifold/surface_edge_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/surface_edge_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/surface_edge_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/surface_edge_manifold.hpp index f094eec0..3a00e25d 100644 --- a/bindings/python/src/inspector/criterion/manifold/surface_edge_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/surface_edge_manifold.hpp @@ -26,7 +26,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/manifold/surface_vertex_manifold.hpp b/bindings/python/src/inspection/criterion/manifold/surface_vertex_manifold.hpp similarity index 96% rename from bindings/python/src/inspector/criterion/manifold/surface_vertex_manifold.hpp rename to bindings/python/src/inspection/criterion/manifold/surface_vertex_manifold.hpp index ac46622e..31307fc3 100644 --- a/bindings/python/src/inspector/criterion/manifold/surface_vertex_manifold.hpp +++ b/bindings/python/src/inspection/criterion/manifold/surface_vertex_manifold.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/criterion/section_meshes_inspector.hpp b/bindings/python/src/inspection/criterion/section_meshes_inspector.hpp similarity index 97% rename from bindings/python/src/inspector/criterion/section_meshes_inspector.hpp rename to bindings/python/src/inspection/criterion/section_meshes_inspector.hpp index d08314e2..7f5ce9e7 100644 --- a/bindings/python/src/inspector/criterion/section_meshes_inspector.hpp +++ b/bindings/python/src/inspection/criterion/section_meshes_inspector.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/edgedcurve_inspector.hpp b/bindings/python/src/inspection/edgedcurve_inspector.hpp similarity index 97% rename from bindings/python/src/inspector/edgedcurve_inspector.hpp rename to bindings/python/src/inspection/edgedcurve_inspector.hpp index 35ad13c4..100f1263 100644 --- a/bindings/python/src/inspector/edgedcurve_inspector.hpp +++ b/bindings/python/src/inspection/edgedcurve_inspector.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/information.hpp b/bindings/python/src/inspection/information.hpp similarity index 98% rename from bindings/python/src/inspector/information.hpp rename to bindings/python/src/inspection/information.hpp index b698e9ce..17e7fc8d 100644 --- a/bindings/python/src/inspector/information.hpp +++ b/bindings/python/src/inspection/information.hpp @@ -25,7 +25,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/inspector.cpp b/bindings/python/src/inspection/inspection.cpp similarity index 95% rename from bindings/python/src/inspector/inspector.cpp rename to bindings/python/src/inspection/inspection.cpp index de5c8356..6321e26d 100644 --- a/bindings/python/src/inspector/inspector.cpp +++ b/bindings/python/src/inspection/inspection.cpp @@ -87,13 +87,13 @@ namespace pybind11 } // namespace detail } // namespace pybind11 -PYBIND11_MODULE( opengeode_inspector_py_inspector, module ) +PYBIND11_MODULE( opengeode_inspector_py_inspection, module ) { module.doc() = "OpenGeode-Inspector Python binding"; - pybind11::class_< geode::OpenGeodeInspectorInspectorLibrary >( - module, "OpenGeodeInspectorInspectorLibrary" ) + pybind11::class_< geode::OpenGeodeInspectorInspectionLibrary >( + module, "OpenGeodeInspectorInspectionLibrary" ) .def( "initialize", - &geode::OpenGeodeInspectorInspectorLibrary::initialize ); + &geode::OpenGeodeInspectorInspectionLibrary::initialize ); geode::define_information( module ); geode::define_surface_adjacency( module ); geode::define_solid_adjacency( module ); diff --git a/bindings/python/src/inspector/pointset_inspector.hpp b/bindings/python/src/inspection/pointset_inspector.hpp similarity index 97% rename from bindings/python/src/inspector/pointset_inspector.hpp rename to bindings/python/src/inspection/pointset_inspector.hpp index a42c5d74..358863cb 100644 --- a/bindings/python/src/inspector/pointset_inspector.hpp +++ b/bindings/python/src/inspection/pointset_inspector.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/section_inspector.hpp b/bindings/python/src/inspection/section_inspector.hpp similarity index 94% rename from bindings/python/src/inspector/section_inspector.hpp rename to bindings/python/src/inspection/section_inspector.hpp index 95f63b30..fea5382b 100644 --- a/bindings/python/src/inspector/section_inspector.hpp +++ b/bindings/python/src/inspection/section_inspector.hpp @@ -23,9 +23,9 @@ #include -#include +#include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/solid_inspector.hpp b/bindings/python/src/inspection/solid_inspector.hpp similarity index 98% rename from bindings/python/src/inspector/solid_inspector.hpp rename to bindings/python/src/inspection/solid_inspector.hpp index 895f1bcd..6554c823 100644 --- a/bindings/python/src/inspector/solid_inspector.hpp +++ b/bindings/python/src/inspection/solid_inspector.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/surface_inspector.hpp b/bindings/python/src/inspection/surface_inspector.hpp similarity index 98% rename from bindings/python/src/inspector/surface_inspector.hpp rename to bindings/python/src/inspection/surface_inspector.hpp index f00f312f..56543e0b 100644 --- a/bindings/python/src/inspector/surface_inspector.hpp +++ b/bindings/python/src/inspection/surface_inspector.hpp @@ -24,7 +24,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/topology/brep_topology.hpp b/bindings/python/src/inspection/topology/brep_topology.hpp similarity index 99% rename from bindings/python/src/inspector/topology/brep_topology.hpp rename to bindings/python/src/inspection/topology/brep_topology.hpp index b9c2bbe3..cb1bc22a 100644 --- a/bindings/python/src/inspector/topology/brep_topology.hpp +++ b/bindings/python/src/inspection/topology/brep_topology.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/inspector/topology/section_topology.hpp b/bindings/python/src/inspection/topology/section_topology.hpp similarity index 99% rename from bindings/python/src/inspector/topology/section_topology.hpp rename to bindings/python/src/inspection/topology/section_topology.hpp index e7899f99..eed9ee72 100644 --- a/bindings/python/src/inspector/topology/section_topology.hpp +++ b/bindings/python/src/inspection/topology/section_topology.hpp @@ -23,7 +23,7 @@ #include -#include +#include namespace geode { diff --git a/bindings/python/src/validity/CMakeLists.txt b/bindings/python/src/validity/CMakeLists.txt new file mode 100644 index 00000000..4ac50e42 --- /dev/null +++ b/bindings/python/src/validity/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +add_geode_python_binding( + NAME "py_validity" + SOURCES + "validity.cpp" + "pointset_validity.hpp" + DEPENDENCIES + ${PROJECT_NAME}::validity +) \ No newline at end of file diff --git a/bindings/python/src/validity/pointset_validity.hpp b/bindings/python/src/validity/pointset_validity.hpp new file mode 100644 index 00000000..ebb6a12c --- /dev/null +++ b/bindings/python/src/validity/pointset_validity.hpp @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ +#include + +#include + +#include + +namespace geode +{ + void define_point_set_validity( pybind11::module& module ) + { + module.def( "pointset_invalidity2D", &pointset_invalidity< 2 > ); + module.def( "pointset_invalidity3D", &pointset_invalidity< 3 > ); + } +} // namespace geode diff --git a/bindings/python/src/validity/validity.cpp b/bindings/python/src/validity/validity.cpp new file mode 100644 index 00000000..9df5cd75 --- /dev/null +++ b/bindings/python/src/validity/validity.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#include "pybind11/iostream.h" +#include "pybind11/pybind11.h" +#include "pybind11/stl.h" + +#include "pointset_validity.hpp" + +PYBIND11_MODULE( opengeode_inspector_py_validity, module ) +{ + module.doc() = "OpenGeode-Inspector Python binding"; + pybind11::class_< geode::OpenGeodeInspectorValidityLibrary >( + module, "OpenGeodeInspectorValidityLibrary" ) + .def( "initialize", + &geode::OpenGeodeInspectorValidityLibrary::initialize ); + geode::define_point_set_validity( module ); +} \ No newline at end of file diff --git a/bindings/python/tests/CMakeLists.txt b/bindings/python/tests/CMakeLists.txt index 4857b22a..9fbf438e 100644 --- a/bindings/python/tests/CMakeLists.txt +++ b/bindings/python/tests/CMakeLists.txt @@ -18,80 +18,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. - add_geode_python_test( - SOURCE "test-py-brep.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-section.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-edgedcurve-colocation.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-edgedcurve-degeneration.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-pointset-colocation.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-solid-colocation.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-solid-degeneration.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-adjacency.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-colocation.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-degeneration.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-intersections.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-curve-intersections.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) - - add_geode_python_test( - SOURCE "test-py-surface-manifold.py" - DEPENDENCIES - ${PROJECT_NAME}::py_inspector - ) \ No newline at end of file +add_subdirectory(inspection) +add_subdirectory(validity) diff --git a/bindings/python/tests/inspection/CMakeLists.txt b/bindings/python/tests/inspection/CMakeLists.txt new file mode 100644 index 00000000..9c1a64d3 --- /dev/null +++ b/bindings/python/tests/inspection/CMakeLists.txt @@ -0,0 +1,97 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + add_geode_python_test( + SOURCE "test-py-brep.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-section.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-edgedcurve-colocation.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-edgedcurve-degeneration.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-pointset-colocation.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-solid-colocation.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-solid-degeneration.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-adjacency.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-colocation.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-degeneration.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-intersections.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-curve-intersections.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) + + add_geode_python_test( + SOURCE "test-py-surface-manifold.py" + DEPENDENCIES + ${PROJECT_NAME}::py_inspection + ) \ No newline at end of file diff --git a/bindings/python/tests/test-py-brep.py b/bindings/python/tests/inspection/test-py-brep.py similarity index 99% rename from bindings/python/tests/test-py-brep.py rename to bindings/python/tests/inspection/test-py-brep.py index ad618080..1eae08a4 100644 --- a/bindings/python/tests/test-py-brep.py +++ b/bindings/python/tests/inspection/test-py-brep.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def corners_topological_validity(result, verbose): @@ -314,7 +314,7 @@ def check_model_D(verbose): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() verbose = False check_a1(verbose) check_a1_valid(verbose) diff --git a/bindings/python/tests/test-py-edgedcurve-colocation.py b/bindings/python/tests/inspection/test-py-edgedcurve-colocation.py similarity index 98% rename from bindings/python/tests/test-py-edgedcurve-colocation.py rename to bindings/python/tests/inspection/test-py-edgedcurve-colocation.py index 86a2b40a..81e80cd2 100644 --- a/bindings/python/tests/test-py-edgedcurve-colocation.py +++ b/bindings/python/tests/inspection/test-py-edgedcurve-colocation.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_colocation2D(): @@ -148,7 +148,7 @@ def check_colocation3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_colocation2D() check_colocation2D() check_non_colocation3D() diff --git a/bindings/python/tests/test-py-edgedcurve-degeneration.py b/bindings/python/tests/inspection/test-py-edgedcurve-degeneration.py similarity index 97% rename from bindings/python/tests/test-py-edgedcurve-degeneration.py rename to bindings/python/tests/inspection/test-py-edgedcurve-degeneration.py index a97fe1f7..e6d8a345 100644 --- a/bindings/python/tests/test-py-edgedcurve-degeneration.py +++ b/bindings/python/tests/inspection/test-py-edgedcurve-degeneration.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_degeneration2D(): @@ -123,7 +123,7 @@ def check_degeneration_by_colocalisation3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_degeneration2D() check_degeneration_by_colocalisation2D() check_non_degeneration3D() diff --git a/bindings/python/tests/test-py-pointset-colocation.py b/bindings/python/tests/inspection/test-py-pointset-colocation.py similarity index 98% rename from bindings/python/tests/test-py-pointset-colocation.py rename to bindings/python/tests/inspection/test-py-pointset-colocation.py index bed0a6da..47544b73 100644 --- a/bindings/python/tests/test-py-pointset-colocation.py +++ b/bindings/python/tests/inspection/test-py-pointset-colocation.py @@ -28,7 +28,7 @@ for path in [x.strip() for x in os.environ["PATH"].split(";") if x]: os.add_dll_directory(path) -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector print(dir(inspector)) @@ -146,7 +146,7 @@ def check_colocation3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_colocation2D() check_colocation2D() check_non_colocation3D() diff --git a/bindings/python/tests/test-py-section.py b/bindings/python/tests/inspection/test-py-section.py similarity index 98% rename from bindings/python/tests/test-py-section.py rename to bindings/python/tests/inspection/test-py-section.py index 6902a8b0..474c302e 100644 --- a/bindings/python/tests/test-py-section.py +++ b/bindings/python/tests/inspection/test-py-section.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def corners_topological_validity(result, verbose): @@ -193,6 +193,6 @@ def check_section(verbose): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() verbose = False check_section(verbose) diff --git a/bindings/python/tests/test-py-solid-adjacency.py b/bindings/python/tests/inspection/test-py-solid-adjacency.py similarity index 98% rename from bindings/python/tests/test-py-solid-adjacency.py rename to bindings/python/tests/inspection/test-py-solid-adjacency.py index 3a015ed2..1414a1de 100644 --- a/bindings/python/tests/test-py-solid-adjacency.py +++ b/bindings/python/tests/inspection/test-py-solid-adjacency.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_adjacency(): @@ -170,7 +170,7 @@ def check_non_adjacency_inversed_tetrahedron(): if not __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_adjacency() check_non_adjacency_no_bijection() check_non_adjacency_wrong_facet() diff --git a/bindings/python/tests/test-py-solid-colocation.py b/bindings/python/tests/inspection/test-py-solid-colocation.py similarity index 97% rename from bindings/python/tests/test-py-solid-colocation.py rename to bindings/python/tests/inspection/test-py-solid-colocation.py index 3469194c..2806757e 100644 --- a/bindings/python/tests/test-py-solid-colocation.py +++ b/bindings/python/tests/inspection/test-py-solid-colocation.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_colocation(): @@ -86,6 +86,6 @@ def check_colocation(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_colocation() check_colocation() diff --git a/bindings/python/tests/test-py-solid-degeneration.py b/bindings/python/tests/inspection/test-py-solid-degeneration.py similarity index 97% rename from bindings/python/tests/test-py-solid-degeneration.py rename to bindings/python/tests/inspection/test-py-solid-degeneration.py index be9ded00..ecd1b12c 100644 --- a/bindings/python/tests/test-py-solid-degeneration.py +++ b/bindings/python/tests/inspection/test-py-solid-degeneration.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_degeneration(): @@ -104,7 +104,7 @@ def check_degeneration_by_point_multiple_presence(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_degeneration() check_degeneration_by_colocalisation() check_degeneration_by_point_multiple_presence() diff --git a/bindings/python/tests/test-py-solid-manifold.py b/bindings/python/tests/inspection/test-py-solid-manifold.py similarity index 98% rename from bindings/python/tests/test-py-solid-manifold.py rename to bindings/python/tests/inspection/test-py-solid-manifold.py index d22d2401..d178df1c 100644 --- a/bindings/python/tests/test-py-solid-manifold.py +++ b/bindings/python/tests/inspection/test-py-solid-manifold.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_vertex_manifold(): @@ -167,7 +167,7 @@ def check_facet_non_manifold(): if not __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_vertex_manifold() check_vertex_non_manifold() check_edge_manifold() diff --git a/bindings/python/tests/test-py-surface-adjacency.py b/bindings/python/tests/inspection/test-py-surface-adjacency.py similarity index 99% rename from bindings/python/tests/test-py-surface-adjacency.py rename to bindings/python/tests/inspection/test-py-surface-adjacency.py index ae97edb6..58a37ac3 100644 --- a/bindings/python/tests/test-py-surface-adjacency.py +++ b/bindings/python/tests/inspection/test-py-surface-adjacency.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_adjacency2D(): @@ -306,7 +306,7 @@ def check_non_adjacency_inversed_triangle3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_adjacency2D() check_non_adjacency_no_bijection2D() check_non_adjacency_wrong_edge2D() diff --git a/bindings/python/tests/test-py-surface-colocation.py b/bindings/python/tests/inspection/test-py-surface-colocation.py similarity index 98% rename from bindings/python/tests/test-py-surface-colocation.py rename to bindings/python/tests/inspection/test-py-surface-colocation.py index bdb73549..e299572e 100644 --- a/bindings/python/tests/test-py-surface-colocation.py +++ b/bindings/python/tests/inspection/test-py-surface-colocation.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_colocation2D(): @@ -140,7 +140,7 @@ def check_colocation3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_colocation2D() check_colocation2D() check_non_colocation3D() diff --git a/bindings/python/tests/test-py-surface-curve-intersections.py b/bindings/python/tests/inspection/test-py-surface-curve-intersections.py similarity index 98% rename from bindings/python/tests/test-py-surface-curve-intersections.py rename to bindings/python/tests/inspection/test-py-surface-curve-intersections.py index 0c4a9a6f..aa764da0 100644 --- a/bindings/python/tests/test-py-surface-curve-intersections.py +++ b/bindings/python/tests/inspection/test-py-surface-curve-intersections.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_intersections2D(): @@ -124,6 +124,6 @@ def check_intersections3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_intersections2D() check_intersections3D() diff --git a/bindings/python/tests/test-py-surface-degeneration.py b/bindings/python/tests/inspection/test-py-surface-degeneration.py similarity index 98% rename from bindings/python/tests/test-py-surface-degeneration.py rename to bindings/python/tests/inspection/test-py-surface-degeneration.py index d959711c..d49071ab 100644 --- a/bindings/python/tests/test-py-surface-degeneration.py +++ b/bindings/python/tests/inspection/test-py-surface-degeneration.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_non_degeneration2D(): @@ -177,7 +177,7 @@ def check_degeneration_by_point_multiple_presence3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_non_degeneration2D() check_degeneration_by_colocalisation2D() check_degeneration_by_point_multiple_presence2D() diff --git a/bindings/python/tests/test-py-surface-intersections.py b/bindings/python/tests/inspection/test-py-surface-intersections.py similarity index 97% rename from bindings/python/tests/test-py-surface-intersections.py rename to bindings/python/tests/inspection/test-py-surface-intersections.py index 3fecd939..2e1a381a 100644 --- a/bindings/python/tests/test-py-surface-intersections.py +++ b/bindings/python/tests/inspection/test-py-surface-intersections.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_intersections2D(): @@ -87,6 +87,6 @@ def check_intersections3D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_intersections2D() check_intersections3D() diff --git a/bindings/python/tests/test-py-surface-manifold.py b/bindings/python/tests/inspection/test-py-surface-manifold.py similarity index 98% rename from bindings/python/tests/test-py-surface-manifold.py rename to bindings/python/tests/inspection/test-py-surface-manifold.py index 983d6d22..b8c63d47 100644 --- a/bindings/python/tests/test-py-surface-manifold.py +++ b/bindings/python/tests/inspection/test-py-surface-manifold.py @@ -28,7 +28,7 @@ os.add_dll_directory(path) import opengeode as geode -import opengeode_inspector_py_inspector as inspector +import opengeode_inspector_py_inspection as inspector def check_vertex_manifold2D(): @@ -128,7 +128,7 @@ def check_edge_non_manifold2D(): if __name__ == "__main__": - inspector.OpenGeodeInspectorInspectorLibrary.initialize() + inspector.OpenGeodeInspectorInspectionLibrary.initialize() check_vertex_manifold2D() check_vertex_non_manifold2D() check_edge_manifold2D() diff --git a/bindings/python/tests/validity/CMakeLists.txt b/bindings/python/tests/validity/CMakeLists.txt new file mode 100644 index 00000000..c60f7c87 --- /dev/null +++ b/bindings/python/tests/validity/CMakeLists.txt @@ -0,0 +1,25 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + add_geode_python_test( + SOURCE "test-py-model-validity.py" + DEPENDENCIES + ${PROJECT_NAME}::py_validity + ) \ No newline at end of file diff --git a/bindings/python/tests/validity/test-py-model-validity.py b/bindings/python/tests/validity/test-py-model-validity.py new file mode 100644 index 00000000..b04fc1f2 --- /dev/null +++ b/bindings/python/tests/validity/test-py-model-validity.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import os +import sys +import platform + +if sys.version_info >= (3, 8, 0) and platform.system() == "Windows": + for path in [x.strip() for x in os.environ["PATH"].split("") if x]: + os.add_dll_directory(path) + +import opengeode +import opengeode_inspector_py_validity as validity + + +def test_validity(): + return True + + +def check_validity(): + if not test_validity(): + raise ValueError( + "[Test] Should be true" + ) + +if __name__ == "__main__": + validity.OpenGeodeInspectorValidityLibrary.initialize() + check_validity() diff --git a/bindings/python/inspector.py b/bindings/python/validity.py similarity index 92% rename from bindings/python/inspector.py rename to bindings/python/validity.py index 7b16be61..2c39ecca 100644 --- a/bindings/python/inspector.py +++ b/bindings/python/validity.py @@ -22,6 +22,6 @@ import opengeode -from opengeode_inspector_py_inspector import * +from opengeode_inspector_py_validity import * -OpenGeodeInspectorInspectorLibrary.initialize() +OpenGeodeInspectorValidityLibrary.initialize() diff --git a/cmake/OpenGeode-InspectorConfig.cmake.in b/cmake/OpenGeode-InspectorConfig.cmake.in index 9bc7e176..efba90dc 100644 --- a/cmake/OpenGeode-InspectorConfig.cmake.in +++ b/cmake/OpenGeode-InspectorConfig.cmake.in @@ -21,7 +21,8 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(OpenGeode) +find_dependency(OpenGeode CONFIG) # Load information for each target -include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@_inspector_target.cmake) \ No newline at end of file +include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@_inspection_target.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@_validity_target.cmake) \ No newline at end of file diff --git a/include/geode/inspector/brep_inspector.hpp b/include/geode/inspector/inspection/brep_inspector.hpp similarity index 83% rename from include/geode/inspector/brep_inspector.hpp rename to include/geode/inspector/inspection/brep_inspector.hpp index bec85050..3bf1837a 100644 --- a/include/geode/inspector/brep_inspector.hpp +++ b/include/geode/inspector/inspection/brep_inspector.hpp @@ -23,10 +23,10 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace geode { @@ -35,7 +35,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepInspectionResult + struct opengeode_inspector_inspection_api BRepInspectionResult { BRepMeshesInspectionResult meshes; BRepTopologyInspectionResult topology; @@ -50,7 +50,7 @@ namespace geode * Class for inspecting a BRep model * @extends BRepTopologyInspector */ - class opengeode_inspector_inspector_api BRepInspector + class opengeode_inspector_inspection_api BRepInspector : public AddInspectors< BRep, BRepMeshesInspector, BRepTopologyInspector > diff --git a/include/geode/inspector/inspection/common.hpp b/include/geode/inspector/inspection/common.hpp new file mode 100644 index 00000000..74bad809 --- /dev/null +++ b/include/geode/inspector/inspection/common.hpp @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#pragma once + +#include +#include + +#include +#include + +namespace geode +{ + OPENGEODE_LIBRARY( + opengeode_inspector_inspection_api, OpenGeodeInspector, Inspection ); +} // namespace geode \ No newline at end of file diff --git a/include/geode/inspector/criterion/adjacency/brep_meshes_adjacency.hpp b/include/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.hpp similarity index 90% rename from include/geode/inspector/criterion/adjacency/brep_meshes_adjacency.hpp rename to include/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.hpp index 7cb0488e..954df6b9 100644 --- a/include/geode/inspector/criterion/adjacency/brep_meshes_adjacency.hpp +++ b/include/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.hpp @@ -31,8 +31,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -41,7 +41,8 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepMeshesAdjacencyInspectionResult + struct + opengeode_inspector_inspection_api BRepMeshesAdjacencyInspectionResult { InspectionIssuesMap< PolygonEdge > surfaces_edges_with_wrong_adjacencies{ @@ -63,7 +64,7 @@ namespace geode * Class for inspecting the adjacency of the surface edges and solid facets * in the Component Meshes of a BRep. */ - class opengeode_inspector_inspector_api BRepComponentMeshesAdjacency + class opengeode_inspector_inspection_api BRepComponentMeshesAdjacency { OPENGEODE_DISABLE_COPY( BRepComponentMeshesAdjacency ); diff --git a/include/geode/inspector/criterion/adjacency/section_meshes_adjacency.hpp b/include/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.hpp similarity index 89% rename from include/geode/inspector/criterion/adjacency/section_meshes_adjacency.hpp rename to include/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.hpp index 7df02d61..2c5839bf 100644 --- a/include/geode/inspector/criterion/adjacency/section_meshes_adjacency.hpp +++ b/include/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.hpp @@ -30,8 +30,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -41,7 +41,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionMeshesAdjacencyInspectionResult + opengeode_inspector_inspection_api SectionMeshesAdjacencyInspectionResult { InspectionIssuesMap< PolygonEdge > surfaces_edges_with_wrong_adjacencies{ @@ -58,7 +58,7 @@ namespace geode * Class for inspecting the adjacency of the surface edges in the Component * Meshes of a Section. */ - class opengeode_inspector_inspector_api SectionComponentMeshesAdjacency + class opengeode_inspector_inspection_api SectionComponentMeshesAdjacency { OPENGEODE_DISABLE_COPY( SectionComponentMeshesAdjacency ); diff --git a/include/geode/inspector/criterion/adjacency/solid_adjacency.hpp b/include/geode/inspector/inspection/criterion/adjacency/solid_adjacency.hpp similarity index 92% rename from include/geode/inspector/criterion/adjacency/solid_adjacency.hpp rename to include/geode/inspector/inspection/criterion/adjacency/solid_adjacency.hpp index 3888ff6e..0640e3b3 100644 --- a/include/geode/inspector/criterion/adjacency/solid_adjacency.hpp +++ b/include/geode/inspector/inspection/criterion/adjacency/solid_adjacency.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -40,7 +40,7 @@ namespace geode * Class for inspecting the adjacency on the facets of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshAdjacency + class opengeode_inspector_inspection_api SolidMeshAdjacency { OPENGEODE_DISABLE_COPY( SolidMeshAdjacency ); diff --git a/include/geode/inspector/criterion/adjacency/surface_adjacency.hpp b/include/geode/inspector/inspection/criterion/adjacency/surface_adjacency.hpp similarity index 91% rename from include/geode/inspector/criterion/adjacency/surface_adjacency.hpp rename to include/geode/inspector/inspection/criterion/adjacency/surface_adjacency.hpp index 7a5ef6b0..e7d4fb44 100644 --- a/include/geode/inspector/criterion/adjacency/surface_adjacency.hpp +++ b/include/geode/inspector/inspection/criterion/adjacency/surface_adjacency.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -40,7 +40,7 @@ namespace geode * Class for inspecting the adjacency on the edges of a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshAdjacency + class opengeode_inspector_inspection_api SurfaceMeshAdjacency { OPENGEODE_DISABLE_COPY( SurfaceMeshAdjacency ); diff --git a/include/geode/inspector/criterion/brep_meshes_inspector.hpp b/include/geode/inspector/inspection/criterion/brep_meshes_inspector.hpp similarity index 75% rename from include/geode/inspector/criterion/brep_meshes_inspector.hpp rename to include/geode/inspector/inspection/criterion/brep_meshes_inspector.hpp index 8a6e1bda..7813fb53 100644 --- a/include/geode/inspector/criterion/brep_meshes_inspector.hpp +++ b/include/geode/inspector/inspection/criterion/brep_meshes_inspector.hpp @@ -23,18 +23,18 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api BRepMeshesInspectionResult + struct opengeode_inspector_inspection_api BRepMeshesInspectionResult { UniqueVerticesInspectionResult unique_vertices_colocation; MeshesColocationInspectionResult meshes_colocation; @@ -55,7 +55,7 @@ namespace geode * Class for inspecting a BRep model * @extends BRepMeshesInspector */ - class opengeode_inspector_inspector_api BRepMeshesInspector + class opengeode_inspector_inspection_api BRepMeshesInspector : public BRepUniqueVerticesColocation, public BRepComponentMeshesAdjacency, public BRepComponentMeshesColocation, diff --git a/include/geode/inspector/criterion/colocation/component_meshes_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.hpp similarity index 92% rename from include/geode/inspector/criterion/colocation/component_meshes_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.hpp index 0a50971e..e8060aa1 100644 --- a/include/geode/inspector/criterion/colocation/component_meshes_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.hpp @@ -27,8 +27,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -38,7 +38,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api MeshesColocationInspectionResult + struct opengeode_inspector_inspection_api MeshesColocationInspectionResult { InspectionIssuesMap< std::vector< index_t > > colocated_points_groups{ "colocated points" diff --git a/include/geode/inspector/criterion/colocation/edgedcurve_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.hpp similarity index 91% rename from include/geode/inspector/criterion/colocation/edgedcurve_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.hpp index 490dd565..3f77bc92 100644 --- a/include/geode/inspector/criterion/colocation/edgedcurve_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the colocation of points in an EdgedCurve */ template < index_t dimension > - class opengeode_inspector_inspector_api EdgedCurveColocation + class opengeode_inspector_inspection_api EdgedCurveColocation { OPENGEODE_DISABLE_COPY( EdgedCurveColocation ); diff --git a/include/geode/inspector/criterion/colocation/pointset_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/pointset_colocation.hpp similarity index 91% rename from include/geode/inspector/criterion/colocation/pointset_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/pointset_colocation.hpp index b33c0de9..e61da09a 100644 --- a/include/geode/inspector/criterion/colocation/pointset_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/pointset_colocation.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the colocation of points in a PointSet */ template < index_t dimension > - class opengeode_inspector_inspector_api PointSetColocation + class opengeode_inspector_inspection_api PointSetColocation { OPENGEODE_DISABLE_COPY( PointSetColocation ); diff --git a/include/geode/inspector/criterion/colocation/solid_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/solid_colocation.hpp similarity index 92% rename from include/geode/inspector/criterion/colocation/solid_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/solid_colocation.hpp index c17d1364..4966edba 100644 --- a/include/geode/inspector/criterion/colocation/solid_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/solid_colocation.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the colocation of points in a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshColocation + class opengeode_inspector_inspection_api SolidMeshColocation { OPENGEODE_DISABLE_COPY( SolidMeshColocation ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/colocation/surface_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/surface_colocation.hpp similarity index 91% rename from include/geode/inspector/criterion/colocation/surface_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/surface_colocation.hpp index 7ffbc4a2..6fc1d3b1 100644 --- a/include/geode/inspector/criterion/colocation/surface_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/surface_colocation.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the colocation of points in a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshColocation + class opengeode_inspector_inspection_api SurfaceMeshColocation { OPENGEODE_DISABLE_COPY( SurfaceMeshColocation ); diff --git a/include/geode/inspector/criterion/colocation/unique_vertices_colocation.hpp b/include/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.hpp similarity index 93% rename from include/geode/inspector/criterion/colocation/unique_vertices_colocation.hpp rename to include/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.hpp index 231b7143..bcff0b95 100644 --- a/include/geode/inspector/criterion/colocation/unique_vertices_colocation.hpp +++ b/include/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -36,7 +36,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api UniqueVerticesInspectionResult + struct opengeode_inspector_inspection_api UniqueVerticesInspectionResult { InspectionIssues< std::vector< index_t > > colocated_unique_vertices_groups{ "colocated unique vertices" }; diff --git a/include/geode/inspector/criterion/degeneration/brep_meshes_degeneration.hpp b/include/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.hpp similarity index 91% rename from include/geode/inspector/criterion/degeneration/brep_meshes_degeneration.hpp rename to include/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.hpp index 521d535a..972ba018 100644 --- a/include/geode/inspector/criterion/degeneration/brep_meshes_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.hpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api BRepMeshesDegenerationInspectionResult + opengeode_inspector_inspection_api BRepMeshesDegenerationInspectionResult { InspectionIssuesMap< index_t > degenerated_edges{ "degenerated edges" }; InspectionIssuesMap< index_t > degenerated_polygons{ @@ -60,7 +60,7 @@ namespace geode * Class for inspecting the degeneration of elements in the Component Meshes * of a BRep . */ - class opengeode_inspector_inspector_api BRepComponentMeshesDegeneration + class opengeode_inspector_inspection_api BRepComponentMeshesDegeneration { OPENGEODE_DISABLE_COPY( BRepComponentMeshesDegeneration ); diff --git a/include/geode/inspector/criterion/degeneration/edgedcurve_degeneration.hpp b/include/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.hpp similarity index 91% rename from include/geode/inspector/criterion/degeneration/edgedcurve_degeneration.hpp rename to include/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.hpp index 2df86bad..2b01ba5d 100644 --- a/include/geode/inspector/criterion/degeneration/edgedcurve_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the degeneration of an EdgedCurve */ template < index_t dimension > - class opengeode_inspector_inspector_api EdgedCurveDegeneration + class opengeode_inspector_inspection_api EdgedCurveDegeneration { OPENGEODE_DISABLE_COPY( EdgedCurveDegeneration ); diff --git a/include/geode/inspector/criterion/degeneration/section_meshes_degeneration.hpp b/include/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.hpp similarity index 89% rename from include/geode/inspector/criterion/degeneration/section_meshes_degeneration.hpp rename to include/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.hpp index 2b888006..759cfa03 100644 --- a/include/geode/inspector/criterion/degeneration/section_meshes_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.hpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionMeshesDegenerationInspectionResult + opengeode_inspector_inspection_api SectionMeshesDegenerationInspectionResult { InspectionIssuesMap< index_t > degenerated_edges{ "degenerated edges" }; InspectionIssuesMap< index_t > degenerated_polygons{ @@ -57,7 +57,7 @@ namespace geode * Class for inspecting the degeneration of elements in the Component Meshes * of a Section. */ - class opengeode_inspector_inspector_api SectionComponentMeshesDegeneration + class opengeode_inspector_inspection_api SectionComponentMeshesDegeneration { OPENGEODE_DISABLE_COPY( SectionComponentMeshesDegeneration ); diff --git a/include/geode/inspector/criterion/degeneration/solid_degeneration.hpp b/include/geode/inspector/inspection/criterion/degeneration/solid_degeneration.hpp similarity index 92% rename from include/geode/inspector/criterion/degeneration/solid_degeneration.hpp rename to include/geode/inspector/inspection/criterion/degeneration/solid_degeneration.hpp index 7720521d..32f704cb 100644 --- a/include/geode/inspector/criterion/degeneration/solid_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/degeneration/solid_degeneration.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the degeneration of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshDegeneration + class opengeode_inspector_inspection_api SolidMeshDegeneration { OPENGEODE_DISABLE_COPY( SolidMeshDegeneration ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/degeneration/surface_degeneration.hpp b/include/geode/inspector/inspection/criterion/degeneration/surface_degeneration.hpp similarity index 92% rename from include/geode/inspector/criterion/degeneration/surface_degeneration.hpp rename to include/geode/inspector/inspection/criterion/degeneration/surface_degeneration.hpp index cdd4a489..073ce1a5 100644 --- a/include/geode/inspector/criterion/degeneration/surface_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/degeneration/surface_degeneration.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the degeneration of a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshDegeneration + class opengeode_inspector_inspection_api SurfaceMeshDegeneration { OPENGEODE_DISABLE_COPY( SurfaceMeshDegeneration ); diff --git a/include/geode/inspector/criterion/internal/colocation_impl.hpp b/include/geode/inspector/inspection/criterion/internal/colocation_impl.hpp similarity index 94% rename from include/geode/inspector/criterion/internal/colocation_impl.hpp rename to include/geode/inspector/inspection/criterion/internal/colocation_impl.hpp index bbf864ec..618e8ead 100644 --- a/include/geode/inspector/criterion/internal/colocation_impl.hpp +++ b/include/geode/inspector/inspection/criterion/internal/colocation_impl.hpp @@ -23,8 +23,8 @@ #pragma once -#include -#include +#include +#include #include diff --git a/include/geode/inspector/criterion/internal/component_meshes_adjacency.hpp b/include/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.hpp similarity index 95% rename from include/geode/inspector/criterion/internal/component_meshes_adjacency.hpp rename to include/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.hpp index ee157cfe..c7022251 100644 --- a/include/geode/inspector/criterion/internal/component_meshes_adjacency.hpp +++ b/include/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/internal/component_meshes_degeneration.hpp b/include/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.hpp similarity index 96% rename from include/geode/inspector/criterion/internal/component_meshes_degeneration.hpp rename to include/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.hpp index 479e578f..31122b3d 100644 --- a/include/geode/inspector/criterion/internal/component_meshes_degeneration.hpp +++ b/include/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/internal/component_meshes_manifold.hpp b/include/geode/inspector/inspection/criterion/internal/component_meshes_manifold.hpp similarity index 95% rename from include/geode/inspector/criterion/internal/component_meshes_manifold.hpp rename to include/geode/inspector/inspection/criterion/internal/component_meshes_manifold.hpp index dd09d317..7a6ffa26 100644 --- a/include/geode/inspector/criterion/internal/component_meshes_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/internal/component_meshes_manifold.hpp @@ -27,8 +27,8 @@ #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/internal/degeneration_impl.hpp b/include/geode/inspector/inspection/criterion/internal/degeneration_impl.hpp similarity index 95% rename from include/geode/inspector/criterion/internal/degeneration_impl.hpp rename to include/geode/inspector/inspection/criterion/internal/degeneration_impl.hpp index 2daf3b62..25b517fe 100644 --- a/include/geode/inspector/criterion/internal/degeneration_impl.hpp +++ b/include/geode/inspector/inspection/criterion/internal/degeneration_impl.hpp @@ -23,8 +23,8 @@ #pragma once -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/intersections/model_intersections.hpp b/include/geode/inspector/inspection/criterion/intersections/model_intersections.hpp similarity index 93% rename from include/geode/inspector/criterion/intersections/model_intersections.hpp rename to include/geode/inspector/inspection/criterion/intersections/model_intersections.hpp index 35a22fbb..69687063 100644 --- a/include/geode/inspector/criterion/intersections/model_intersections.hpp +++ b/include/geode/inspector/inspection/criterion/intersections/model_intersections.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include #include @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api ElementsIntersectionsInspectionResult + opengeode_inspector_inspection_api ElementsIntersectionsInspectionResult { InspectionIssues< std::pair< ComponentMeshElement, ComponentMeshElement > > diff --git a/include/geode/inspector/criterion/intersections/surface_curve_intersections.hpp b/include/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.hpp similarity index 95% rename from include/geode/inspector/criterion/intersections/surface_curve_intersections.hpp rename to include/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.hpp index a0d8046a..427abb6c 100644 --- a/include/geode/inspector/criterion/intersections/surface_curve_intersections.hpp +++ b/include/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.hpp @@ -27,8 +27,8 @@ #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/intersections/surface_intersections.hpp b/include/geode/inspector/inspection/criterion/intersections/surface_intersections.hpp similarity index 95% rename from include/geode/inspector/criterion/intersections/surface_intersections.hpp rename to include/geode/inspector/inspection/criterion/intersections/surface_intersections.hpp index 384ead2b..6ecb97b5 100644 --- a/include/geode/inspector/criterion/intersections/surface_intersections.hpp +++ b/include/geode/inspector/inspection/criterion/intersections/surface_intersections.hpp @@ -27,8 +27,8 @@ #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/criterion/manifold/brep_meshes_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.hpp similarity index 92% rename from include/geode/inspector/criterion/manifold/brep_meshes_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.hpp index 2e8be2b4..f96fc056 100644 --- a/include/geode/inspector/criterion/manifold/brep_meshes_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.hpp @@ -33,8 +33,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -55,7 +55,7 @@ namespace geode std::vector< uuid > component_ids; }; - struct opengeode_inspector_inspector_api BRepMeshesManifoldInspectionResult + struct opengeode_inspector_inspection_api BRepMeshesManifoldInspectionResult { InspectionIssuesMap< index_t > meshes_non_manifold_vertices{ "non manifold mesh vertices" @@ -85,7 +85,7 @@ namespace geode * Class for inspecting the manifold property in the Component Meshes of * a BRep. */ - class opengeode_inspector_inspector_api BRepComponentMeshesManifold + class opengeode_inspector_inspection_api BRepComponentMeshesManifold { OPENGEODE_DISABLE_COPY( BRepComponentMeshesManifold ); diff --git a/include/geode/inspector/criterion/manifold/section_meshes_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.hpp similarity index 89% rename from include/geode/inspector/criterion/manifold/section_meshes_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.hpp index 458ee5f8..31bed050 100644 --- a/include/geode/inspector/criterion/manifold/section_meshes_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.hpp @@ -30,13 +30,13 @@ #include -#include -#include +#include +#include namespace geode { struct - opengeode_inspector_inspector_api SectionMeshesManifoldInspectionResult + opengeode_inspector_inspection_api SectionMeshesManifoldInspectionResult { InspectionIssuesMap< index_t > meshes_non_manifold_vertices{ "non manifold mesh vertices" @@ -54,7 +54,7 @@ namespace geode * Class for inspecting the manifold property in the Component Meshes of * a Section. */ - class opengeode_inspector_inspector_api SectionComponentMeshesManifold + class opengeode_inspector_inspection_api SectionComponentMeshesManifold { OPENGEODE_DISABLE_COPY( SectionComponentMeshesManifold ); diff --git a/include/geode/inspector/criterion/manifold/solid_edge_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.hpp similarity index 92% rename from include/geode/inspector/criterion/manifold/solid_edge_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.hpp index 983ae19b..e3a1113f 100644 --- a/include/geode/inspector/criterion/manifold/solid_edge_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -45,7 +45,7 @@ namespace geode * Class for inspecting the manifold property of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshEdgeManifold + class opengeode_inspector_inspection_api SolidMeshEdgeManifold { OPENGEODE_DISABLE_COPY( SolidMeshEdgeManifold ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/manifold/solid_facet_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.hpp similarity index 91% rename from include/geode/inspector/criterion/manifold/solid_facet_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.hpp index 7b1db057..54298323 100644 --- a/include/geode/inspector/criterion/manifold/solid_facet_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.hpp @@ -29,8 +29,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -38,7 +38,7 @@ namespace geode * Class for inspecting the manifold property of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshFacetManifold + class opengeode_inspector_inspection_api SolidMeshFacetManifold { OPENGEODE_DISABLE_COPY( SolidMeshFacetManifold ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/manifold/solid_vertex_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.hpp similarity index 91% rename from include/geode/inspector/criterion/manifold/solid_vertex_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.hpp index 316fdb86..877c1e2c 100644 --- a/include/geode/inspector/criterion/manifold/solid_vertex_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the manifold property of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshVertexManifold + class opengeode_inspector_inspection_api SolidMeshVertexManifold { OPENGEODE_DISABLE_COPY( SolidMeshVertexManifold ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/manifold/surface_edge_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.hpp similarity index 92% rename from include/geode/inspector/criterion/manifold/surface_edge_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.hpp index 6a503821..2a94e16f 100644 --- a/include/geode/inspector/criterion/manifold/surface_edge_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -45,7 +45,7 @@ namespace geode * Class for inspecting the manifold property of a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshEdgeManifold + class opengeode_inspector_inspection_api SurfaceMeshEdgeManifold { OPENGEODE_DISABLE_COPY( SurfaceMeshEdgeManifold ); diff --git a/include/geode/inspector/criterion/manifold/surface_vertex_manifold.hpp b/include/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.hpp similarity index 91% rename from include/geode/inspector/criterion/manifold/surface_vertex_manifold.hpp rename to include/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.hpp index 421830e4..6dbf95e8 100644 --- a/include/geode/inspector/criterion/manifold/surface_vertex_manifold.hpp +++ b/include/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the manifold property of a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshVertexManifold + class opengeode_inspector_inspection_api SurfaceMeshVertexManifold { OPENGEODE_DISABLE_COPY( SurfaceMeshVertexManifold ); diff --git a/include/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.hpp b/include/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.hpp similarity index 88% rename from include/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.hpp rename to include/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.hpp index d0db8b01..ca3ab3bd 100644 --- a/include/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.hpp +++ b/include/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.hpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api BRepMeshesNegativeElementsInspectionResult + opengeode_inspector_inspection_api BRepMeshesNegativeElementsInspectionResult { InspectionIssuesMap< index_t > negative_polyhedra{ "negative polyhedra" @@ -56,7 +56,7 @@ namespace geode * Class for inspecting the negative elements in the Component Meshes of a * BRep . */ - class opengeode_inspector_inspector_api BRepComponentMeshesNegativeElements + class opengeode_inspector_inspection_api BRepComponentMeshesNegativeElements { OPENGEODE_DISABLE_COPY( BRepComponentMeshesNegativeElements ); diff --git a/include/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.hpp b/include/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.hpp similarity index 88% rename from include/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.hpp rename to include/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.hpp index c3549cfb..ad120a51 100644 --- a/include/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.hpp +++ b/include/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.hpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionMeshesNegativeElementsInspectionResult + opengeode_inspector_inspection_api SectionMeshesNegativeElementsInspectionResult { InspectionIssuesMap< index_t > negative_polygons{ "negative polygons" }; @@ -55,7 +55,7 @@ namespace geode * Meshes of a Section. */ class - opengeode_inspector_inspector_api SectionComponentMeshesNegativeElements + opengeode_inspector_inspection_api SectionComponentMeshesNegativeElements { OPENGEODE_DISABLE_COPY( SectionComponentMeshesNegativeElements ); diff --git a/include/geode/inspector/criterion/negative_elements/solid_negative_elements.hpp b/include/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.hpp similarity index 91% rename from include/geode/inspector/criterion/negative_elements/solid_negative_elements.hpp rename to include/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.hpp index e2294f98..86e6ee8b 100644 --- a/include/geode/inspector/criterion/negative_elements/solid_negative_elements.hpp +++ b/include/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the negative elements of a SolidMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshNegativeElements + class opengeode_inspector_inspection_api SolidMeshNegativeElements { OPENGEODE_DISABLE_COPY( SolidMeshNegativeElements ); OPENGEODE_TEMPLATE_ASSERT_3D( dimension ); diff --git a/include/geode/inspector/criterion/negative_elements/surface_negative_elements.hpp b/include/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.hpp similarity index 91% rename from include/geode/inspector/criterion/negative_elements/surface_negative_elements.hpp rename to include/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.hpp index ebde0c72..59a024bb 100644 --- a/include/geode/inspector/criterion/negative_elements/surface_negative_elements.hpp +++ b/include/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode * Class for inspecting the negative elements of a SurfaceMesh */ template < index_t dimension > - class opengeode_inspector_inspector_api SurfaceMeshNegativeElements + class opengeode_inspector_inspection_api SurfaceMeshNegativeElements { OPENGEODE_DISABLE_COPY( SurfaceMeshNegativeElements ); diff --git a/include/geode/inspector/criterion/section_meshes_inspector.hpp b/include/geode/inspector/inspection/criterion/section_meshes_inspector.hpp similarity index 74% rename from include/geode/inspector/criterion/section_meshes_inspector.hpp rename to include/geode/inspector/inspection/criterion/section_meshes_inspector.hpp index d35771c8..04d218ef 100644 --- a/include/geode/inspector/criterion/section_meshes_inspector.hpp +++ b/include/geode/inspector/inspection/criterion/section_meshes_inspector.hpp @@ -23,19 +23,19 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api SectionMeshesInspectionResult + struct opengeode_inspector_inspection_api SectionMeshesInspectionResult { UniqueVerticesInspectionResult unique_vertices_colocation; MeshesColocationInspectionResult meshes_colocation; @@ -55,7 +55,7 @@ namespace geode * Class for inspecting a Section model * @extends SectionMeshesInspector */ - class opengeode_inspector_inspector_api SectionMeshesInspector + class opengeode_inspector_inspection_api SectionMeshesInspector : public SectionUniqueVerticesColocation, public SectionComponentMeshesAdjacency, public SectionComponentMeshesColocation, diff --git a/include/geode/inspector/edgedcurve_inspector.hpp b/include/geode/inspector/inspection/edgedcurve_inspector.hpp similarity index 86% rename from include/geode/inspector/edgedcurve_inspector.hpp rename to include/geode/inspector/inspection/edgedcurve_inspector.hpp index ce5fe85e..47f6fccc 100644 --- a/include/geode/inspector/edgedcurve_inspector.hpp +++ b/include/geode/inspector/inspection/edgedcurve_inspector.hpp @@ -23,14 +23,14 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api EdgedCurveInspectionResult + struct opengeode_inspector_inspection_api EdgedCurveInspectionResult { InspectionIssues< std::vector< index_t > > colocated_points_groups{ "Colocation of vertices not tested" diff --git a/include/geode/inspector/information.hpp b/include/geode/inspector/inspection/information.hpp similarity index 99% rename from include/geode/inspector/information.hpp rename to include/geode/inspector/inspection/information.hpp index 8df66e86..c4eb8ced 100644 --- a/include/geode/inspector/information.hpp +++ b/include/geode/inspector/inspection/information.hpp @@ -32,7 +32,7 @@ #include #include -#include +#include namespace geode { diff --git a/include/geode/inspector/mixin/add_inspectors.hpp b/include/geode/inspector/inspection/mixin/add_inspectors.hpp similarity index 97% rename from include/geode/inspector/mixin/add_inspectors.hpp rename to include/geode/inspector/inspection/mixin/add_inspectors.hpp index 73b73960..822b31fa 100644 --- a/include/geode/inspector/mixin/add_inspectors.hpp +++ b/include/geode/inspector/inspection/mixin/add_inspectors.hpp @@ -23,7 +23,7 @@ #pragma once -#include +#include namespace geode { diff --git a/include/geode/inspector/pointset_inspector.hpp b/include/geode/inspector/inspection/pointset_inspector.hpp similarity index 88% rename from include/geode/inspector/pointset_inspector.hpp rename to include/geode/inspector/inspection/pointset_inspector.hpp index dd0067f6..b59993db 100644 --- a/include/geode/inspector/pointset_inspector.hpp +++ b/include/geode/inspector/inspection/pointset_inspector.hpp @@ -23,13 +23,13 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api PointSetInspectionResult + struct opengeode_inspector_inspection_api PointSetInspectionResult { InspectionIssues< std::vector< index_t > > colocated_points_groups{ "Colocation of vertices not tested" diff --git a/include/geode/inspector/section_inspector.hpp b/include/geode/inspector/inspection/section_inspector.hpp similarity index 82% rename from include/geode/inspector/section_inspector.hpp rename to include/geode/inspector/inspection/section_inspector.hpp index 91c8bac8..8581293a 100644 --- a/include/geode/inspector/section_inspector.hpp +++ b/include/geode/inspector/inspection/section_inspector.hpp @@ -23,14 +23,14 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api SectionInspectionResult + struct opengeode_inspector_inspection_api SectionInspectionResult { SectionMeshesInspectionResult meshes; SectionTopologyInspectionResult topology; @@ -45,7 +45,7 @@ namespace geode * Class for inspecting a Section model * @extends SectionTopologyInspector */ - class opengeode_inspector_inspector_api SectionInspector + class opengeode_inspector_inspection_api SectionInspector : public AddInspectors< Section, SectionMeshesInspector, SectionTopologyInspector > diff --git a/include/geode/inspector/solid_inspector.hpp b/include/geode/inspector/inspection/solid_inspector.hpp similarity index 79% rename from include/geode/inspector/solid_inspector.hpp rename to include/geode/inspector/inspection/solid_inspector.hpp index ef79d09e..d67cda15 100644 --- a/include/geode/inspector/solid_inspector.hpp +++ b/include/geode/inspector/inspection/solid_inspector.hpp @@ -23,19 +23,19 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api SolidInspectionResult + struct opengeode_inspector_inspection_api SolidInspectionResult { InspectionIssues< PolyhedronFacet > polyhedron_facets_with_wrong_adjacency{ @@ -75,7 +75,7 @@ namespace geode * @extends SolidMeshDegeneration */ template < index_t dimension > - class opengeode_inspector_inspector_api SolidMeshInspector + class opengeode_inspector_inspection_api SolidMeshInspector : public AddInspectors< SolidMesh< dimension >, SolidMeshAdjacency< dimension >, SolidMeshColocation< dimension >, diff --git a/include/geode/inspector/surface_inspector.hpp b/include/geode/inspector/inspection/surface_inspector.hpp similarity index 82% rename from include/geode/inspector/surface_inspector.hpp rename to include/geode/inspector/inspection/surface_inspector.hpp index 74507f56..3b745992 100644 --- a/include/geode/inspector/surface_inspector.hpp +++ b/include/geode/inspector/inspection/surface_inspector.hpp @@ -23,19 +23,19 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace geode { - struct opengeode_inspector_inspector_api SurfaceInspectionResult + struct opengeode_inspector_inspection_api SurfaceInspectionResult { InspectionIssues< PolygonEdge > polygon_edges_with_wrong_adjacency{ "Adjacencies between polygon edges not tested" diff --git a/include/geode/inspector/topology/brep_blocks_topology.hpp b/include/geode/inspector/inspection/topology/brep_blocks_topology.hpp similarity index 95% rename from include/geode/inspector/topology/brep_blocks_topology.hpp rename to include/geode/inspector/inspection/topology/brep_blocks_topology.hpp index f0692ea4..aedb3362 100644 --- a/include/geode/inspector/topology/brep_blocks_topology.hpp +++ b/include/geode/inspector/inspection/topology/brep_blocks_topology.hpp @@ -30,8 +30,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -43,7 +43,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepBlocksTopologyInspectionResult + struct opengeode_inspector_inspection_api BRepBlocksTopologyInspectionResult { InspectionIssues< uuid > some_blocks_not_meshed{ "Blocks without mesh (uuid listed)" @@ -95,7 +95,7 @@ namespace geode * Class for inspecting the topology of a BRep model blocks through * their unique vertices */ - class opengeode_inspector_inspector_api BRepBlocksTopology + class opengeode_inspector_inspection_api BRepBlocksTopology { public: explicit BRepBlocksTopology( const BRep& brep ); diff --git a/include/geode/inspector/topology/brep_corners_topology.hpp b/include/geode/inspector/inspection/topology/brep_corners_topology.hpp similarity index 93% rename from include/geode/inspector/topology/brep_corners_topology.hpp rename to include/geode/inspector/inspection/topology/brep_corners_topology.hpp index 6ec17da5..4b6492e4 100644 --- a/include/geode/inspector/topology/brep_corners_topology.hpp +++ b/include/geode/inspector/inspection/topology/brep_corners_topology.hpp @@ -28,8 +28,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -40,7 +40,8 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepCornersTopologyInspectionResult + struct + opengeode_inspector_inspection_api BRepCornersTopologyInspectionResult { InspectionIssues< uuid > corners_not_meshed{ "Corners without mesh (uuids listed)" @@ -69,7 +70,7 @@ namespace geode [[nodiscard]] std::string inspection_type() const; }; - class opengeode_inspector_inspector_api BRepCornersTopology + class opengeode_inspector_inspection_api BRepCornersTopology { public: explicit BRepCornersTopology( const BRep& brep ); diff --git a/include/geode/inspector/topology/brep_lines_topology.hpp b/include/geode/inspector/inspection/topology/brep_lines_topology.hpp similarity index 95% rename from include/geode/inspector/topology/brep_lines_topology.hpp rename to include/geode/inspector/inspection/topology/brep_lines_topology.hpp index 664e9b97..bd546173 100644 --- a/include/geode/inspector/topology/brep_lines_topology.hpp +++ b/include/geode/inspector/inspection/topology/brep_lines_topology.hpp @@ -27,8 +27,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -40,7 +40,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepLinesTopologyInspectionResult + struct opengeode_inspector_inspection_api BRepLinesTopologyInspectionResult { InspectionIssues< uuid > lines_not_meshed{ "Lines without mesh (uuids listed)" @@ -81,7 +81,7 @@ namespace geode * Class for inspecting the topology of a BRep model lines through their * unique vertices */ - class opengeode_inspector_inspector_api BRepLinesTopology + class opengeode_inspector_inspection_api BRepLinesTopology { public: explicit BRepLinesTopology( const BRep& brep ); diff --git a/include/geode/inspector/topology/brep_surfaces_topology.hpp b/include/geode/inspector/inspection/topology/brep_surfaces_topology.hpp similarity index 95% rename from include/geode/inspector/topology/brep_surfaces_topology.hpp rename to include/geode/inspector/inspection/topology/brep_surfaces_topology.hpp index 972700e7..61ff1620 100644 --- a/include/geode/inspector/topology/brep_surfaces_topology.hpp +++ b/include/geode/inspector/inspection/topology/brep_surfaces_topology.hpp @@ -24,8 +24,8 @@ #pragma once #include -#include -#include +#include +#include #include @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api BRepSurfacesTopologyInspectionResult + opengeode_inspector_inspection_api BRepSurfacesTopologyInspectionResult { InspectionIssues< uuid > surfaces_not_meshed{ "Surface without mesh (uuids listed)" @@ -75,7 +75,7 @@ namespace geode * Class for inspecting the topology of a BRep model surfaces through * their unique vertices */ - class opengeode_inspector_inspector_api BRepSurfacesTopology + class opengeode_inspector_inspection_api BRepSurfacesTopology { public: explicit BRepSurfacesTopology( const BRep& brep ); diff --git a/include/geode/inspector/topology/brep_topology.hpp b/include/geode/inspector/inspection/topology/brep_topology.hpp similarity index 85% rename from include/geode/inspector/topology/brep_topology.hpp rename to include/geode/inspector/inspection/topology/brep_topology.hpp index 649ec73b..1cda453c 100644 --- a/include/geode/inspector/topology/brep_topology.hpp +++ b/include/geode/inspector/inspection/topology/brep_topology.hpp @@ -25,12 +25,12 @@ #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api BRepTopologyInspectionResult + struct opengeode_inspector_inspection_api BRepTopologyInspectionResult { BRepCornersTopologyInspectionResult corners; BRepLinesTopologyInspectionResult lines; @@ -67,7 +67,7 @@ namespace geode /*! * Class for inspecting the topology of a BRep model corners */ - class opengeode_inspector_inspector_api BRepTopologyInspector + class opengeode_inspector_inspection_api BRepTopologyInspector : public BRepCornersTopology, public BRepLinesTopology, public BRepSurfacesTopology, diff --git a/include/geode/inspector/topology/internal/expected_nb_cmvs.hpp b/include/geode/inspector/inspection/topology/internal/expected_nb_cmvs.hpp similarity index 97% rename from include/geode/inspector/topology/internal/expected_nb_cmvs.hpp rename to include/geode/inspector/inspection/topology/internal/expected_nb_cmvs.hpp index dcd5005d..a1926235 100644 --- a/include/geode/inspector/topology/internal/expected_nb_cmvs.hpp +++ b/include/geode/inspector/inspection/topology/internal/expected_nb_cmvs.hpp @@ -27,7 +27,7 @@ #include -#include +#include namespace geode { diff --git a/include/geode/inspector/topology/internal/topology_helpers.hpp b/include/geode/inspector/inspection/topology/internal/topology_helpers.hpp similarity index 97% rename from include/geode/inspector/topology/internal/topology_helpers.hpp rename to include/geode/inspector/inspection/topology/internal/topology_helpers.hpp index b2ee05f0..e43024a1 100644 --- a/include/geode/inspector/topology/internal/topology_helpers.hpp +++ b/include/geode/inspector/inspection/topology/internal/topology_helpers.hpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include namespace geode { diff --git a/include/geode/inspector/topology/section_corners_topology.hpp b/include/geode/inspector/inspection/topology/section_corners_topology.hpp similarity index 94% rename from include/geode/inspector/topology/section_corners_topology.hpp rename to include/geode/inspector/inspection/topology/section_corners_topology.hpp index ab6e0e0a..423982e7 100644 --- a/include/geode/inspector/topology/section_corners_topology.hpp +++ b/include/geode/inspector/inspection/topology/section_corners_topology.hpp @@ -27,8 +27,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -40,7 +40,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionCornersTopologyInspectionResult + opengeode_inspector_inspection_api SectionCornersTopologyInspectionResult { InspectionIssues< uuid > corners_not_meshed{ "Corners without mesh (uuids listed)" @@ -74,7 +74,7 @@ namespace geode [[nodiscard]] std::string inspection_type() const; }; - class opengeode_inspector_inspector_api SectionCornersTopology + class opengeode_inspector_inspection_api SectionCornersTopology { public: explicit SectionCornersTopology( const Section& section ); diff --git a/include/geode/inspector/topology/section_lines_topology.hpp b/include/geode/inspector/inspection/topology/section_lines_topology.hpp similarity index 94% rename from include/geode/inspector/topology/section_lines_topology.hpp rename to include/geode/inspector/inspection/topology/section_lines_topology.hpp index c90d59d4..ded6ce01 100644 --- a/include/geode/inspector/topology/section_lines_topology.hpp +++ b/include/geode/inspector/inspection/topology/section_lines_topology.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -38,7 +38,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionLinesTopologyInspectionResult + opengeode_inspector_inspection_api SectionLinesTopologyInspectionResult { InspectionIssues< uuid > lines_not_meshed{ "Lines without mesh (uuids listed)" @@ -75,7 +75,7 @@ namespace geode * Class for inspecting the topology of a Section model lines through * their unique vertices */ - class opengeode_inspector_inspector_api SectionLinesTopology + class opengeode_inspector_inspection_api SectionLinesTopology { public: explicit SectionLinesTopology( const Section& section ); diff --git a/include/geode/inspector/topology/section_surfaces_topology.hpp b/include/geode/inspector/inspection/topology/section_surfaces_topology.hpp similarity index 93% rename from include/geode/inspector/topology/section_surfaces_topology.hpp rename to include/geode/inspector/inspection/topology/section_surfaces_topology.hpp index 791c8689..5d85ad9a 100644 --- a/include/geode/inspector/topology/section_surfaces_topology.hpp +++ b/include/geode/inspector/inspection/topology/section_surfaces_topology.hpp @@ -26,8 +26,8 @@ #include -#include -#include +#include +#include namespace geode { @@ -39,7 +39,7 @@ namespace geode namespace geode { struct - opengeode_inspector_inspector_api SectionSurfacesTopologyInspectionResult + opengeode_inspector_inspection_api SectionSurfacesTopologyInspectionResult { InspectionIssues< uuid > surfaces_not_meshed{ "Surfaces without mesh (uuids listed)" @@ -67,7 +67,7 @@ namespace geode * Class for inspecting the topology of a Section model surfaces through * its unique vertices */ - class opengeode_inspector_inspector_api SectionSurfacesTopology + class opengeode_inspector_inspection_api SectionSurfacesTopology { public: explicit SectionSurfacesTopology( const Section& section ); diff --git a/include/geode/inspector/topology/section_topology.hpp b/include/geode/inspector/inspection/topology/section_topology.hpp similarity index 86% rename from include/geode/inspector/topology/section_topology.hpp rename to include/geode/inspector/inspection/topology/section_topology.hpp index b120dba6..0d0031a2 100644 --- a/include/geode/inspector/topology/section_topology.hpp +++ b/include/geode/inspector/inspection/topology/section_topology.hpp @@ -25,11 +25,11 @@ #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace geode { @@ -38,7 +38,7 @@ namespace geode namespace geode { - struct opengeode_inspector_inspector_api SectionTopologyInspectionResult + struct opengeode_inspector_inspection_api SectionTopologyInspectionResult { SectionCornersTopologyInspectionResult corners; SectionLinesTopologyInspectionResult lines; @@ -65,7 +65,7 @@ namespace geode /*! * Class for inspecting the topology of a Section model corners */ - class opengeode_inspector_inspector_api SectionTopologyInspector + class opengeode_inspector_inspection_api SectionTopologyInspector : public SectionCornersTopology, public SectionLinesTopology, public SectionSurfacesTopology diff --git a/include/geode/inspector/common.hpp b/include/geode/inspector/validity/common.hpp similarity index 89% rename from include/geode/inspector/common.hpp rename to include/geode/inspector/validity/common.hpp index 436920e6..4f34fd25 100644 --- a/include/geode/inspector/common.hpp +++ b/include/geode/inspector/validity/common.hpp @@ -26,11 +26,11 @@ #include #include -#include #include +#include namespace geode { OPENGEODE_LIBRARY( - opengeode_inspector_inspector_api, OpenGeodeInspector, Inspector ); + opengeode_inspector_validity_api, OpenGeodeInspector, Validity ); } // namespace geode \ No newline at end of file diff --git a/include/geode/inspector/validity/pointset_validity.hpp b/include/geode/inspector/validity/pointset_validity.hpp new file mode 100644 index 00000000..52233f63 --- /dev/null +++ b/include/geode/inspector/validity/pointset_validity.hpp @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#pragma once + +#include + +namespace geode +{ + FORWARD_DECLARATION_DIMENSION_CLASS( PointSet ); + ALIAS_2D_AND_3D( PointSet ); +} // namespace geode + +namespace geode +{ + template < index_t dimension > + std::vector< std::string > pointset_invalidity( + const PointSet< dimension >& pointset ); +} // namespace geode \ No newline at end of file diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt index 7ef69942..61d9a520 100755 --- a/src/bin/CMakeLists.txt +++ b/src/bin/CMakeLists.txt @@ -30,7 +30,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode::model OpenGeode-IO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -46,7 +46,7 @@ add_geode_binary( OpenGeode::model OpenGeode-Geosciences::explicit OpenGeode-GeosciencesIO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -60,7 +60,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode-IO::mesh OpenGeode-GeosciencesIO::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -76,7 +76,7 @@ add_geode_binary( OpenGeode::model OpenGeode-Geosciences::implicit OpenGeode-GeosciencesIO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -92,7 +92,7 @@ add_geode_binary( OpenGeode::model OpenGeode-Geosciences::implicit OpenGeode-GeosciencesIO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -106,7 +106,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode-IO::mesh OpenGeode-GeosciencesIO::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -121,7 +121,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode::model OpenGeode-IO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -135,7 +135,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode-IO::mesh OpenGeode-GeosciencesIO::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -151,7 +151,7 @@ add_geode_binary( OpenGeode::model OpenGeode-Geosciences::explicit OpenGeode-GeosciencesIO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -165,7 +165,7 @@ add_geode_binary( OpenGeode::mesh OpenGeode-IO::mesh OpenGeode-GeosciencesIO::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_binary( @@ -179,5 +179,5 @@ add_geode_binary( OpenGeode::mesh OpenGeode-IO::mesh OpenGeode-GeosciencesIO::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) \ No newline at end of file diff --git a/src/bin/geode-inspector-brep.cpp b/src/bin/geode-inspector-brep.cpp index a5db5879..265171ea 100644 --- a/src/bin/geode-inspector-brep.cpp +++ b/src/bin/geode-inspector-brep.cpp @@ -37,7 +37,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_brep", "Input model" ); diff --git a/src/bin/geode-inspector-cross-section.cpp b/src/bin/geode-inspector-cross-section.cpp index eb5f211d..798b4a5d 100644 --- a/src/bin/geode-inspector-cross-section.cpp +++ b/src/bin/geode-inspector-cross-section.cpp @@ -36,7 +36,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_xsctn", "Input model" ); diff --git a/src/bin/geode-inspector-edgedcurve.cpp b/src/bin/geode-inspector-edgedcurve.cpp index 0b2c5168..dcaa30b7 100644 --- a/src/bin/geode-inspector-edgedcurve.cpp +++ b/src/bin/geode-inspector-edgedcurve.cpp @@ -39,7 +39,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/curve.og_edc3d", "Input edged curve" ); @@ -79,7 +79,7 @@ int main( int argc, char* argv[] ) } else { - throw geode::OpenGeodeInspectorInspectorException{ nullptr, + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::data, "Unable to load file ", filename }; } diff --git a/src/bin/geode-inspector-implicit-cross-section.cpp b/src/bin/geode-inspector-implicit-cross-section.cpp index 70862cba..c2e26929 100644 --- a/src/bin/geode-inspector-implicit-cross-section.cpp +++ b/src/bin/geode-inspector-implicit-cross-section.cpp @@ -36,7 +36,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_ixsctn", "Input model" ); diff --git a/src/bin/geode-inspector-implicit-structural-model.cpp b/src/bin/geode-inspector-implicit-structural-model.cpp index 62eb10a5..d3947bdb 100644 --- a/src/bin/geode-inspector-implicit-structural-model.cpp +++ b/src/bin/geode-inspector-implicit-structural-model.cpp @@ -36,7 +36,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_istrm", "Input model" ); diff --git a/src/bin/geode-inspector-pointset.cpp b/src/bin/geode-inspector-pointset.cpp index 2f758870..9b76393c 100644 --- a/src/bin/geode-inspector-pointset.cpp +++ b/src/bin/geode-inspector-pointset.cpp @@ -39,7 +39,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/pointset.og_pts3d", "Input pointset" ); @@ -77,7 +77,7 @@ int main( int argc, char* argv[] ) } else { - throw geode::OpenGeodeInspectorInspectorException{ nullptr, + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::data, "Unable to load file ", filename }; } diff --git a/src/bin/geode-inspector-section.cpp b/src/bin/geode-inspector-section.cpp index 0a3d859a..6672340b 100644 --- a/src/bin/geode-inspector-section.cpp +++ b/src/bin/geode-inspector-section.cpp @@ -36,7 +36,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_sctn", "Input model" ); diff --git a/src/bin/geode-inspector-solid.cpp b/src/bin/geode-inspector-solid.cpp index 7d2a7d82..0b7ba2e8 100644 --- a/src/bin/geode-inspector-solid.cpp +++ b/src/bin/geode-inspector-solid.cpp @@ -45,7 +45,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/solid.og_tso3d", "Input solid" ); @@ -92,7 +92,7 @@ int main( int argc, char* argv[] ) } else { - throw geode::OpenGeodeInspectorInspectorException{ nullptr, + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::data, "Unable to load file ", filename }; } diff --git a/src/bin/geode-inspector-structural-model.cpp b/src/bin/geode-inspector-structural-model.cpp index ca34259b..d9fbec76 100644 --- a/src/bin/geode-inspector-structural-model.cpp +++ b/src/bin/geode-inspector-structural-model.cpp @@ -36,7 +36,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/model.og_strm", "Input model" ); diff --git a/src/bin/geode-inspector-surface-curve-intersections.cpp b/src/bin/geode-inspector-surface-curve-intersections.cpp index 54ff270b..b37dd102 100644 --- a/src/bin/geode-inspector-surface-curve-intersections.cpp +++ b/src/bin/geode-inspector-surface-curve-intersections.cpp @@ -45,7 +45,7 @@ #include -#include +#include ABSL_FLAG( std::string, surface, @@ -96,7 +96,7 @@ int main( int argc, char* argv[] ) } else { - throw geode::OpenGeodeInspectorInspectorException{ nullptr, + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::data, "Unable to load file ", filename_surf }; } diff --git a/src/bin/geode-inspector-surface.cpp b/src/bin/geode-inspector-surface.cpp index c1f9da3f..f148f1b6 100644 --- a/src/bin/geode-inspector-surface.cpp +++ b/src/bin/geode-inspector-surface.cpp @@ -43,7 +43,7 @@ #include -#include +#include ABSL_FLAG( std::string, input, "/path/my/surface.og_tsf3d", "Input surface" ); @@ -96,7 +96,7 @@ int main( int argc, char* argv[] ) } else { - throw geode::OpenGeodeInspectorInspectorException{ nullptr, + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::data, "Unable to load file ", filename }; } diff --git a/src/geode/inspector/CMakeLists.txt b/src/geode/inspector/CMakeLists.txt index 09d12910..90d10fca 100644 --- a/src/geode/inspector/CMakeLists.txt +++ b/src/geode/inspector/CMakeLists.txt @@ -18,128 +18,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -add_geode_library( - NAME inspector - FOLDER "geode/inspector" - SOURCES - "common.cpp" - "criterion/brep_meshes_inspector.cpp" - "criterion/section_meshes_inspector.cpp" - "criterion/adjacency/surface_adjacency.cpp" - "criterion/adjacency/solid_adjacency.cpp" - "criterion/internal/component_meshes_adjacency.cpp" - "criterion/adjacency/section_meshes_adjacency.cpp" - "criterion/adjacency/brep_meshes_adjacency.cpp" - "criterion/internal/colocation_impl.cpp" - "criterion/colocation/pointset_colocation.cpp" - "criterion/colocation/edgedcurve_colocation.cpp" - "criterion/colocation/surface_colocation.cpp" - "criterion/colocation/solid_colocation.cpp" - "criterion/colocation/unique_vertices_colocation.cpp" - "criterion/colocation/component_meshes_colocation.cpp" - "criterion/internal/degeneration_impl.cpp" - "criterion/internal/component_meshes_degeneration.cpp" - "criterion/degeneration/edgedcurve_degeneration.cpp" - "criterion/degeneration/surface_degeneration.cpp" - "criterion/degeneration/solid_degeneration.cpp" - "criterion/degeneration/brep_meshes_degeneration.cpp" - "criterion/degeneration/section_meshes_degeneration.cpp" - "criterion/intersections/surface_intersections.cpp" - "criterion/intersections/surface_curve_intersections.cpp" - "criterion/intersections/model_intersections.cpp" - "criterion/manifold/surface_vertex_manifold.cpp" - "criterion/manifold/surface_edge_manifold.cpp" - "criterion/manifold/solid_vertex_manifold.cpp" - "criterion/manifold/solid_edge_manifold.cpp" - "criterion/manifold/solid_facet_manifold.cpp" - "criterion/negative_elements/brep_meshes_negative_elements.cpp" - "criterion/negative_elements/section_meshes_negative_elements.cpp" - "criterion/negative_elements/solid_negative_elements.cpp" - "criterion/negative_elements/surface_negative_elements.cpp" - "criterion/internal/component_meshes_manifold.cpp" - "criterion/manifold/section_meshes_manifold.cpp" - "criterion/manifold/brep_meshes_manifold.cpp" - "topology/brep_topology.cpp" - "topology/brep_corners_topology.cpp" - "topology/brep_lines_topology.cpp" - "topology/brep_surfaces_topology.cpp" - "topology/brep_blocks_topology.cpp" - "topology/section_topology.cpp" - "topology/section_corners_topology.cpp" - "topology/section_lines_topology.cpp" - "topology/section_surfaces_topology.cpp" - "topology/internal/expected_nb_cmvs.cpp" - "topology/internal/topology_helpers.cpp" - "section_inspector.cpp" - "brep_inspector.cpp" - "pointset_inspector.cpp" - "edgedcurve_inspector.cpp" - "surface_inspector.cpp" - "solid_inspector.cpp" - PUBLIC_HEADERS - "common.hpp" - "criterion/brep_meshes_inspector.hpp" - "criterion/section_meshes_inspector.hpp" - "criterion/adjacency/surface_adjacency.hpp" - "criterion/adjacency/solid_adjacency.hpp" - "criterion/adjacency/section_meshes_adjacency.hpp" - "criterion/adjacency/brep_meshes_adjacency.hpp" - "criterion/colocation/pointset_colocation.hpp" - "criterion/colocation/edgedcurve_colocation.hpp" - "criterion/colocation/surface_colocation.hpp" - "criterion/colocation/solid_colocation.hpp" - "criterion/colocation/unique_vertices_colocation.hpp" - "criterion/colocation/component_meshes_colocation.hpp" - "criterion/degeneration/edgedcurve_degeneration.hpp" - "criterion/degeneration/surface_degeneration.hpp" - "criterion/degeneration/solid_degeneration.hpp" - "criterion/degeneration/brep_meshes_degeneration.hpp" - "criterion/degeneration/section_meshes_degeneration.hpp" - "criterion/intersections/surface_intersections.hpp" - "criterion/intersections/surface_curve_intersections.hpp" - "criterion/intersections/model_intersections.hpp" - "criterion/manifold/surface_vertex_manifold.hpp" - "criterion/manifold/surface_edge_manifold.hpp" - "criterion/manifold/solid_vertex_manifold.hpp" - "criterion/manifold/solid_edge_manifold.hpp" - "criterion/manifold/solid_facet_manifold.hpp" - "criterion/manifold/section_meshes_manifold.hpp" - "criterion/manifold/brep_meshes_manifold.hpp" - "criterion/negative_elements/brep_meshes_negative_elements.hpp" - "criterion/negative_elements/section_meshes_negative_elements.hpp" - "criterion/negative_elements/solid_negative_elements.hpp" - "criterion/negative_elements/surface_negative_elements.hpp" - "topology/brep_topology.hpp" - "topology/section_topology.hpp" - "mixin/add_inspectors.hpp" - "section_inspector.hpp" - "brep_inspector.hpp" - "information.hpp" - "pointset_inspector.hpp" - "edgedcurve_inspector.hpp" - "surface_inspector.hpp" - "solid_inspector.hpp" - INTERNAL_HEADERS - "criterion/internal/colocation_impl.hpp" - "criterion/internal/component_meshes_adjacency.hpp" - "criterion/internal/component_meshes_degeneration.hpp" - "criterion/internal/component_meshes_manifold.hpp" - "criterion/internal/degeneration_impl.hpp" - "topology/brep_corners_topology.hpp" - "topology/brep_lines_topology.hpp" - "topology/brep_surfaces_topology.hpp" - "topology/brep_blocks_topology.hpp" - "topology/section_corners_topology.hpp" - "topology/section_lines_topology.hpp" - "topology/section_surfaces_topology.hpp" - "topology/internal/expected_nb_cmvs.hpp" - "topology/internal/topology_helpers.hpp" - PUBLIC_DEPENDENCIES - OpenGeode::basic - PRIVATE_DEPENDENCIES - Async++ - OpenGeode::geometry - OpenGeode::mesh - OpenGeode::model -) - +add_subdirectory(inspection) +add_subdirectory(validity) \ No newline at end of file diff --git a/src/geode/inspector/inspection/CMakeLists.txt b/src/geode/inspector/inspection/CMakeLists.txt new file mode 100644 index 00000000..a8087776 --- /dev/null +++ b/src/geode/inspector/inspection/CMakeLists.txt @@ -0,0 +1,145 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +add_geode_library( + NAME inspection + FOLDER "geode/inspector/inspection" + SOURCES + "common.cpp" + "criterion/brep_meshes_inspector.cpp" + "criterion/section_meshes_inspector.cpp" + "criterion/adjacency/surface_adjacency.cpp" + "criterion/adjacency/solid_adjacency.cpp" + "criterion/internal/component_meshes_adjacency.cpp" + "criterion/adjacency/section_meshes_adjacency.cpp" + "criterion/adjacency/brep_meshes_adjacency.cpp" + "criterion/internal/colocation_impl.cpp" + "criterion/colocation/pointset_colocation.cpp" + "criterion/colocation/edgedcurve_colocation.cpp" + "criterion/colocation/surface_colocation.cpp" + "criterion/colocation/solid_colocation.cpp" + "criterion/colocation/unique_vertices_colocation.cpp" + "criterion/colocation/component_meshes_colocation.cpp" + "criterion/internal/degeneration_impl.cpp" + "criterion/internal/component_meshes_degeneration.cpp" + "criterion/degeneration/edgedcurve_degeneration.cpp" + "criterion/degeneration/surface_degeneration.cpp" + "criterion/degeneration/solid_degeneration.cpp" + "criterion/degeneration/brep_meshes_degeneration.cpp" + "criterion/degeneration/section_meshes_degeneration.cpp" + "criterion/intersections/surface_intersections.cpp" + "criterion/intersections/surface_curve_intersections.cpp" + "criterion/intersections/model_intersections.cpp" + "criterion/manifold/surface_vertex_manifold.cpp" + "criterion/manifold/surface_edge_manifold.cpp" + "criterion/manifold/solid_vertex_manifold.cpp" + "criterion/manifold/solid_edge_manifold.cpp" + "criterion/manifold/solid_facet_manifold.cpp" + "criterion/negative_elements/brep_meshes_negative_elements.cpp" + "criterion/negative_elements/section_meshes_negative_elements.cpp" + "criterion/negative_elements/solid_negative_elements.cpp" + "criterion/negative_elements/surface_negative_elements.cpp" + "criterion/internal/component_meshes_manifold.cpp" + "criterion/manifold/section_meshes_manifold.cpp" + "criterion/manifold/brep_meshes_manifold.cpp" + "topology/brep_topology.cpp" + "topology/brep_corners_topology.cpp" + "topology/brep_lines_topology.cpp" + "topology/brep_surfaces_topology.cpp" + "topology/brep_blocks_topology.cpp" + "topology/section_topology.cpp" + "topology/section_corners_topology.cpp" + "topology/section_lines_topology.cpp" + "topology/section_surfaces_topology.cpp" + "topology/internal/expected_nb_cmvs.cpp" + "topology/internal/topology_helpers.cpp" + "section_inspector.cpp" + "brep_inspector.cpp" + "pointset_inspector.cpp" + "edgedcurve_inspector.cpp" + "surface_inspector.cpp" + "solid_inspector.cpp" + PUBLIC_HEADERS + "common.hpp" + "criterion/brep_meshes_inspector.hpp" + "criterion/section_meshes_inspector.hpp" + "criterion/adjacency/surface_adjacency.hpp" + "criterion/adjacency/solid_adjacency.hpp" + "criterion/adjacency/section_meshes_adjacency.hpp" + "criterion/adjacency/brep_meshes_adjacency.hpp" + "criterion/colocation/pointset_colocation.hpp" + "criterion/colocation/edgedcurve_colocation.hpp" + "criterion/colocation/surface_colocation.hpp" + "criterion/colocation/solid_colocation.hpp" + "criterion/colocation/unique_vertices_colocation.hpp" + "criterion/colocation/component_meshes_colocation.hpp" + "criterion/degeneration/edgedcurve_degeneration.hpp" + "criterion/degeneration/surface_degeneration.hpp" + "criterion/degeneration/solid_degeneration.hpp" + "criterion/degeneration/brep_meshes_degeneration.hpp" + "criterion/degeneration/section_meshes_degeneration.hpp" + "criterion/intersections/surface_intersections.hpp" + "criterion/intersections/surface_curve_intersections.hpp" + "criterion/intersections/model_intersections.hpp" + "criterion/manifold/surface_vertex_manifold.hpp" + "criterion/manifold/surface_edge_manifold.hpp" + "criterion/manifold/solid_vertex_manifold.hpp" + "criterion/manifold/solid_edge_manifold.hpp" + "criterion/manifold/solid_facet_manifold.hpp" + "criterion/manifold/section_meshes_manifold.hpp" + "criterion/manifold/brep_meshes_manifold.hpp" + "criterion/negative_elements/brep_meshes_negative_elements.hpp" + "criterion/negative_elements/section_meshes_negative_elements.hpp" + "criterion/negative_elements/solid_negative_elements.hpp" + "criterion/negative_elements/surface_negative_elements.hpp" + "topology/brep_topology.hpp" + "topology/section_topology.hpp" + "mixin/add_inspectors.hpp" + "section_inspector.hpp" + "brep_inspector.hpp" + "information.hpp" + "pointset_inspector.hpp" + "edgedcurve_inspector.hpp" + "surface_inspector.hpp" + "solid_inspector.hpp" + INTERNAL_HEADERS + "criterion/internal/colocation_impl.hpp" + "criterion/internal/component_meshes_adjacency.hpp" + "criterion/internal/component_meshes_degeneration.hpp" + "criterion/internal/component_meshes_manifold.hpp" + "criterion/internal/degeneration_impl.hpp" + "topology/brep_corners_topology.hpp" + "topology/brep_lines_topology.hpp" + "topology/brep_surfaces_topology.hpp" + "topology/brep_blocks_topology.hpp" + "topology/section_corners_topology.hpp" + "topology/section_lines_topology.hpp" + "topology/section_surfaces_topology.hpp" + "topology/internal/expected_nb_cmvs.hpp" + "topology/internal/topology_helpers.hpp" + PUBLIC_DEPENDENCIES + OpenGeode::basic + PRIVATE_DEPENDENCIES + Async++ + OpenGeode::geometry + OpenGeode::mesh + OpenGeode::model +) + diff --git a/src/geode/inspector/brep_inspector.cpp b/src/geode/inspector/inspection/brep_inspector.cpp similarity index 97% rename from src/geode/inspector/brep_inspector.cpp rename to src/geode/inspector/inspection/brep_inspector.cpp index 02082843..217c6ecd 100644 --- a/src/geode/inspector/brep_inspector.cpp +++ b/src/geode/inspector/inspection/brep_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/common.cpp b/src/geode/inspector/inspection/common.cpp similarity index 95% rename from src/geode/inspector/common.cpp rename to src/geode/inspector/inspection/common.cpp index 68dda43b..828f9cbc 100644 --- a/src/geode/inspector/common.cpp +++ b/src/geode/inspector/inspection/common.cpp @@ -21,13 +21,13 @@ * */ -#include +#include #include namespace geode { - OPENGEODE_LIBRARY_IMPLEMENTATION( OpenGeodeInspector, Inspector ) + OPENGEODE_LIBRARY_IMPLEMENTATION( OpenGeodeInspector, Inspection ) { OpenGeodeModelLibrary::initialize(); } diff --git a/src/geode/inspector/criterion/adjacency/brep_meshes_adjacency.cpp b/src/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.cpp similarity index 96% rename from src/geode/inspector/criterion/adjacency/brep_meshes_adjacency.cpp rename to src/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.cpp index 266bad5c..ca957e18 100644 --- a/src/geode/inspector/criterion/adjacency/brep_meshes_adjacency.cpp +++ b/src/geode/inspector/inspection/criterion/adjacency/brep_meshes_adjacency.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -35,8 +35,8 @@ #include #include -#include -#include +#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/adjacency/section_meshes_adjacency.cpp b/src/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.cpp similarity index 93% rename from src/geode/inspector/criterion/adjacency/section_meshes_adjacency.cpp rename to src/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.cpp index 650014cf..d9561e22 100644 --- a/src/geode/inspector/criterion/adjacency/section_meshes_adjacency.cpp +++ b/src/geode/inspector/inspection/criterion/adjacency/section_meshes_adjacency.cpp @@ -21,14 +21,14 @@ * */ -#include +#include #include #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/adjacency/solid_adjacency.cpp b/src/geode/inspector/inspection/criterion/adjacency/solid_adjacency.cpp similarity index 97% rename from src/geode/inspector/criterion/adjacency/solid_adjacency.cpp rename to src/geode/inspector/inspection/criterion/adjacency/solid_adjacency.cpp index 7873f4b2..5762d376 100644 --- a/src/geode/inspector/criterion/adjacency/solid_adjacency.cpp +++ b/src/geode/inspector/inspection/criterion/adjacency/solid_adjacency.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -139,5 +139,5 @@ namespace geode return impl_->polyhedron_facets_with_wrong_adjacency(); } - template class opengeode_inspector_inspector_api SolidMeshAdjacency< 3 >; + template class opengeode_inspector_inspection_api SolidMeshAdjacency< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/adjacency/surface_adjacency.cpp b/src/geode/inspector/inspection/criterion/adjacency/surface_adjacency.cpp similarity index 95% rename from src/geode/inspector/criterion/adjacency/surface_adjacency.cpp rename to src/geode/inspector/inspection/criterion/adjacency/surface_adjacency.cpp index bf5aa08b..2be4f71f 100644 --- a/src/geode/inspector/criterion/adjacency/surface_adjacency.cpp +++ b/src/geode/inspector/inspection/criterion/adjacency/surface_adjacency.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -138,6 +138,6 @@ namespace geode return impl_->polygon_edges_with_wrong_adjacency(); } - template class opengeode_inspector_inspector_api SurfaceMeshAdjacency< 2 >; - template class opengeode_inspector_inspector_api SurfaceMeshAdjacency< 3 >; + template class opengeode_inspector_inspection_api SurfaceMeshAdjacency< 2 >; + template class opengeode_inspector_inspection_api SurfaceMeshAdjacency< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/brep_meshes_inspector.cpp b/src/geode/inspector/inspection/criterion/brep_meshes_inspector.cpp similarity index 97% rename from src/geode/inspector/criterion/brep_meshes_inspector.cpp rename to src/geode/inspector/inspection/criterion/brep_meshes_inspector.cpp index bc44b832..1031b19a 100644 --- a/src/geode/inspector/criterion/brep_meshes_inspector.cpp +++ b/src/geode/inspector/inspection/criterion/brep_meshes_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/criterion/colocation/component_meshes_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.cpp similarity index 96% rename from src/geode/inspector/criterion/colocation/component_meshes_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.cpp index 72e79d01..549a758a 100644 --- a/src/geode/inspector/criterion/colocation/component_meshes_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/component_meshes_colocation.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -39,9 +39,9 @@ #include #include -#include -#include -#include +#include +#include +#include namespace { @@ -288,8 +288,8 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesColocation< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesColocation< BRep >; } // namespace geode diff --git a/src/geode/inspector/criterion/colocation/edgedcurve_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.cpp similarity index 87% rename from src/geode/inspector/criterion/colocation/edgedcurve_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.cpp index bd5cd9ad..54096f92 100644 --- a/src/geode/inspector/criterion/colocation/edgedcurve_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/edgedcurve_colocation.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include #include @@ -66,6 +66,6 @@ namespace geode return impl_->colocated_points_groups(); } - template class opengeode_inspector_inspector_api EdgedCurveColocation< 2 >; - template class opengeode_inspector_inspector_api EdgedCurveColocation< 3 >; + template class opengeode_inspector_inspection_api EdgedCurveColocation< 2 >; + template class opengeode_inspector_inspection_api EdgedCurveColocation< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/colocation/pointset_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/pointset_colocation.cpp similarity index 87% rename from src/geode/inspector/criterion/colocation/pointset_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/pointset_colocation.cpp index 4122617b..0e50241a 100644 --- a/src/geode/inspector/criterion/colocation/pointset_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/pointset_colocation.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include #include @@ -66,6 +66,6 @@ namespace geode return impl_->colocated_points_groups(); } - template class opengeode_inspector_inspector_api PointSetColocation< 2 >; - template class opengeode_inspector_inspector_api PointSetColocation< 3 >; + template class opengeode_inspector_inspection_api PointSetColocation< 2 >; + template class opengeode_inspector_inspection_api PointSetColocation< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/colocation/solid_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/solid_colocation.cpp similarity index 90% rename from src/geode/inspector/criterion/colocation/solid_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/solid_colocation.cpp index 7734d826..8a340196 100644 --- a/src/geode/inspector/criterion/colocation/solid_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/solid_colocation.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include #include @@ -66,5 +66,5 @@ namespace geode return impl_->colocated_points_groups(); } - template class opengeode_inspector_inspector_api SolidMeshColocation< 3 >; + template class opengeode_inspector_inspection_api SolidMeshColocation< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/colocation/surface_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/surface_colocation.cpp similarity index 87% rename from src/geode/inspector/criterion/colocation/surface_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/surface_colocation.cpp index 1deb7ce2..266775a7 100644 --- a/src/geode/inspector/criterion/colocation/surface_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/surface_colocation.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include #include @@ -66,6 +66,8 @@ namespace geode return impl_->colocated_points_groups(); } - template class opengeode_inspector_inspector_api SurfaceMeshColocation< 2 >; - template class opengeode_inspector_inspector_api SurfaceMeshColocation< 3 >; + template class opengeode_inspector_inspection_api + SurfaceMeshColocation< 2 >; + template class opengeode_inspector_inspection_api + SurfaceMeshColocation< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/colocation/unique_vertices_colocation.cpp b/src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp similarity index 97% rename from src/geode/inspector/criterion/colocation/unique_vertices_colocation.cpp rename to src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp index 6a7d4557..45cb7fb9 100644 --- a/src/geode/inspector/criterion/colocation/unique_vertices_colocation.cpp +++ b/src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -43,7 +43,7 @@ #include #include -#include +#include namespace { @@ -349,8 +349,8 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api UniqueVerticesColocation< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api UniqueVerticesColocation< BRep >; } // namespace geode diff --git a/src/geode/inspector/criterion/degeneration/brep_meshes_degeneration.cpp b/src/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.cpp similarity index 96% rename from src/geode/inspector/criterion/degeneration/brep_meshes_degeneration.cpp rename to src/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.cpp index 7d668ba3..f237b994 100644 --- a/src/geode/inspector/criterion/degeneration/brep_meshes_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/degeneration/brep_meshes_degeneration.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -31,8 +31,8 @@ #include #include -#include -#include +#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/degeneration/edgedcurve_degeneration.cpp b/src/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.cpp similarity index 93% rename from src/geode/inspector/criterion/degeneration/edgedcurve_degeneration.cpp rename to src/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.cpp index 1b5999da..40c184e9 100644 --- a/src/geode/inspector/criterion/degeneration/edgedcurve_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/degeneration/edgedcurve_degeneration.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include #include @@ -109,8 +109,8 @@ namespace geode return impl_->degenerated_edges(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api EdgedCurveDegeneration< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api EdgedCurveDegeneration< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/degeneration/section_meshes_degeneration.cpp b/src/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.cpp similarity index 94% rename from src/geode/inspector/criterion/degeneration/section_meshes_degeneration.cpp rename to src/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.cpp index bcd4b30e..7e19325a 100644 --- a/src/geode/inspector/criterion/degeneration/section_meshes_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/degeneration/section_meshes_degeneration.cpp @@ -21,14 +21,14 @@ * */ -#include +#include #include #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/degeneration/solid_degeneration.cpp b/src/geode/inspector/inspection/criterion/degeneration/solid_degeneration.cpp similarity index 94% rename from src/geode/inspector/criterion/degeneration/solid_degeneration.cpp rename to src/geode/inspector/inspection/criterion/degeneration/solid_degeneration.cpp index ac4db3a7..fff418bb 100644 --- a/src/geode/inspector/criterion/degeneration/solid_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/degeneration/solid_degeneration.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -32,7 +32,7 @@ #include -#include +#include namespace geode { @@ -135,5 +135,6 @@ namespace geode return impl_->degenerated_polyhedra(); } - template class opengeode_inspector_inspector_api SolidMeshDegeneration< 3 >; + template class opengeode_inspector_inspection_api + SolidMeshDegeneration< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/degeneration/surface_degeneration.cpp b/src/geode/inspector/inspection/criterion/degeneration/surface_degeneration.cpp similarity index 94% rename from src/geode/inspector/criterion/degeneration/surface_degeneration.cpp rename to src/geode/inspector/inspection/criterion/degeneration/surface_degeneration.cpp index 5467f4ef..76d67dc5 100644 --- a/src/geode/inspector/criterion/degeneration/surface_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/degeneration/surface_degeneration.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -32,7 +32,7 @@ #include -#include +#include namespace geode { @@ -133,8 +133,8 @@ namespace geode return impl_->small_height_polygons( threshold ); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshDegeneration< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshDegeneration< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/internal/colocation_impl.cpp b/src/geode/inspector/inspection/criterion/internal/colocation_impl.cpp similarity index 91% rename from src/geode/inspector/criterion/internal/colocation_impl.cpp rename to src/geode/inspector/inspection/criterion/internal/colocation_impl.cpp index a336c2d0..aac834b8 100644 --- a/src/geode/inspector/criterion/internal/colocation_impl.cpp +++ b/src/geode/inspector/inspection/criterion/internal/colocation_impl.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -125,19 +125,19 @@ namespace geode return colocated_points_indices; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 2, PointSet2D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 3, PointSet3D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 2, EdgedCurve2D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 3, EdgedCurve3D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 2, SurfaceMesh2D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 3, SurfaceMesh3D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ColocationImpl< 3, SolidMesh3D >; } // namespace internal } // namespace geode diff --git a/src/geode/inspector/criterion/internal/component_meshes_adjacency.cpp b/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp similarity index 92% rename from src/geode/inspector/criterion/internal/component_meshes_adjacency.cpp rename to src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp index a60da646..4e3d3faa 100644 --- a/src/geode/inspector/criterion/internal/component_meshes_adjacency.cpp +++ b/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -34,7 +34,7 @@ #include #include -#include +#include namespace { @@ -45,13 +45,13 @@ namespace { const auto edge_unique_vertices = geode::edge_unique_vertices( model, surface, polygon_edge ); - geode::OpenGeodeInspectorInspectorException::check_exception( + geode::OpenGeodeInspectorInspectionException::check_exception( edge_unique_vertices[0] != geode::NO_ID && edge_unique_vertices[1] != geode::NO_ID, surface.mesh().edge_barycenter( polygon_edge ), geode::OpenGeodeException::TYPE::data, "[ComponentMeshesAdjacency] Missing unique_vertices" ); - geode::OpenGeodeInspectorInspectorException::check_exception( + geode::OpenGeodeInspectorInspectionException::check_exception( edge_unique_vertices[0] < model.nb_unique_vertices() && edge_unique_vertices[1] < model.nb_unique_vertices(), surface.mesh().edge_barycenter( polygon_edge ), @@ -132,9 +132,9 @@ namespace geode return model_; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesAdjacency< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesAdjacency< BRep >; } // namespace internal } // namespace geode diff --git a/src/geode/inspector/criterion/internal/component_meshes_degeneration.cpp b/src/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.cpp similarity index 95% rename from src/geode/inspector/criterion/internal/component_meshes_degeneration.cpp rename to src/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.cpp index fc7ec89d..90709b80 100644 --- a/src/geode/inspector/criterion/internal/component_meshes_degeneration.cpp +++ b/src/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -34,8 +34,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -191,9 +191,9 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesDegeneration< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesDegeneration< BRep >; } // namespace internal } // namespace geode diff --git a/src/geode/inspector/criterion/internal/component_meshes_manifold.cpp b/src/geode/inspector/inspection/criterion/internal/component_meshes_manifold.cpp similarity index 90% rename from src/geode/inspector/criterion/internal/component_meshes_manifold.cpp rename to src/geode/inspector/inspection/criterion/internal/component_meshes_manifold.cpp index efb8ee14..75e88e3b 100644 --- a/src/geode/inspector/criterion/internal/component_meshes_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/internal/component_meshes_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -31,8 +31,8 @@ #include #include -#include -#include +#include +#include namespace geode { @@ -92,9 +92,9 @@ namespace geode return model_; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesManifold< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ComponentMeshesManifold< BRep >; } // namespace internal } // namespace geode diff --git a/src/geode/inspector/criterion/internal/degeneration_impl.cpp b/src/geode/inspector/inspection/criterion/internal/degeneration_impl.cpp similarity index 95% rename from src/geode/inspector/criterion/internal/degeneration_impl.cpp rename to src/geode/inspector/inspection/criterion/internal/degeneration_impl.cpp index ecda8c19..1ec06970 100644 --- a/src/geode/inspector/criterion/internal/degeneration_impl.cpp +++ b/src/geode/inspector/inspection/criterion/internal/degeneration_impl.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -131,11 +131,11 @@ namespace geode return mesh_; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api DegenerationImpl< SurfaceMesh2D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api DegenerationImpl< SurfaceMesh3D >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api DegenerationImpl< SolidMesh3D >; } // namespace internal } // namespace geode diff --git a/src/geode/inspector/criterion/intersections/model_intersections.cpp b/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp similarity index 99% rename from src/geode/inspector/criterion/intersections/model_intersections.cpp rename to src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp index 19866cea..d9d3d757 100644 --- a/src/geode/inspector/criterion/intersections/model_intersections.cpp +++ b/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -400,7 +400,7 @@ namespace } return vertex_id; } - throw geode::OpenGeodeInspectorInspectorException{ + throw geode::OpenGeodeInspectorInspectionException{ nullptr, geode::OpenGeodeException::TYPE::internal, "Should have found a third point index in second PolygonVertices." }; @@ -841,8 +841,8 @@ namespace geode return results; } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ModelMeshesIntersections< Section >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api ModelMeshesIntersections< BRep >; } // namespace geode diff --git a/src/geode/inspector/criterion/intersections/surface_curve_intersections.cpp b/src/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.cpp similarity index 98% rename from src/geode/inspector/criterion/intersections/surface_curve_intersections.cpp rename to src/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.cpp index b4754b0a..60a3f7dd 100644 --- a/src/geode/inspector/criterion/intersections/surface_curve_intersections.cpp +++ b/src/geode/inspector/inspection/criterion/intersections/surface_curve_intersections.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -295,8 +295,8 @@ namespace geode return impl_->intersecting_elements(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceCurveIntersections< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceCurveIntersections< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/intersections/surface_intersections.cpp b/src/geode/inspector/inspection/criterion/intersections/surface_intersections.cpp similarity index 96% rename from src/geode/inspector/criterion/intersections/surface_intersections.cpp rename to src/geode/inspector/inspection/criterion/intersections/surface_intersections.cpp index e3c2d841..49cba349 100644 --- a/src/geode/inspector/criterion/intersections/surface_intersections.cpp +++ b/src/geode/inspector/inspection/criterion/intersections/surface_intersections.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -172,8 +172,8 @@ namespace geode return impl_->intersecting_elements(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshIntersections< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshIntersections< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/manifold/brep_meshes_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.cpp similarity index 96% rename from src/geode/inspector/criterion/manifold/brep_meshes_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.cpp index 9a192602..0a5c3ccf 100644 --- a/src/geode/inspector/criterion/manifold/brep_meshes_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/brep_meshes_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -38,10 +38,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/manifold/section_meshes_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.cpp similarity index 94% rename from src/geode/inspector/criterion/manifold/section_meshes_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.cpp index 79c90f48..b50bf980 100644 --- a/src/geode/inspector/criterion/manifold/section_meshes_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/section_meshes_manifold.cpp @@ -21,14 +21,14 @@ * */ -#include +#include #include #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/manifold/solid_edge_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.cpp similarity index 97% rename from src/geode/inspector/criterion/manifold/solid_edge_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.cpp index 25a8bddc..23f1296d 100644 --- a/src/geode/inspector/criterion/manifold/solid_edge_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/solid_edge_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -192,5 +192,6 @@ namespace geode return impl_->non_manifold_edges(); } - template class opengeode_inspector_inspector_api SolidMeshEdgeManifold< 3 >; + template class opengeode_inspector_inspection_api + SolidMeshEdgeManifold< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/manifold/solid_facet_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.cpp similarity index 97% rename from src/geode/inspector/criterion/manifold/solid_facet_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.cpp index bacc3a00..72338ff9 100644 --- a/src/geode/inspector/criterion/manifold/solid_facet_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/solid_facet_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -137,6 +137,6 @@ namespace geode return impl_->non_manifold_facets(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SolidMeshFacetManifold< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/manifold/solid_vertex_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.cpp similarity index 97% rename from src/geode/inspector/criterion/manifold/solid_vertex_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.cpp index 331a2766..7d767281 100644 --- a/src/geode/inspector/criterion/manifold/solid_vertex_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/solid_vertex_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -145,6 +145,6 @@ namespace geode return impl_->non_manifold_vertices(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SolidMeshVertexManifold< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/manifold/surface_edge_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.cpp similarity index 96% rename from src/geode/inspector/criterion/manifold/surface_edge_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.cpp index f5459a6d..8619daff 100644 --- a/src/geode/inspector/criterion/manifold/surface_edge_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/surface_edge_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -150,8 +150,8 @@ namespace geode return impl_->non_manifold_edges(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshEdgeManifold< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshEdgeManifold< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/manifold/surface_vertex_manifold.cpp b/src/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.cpp similarity index 96% rename from src/geode/inspector/criterion/manifold/surface_vertex_manifold.cpp rename to src/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.cpp index 7b117d85..8d179d77 100644 --- a/src/geode/inspector/criterion/manifold/surface_vertex_manifold.cpp +++ b/src/geode/inspector/inspection/criterion/manifold/surface_vertex_manifold.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -160,8 +160,8 @@ namespace geode return impl_->non_manifold_vertices(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshVertexManifold< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshVertexManifold< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.cpp b/src/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.cpp similarity index 94% rename from src/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.cpp rename to src/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.cpp index 54de6d59..3d71c651 100644 --- a/src/geode/inspector/criterion/negative_elements/brep_meshes_negative_elements.cpp +++ b/src/geode/inspector/inspection/criterion/negative_elements/brep_meshes_negative_elements.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -29,7 +29,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.cpp b/src/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.cpp similarity index 94% rename from src/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.cpp rename to src/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.cpp index 9e021d57..32cfac56 100644 --- a/src/geode/inspector/criterion/negative_elements/section_meshes_negative_elements.cpp +++ b/src/geode/inspector/inspection/criterion/negative_elements/section_meshes_negative_elements.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -31,7 +31,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/criterion/negative_elements/solid_negative_elements.cpp b/src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp similarity index 96% rename from src/geode/inspector/criterion/negative_elements/solid_negative_elements.cpp rename to src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp index 5a150186..8732f6c6 100644 --- a/src/geode/inspector/criterion/negative_elements/solid_negative_elements.cpp +++ b/src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -116,6 +116,6 @@ namespace geode return impl_->negative_polyhedra(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SolidMeshNegativeElements< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/negative_elements/surface_negative_elements.cpp b/src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp similarity index 94% rename from src/geode/inspector/criterion/negative_elements/surface_negative_elements.cpp rename to src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp index 3e2fb35b..f5ea4ea8 100644 --- a/src/geode/inspector/criterion/negative_elements/surface_negative_elements.cpp +++ b/src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include @@ -107,8 +107,8 @@ namespace geode return impl_->negative_polygons(); } - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshNegativeElements< 2 >; - template class opengeode_inspector_inspector_api + template class opengeode_inspector_inspection_api SurfaceMeshNegativeElements< 3 >; } // namespace geode diff --git a/src/geode/inspector/criterion/section_meshes_inspector.cpp b/src/geode/inspector/inspection/criterion/section_meshes_inspector.cpp similarity index 97% rename from src/geode/inspector/criterion/section_meshes_inspector.cpp rename to src/geode/inspector/inspection/criterion/section_meshes_inspector.cpp index 27a11331..f9cbe76c 100644 --- a/src/geode/inspector/criterion/section_meshes_inspector.cpp +++ b/src/geode/inspector/inspection/criterion/section_meshes_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/edgedcurve_inspector.cpp b/src/geode/inspector/inspection/edgedcurve_inspector.cpp similarity index 91% rename from src/geode/inspector/edgedcurve_inspector.cpp rename to src/geode/inspector/inspection/edgedcurve_inspector.cpp index 4c5f3930..4c7620b7 100644 --- a/src/geode/inspector/edgedcurve_inspector.cpp +++ b/src/geode/inspector/inspection/edgedcurve_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -71,6 +71,6 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api EdgedCurveInspector< 2 >; - template class opengeode_inspector_inspector_api EdgedCurveInspector< 3 >; + template class opengeode_inspector_inspection_api EdgedCurveInspector< 2 >; + template class opengeode_inspector_inspection_api EdgedCurveInspector< 3 >; } // namespace geode diff --git a/src/geode/inspector/pointset_inspector.cpp b/src/geode/inspector/inspection/pointset_inspector.cpp similarity index 90% rename from src/geode/inspector/pointset_inspector.cpp rename to src/geode/inspector/inspection/pointset_inspector.cpp index b14659b4..87924216 100644 --- a/src/geode/inspector/pointset_inspector.cpp +++ b/src/geode/inspector/inspection/pointset_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -59,6 +59,6 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api PointSetInspector< 2 >; - template class opengeode_inspector_inspector_api PointSetInspector< 3 >; + template class opengeode_inspector_inspection_api PointSetInspector< 2 >; + template class opengeode_inspector_inspection_api PointSetInspector< 3 >; } // namespace geode diff --git a/src/geode/inspector/section_inspector.cpp b/src/geode/inspector/inspection/section_inspector.cpp similarity index 97% rename from src/geode/inspector/section_inspector.cpp rename to src/geode/inspector/inspection/section_inspector.cpp index caee3225..29c96666 100644 --- a/src/geode/inspector/section_inspector.cpp +++ b/src/geode/inspector/inspection/section_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/solid_inspector.cpp b/src/geode/inspector/inspection/solid_inspector.cpp similarity index 96% rename from src/geode/inspector/solid_inspector.cpp rename to src/geode/inspector/inspection/solid_inspector.cpp index 8ca69441..4e89f2a3 100644 --- a/src/geode/inspector/solid_inspector.cpp +++ b/src/geode/inspector/inspection/solid_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -103,5 +103,5 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api SolidMeshInspector< 3 >; + template class opengeode_inspector_inspection_api SolidMeshInspector< 3 >; } // namespace geode diff --git a/src/geode/inspector/surface_inspector.cpp b/src/geode/inspector/inspection/surface_inspector.cpp similarity index 94% rename from src/geode/inspector/surface_inspector.cpp rename to src/geode/inspector/inspection/surface_inspector.cpp index 3b90c8e4..33f3e640 100644 --- a/src/geode/inspector/surface_inspector.cpp +++ b/src/geode/inspector/inspection/surface_inspector.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -104,6 +104,6 @@ namespace geode return result; } - template class opengeode_inspector_inspector_api SurfaceMeshInspector< 2 >; - template class opengeode_inspector_inspector_api SurfaceMeshInspector< 3 >; + template class opengeode_inspector_inspection_api SurfaceMeshInspector< 2 >; + template class opengeode_inspector_inspection_api SurfaceMeshInspector< 3 >; } // namespace geode diff --git a/src/geode/inspector/topology/brep_blocks_topology.cpp b/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp similarity index 99% rename from src/geode/inspector/topology/brep_blocks_topology.cpp rename to src/geode/inspector/inspection/topology/brep_blocks_topology.cpp index fd8c0ced..8d610984 100644 --- a/src/geode/inspector/topology/brep_blocks_topology.cpp +++ b/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -50,8 +50,8 @@ #include #include -#include -#include +#include +#include namespace { diff --git a/src/geode/inspector/topology/brep_corners_topology.cpp b/src/geode/inspector/inspection/topology/brep_corners_topology.cpp similarity index 98% rename from src/geode/inspector/topology/brep_corners_topology.cpp rename to src/geode/inspector/inspection/topology/brep_corners_topology.cpp index 173105cc..13b11281 100644 --- a/src/geode/inspector/topology/brep_corners_topology.cpp +++ b/src/geode/inspector/inspection/topology/brep_corners_topology.cpp @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include #include diff --git a/src/geode/inspector/topology/brep_lines_topology.cpp b/src/geode/inspector/inspection/topology/brep_lines_topology.cpp similarity index 99% rename from src/geode/inspector/topology/brep_lines_topology.cpp rename to src/geode/inspector/inspection/topology/brep_lines_topology.cpp index 6c466a89..b2e71455 100644 --- a/src/geode/inspector/topology/brep_lines_topology.cpp +++ b/src/geode/inspector/inspection/topology/brep_lines_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -37,7 +37,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/topology/brep_surfaces_topology.cpp b/src/geode/inspector/inspection/topology/brep_surfaces_topology.cpp similarity index 99% rename from src/geode/inspector/topology/brep_surfaces_topology.cpp rename to src/geode/inspector/inspection/topology/brep_surfaces_topology.cpp index 72224fe7..14c16229 100644 --- a/src/geode/inspector/topology/brep_surfaces_topology.cpp +++ b/src/geode/inspector/inspection/topology/brep_surfaces_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -41,7 +41,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/topology/brep_topology.cpp b/src/geode/inspector/inspection/topology/brep_topology.cpp similarity index 99% rename from src/geode/inspector/topology/brep_topology.cpp rename to src/geode/inspector/inspection/topology/brep_topology.cpp index b25b2e46..fe8b3894 100644 --- a/src/geode/inspector/topology/brep_topology.cpp +++ b/src/geode/inspector/inspection/topology/brep_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/topology/internal/expected_nb_cmvs.cpp b/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp similarity index 99% rename from src/geode/inspector/topology/internal/expected_nb_cmvs.cpp rename to src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp index c50cfbe2..24fd3f05 100644 --- a/src/geode/inspector/topology/internal/expected_nb_cmvs.cpp +++ b/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/topology/internal/topology_helpers.cpp b/src/geode/inspector/inspection/topology/internal/topology_helpers.cpp similarity index 96% rename from src/geode/inspector/topology/internal/topology_helpers.cpp rename to src/geode/inspector/inspection/topology/internal/topology_helpers.cpp index da32730d..b5496dfd 100644 --- a/src/geode/inspector/topology/internal/topology_helpers.cpp +++ b/src/geode/inspector/inspection/topology/internal/topology_helpers.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include #include diff --git a/src/geode/inspector/topology/section_corners_topology.cpp b/src/geode/inspector/inspection/topology/section_corners_topology.cpp similarity index 98% rename from src/geode/inspector/topology/section_corners_topology.cpp rename to src/geode/inspector/inspection/topology/section_corners_topology.cpp index 1ef4903c..f35181aa 100644 --- a/src/geode/inspector/topology/section_corners_topology.cpp +++ b/src/geode/inspector/inspection/topology/section_corners_topology.cpp @@ -23,8 +23,8 @@ #include -#include -#include +#include +#include #include diff --git a/src/geode/inspector/topology/section_lines_topology.cpp b/src/geode/inspector/inspection/topology/section_lines_topology.cpp similarity index 99% rename from src/geode/inspector/topology/section_lines_topology.cpp rename to src/geode/inspector/inspection/topology/section_lines_topology.cpp index 9cf039e9..dd2c9e83 100644 --- a/src/geode/inspector/topology/section_lines_topology.cpp +++ b/src/geode/inspector/inspection/topology/section_lines_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -35,7 +35,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/topology/section_surfaces_topology.cpp b/src/geode/inspector/inspection/topology/section_surfaces_topology.cpp similarity index 98% rename from src/geode/inspector/topology/section_surfaces_topology.cpp rename to src/geode/inspector/inspection/topology/section_surfaces_topology.cpp index c6dbc1d0..8b5a75c5 100644 --- a/src/geode/inspector/topology/section_surfaces_topology.cpp +++ b/src/geode/inspector/inspection/topology/section_surfaces_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include @@ -35,7 +35,7 @@ #include #include -#include +#include namespace geode { diff --git a/src/geode/inspector/topology/section_topology.cpp b/src/geode/inspector/inspection/topology/section_topology.cpp similarity index 99% rename from src/geode/inspector/topology/section_topology.cpp rename to src/geode/inspector/inspection/topology/section_topology.cpp index eab203d0..0b9b0227 100644 --- a/src/geode/inspector/topology/section_topology.cpp +++ b/src/geode/inspector/inspection/topology/section_topology.cpp @@ -21,7 +21,7 @@ * */ -#include +#include #include diff --git a/src/geode/inspector/validity/CMakeLists.txt b/src/geode/inspector/validity/CMakeLists.txt new file mode 100644 index 00000000..895d6aaf --- /dev/null +++ b/src/geode/inspector/validity/CMakeLists.txt @@ -0,0 +1,37 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +add_geode_library( + NAME validity + FOLDER "geode/inspector/validity" + SOURCES + "common.cpp" + "pointset_validity.cpp" + PUBLIC_HEADERS + "common.hpp" + "pointset_validity.hpp" + PUBLIC_DEPENDENCIES + OpenGeode::basic + PRIVATE_DEPENDENCIES + OpenGeode::mesh + OpenGeode::model + ${PROJECT_NAME}::inspection +) + diff --git a/src/geode/inspector/validity/common.cpp b/src/geode/inspector/validity/common.cpp new file mode 100644 index 00000000..02693ca3 --- /dev/null +++ b/src/geode/inspector/validity/common.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#include + +#include + +namespace geode +{ + OPENGEODE_LIBRARY_IMPLEMENTATION( OpenGeodeInspector, Validity ) + { + OpenGeodeModelLibrary::initialize(); + } +} // namespace geode diff --git a/src/geode/inspector/validity/pointset_validity.cpp b/src/geode/inspector/validity/pointset_validity.cpp new file mode 100644 index 00000000..008f34cb --- /dev/null +++ b/src/geode/inspector/validity/pointset_validity.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#include + +#include + +#include + +namespace geode +{ + template < index_t dimension > + std::vector< std::string > pointset_invalidity( + const PointSet< dimension >& pointset ) + { + PointSetInspector< dimension > pointset_inspector{ pointset }; + const auto inspection_result = pointset_inspector.inspect_point_set(); + if( inspection_result.nb_issues() == 0 ) + { + return {}; + } + return { inspection_result.string() }; + } + + template std::vector< std::string > opengeode_inspector_validity_api + pointset_invalidity( const PointSet< 2 >& ); + template std::vector< std::string > opengeode_inspector_validity_api + pointset_invalidity( const PointSet< 3 >& ); +} // namespace geode diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2f8c9cab..84b91940 100755 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,7 +20,7 @@ cmake_minimum_required(VERSION 3.15) -if(NOT TARGET OpenGeode-Inspector::inspector) +if(NOT TARGET OpenGeode-Inspector::inspection) project(OpenGeode-Inspector CXX) find_package(OpenGeode REQUIRED CONFIG) find_package(OpenGeode-Inspector REQUIRED CONFIG) @@ -35,5 +35,6 @@ set(test_config_file ${PROJECT_BINARY_DIR}/geode/tests_config.hpp) configure_file(${test_config_file_in} ${test_config_file}) include_directories(${PROJECT_BINARY_DIR}) -add_subdirectory(inspector) +add_subdirectory(inspection) +add_subdirectory(validity) diff --git a/tests/inspector/CMakeLists.txt b/tests/inspection/CMakeLists.txt similarity index 86% rename from tests/inspector/CMakeLists.txt rename to tests/inspection/CMakeLists.txt index d4248d2f..f51c1a42 100755 --- a/tests/inspector/CMakeLists.txt +++ b/tests/inspection/CMakeLists.txt @@ -24,7 +24,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -33,7 +33,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -42,7 +42,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( SOURCE "test-edgedcurve-colocation.cpp" @@ -50,7 +50,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -59,7 +59,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -68,7 +68,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -77,7 +77,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -86,7 +86,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -95,7 +95,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -104,7 +104,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -113,7 +113,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -122,7 +122,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -131,7 +131,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -140,7 +140,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -149,7 +149,7 @@ add_geode_test( OpenGeode::basic OpenGeode::geometry OpenGeode::mesh - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) add_geode_test( @@ -159,7 +159,7 @@ add_geode_test( OpenGeode::geometry OpenGeode::mesh OpenGeode::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ESSENTIAL ) @@ -171,5 +171,5 @@ add_geode_test( OpenGeode::mesh OpenGeode::model OpenGeode-GeosciencesIO::model - ${PROJECT_NAME}::inspector + ${PROJECT_NAME}::inspection ) \ No newline at end of file diff --git a/tests/inspector/test-brep.cpp b/tests/inspection/test-brep.cpp similarity index 96% rename from tests/inspector/test-brep.cpp rename to tests/inspection/test-brep.cpp index 87e14054..8a2c752c 100644 --- a/tests/inspector/test-brep.cpp +++ b/tests/inspection/test-brep.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include geode::index_t corners_topological_validity( const geode::BRepCornersTopologyInspectionResult& result, bool string ) @@ -324,13 +324,13 @@ void check_model_a1( bool string ) const auto nb_topological_issues = launch_topological_validity_checks( result.topology, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_topological_issues == 5201, "model_A1 has ", nb_topological_issues, " topological problems instead of 5201." ); const auto nb_component_meshes_issues = launch_component_meshes_validity_checks( result.meshes, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_component_meshes_issues == 13494, "model_A1 has ", nb_component_meshes_issues, " meshes problems instead of 13494." ); } @@ -347,13 +347,13 @@ void check_model_a1_valid( bool string ) const auto nb_topological_issues = launch_topological_validity_checks( result.topology, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_topological_issues == 5201, "model_A1_valid has ", nb_topological_issues, " topological problems instead of 5201." ); const auto nb_component_meshes_issues = launch_component_meshes_validity_checks( result.meshes, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_component_meshes_issues == 13494, "model_A1_valid has ", nb_component_meshes_issues, " meshes problems instead of 13494." ); } @@ -370,13 +370,13 @@ void check_model_mss( bool string ) const auto nb_topological_issues = launch_topological_validity_checks( result.topology, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_topological_issues == 52, "mss has ", nb_topological_issues, " topological problems instead of 37." ); const auto nb_component_meshes_issues = launch_component_meshes_validity_checks( result.meshes, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_component_meshes_issues == 0, "mss has ", nb_component_meshes_issues, " meshes problems instead of 0." ); } @@ -392,12 +392,12 @@ void check_model_D( bool string ) brep_inspector.brep_topology_is_valid() ? "valid." : "invalid." ); const auto nb_topological_issues = launch_topological_validity_checks( result.topology, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_topological_issues == 0, "model_D has ", nb_topological_issues, " topological problems instead of 0." ); const auto nb_component_meshes_issues = launch_component_meshes_validity_checks( result.meshes, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_component_meshes_issues == 0, "model_D has ", nb_component_meshes_issues, " meshes problems instead of 0." ); } @@ -408,7 +408,7 @@ void check_wrong_bsurfaces_model() geode::DATA_PATH, "wrong_boundary_surface_model.og_brep" ) ); const geode::BRepInspector brep_inspector{ model_brep }; const auto result = brep_inspector.inspect_brep(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( result.topology.blocks.wrong_block_boundary_surface.nb_issues() == 3, absl::StrCat( "Wrong number of wrong block boundary surfaces detected: " "should be 3, and it is ", @@ -422,7 +422,7 @@ void check_wrong_bsurfaces_model() for( const auto& issue : result.topology.blocks.wrong_block_boundary_surface.issues() ) { - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( absl::c_find( wrong_bsurf, issue ) != wrong_bsurf.end(), "Surface (", issue.string(), ") is detected as a wrong boundary surface but is not one." ); @@ -447,7 +447,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); geode::Logger::set_level( geode::Logger::LEVEL::debug ); check_model_a1( false ); check_model_a1_valid( false ); diff --git a/tests/inspector/test-edgedcurve-colocation.cpp b/tests/inspection/test-edgedcurve-colocation.cpp similarity index 87% rename from tests/inspector/test-edgedcurve-colocation.cpp rename to tests/inspection/test-edgedcurve-colocation.cpp index 368df3dd..c2e348c8 100644 --- a/tests/inspector/test-edgedcurve-colocation.cpp +++ b/tests/inspection/test-edgedcurve-colocation.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_non_colocation2D() { @@ -41,10 +41,10 @@ void check_non_colocation2D() builder->set_point( 3, geode::Point2D{ { 3., 3. } } ); const geode::EdgedCurveColocation2D colocation_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !colocation_inspector.mesh_has_colocated_points(), "EdgedCurve has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.colocated_points_groups().nb_issues() == 0, "EdgedCurve has more colocated points than it should." ); } @@ -65,13 +65,13 @@ void check_colocation2D() 6, geode::Point2D{ { geode::GLOBAL_EPSILON / 1.1, 2. } } ); const geode::EdgedCurveColocation2D colocation_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.mesh_has_colocated_points(), "EdgedCurve doesn't have colocated points whereas it should " "have several." ); const auto colocated_points_groups = colocation_inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "EdgedCurve has wrong number of colocated groups of points." ); auto nb_colocated_points{ 0 }; @@ -79,16 +79,17 @@ void check_colocation2D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "EdgedCurve has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "EdgedCurve has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == second_colocated_points_group || colocated_points_groups.issues()[1] == first_colocated_points_group, @@ -106,11 +107,11 @@ void check_non_colocation3D() builder->set_point( 3, geode::Point3D{ { 3., 3., 2. } } ); const geode::EdgedCurveColocation3D colocation_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !colocation_inspector.mesh_has_colocated_points(), "(3D) EdgedCurve has colocated points when it should have " "none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.colocated_points_groups().nb_issues() == 0, "(3D) EdgedCurve has more colocated points than it should." ); } @@ -131,13 +132,13 @@ void check_colocation3D() 6, geode::Point3D{ { geode::GLOBAL_EPSILON / 1.1, 2., 1. } } ); const geode::EdgedCurveColocation3D colocation_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.mesh_has_colocated_points(), "(3D) EdgedCurve doesn't have colocated points whereas it " "should have several." ); const auto colocated_points_groups = colocation_inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "(3D) EdgedCurve has wrong number of colocated groups of " "points." ); @@ -146,16 +147,17 @@ void check_colocation3D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "(3D) EdgedCurve has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "(3D) EdgedCurve has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == first_colocated_points_group || colocated_points_groups.issues()[1] == second_colocated_points_group, @@ -166,7 +168,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_colocation2D(); check_colocation2D(); check_non_colocation3D(); diff --git a/tests/inspector/test-edgedcurve-degeneration.cpp b/tests/inspection/test-edgedcurve-degeneration.cpp similarity index 88% rename from tests/inspector/test-edgedcurve-degeneration.cpp rename to tests/inspection/test-edgedcurve-degeneration.cpp index 0b27a0df..78760799 100644 --- a/tests/inspector/test-edgedcurve-degeneration.cpp +++ b/tests/inspection/test-edgedcurve-degeneration.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_non_degeneration2D() { @@ -44,10 +44,10 @@ void check_non_degeneration2D() builder->create_edge( 2, 0 ); const geode::EdgedCurveDegeneration2D degeneration_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !degeneration_inspector.is_mesh_degenerated(), "EdgedCurve is shown degenerated whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 0, "EdgedCurve has more degenerated edges than it should." ); } @@ -67,13 +67,13 @@ void check_degeneration_by_colocalisation2D() builder->create_edge( 1, 2 ); const geode::EdgedCurveDegeneration2D degeneration_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "EdgedCurve is shown not degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "EdgedCurve has wrong number of degenerated edges." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == 2, "EdgedCurve has wrong degenerated edges." ); } @@ -92,10 +92,10 @@ void check_non_degeneration3D() builder->create_edge( 2, 0 ); const geode::EdgedCurveDegeneration3D degeneration_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !degeneration_inspector.is_mesh_degenerated(), "(3D) EdgedCurve is shown degenerated whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 0, "(3D) EdgedCurve has more degenerated edges than it should." ); } @@ -115,13 +115,13 @@ void check_degeneration_by_colocalisation3D() builder->create_edge( 1, 2 ); const geode::EdgedCurveDegeneration3D degeneration_inspector{ *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "(3D) EdgedCurve is shown not degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "(3D) EdgedCurve has wrong number of degenerated edges." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == 2, "(3D) EdgedCurve has wrong degenerated edges." ); } @@ -130,7 +130,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_degeneration2D(); check_degeneration_by_colocalisation2D(); check_non_degeneration3D(); diff --git a/tests/inspector/test-pointset.cpp b/tests/inspection/test-pointset.cpp similarity index 87% rename from tests/inspector/test-pointset.cpp rename to tests/inspection/test-pointset.cpp index 46175e9f..f0e95f42 100644 --- a/tests/inspector/test-pointset.cpp +++ b/tests/inspection/test-pointset.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_non_colocation2D() { @@ -41,10 +41,10 @@ void check_non_colocation2D() builder->set_point( 3, geode::Point2D{ { 3., 3. } } ); const geode::PointSetInspector2D inspector{ *pointset }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !inspector.mesh_has_colocated_points(), "PointSet has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.colocated_points_groups().nb_issues() == 0, "PointSet has more colocated points than it should." ); } @@ -65,12 +65,12 @@ void check_colocation2D() 6, geode::Point2D{ { geode::GLOBAL_EPSILON / 1.1, 2. } } ); const geode::PointSetInspector2D inspector{ *pointset }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.mesh_has_colocated_points(), "PointSet doesn't have colocated points whereas it should have " "several." ); const auto colocated_points_groups = inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "PointSet has wrong number of colocated groups of points." ); auto nb_colocated_points{ 0 }; @@ -78,16 +78,17 @@ void check_colocation2D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "PointSet has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "PointSet has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == first_colocated_points_group || colocated_points_groups.issues()[1] == second_colocated_points_group, @@ -105,10 +106,10 @@ void check_non_colocation3D() builder->set_point( 3, geode::Point3D{ { 3., 3., 2. } } ); const geode::PointSetInspector3D inspector{ *pointset }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !inspector.mesh_has_colocated_points(), "(3D) PointSet has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.colocated_points_groups().nb_issues() == 0, "(3D) PointSet has more colocated points than it should." ); } @@ -129,13 +130,13 @@ void check_colocation3D() 6, geode::Point3D{ { geode::GLOBAL_EPSILON / 1.1, 2., 1. } } ); const geode::PointSetInspector3D inspector{ *pointset }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.mesh_has_colocated_points(), "(3D) PointSet doesn't have colocated points whereas it should " "have " "several." ); const auto colocated_points_groups = inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "(3D) PointSet has wrong number of colocated groups of " "points." ); @@ -144,16 +145,17 @@ void check_colocation3D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "(3D) PointSet has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "(3D) PointSet has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == first_colocated_points_group || colocated_points_groups.issues()[1] == second_colocated_points_group, @@ -164,7 +166,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_colocation2D(); check_colocation2D(); check_non_colocation3D(); diff --git a/tests/inspector/test-section.cpp b/tests/inspection/test-section.cpp similarity index 97% rename from tests/inspector/test-section.cpp rename to tests/inspection/test-section.cpp index 8c1bbed4..f5fe8c14 100644 --- a/tests/inspector/test-section.cpp +++ b/tests/inspection/test-section.cpp @@ -32,7 +32,7 @@ #include -#include +#include geode::index_t corners_topological_validity( const geode::SectionCornersTopologyInspectionResult& result, bool string ) @@ -270,13 +270,13 @@ void check_section( bool string ) const auto nb_topological_issues = launch_topological_validity_checks( result.topology, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_topological_issues == 0, "model_D has ", nb_topological_issues, " topological problems instead of 0." ); const auto nb_component_meshes_issues = launch_component_meshes_validity_checks( result.meshes, string ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( nb_component_meshes_issues == 0, "model_D has ", nb_component_meshes_issues, " meshes problems instead of 0." ); } @@ -296,7 +296,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); geode::OpenGeodeGeosciencesIOModelLibrary::initialize(); geode::Logger::set_level( geode::Logger::LEVEL::trace ); check_section( false ); diff --git a/tests/inspector/test-solid-adjacency.cpp b/tests/inspection/test-solid-adjacency.cpp similarity index 90% rename from tests/inspector/test-solid-adjacency.cpp rename to tests/inspection/test-solid-adjacency.cpp index 1f42ecc3..76fba129 100644 --- a/tests/inspector/test-solid-adjacency.cpp +++ b/tests/inspection/test-solid-adjacency.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include void check_adjacency() { @@ -48,10 +48,10 @@ void check_adjacency() builder->set_polyhedron_adjacent( { 1, 1 }, 0 ); const geode::SolidMeshInspector3D adjacency_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !adjacency_inspector.mesh_has_wrong_adjacencies(), "Solid shows wrong adjacencies where there are none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.non_manifold_facets().nb_issues() == 0, "Solid has more wrong adjacencies than it should." ); } @@ -75,16 +75,16 @@ void check_non_adjacency_no_bijection() builder->set_polyhedron_adjacent( { 2, 1 }, 0 ); const geode::SolidMeshInspector3D adjacency_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Solid should have a wrong adjacency due to non-bijection." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().nb_issues() == 1, "Solid should have one wrong adjacency due to " "non-bijection." ); const geode::PolyhedronFacet polyhedron_facet{ 2, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().issues()[0] == polyhedron_facet, "Solid facets show wrong adjacency problems." ); @@ -106,22 +106,22 @@ void check_non_adjacency_wrong_facet() builder->set_polyhedron_adjacent( { 1, 0 }, 0 ); const geode::SolidMeshInspector3D adjacency_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Solid should have wrong adjacencies due to wrong facet for " "adjacency." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().nb_issues() == 2, "Solid should have two wrong adjacencies due to wrong facet " "for adjacency." ); const geode::PolyhedronFacet polyhedron_facet1{ 0, 0 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().issues()[0] == polyhedron_facet1, "Solid shows wrong first facet with adjacency problems." ); const geode::PolyhedronFacet polyhedron_facet2{ 1, 0 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().issues()[1] == polyhedron_facet2, "Solid shows wrong second facet with adjacency problems." ); @@ -143,23 +143,23 @@ void check_non_adjacency_inversed_tetrahedron() builder->set_polyhedron_adjacent( { 1, 1 }, 0 ); const geode::SolidMeshInspector3D adjacency_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Solid should have wrong adjacencies due to an inversed " "tetrahedron." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().nb_issues() == 2, "Solid should have two wrong adjacencies due to an inversed " "tetrahedron." ); const geode::PolyhedronFacet polyhedron_facet1{ 0, 0 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().issues()[0] == polyhedron_facet1, "Solid shows wrong first facet with adjacency problems due to " "an inversed tetrahedron." ); const geode::PolyhedronFacet polyhedron_facet2{ 1, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polyhedron_facets_with_wrong_adjacency().issues()[1] == polyhedron_facet2, "Solid shows wrong second facet with adjacency problems due to " @@ -170,7 +170,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); geode::Logger::set_level( geode::Logger::LEVEL::debug ); check_adjacency(); check_non_adjacency_no_bijection(); diff --git a/tests/inspector/test-solid-colocation.cpp b/tests/inspection/test-solid-colocation.cpp similarity index 88% rename from tests/inspector/test-solid-colocation.cpp rename to tests/inspection/test-solid-colocation.cpp index 7b6745fe..b571be55 100644 --- a/tests/inspector/test-solid-colocation.cpp +++ b/tests/inspection/test-solid-colocation.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_non_colocation() { @@ -42,10 +42,10 @@ void check_non_colocation() builder->set_point( 4, geode::Point3D{ { 1., 2., -3. } } ); const geode::SolidMeshColocation3D colocation_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !colocation_inspector.mesh_has_colocated_points(), "Solid has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.colocated_points_groups().nb_issues() == 0, "Solid has more colocated points than it should." ); } @@ -66,13 +66,13 @@ void check_colocation() 6, geode::Point3D{ { 5. + geode::GLOBAL_EPSILON / 1.1, 2., 1. } } ); const geode::SolidMeshColocation3D colocation_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.mesh_has_colocated_points(), "Solid doesn't have colocated points whereas it should have " "several." ); const auto colocated_points_groups = colocation_inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "Solid has wrong number of colocated groups of points." ); auto nb_colocated_points{ 0 }; @@ -80,16 +80,17 @@ void check_colocation() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "Solid has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "Solid has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == second_colocated_points_group || colocated_points_groups.issues()[1] == first_colocated_points_group, @@ -100,7 +101,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_colocation(); check_colocation(); diff --git a/tests/inspector/test-solid-degeneration.cpp b/tests/inspection/test-solid-degeneration.cpp similarity index 89% rename from tests/inspector/test-solid-degeneration.cpp rename to tests/inspection/test-solid-degeneration.cpp index ddba1193..67609101 100644 --- a/tests/inspector/test-solid-degeneration.cpp +++ b/tests/inspection/test-solid-degeneration.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include void check_non_degeneration() { @@ -46,10 +46,10 @@ void check_non_degeneration() builder->create_tetrahedron( { 0, 1, 4, 2 } ); const geode::SolidMeshDegeneration3D degeneration_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !degeneration_inspector.is_mesh_degenerated(), "Solid is shown degenerated whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 0, "Solid has more degenerated edges than it should." ); } @@ -71,13 +71,13 @@ void check_degeneration_by_colocalisation() solid->enable_edges(); const geode::SolidMeshDegeneration3D degeneration_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "Solid is shown not degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "Solid has wrong number of degenerated edges." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == solid->edges().edge_from_vertices( { 1, 4 } ), "Solid has wrong degenerated edges." ); @@ -98,13 +98,13 @@ void check_degeneration_by_point_multiple_presence() solid->enable_edges(); const geode::SolidMeshDegeneration3D degeneration_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "Solid is not shown degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "Solid has the wrong number of degenerated edges." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == solid->edges().edge_from_vertices( { 1, 1 } ), "Solid shows the wrong degenerated edges." ); @@ -114,7 +114,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_degeneration(); check_degeneration_by_colocalisation(); check_degeneration_by_point_multiple_presence(); diff --git a/tests/inspector/test-solid-manifold.cpp b/tests/inspection/test-solid-manifold.cpp similarity index 89% rename from tests/inspector/test-solid-manifold.cpp rename to tests/inspection/test-solid-manifold.cpp index 64062fdb..7d3c6143 100644 --- a/tests/inspector/test-solid-manifold.cpp +++ b/tests/inspection/test-solid-manifold.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include void check_vertex_manifold() { @@ -48,10 +48,10 @@ void check_vertex_manifold() builder->set_polyhedron_adjacent( { 1, 1 }, 0 ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.mesh_vertices_are_manifold(), "Solid is shown non-manifold whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().nb_issues() == 0, "Solid has more non manifold vertices than it should." ); } @@ -72,13 +72,13 @@ void check_vertex_non_manifold() builder->create_tetrahedron( { 5, 4, 6, 3 } ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !manifold_inspector.mesh_vertices_are_manifold(), "Solid is shown manifold whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().nb_issues() == 1, "Solid has wrong number of non manifold vertices." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().issues()[0] == 3, "Solid shows wrong non manifold vertex id." ); } @@ -99,10 +99,10 @@ void check_edge_manifold() builder->set_polyhedron_adjacent( { 1, 1 }, 0 ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.mesh_edges_are_manifold(), "Solid is shown non-manifold whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_edges().nb_issues() == 0, "Solid has more non manifold edges than it should." ); } @@ -122,14 +122,14 @@ void check_edge_non_manifold() builder->create_tetrahedron( { 5, 4, 2, 3 } ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !manifold_inspector.mesh_edges_are_manifold(), "Solid is shown manifold whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_edges().nb_issues() == 1, "Solid has wrong number of non manifold edges." ); const auto non_manifold_e = manifold_inspector.non_manifold_edges(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( non_manifold_e.issues()[0][0] == 2 && non_manifold_e.issues()[0][1] == 3, "Solid shows wrong non manifold edge id." ); @@ -149,10 +149,10 @@ void check_facet_manifold() builder->create_tetrahedron( { 1, 4, 2, 3 } ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.mesh_facets_are_manifold(), "Solid is shown non-manifold whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_facets().nb_issues() == 0, "Solid has more non manifold facets than it should." ); } @@ -173,14 +173,14 @@ void check_facet_non_manifold() builder->create_tetrahedron( { 1, 5, 2, 3 } ); const geode::SolidMeshInspector3D manifold_inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !manifold_inspector.mesh_facets_are_manifold(), "Solid is shown manifold whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_facets().nb_issues() == 1, "Solid has wrong number of non manifold facets." ); const auto non_manifold_f = manifold_inspector.non_manifold_facets(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( non_manifold_f.issues()[0][0] == 1 && non_manifold_f.issues()[0][1] == 2 && non_manifold_f.issues()[0][2] == 3, "Solid shows wrong non manifold facet id." ); @@ -190,7 +190,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_vertex_manifold(); check_vertex_non_manifold(); check_edge_manifold(); diff --git a/tests/inspector/test-solid-negative-elements.cpp b/tests/inspection/test-solid-negative-elements.cpp similarity index 88% rename from tests/inspector/test-solid-negative-elements.cpp rename to tests/inspection/test-solid-negative-elements.cpp index 87b819af..a7fd18b4 100644 --- a/tests/inspector/test-solid-negative-elements.cpp +++ b/tests/inspection/test-solid-negative-elements.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_negative_elements() { @@ -45,13 +45,13 @@ void check_negative_elements() builder->create_tetrahedron( { 0, 1, 2, 4 } ); const geode::SolidMeshNegativeElements3D inspector{ *solid }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.mesh_has_negative_elements(), "Solid should have negative elements." ); const auto issues = inspector.negative_polyhedra(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( issues.nb_issues() == 1, "Solid should have one negative polyhedron." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( issues.issues().at( 0 ) == 1, "Solid negative polyhedron should be 1." ); } @@ -60,7 +60,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_negative_elements(); geode::Logger::info( "TEST SUCCESS" ); diff --git a/tests/inspector/test-surface-adjacency.cpp b/tests/inspection/test-surface-adjacency.cpp similarity index 89% rename from tests/inspector/test-surface-adjacency.cpp rename to tests/inspection/test-surface-adjacency.cpp index e4f15bf6..8cc7a74e 100644 --- a/tests/inspector/test-surface-adjacency.cpp +++ b/tests/inspection/test-surface-adjacency.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_adjacency2D() { @@ -45,10 +45,10 @@ void check_adjacency2D() builder->set_polygon_adjacent( { 1, 0 }, 0 ); const geode::SurfaceMeshAdjacency2D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !adjacency_inspector.mesh_has_wrong_adjacencies(), "Surface has wrong adjacencies when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 0, "Surface has more wrong adjacencies on edges than it should." ); @@ -72,16 +72,16 @@ void check_non_adjacency_no_bijection2D() builder->set_polygon_adjacent( { 2, 1 }, 1 ); const geode::SurfaceMeshAdjacency2D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Surface should have a wrong adjacency due to non-bijection." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 1, "Surface should have one wrong adjacency due to " "non-bijection." ); const geode::PolygonEdge polygon_edge{ 2, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge, "Surface edges show wrong adjacency problems." ); @@ -102,22 +102,22 @@ void check_non_adjacency_wrong_edge2D() builder->set_polygon_adjacent( { 1, 1 }, 0 ); const geode::SurfaceMeshAdjacency2D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Surface should have wrong adjacencies due to wrong edge for " "adjacency." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 2, "Surface should have two wrong adjacencies due to wrong edge " "for adjacency." ); const geode::PolygonEdge polygon_edge1{ 0, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge1, "Surface shows wrong first edge with adjacency problems." ); const geode::PolygonEdge polygon_edge2{ 1, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[1] == polygon_edge2, "Surface shows wrong second edge with adjacency problems." ); @@ -138,23 +138,23 @@ void check_non_adjacency_inversed_triangle2D() builder->set_polygon_adjacent( { 1, 0 }, 0 ); const geode::SurfaceMeshAdjacency2D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "Surface should have wrong adjacencies due to an inversed " "triangle." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 2, "Surface should have two wrong adjacencies due to an inversed " "triangle." ); const geode::PolygonEdge polygon_edge1{ 0, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge1, "Surface shows wrong first edge with adjacency problems due to " "an inversed triangle.." ); const geode::PolygonEdge polygon_edge2{ 1, 0 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[1] == polygon_edge2, "Surface shows wrong second edge with adjacency problems due to " @@ -176,10 +176,10 @@ void check_adjacency3D() builder->set_polygon_adjacent( { 1, 0 }, 0 ); const geode::SurfaceMeshAdjacency3D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !adjacency_inspector.mesh_has_wrong_adjacencies(), "3D Surface has wrong adjacencies when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 0, "3D Surface has more wrong adjacencies on edges than it " @@ -204,17 +204,17 @@ void check_non_adjacency_no_bijection3D() builder->set_polygon_adjacent( { 2, 1 }, 1 ); const geode::SurfaceMeshAdjacency3D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "3D Surface should have a wrong adjacency due to " "non-bijection." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 1, "3D Surface should have one wrong adjacency due to " "non-bijection." ); const geode::PolygonEdge polygon_edge{ 2, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge, "3D Surface edges show wrong adjacency problems." ); @@ -235,22 +235,22 @@ void check_non_adjacency_wrong_edge3D() builder->set_polygon_adjacent( { 1, 1 }, 0 ); const geode::SurfaceMeshAdjacency3D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "3D Surface should have wrong adjacencies due to wrong edge for " "adjacency." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 2, "3D Surface should have two wrong adjacencies due to wrong edge " "for adjacency." ); const geode::PolygonEdge polygon_edge1{ 0, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge1, "3D Surface shows wrong first edge with adjacency problems." ); const geode::PolygonEdge polygon_edge2{ 1, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[1] == polygon_edge2, "Surface shows wrong second edge with adjacency problems." ); @@ -271,23 +271,23 @@ void check_non_adjacency_inversed_triangle3D() builder->set_polygon_adjacent( { 1, 0 }, 0 ); const geode::SurfaceMeshAdjacency3D adjacency_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.mesh_has_wrong_adjacencies(), "3D Surface should have wrong adjacencies due to an inversed " "triangle." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().nb_issues() == 2, "3D Surface should have two wrong adjacencies due to an " "inversed triangle." ); const geode::PolygonEdge polygon_edge1{ 0, 1 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[0] == polygon_edge1, "3D Surface shows wrong first edge with adjacency problems due " "to an inversed triangle.." ); const geode::PolygonEdge polygon_edge2{ 1, 0 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( adjacency_inspector.polygon_edges_with_wrong_adjacency().issues()[1] == polygon_edge2, "3D Surface shows wrong second edge with adjacency problems due " @@ -298,7 +298,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_adjacency2D(); check_non_adjacency_no_bijection2D(); check_non_adjacency_wrong_edge2D(); diff --git a/tests/inspector/test-surface-colocation.cpp b/tests/inspection/test-surface-colocation.cpp similarity index 87% rename from tests/inspector/test-surface-colocation.cpp rename to tests/inspection/test-surface-colocation.cpp index 724c1614..3f48493e 100644 --- a/tests/inspector/test-surface-colocation.cpp +++ b/tests/inspection/test-surface-colocation.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_non_colocation2D() { @@ -41,10 +41,10 @@ void check_non_colocation2D() builder->set_point( 3, geode::Point2D{ { 3., 3. } } ); const geode::SurfaceMeshColocation2D colocation_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !colocation_inspector.mesh_has_colocated_points(), "Surface has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.colocated_points_groups().nb_issues() == 0, "Surface has more colocated points than it should." ); } @@ -65,13 +65,13 @@ void check_colocation2D() 6, geode::Point2D{ { geode::GLOBAL_EPSILON / 1.1, 2. } } ); const geode::SurfaceMeshColocation2D colocation_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.mesh_has_colocated_points(), "Surface doesn't have colocated points whereas it should have " "several." ); const auto colocated_points_groups = colocation_inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "Surface has wrong number of colocated groups of " "points." ); @@ -80,16 +80,17 @@ void check_colocation2D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "Surface has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "Surface has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == first_colocated_points_group || colocated_points_groups.issues()[1] == second_colocated_points_group, @@ -107,10 +108,10 @@ void check_non_colocation3D() builder->set_point( 3, geode::Point3D{ { 3., 3., 2. } } ); const geode::SurfaceMeshColocation3D colocation_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !colocation_inspector.mesh_has_colocated_points(), "(3D) Surface has colocated points when it should have none." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.colocated_points_groups().nb_issues() == 0, "(3D) Surface has more colocated points than it should." ); } @@ -131,13 +132,13 @@ void check_colocation3D() 6, geode::Point3D{ { geode::GLOBAL_EPSILON / 1.1, 2., 1. } } ); const geode::SurfaceMeshColocation3D colocation_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocation_inspector.mesh_has_colocated_points(), "(3D) Surface doesn't have colocated points whereas it should " "have several." ); const auto colocated_points_groups = colocation_inspector.colocated_points_groups(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.nb_issues() == 2, "(3D) Surface has wrong number of colocated groups of " "points." ); @@ -146,16 +147,17 @@ void check_colocation3D() { nb_colocated_points += group.size(); } - geode::OpenGeodeInspectorInspectorException::test( nb_colocated_points == 5, + geode::OpenGeodeInspectorInspectionException::test( + nb_colocated_points == 5, "(3D) Surface has wrong number of colocated points." ); const std::vector< geode::index_t > first_colocated_points_group{ 0, 1, 6 }; const std::vector< geode::index_t > second_colocated_points_group{ 3, 5 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[0] == first_colocated_points_group || colocated_points_groups.issues()[0] == second_colocated_points_group, "(3D) Surface has wrong first colocated points group." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( colocated_points_groups.issues()[1] == first_colocated_points_group || colocated_points_groups.issues()[1] == second_colocated_points_group, @@ -166,7 +168,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_colocation2D(); check_colocation2D(); check_non_colocation3D(); diff --git a/tests/inspector/test-surface-curve-intersections.cpp b/tests/inspection/test-surface-curve-intersections.cpp similarity index 93% rename from tests/inspector/test-surface-curve-intersections.cpp rename to tests/inspection/test-surface-curve-intersections.cpp index bc3cd9e0..b6b4ed22 100644 --- a/tests/inspector/test-surface-curve-intersections.cpp +++ b/tests/inspection/test-surface-curve-intersections.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include void check_intersections2D() { @@ -73,12 +73,12 @@ void check_intersections2D() const geode::SurfaceCurveIntersections2D intersections_inspector{ *surface, *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersections_inspector.meshes_have_intersections(), "2D Surface and Curve should have intersections." ); const auto intersection_result = intersections_inspector.intersecting_elements(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersection_result.nb_issues() == 7, "2D Surface and Curve should have 7 intersecting elements " "pair, get ", @@ -88,7 +88,7 @@ void check_intersections2D() }; for( const auto& inter : intersection_result.issues() ) { - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( answer.contains( inter ), "2D Surface and Curve has at least one wrong intersecting " "elements pair: (triangle = ", @@ -137,12 +137,12 @@ void check_intersections3D() const geode::SurfaceCurveIntersections3D intersections_inspector{ *surface, *curve }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersections_inspector.meshes_have_intersections(), "3D Surface and Curve should have intersections." ); const auto intersection_result = intersections_inspector.intersecting_elements(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersection_result.nb_issues() == 6, "3D Surface and Curve should have 6 intersecting elements " "pair, get ", @@ -152,7 +152,7 @@ void check_intersections3D() }; for( const auto& inter : intersection_result.issues() ) { - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( answer.contains( inter ), "3D Surface and Curve should have at least one wrong " "intersecting elements pair: (triangle = ", @@ -164,7 +164,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_intersections2D(); check_intersections3D(); diff --git a/tests/inspector/test-surface-degeneration.cpp b/tests/inspection/test-surface-degeneration.cpp similarity index 88% rename from tests/inspector/test-surface-degeneration.cpp rename to tests/inspection/test-surface-degeneration.cpp index 2e477841..e70b843a 100644 --- a/tests/inspector/test-surface-degeneration.cpp +++ b/tests/inspection/test-surface-degeneration.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include void check_non_degeneration2D() { @@ -45,10 +45,10 @@ void check_non_degeneration2D() builder->create_triangle( { 2, 1, 3 } ); const geode::SurfaceMeshDegeneration2D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !degeneration_inspector.is_mesh_degenerated(), "Surface is shown degenerated whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 0, "Surface has more degenerated edges than it should." ); } @@ -68,14 +68,14 @@ void check_degeneration_by_colocalisation2D() builder->create_triangle( { 2, 1, 3 } ); const geode::SurfaceMeshDegeneration2D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "Surface is shown not degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "Surface has wrong number of degenerated edges." ); surface->enable_edges(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == surface->edges().edge_from_vertices( { 1, 3 } ), "Surface has wrong degenerated edges." ); @@ -94,14 +94,14 @@ void check_degeneration_by_point_multiple_presence2D() builder->create_triangle( { 1, 2, 1 } ); const geode::SurfaceMeshDegeneration2D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "Surface is not shown degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "Surface has the wrong number of degenerated edges." ); surface->enable_edges(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == surface->edges().edge_from_vertices( { 1, 1 } ), "Surface shows the wrong degenerated edges." ); @@ -121,10 +121,10 @@ void check_non_degeneration3D() builder->create_triangle( { 2, 1, 3 } ); const geode::SurfaceMeshDegeneration3D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !degeneration_inspector.is_mesh_degenerated(), "(3D) Surface is shown degenerated whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 0, "(3D) Surface has more degenerated edges than it should." ); } @@ -144,14 +144,14 @@ void check_degeneration_by_colocalisation3D() builder->create_triangle( { 2, 1, 3 } ); const geode::SurfaceMeshDegeneration3D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "(3D) Surface is shown not degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "(3D) Surface has wrong number of degenerated edges." ); surface->enable_edges(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == surface->edges().edge_from_vertices( { 1, 3 } ), "(3D) Surface has wrong degenerated edges." ); @@ -170,14 +170,14 @@ void check_degeneration_by_point_multiple_presence3D() builder->create_triangle( { 1, 2, 1 } ); const geode::SurfaceMeshDegeneration3D degeneration_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.is_mesh_degenerated(), "(3D) Surface is not shown degenerated whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().nb_issues() == 1, "(3D) Surface has the wrong number of degenerated edges." ); surface->enable_edges(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( degeneration_inspector.degenerated_edges().issues()[0] == surface->edges().edge_from_vertices( { 1, 1 } ), "(3D) Surface shows the wrong degenerated edges." ); @@ -187,7 +187,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_non_degeneration2D(); check_degeneration_by_colocalisation2D(); check_degeneration_by_point_multiple_presence2D(); diff --git a/tests/inspector/test-surface-intersections.cpp b/tests/inspection/test-surface-intersections.cpp similarity index 91% rename from tests/inspector/test-surface-intersections.cpp rename to tests/inspection/test-surface-intersections.cpp index 78c0f067..2707ea12 100644 --- a/tests/inspector/test-surface-intersections.cpp +++ b/tests/inspection/test-surface-intersections.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_intersections2D() { @@ -49,11 +49,11 @@ void check_intersections2D() builder->set_polygon_adjacent( { 2, 0 }, 1 ); const geode::SurfaceMeshIntersections2D intersections_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersections_inspector.mesh_has_self_intersections(), "2D Surface should have intersections." ); const auto inspection = intersections_inspector.intersecting_elements(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspection.nb_issues() == 3, "2D Surface should have 3 intersecting elements pair." ); bool right_intersections{ true }; @@ -73,7 +73,7 @@ void check_intersections2D() { right_intersections = false; } - geode::OpenGeodeInspectorInspectorException::test( right_intersections, + geode::OpenGeodeInspectorInspectionException::test( right_intersections, "2D Surface has wrong intersecting elements pairs." ); } @@ -102,11 +102,11 @@ void check_intersections3D() builder->set_polygon_adjacent( { 3, 0 }, 2 ); const geode::SurfaceMeshIntersections3D intersections_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( intersections_inspector.mesh_has_self_intersections(), "3D Surface should have intersections." ); const auto inspection = intersections_inspector.intersecting_elements(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspection.nb_issues() == 2, "3D Surface should have 2 intersecting elements pair, not ", inspection.nb_issues(), "." ); @@ -122,7 +122,7 @@ void check_intersections3D() { right_intersections = false; } - geode::OpenGeodeInspectorInspectorException::test( right_intersections, + geode::OpenGeodeInspectorInspectionException::test( right_intersections, "3D Surface has wrong intersecting elements pairs." ); } @@ -130,7 +130,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_intersections2D(); check_intersections3D(); diff --git a/tests/inspector/test-surface-manifold.cpp b/tests/inspection/test-surface-manifold.cpp similarity index 88% rename from tests/inspector/test-surface-manifold.cpp rename to tests/inspection/test-surface-manifold.cpp index 23fa4a11..a11f34f9 100644 --- a/tests/inspector/test-surface-manifold.cpp +++ b/tests/inspection/test-surface-manifold.cpp @@ -29,8 +29,8 @@ #include #include -#include -#include +#include +#include void check_vertex_manifold2D() { @@ -47,10 +47,10 @@ void check_vertex_manifold2D() builder->set_polygon_adjacent( { 1, 2 }, 0 ); const geode::SurfaceMeshVertexManifold2D manifold_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.mesh_vertices_are_manifold(), "Surface is shown non-manifold whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().nb_issues() == 0, "Surface has more non manifold vertices than it should." ); } @@ -69,13 +69,13 @@ void check_vertex_non_manifold2D() builder->create_triangle( { 1, 3, 4 } ); const geode::SurfaceMeshVertexManifold2D manifold_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !manifold_inspector.mesh_vertices_are_manifold(), "Surface vertices are shown manifold whereas one is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().nb_issues() == 1, "Surface has wrong number of non manifold vertices." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_vertices().issues()[0] == 1, "Surface shows wrong non manifold vertex id." ); } @@ -99,10 +99,10 @@ void check_edge_manifold2D() builder->set_polygon_adjacent( { 2, 2 }, 1 ); const geode::SurfaceMeshEdgeManifold2D manifold_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.mesh_edges_are_manifold(), "Surface is shown non-manifold through edges whereas it is." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_edges().nb_issues() == 0, "Surface has more non manifold edges than it should." ); } @@ -125,14 +125,14 @@ void check_edge_non_manifold2D() builder->set_polygon_adjacent( { 2, 2 }, 0 ); const geode::SurfaceMeshEdgeManifold2D manifold_inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( !manifold_inspector.mesh_edges_are_manifold(), "Surface is shown manifold through edges whereas it is not." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_edges().nb_issues() == 1, "Surface has wrong number of non manifold edges." ); const std::array< geode::index_t, 2 > pt1_pt2_edge{ 1, 2 }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( manifold_inspector.non_manifold_edges().issues()[0] == pt1_pt2_edge, "Surface edges are shown non manifold whereas they are." ); } @@ -141,7 +141,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_vertex_manifold2D(); check_vertex_non_manifold2D(); check_edge_manifold2D(); diff --git a/tests/inspector/test-surface-negative-elements.cpp b/tests/inspection/test-surface-negative-elements.cpp similarity index 88% rename from tests/inspector/test-surface-negative-elements.cpp rename to tests/inspection/test-surface-negative-elements.cpp index 7cf3678c..0b49f19b 100644 --- a/tests/inspector/test-surface-negative-elements.cpp +++ b/tests/inspection/test-surface-negative-elements.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include void check_negative_elements() { @@ -44,13 +44,13 @@ void check_negative_elements() builder->create_triangle( { 2, 3, 1 } ); const geode::SurfaceMeshNegativeElements2D inspector{ *surface }; - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( inspector.mesh_has_negative_elements(), "Surface should have negative elements." ); const auto issues = inspector.negative_polygons(); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( issues.nb_issues() == 1, "Surface should have 1 negative element." ); - geode::OpenGeodeInspectorInspectorException::test( + geode::OpenGeodeInspectorInspectionException::test( issues.issues().at( 0 ) == 1, "Surface negative element should be 1." ); } @@ -58,7 +58,7 @@ int main() { try { - geode::OpenGeodeInspectorInspectorLibrary::initialize(); + geode::OpenGeodeInspectorInspectionLibrary::initialize(); check_negative_elements(); geode::Logger::info( "TEST SUCCESS" ); diff --git a/tests/validity/CMakeLists.txt b/tests/validity/CMakeLists.txt new file mode 100755 index 00000000..f0e53876 --- /dev/null +++ b/tests/validity/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright (c) 2019 - 2026 Geode-solutions +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +add_geode_test( + SOURCE "test-pointset-validity.cpp" + DEPENDENCIES + OpenGeode::basic + OpenGeode::geometry + OpenGeode::mesh + ${PROJECT_NAME}::validity +) \ No newline at end of file diff --git a/tests/validity/test-pointset-validity.cpp b/tests/validity/test-pointset-validity.cpp new file mode 100644 index 00000000..7b6ac338 --- /dev/null +++ b/tests/validity/test-pointset-validity.cpp @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2019 - 2026 Geode-solutions + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#include +#include + +#include +#include +#include + +#include + +void check_non_validity2D() +{ + auto pointset = geode::PointSet2D::create(); + auto builder = geode::PointSetBuilder2D::create( *pointset ); + builder->create_vertices( 4 ); + builder->set_point( 0, geode::Point2D{ { 0., 2. } } ); + builder->set_point( 1, geode::Point2D{ { 2., 0. } } ); + builder->set_point( 2, geode::Point2D{ { 1., 4. } } ); + builder->set_point( 3, geode::Point2D{ { 3., 3. } } ); + + const auto invalidities = geode::pointset_invalidity( *pointset ); + geode::OpenGeodeInspectorValidityException::test( invalidities.empty(), + "PointSet has invalidities when it should have none." ); +} + +void check_validity2D() +{ + auto pointset = geode::PointSet2D::create(); + auto builder = geode::PointSetBuilder2D::create( *pointset ); + builder->create_vertices( 7 ); + builder->set_point( 0, geode::Point2D{ { 0., 2. } } ); + builder->set_point( 1, geode::Point2D{ { 0., 2. } } ); + builder->set_point( 2, geode::Point2D{ { 0., 0. } } ); + builder->set_point( 3, geode::Point2D{ { 2., 0. } } ); + builder->set_point( 4, geode::Point2D{ { 1., 4. } } ); + builder->set_point( + 5, geode::Point2D{ { 2., geode::GLOBAL_EPSILON / 2 } } ); + builder->set_point( + 6, geode::Point2D{ { geode::GLOBAL_EPSILON / 1.1, 2. } } ); + + const auto invalidities = geode::pointset_invalidity( *pointset ); + geode::OpenGeodeInspectorValidityException::test( invalidities.size() == 1, + "PointSet should have 1 invalidity reason, not ", invalidities.size() ); + geode::Logger::info( "2D invalidities: ", invalidities.front() ); +} + +void check_non_validity3D() +{ + auto pointset = geode::PointSet3D::create(); + auto builder = geode::PointSetBuilder3D::create( *pointset ); + builder->create_vertices( 4 ); + builder->set_point( 0, geode::Point3D{ { 0., 2., 0. } } ); + builder->set_point( 1, geode::Point3D{ { 2., 0., 0.5 } } ); + builder->set_point( 2, geode::Point3D{ { 1., 4., 1. } } ); + builder->set_point( 3, geode::Point3D{ { 3., 3., 2. } } ); + + const auto invalidities = geode::pointset_invalidity( *pointset ); + geode::OpenGeodeInspectorValidityException::test( invalidities.empty(), + "PointSet has invalidities when it should have none." ); +} + +void check_validity3D() +{ + auto pointset = geode::PointSet3D::create(); + auto builder = geode::PointSetBuilder3D::create( *pointset ); + builder->create_vertices( 7 ); + builder->set_point( 0, geode::Point3D{ { 0., 2., 1. } } ); + builder->set_point( 1, geode::Point3D{ { 0., 2., 1. } } ); + builder->set_point( 2, geode::Point3D{ { 0., 0., 0. } } ); + builder->set_point( 3, geode::Point3D{ { 2., 0., 0. } } ); + builder->set_point( 4, geode::Point3D{ { 1., 4., 3. } } ); + builder->set_point( 5, geode::Point3D{ { 2., geode::GLOBAL_EPSILON / 2, + geode::GLOBAL_EPSILON / 2 } } ); + builder->set_point( + 6, geode::Point3D{ { geode::GLOBAL_EPSILON / 1.1, 2., 1. } } ); + + const auto invalidities = geode::pointset_invalidity( *pointset ); + geode::OpenGeodeInspectorValidityException::test( invalidities.size() == 1, + "PointSet should have 1 invalidity reason, not ", invalidities.size() ); + geode::Logger::info( "3D invalidities: ", invalidities.front() ); +} + +int main() +{ + try + { + geode::OpenGeodeInspectorValidityLibrary::initialize(); + check_non_validity2D(); + check_validity2D(); + check_non_validity3D(); + check_validity3D(); + + geode::Logger::info( "TEST SUCCESS" ); + return 0; + } + catch( ... ) + { + return geode::geode_lippincott(); + } +} From 343698026bbcac4bd3b02be6551cbe9392df083a Mon Sep 17 00:00:00 2001 From: MelchiorSchuh Date: Wed, 3 Jun 2026 10:37:47 +0200 Subject: [PATCH 2/2] fix python tests --- .../python/tests/inspection/test-py-brep.py | 21 ++++++++----------- .../tests/inspection/test-py-section.py | 9 +++++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bindings/python/tests/inspection/test-py-brep.py b/bindings/python/tests/inspection/test-py-brep.py index 1eae08a4..6937d2b9 100644 --- a/bindings/python/tests/inspection/test-py-brep.py +++ b/bindings/python/tests/inspection/test-py-brep.py @@ -207,10 +207,13 @@ def launch_component_meshes_validity_checks(result, verbose): return nb_invalids -def check_a1(verbose): +def data_dir(): test_dir = os.path.dirname(__file__) - data_dir = os.path.abspath(os.path.join(test_dir, "../../../tests/data")) - model_brep = opengeode.load_brep(data_dir + "/model_A1.og_brep") + return os.path.abspath(os.path.join(test_dir, "../../../../tests/data")) + + +def check_a1(verbose): + model_brep = opengeode.load_brep(data_dir() + "/model_A1.og_brep") result = inspector.inspect_brep(model_brep) brep_inspector = inspector.BRepInspector(model_brep) if brep_inspector.brep_topology_is_valid(): @@ -253,9 +256,7 @@ def inspect_model_A1(model_brep, verbose): def check_a1_valid(verbose): - test_dir = os.path.dirname(__file__) - data_dir = os.path.abspath(os.path.join(test_dir, "../../../tests/data")) - model_brep = opengeode.load_brep(data_dir + "/model_A1_valid.og_brep") + model_brep = opengeode.load_brep(data_dir() + "/model_A1_valid.og_brep") inspect_model_A1(model_brep, verbose) @@ -280,9 +281,7 @@ def inspect_model_mss(model_brep, verbose): def check_model_mss(verbose): - test_dir = os.path.dirname(__file__) - data_dir = os.path.abspath(os.path.join(test_dir, "../../../tests/data")) - model_brep = opengeode.load_brep(data_dir + "/mss.og_brep") + model_brep = opengeode.load_brep(data_dir() + "/mss.og_brep") inspect_model_mss(model_brep, verbose) @@ -307,9 +306,7 @@ def inspect_model_D(model_brep, verbose): def check_model_D(verbose): - test_dir = os.path.dirname(__file__) - data_dir = os.path.abspath(os.path.join(test_dir, "../../../tests/data")) - model_brep = opengeode.load_brep(data_dir + "/model_D.og_brep") + model_brep = opengeode.load_brep(data_dir() + "/model_D.og_brep") inspect_model_D(model_brep, verbose) diff --git a/bindings/python/tests/inspection/test-py-section.py b/bindings/python/tests/inspection/test-py-section.py index 474c302e..6047618a 100644 --- a/bindings/python/tests/inspection/test-py-section.py +++ b/bindings/python/tests/inspection/test-py-section.py @@ -170,10 +170,13 @@ def launch_component_meshes_validity_checks(result, verbose): return nb_issues -def check_section(verbose): +def data_dir(): test_dir = os.path.dirname(__file__) - data_dir = os.path.abspath(os.path.join(test_dir, "../../../tests/data")) - model_section = opengeode.load_section(data_dir + "/vertical_lines.og_sctn") + return os.path.abspath(os.path.join(test_dir, "../../../../tests/data")) + + +def check_section(verbose): + model_section = opengeode.load_section(data_dir() + "/vertical_lines.og_sctn") result = inspector.inspect_section(model_section) section_inspector = inspector.SectionInspector(model_section) if section_inspector.section_topology_is_valid():