Andrej730
fe3b66c044
Stop processing IfcIndexedPolyCurve with < 2 verts at mapping stage #5474
...
as they're invalid and would't be able to create a curve
2024-09-27 17:00:33 +05:00
Andrej730
23389dcac0
Update ellipse profile just for consistency with 11deb95
2024-09-26 18:40:51 +05:00
Thomas Krijnen
11deb955f8
Fix ellipse major < minor workaround #5470
2024-09-24 13:09:30 +02:00
Thomas Krijnen
a51ed6e6b3
Fixes for using hybrid kernel on non-products #5443
2024-09-23 16:18:00 +02:00
Thomas Krijnen
d879bf9f89
Reintroduce --model-offset/-rotation MODEL_OFFSET/_ROTATION setting #5231
2024-09-13 11:38:24 +02:00
Thomas Krijnen
1697e49e65
Merge branch 'v0.8.0' into fix-ifccircle-ifcellipse-processing
2024-09-12 20:18:57 +02:00
Thomas Krijnen
2545769f67
Add support for IfcSectionedSurface
2024-09-12 11:20:48 +02:00
Andrej730
11f017e715
revert manual upgrade to edges for ellipses and circles
2024-09-11 15:53:04 +05: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
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
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +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
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
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
Richard Brice
9bf68db080
Fixes mapping of cant segments without superelevations
2024-07-17 15:46:36 -07:00
Thomas Krijnen
669b0b8c83
Fix triangulated face set #5020
2024-07-17 03:26:23 +02:00
Andrej730
355cca3679
Improve styles handling (partially support non-shading styles/fix bugs)
...
1) Previously create_shape (was failing with "RuntimeError: Unexpected topology") or iterator (was hanging indefinetely trying initialize with a IfcSlab from #4898 ) were breaking if element had a material that had IfcSurfaceStyle with just IfcExternallyDefinedSurfaceStyle and no IfcSurfaceStyleShading.
Now get_surface_style is returning IfcSurfaceStyle as first element of the pair even if there was no IfcSurfaceStyleShading - so it can be used to create a `taxonomy::style::ptr` with it to indicate that geometry is still referring to some style.
2) Added logs for unsupported presentation styles (non-IfcSurfaceStyles) to both `mapping::map_impl(const IfcSchema::IfcStyledItem* inst)` and `mapping::map_impl(const IfcSchema::IfcMaterial* material)`. Also `map_impl` will not break now if it will meet IfcCurveStyle.
2024-07-09 20:13:59 +05:00
Thomas Krijnen
d4efcd40f9
Advanced brep, sweeps and various fixes #4848 #4895
2024-07-03 14:36:35 +02:00
Thomas Krijnen
675e1982ee
Move macro logic into template function; mark failures as intended #4915
2024-07-01 20:34:51 +02:00
Thomas Krijnen
22cd1e8b9e
Another case of mutability causing havoc
2024-07-01 19:55:14 +02:00
Thomas Krijnen
42b96d6290
Further work on trying to get orientation properly mapped
2024-06-28 13:41:01 +02:00
Thomas Krijnen
a2334f4ce0
More 4X3 non-ADD2 permissiveness in param values on polynomials
2024-06-28 13:39:19 +02:00
Thomas Krijnen
db50c87bf4
Fixed collections not being geom_items in mapped item handling
2024-06-28 13:38:56 +02:00
Thomas Krijnen
eccbdfa76e
Eval eigen auto #4727
2024-06-26 21:21:47 +02:00
Thomas Krijnen
8da68f599b
Move print() to header, distinguish properly between curve_sense and edge orientation, unwrap trimmed curves as edge bases, don't mutated cached edge in oriented edge processing, etc. #4895
2024-06-24 21:56:27 +02:00
Thomas Krijnen
278524ee3e
Uninitialized use of context
2024-06-24 21:52:31 +02:00
Thomas Krijnen
a9912f351f
Don't dereference empty unit assignment list
2024-06-24 21:52:08 +02:00
Andrej730
1e092c140f
add ifc2x3 support for 301cdf650
2024-06-21 17:50:22 +05:00
Andrej730
68d3539a86
mapping binding - never overwrite already set item->instance
...
1) this way code should be more straightforward
2) this allows us not to reimplement mapping.get_surface_style logic in IfcGeomWrapper as it will be already handled in map_impl(const IfcSchema::IfcStyledItem* inst) and the resulting item->instance is not overridden by IfcStyledItem.
2024-06-21 14:52:37 +05:00
Andrej730
301cdf6504
Fix creating representation with inherited materials
...
It should be considered as inherited material can also have a style.
Though occurrence's material is still prioritized.
2024-06-21 14:52:37 +05:00
Andrej730
882e0a4ae9
Fix instance_id in geometry.materials returning material id instead of style id
2024-06-21 14:52:37 +05:00
Thomas Krijnen
82496e8126
m4 not referenced in IfcEllipseProfileDef
2024-06-18 12:32:00 +02:00
Thomas Krijnen
9c22e6ecc8
Support evaluation of faces directly, add identity matrix on unplaced circle profile curves #4832
2024-06-18 12:32:00 +02:00
Thomas Krijnen
2a5e42e359
Don't log 'no op defined' for failed conversions
2024-06-11 20:09:37 +02:00
Thomas Krijnen
dae7d86dad
Fix style lookup in accordance with v0.7 #4844
2024-06-11 20:09:37 +02:00