Thomas Krijnen
1697e49e65
Merge branch 'v0.8.0' into fix-ifccircle-ifcellipse-processing
2024-09-12 20:18:57 +02:00
Andrej730
cb21f9bc07
taxonomy::cast - order upgrades in the same order as in taxonomy::dcast for consistency
2024-09-12 16:30:06 +05:00
Andrej730
f930897240
taxonomy::dcast - add missing curve_to_loop_upgrade
2024-09-12 16:30:05 +05:00
Andrej730
93c47498ef
AbstractKernel::dispatch_conversion - use static cast
...
Previously it was using taxonomy::cast that was also trying to upgrade current item - due to the strictness of dispatch_conversion (it works only if type matches exactly because of `N == item_kind`) upgrades will never succeed so we may just skip them.
2024-09-12 16:30:05 +05:00
Thomas Krijnen
2545769f67
Add support for IfcSectionedSurface
2024-09-12 11:20:48 +02:00
Andrej730
005c17084b
dispatch_with_upgrade to use only upgrade types for optimization
2024-09-11 19:42:47 +05:00
Andrej730
858e57351e
AbstractKernel::convert - more generic approach
2024-09-11 19:42:47 +05:00
Andrej730
35221ed772
AbstractKernel::convert to use upgrade to edge as a fallback
2024-09-11 15:53:04 +05:00
Andrej730
37315e941a
taxonomy.h - move upgrades code to cpp
2024-09-11 15:53:04 +05:00
Andrej730
11f017e715
revert manual upgrade to edges for ellipses and circles
2024-09-11 15:53:04 +05:00
Thomas Krijnen
c63f1cfa88
Iterator: Don't crash on calling get() before initialize()
2024-09-11 11:18:09 +02:00
Richard Brice
cc7171060f
Decouples evaluation of a piecewise_function from the function itself ( #5344 )
2024-09-10 10:11:17 -07:00
Andrej730
34aed93b7b
Fix 2 segfaults creating IfcEllipseProfileDef
...
1) taxonomy::ellipse was missing matrix so create_shape was segfaulting either was if Position was set or was not (segfaulting on line - https://github.com/IfcOpenShell/IfcOpenShell/blob/5616367a03ea397885e93523e55788da82238742/src/ifcgeom/kernels/opencascade/loop.cpp#L92 )
2) was segfaulting when there was no default matrix
Removed fc->matrix assignment as matrix is already assigned to the curve.
2024-09-10 18:28:18 +05:00
Andrej730
6cf9875472
Fix error processing IfcCircle/IfcEllipse #5352
2024-09-10 12:54:44 +05:00
Andrej730
13ed4d3a6c
ifcopenshell to support styles assigned to IfcFaces #4038
2024-09-09 17:28:23 +05:00
Thomas Krijnen
680c73f15b
Less noisy faceset helper messages
2024-09-09 09:58:02 +02:00
Thomas Krijnen
89e3650d77
No need to check for manifoldness when processing boolean ops in 2d
2024-09-09 09:57:43 +02:00
Richard Brice
c9d2390d9a
Implements cant geometry
2024-09-06 10:02:08 -07:00
Thomas Krijnen
f8a2cce202
Use polygon_from_points() and handle Position for CSG Pyramid #5241
2024-09-01 15:14:22 +02:00
Thomas Krijnen
b786e129bd
Fix faceset helper stats
2024-09-01 15:12:43 +02:00
Thomas Krijnen
fea8e3a5c9
Perform similar face bound lenciency in cgal kernel
2024-08-24 20:03:44 +02:00
Thomas Krijnen
3137904055
Perform mapping in parallel (or --no-parallel-mapping)
2024-08-24 20:03:44 +02:00
Thomas Krijnen
5fdad744d3
Cgal kernel: Fail boolean op altogether when part conversion to Nef fails
2024-08-23 20:42:32 +02:00
Thomas Krijnen
ab6f408db4
Unify edge orientation logic among kernels
2024-08-23 20:41:42 +02:00
Thomas Krijnen
cdf8b9c038
Cgal kernel: taxonomy::line is intended to run along local Z
2024-08-23 20:41:17 +02:00
Thomas Krijnen
918fb41a7e
Unify face bound counting logic among kernels
2024-08-23 20:39:20 +02:00
Thomas Krijnen
1d8e39e55f
NB! For now let's use Epick for cgal-simple instead of actually Simple_cartesian
2024-08-23 20:38:38 +02:00
Thomas Krijnen
b0b65e550c
dispatch_curve_creation based on template magic instead of dynamic casting
2024-08-23 20:36:47 +02:00
Thomas Krijnen
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +02:00
Thomas Krijnen
45be17c25a
Remove duplicate UseMaterialNames setting binding #5191
2024-08-19 09:15:49 +02:00
Richard Brice
c31c34b7d2
reimplements piecewise_function using PIMPL idiom
...
PIMPL idiom allows implementaiton of piecewise_function to evolve without envoking systemwide recompile (unless the class definition changes)
2024-08-01 12:34:49 -07:00
Richard Brice
b22ecba179
Implements mutually exclusive access to mapping cache with a mutex
2024-08-01 07:15:22 -07:00
Thomas Krijnen
db5167bbaf
Prevent infinite recursion
2024-08-01 07:59:23 +02:00
Thomas Krijnen
7d6e26bfd5
Add revolve as top-level item in occt kernel
2024-08-01 07:48:42 +02:00
Thomas Krijnen
2fd339ac6b
Hack/workaround for #5064
2024-08-01 07:48:28 +02:00
Richard Brice
60b007d28a
Fixes domain of vertical and cant pwf (Issue #5072 )
2024-07-29 09:48:15 -07:00
Andrej730
a1d8fbdbe9
Fix missing materials from sets #5093 #4832
...
Regression in ifcopenshell 0.8 - missing materials and styles from IfcMaterialProfileSets, IfcMaterialProfileSetUsages, IfcMaterialLayerSet.
2024-07-27 15:38:22 +05:00
Thomas Krijnen
91f4427bb5
Start from project instead of unit assignment #5074
2024-07-25 10:23:12 +02:00
Thomas Krijnen
b988df9e1f
Address old merge issue regarding style lookup #5069
2024-07-24 03:07:17 +02:00
Thomas Krijnen
dda010b130
Wire up ___localplacement settings #5031
2024-07-23 10:15:52 +02:00
Richard Brice
54131b3fe5
IfcSectionedSolidHorizontal logs warning if Directrix is not a piecewise function, rather than silently failing.
2024-07-22 13:21:49 -07:00
Thomas Krijnen
c0f2ac592e
Consider edge orientation in faceset helper for advanced planar breps #4895
2024-07-22 13:07:40 +02:00
Thomas Krijnen
41f1d66fee
Fix 2d transform op + fixed ref column order #5048
2024-07-22 04:33:35 +02:00
Thomas Krijnen
2b3035ec02
Lookup styles on (arbitrarily) more taxonomy kinds
2024-07-21 11:56:02 +02:00
Thomas Krijnen
cc0760d505
profile_helper() returns loop, not face, take into account in hollow profile def
2024-07-21 11:55:18 +02:00
Thomas Krijnen
f683fd220f
Take into account tapered extrusion position
2024-07-21 11:54:48 +02:00
Thomas Krijnen
889d3c5451
Don't fail on tapered extrusion over non-derived profile def #5046
2024-07-21 11:53:42 +02:00
Thomas Krijnen
c16cfc8afd
Support extrusion over composite profile
2024-07-21 11:52:48 +02:00
Thomas Krijnen
3bbe598dff
Minor formatting improvements
2024-07-21 02:40:56 +02:00
Thomas Krijnen
e88bd3af80
Fix profile fillets #4993
2024-07-21 02:40:09 +02:00