Commit Graph

381 Commits

Author SHA1 Message Date
Thomas Krijnen 8bd22178f7 OCC_VER Compatibility 2026-06-29 11:30:37 +02:00
Thomas Krijnen b4d7780e14 Use opencascade::handle for compatibility with earlier versions 2026-06-29 11:30:37 +02:00
Frozen Forest Reality Technologies 7c092db9e6 OCCT 8 Update Part 4
Fix For : ``C:\Program Files\OCCT\inc\NCollection_Sequence.hxx(45,18): error C2280: 'CSLib_Class2d::CSLib_Class2d(const CSLib_Class2d &)': attempting to reference a deleted function``.
2026-06-29 11:30:36 +02:00
Frozen Forest Reality Technologies 7f49c945b9 OCCT 8.0 Update Part 3 2026-06-29 11:30:36 +02:00
Frozen Forest Reality Technologies 81f71e6418 OCCT 8.0 Update Part 2 2026-06-29 11:30:36 +02:00
Frozen Forest Reality Technologies 6318610bdb OCCT Update to 8.0 Part 1 2026-06-29 11:30:36 +02:00
Thomas Krijnen 1057f794f6 Small conv result number tweaks 2026-06-24 11:12:11 +02:00
Thomas Krijnen 55e778f82e does_self_intersect() requires tri mesh 2026-06-23 20:26:28 +02:00
Thomas Krijnen 13681cdf9b Build all volumes when converting between nef and poly 2026-06-23 20:26:16 +02:00
Thomas Krijnen c592018b3f Minor changes to conversion result numbers 2026-06-23 20:25:57 +02:00
Thomas Krijnen 4f21bd1c69 Auto mem mngt in conversion result number types; more arithmetic on OpaqueCoordinate 2026-06-22 10:38:25 +02:00
Thomas Krijnen 669e04664d Consistent policy on normalization in halfspace eq map() 2026-06-20 13:30:17 +02:00
Thomas Krijnen c0f2fb1860 Store actual subentities in CgalShape instead of the strange degeneracies convention 2026-06-19 20:50:40 +02:00
Thomas Krijnen 347a3c80bb More logger changes 2026-06-11 21:09:56 +02:00
Thomas Krijnen a7738eeb64 Pass around non-static logger instances and programmatic access to messages in-memory 2026-06-10 18:40:17 +02:00
Thomas Krijnen a751fb956d Introduce unique error codes 2026-06-10 18:40:17 +02:00
Bruno Postle eacff93945 Use std::lexicographical_compare in Point_d_4d_Less 2026-06-05 13:56:04 +02:00
Bruno Postle 9d956f18b7 Fix CGAL 6.x build: add Point_d_4d_Less comparator for std::map
CGAL 6.x deleted operator< from Point_d, so std::map<Point_d, ...>
no longer compiles. Adds a custom lexicographic comparator and updates
the three affected maps in snap_halfspaces and snap_halfspaces_2.
2026-06-05 13:56:04 +02:00
Bruno Postle bd264f1d85 Add missing standard library includes for self-sufficient headers
Fixes builds with newer GCC/libstdc++ that no longer provide <cstdint>,
<cstring>, <cfloat>, <memory>, <algorithm> etc. transitively. Also
disambiguates visit<> calls in taxonomy.h with the full namespace and
casts the character value in IfcCharacterDecoder to uint32_t to silence
ambiguous overload warnings.
2026-06-05 08:54:27 +02:00
Thomas Krijnen 94fab271cd Check for empty result after BOPAlgo_MakerVolume and reset manifoldness state #8140 2026-06-04 21:45:27 +02:00
Thomas Krijnen 8583d0963f Make faceset duplicate loop detection respect inner/outer #8140 2026-06-04 21:45:27 +02:00
Thomas Krijnen 77a2284f8a Re-sew non-manifold operands; interior loop re-orientations affect edge identity #8140 2026-06-04 21:45:26 +02:00
Tiago Azevedo a433f56337 Fix sign of temporary offset restore in sweep_along_curve
The temporary-offset workaround (#7408, commit bd57cc8735) subtracts the
directrix centroid (`mean`) from the curve points before building the
sweep near the origin, then must add it back to restore the original
location. The restore negated the sign — `Move(-mean)` instead of
`Move(+mean)` — placing the swept solid at -mean (mirrored through the
origin) rather than its true position.

Only triggers for polyline directrixes (`is_polyhedron()`) whose centroid
is more than 100 m from the origin (`mean.norm() > 1e2`), so models
centered near the origin are unaffected. Models that keep absolute site
coordinates (e.g. many Revit/ODA IFC exports) render affected swept
solids — reinforcing bars, pipes — at a mirrored phantom location far
from the rest of the model.
2026-06-01 11:42:39 +02:00
Thomas Krijnen 1a6fd2530f Remove dependency on Standard_failure #7788 2026-03-14 14:44:47 +01:00
Thomas Krijnen 2d7a556dd5 Fix sectioned solid cap #7674 2026-02-24 11:26:18 +01:00
Thomas Krijnen c6072e416c N-Section Lofting for Non-Polygonal (Curved) Shapes #7658 2026-02-10 11:04:43 +01:00
Thomas Krijnen c385b93701 Add option --make-volume to apply BOPAlgo_MakerVolume API to non-manifold first operands in opening subtraction 2026-02-01 21:08:11 +01:00
Andrej730 dbb4e91d55 apply cmake file formatting 2026-01-26 17:10:03 +05:00
Thomas Krijnen ad0c97a6bb Fix #7561 2026-01-23 11:44:14 +01:00
Thomas Krijnen 3d530b1d39 No occt multi-threading since we have our own 2026-01-23 11:44:14 +01:00
Thomas Krijnen f0308962aa Clash: Increase robustness of processing triangulated elements - fully co-planar element #7467 2026-01-23 11:44:14 +01:00
Thomas Krijnen 9c6a8bdb90 Clash: Increase robustness of processing triangulated elements - skip empty #7467 2026-01-23 11:44:14 +01:00
Esteban DUGUEPEROUX 128fdcb62e fix: Add IfcGeom as a dependency of kernels target instead of the inverse 2026-01-23 10:22:16 +01:00
Esteban DUGUEPEROUX c739b93389 fix: Have kernels targets built as library 2026-01-23 10:22:16 +01:00
Thomas Krijnen 6b7b834ac0 Don't try and solve 2d bools in cgal-simple #7503 2026-01-23 10:12:33 +01:00
Richard Brice df7318973d Adds support for IfcOpenCrossProfileDef and branching with IfcSectionedSurface 2026-01-14 13:28:07 -08:00
Andrej730 d41985f23a format cmake files 2025-12-22 18:44:42 +05:00
Andrej730 dd683d1115 examples - further simplify linking 2025-12-12 20:19:42 +05:00
Andrej730 5a0f8d30cf cmake - install headers using PUBLIC_HEADER, deprecate INCLUDEDIR 2025-12-12 19:30:21 +05:00
Andrej730 2627052b55 cmake - export IfcOpenShellConfig.cmake 2025-12-11 19:55:41 +05:00
Andrej730 71a36147a6 FindCGAL - another fix for 6591a6981 2025-12-11 18:03:44 +05:00
Andrej730 40cffe2dd1 cmake - remove unused installs after 8fb10d2 2025-12-05 20:24:00 +05:00
Andrej730 0555523c98 cmake - move all cgal related stuff to CGAL::CGAL target 2025-12-04 19:59:07 +05:00
Esteban DUGUEPEROUX 2e5d87b5d7 cmake: Link Eigen3 only against targets needing it 2025-12-02 14:53:44 +01:00
Esteban DUGUEPEROUX 083fab5255 cmake: Use standard install way
For specific install customization, use CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR variables.

See-Also: https://cmake.org/cmake/help/latest/guide/tutorial/Installation%20Commands%20and%20Concepts.html
2025-11-30 11:11:51 +01:00
Thomas Krijnen bd57cc8735 Move sweep directrix closer to origin #7408 2025-11-30 09:56:27 +01:00
Andrej730 9eedbc6f72 FindOpenCASCADE - fix linking issue with non-configs #7390
Unexpected consequence of #7365 - previously `OPENCASCADE_LIBRARIES` supposed to be a list of libraries filepaths, but after refactor `OpenCASCADE_LIBRARIES` end up being both list of library names and list of filepaths.
And since link directories for the names was not provided, it failed to find the libraries to link.
If using OpenCASCADEconfig it wouldn't fail as cmake would evaluate library names as imported target names.

To fix it and simplify it even further, in case of manually provided paths, it now creates `OpenCASCADE_INTERFACE` target and stores it in `OpenCASCADE_LIBRARIES` - target will automatically have all the includes, library names and library dirs.
2025-11-21 18:28:06 +05:00
Andrej730 f56a97512a Rename IFC_GEOM_EXPORTS replaced in #7340 2025-11-20 20:12:48 +05:00
Esteban DUGUEPEROUX 9d28628157 cmake: Have a dedicated CMakeLists.txt for kernels 2025-11-19 11:23:04 +01:00
Thomas Krijnen 80093f3777 Loft all wires not only the outer one #7251 2025-10-21 13:09:10 +02:00