Andrej730
dedbf7014a
fill context attribute of the shape elements (similar to v0.7.0) #4832
2024-07-16 18:02:26 +05:00
Andrej730
83a0d7a63c
prevent freezing the iterator in case of unhandled exceptions
...
Solving an issue in 355cca3 I've noticed that because of some unhandled exception iterator was freezing and hanging indefinitely, this should be resolved now to be safe.
Also added had_errors_during_initialization() method that can help identify whether there were errors either during iterator initialization or processing elements.
2024-07-10 15:34:35 +05: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
dda4dd3ab5
occt 7.6 compatibility
2024-07-04 09:08:30 +02:00
Thomas Krijnen
cf3d050423
Rename taxonomy kind enum accordingly
2024-07-03 20:04:52 +02:00
Thomas Krijnen
10c3893b79
Missing file
2024-07-03 15:07:28 +02:00
Thomas Krijnen
e2198c3ba7
Advanced brep: closed underlying nurbs curve handling #4895
2024-07-03 15:03:49 +02:00
Thomas Krijnen
71ef1bf056
Advanced brep, sweeps and various fixes #4848 #4895
2024-07-03 14:42:51 +02:00
Thomas Krijnen
d4efcd40f9
Advanced brep, sweeps and various fixes #4848 #4895
2024-07-03 14:36:35 +02:00
Thomas Krijnen
19b89a3b1f
Workarounds for unstyled elements in tree and wrapper #4924
2024-07-02 11:44:00 +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
c68dcba087
Implement element-hierarchy setting in USD
2024-06-29 14:16:07 +02:00
Thomas Krijnen
c7232a780a
Remove debug print
2024-06-28 16:21:33 +02:00
Thomas Krijnen
e96b4c11a2
Implement edge as top-level representation item #4924
2024-06-28 16:19:43 +02:00
Thomas Krijnen
fecca6a8b2
What a bad idea to let ellipse inherit from circle"
2024-06-28 16:19:43 +02:00
Andrej730
d1be0e8c1c
create_shape - raise the same error for representations and rep items
...
To be consistent with how it's handled when product+representation is passed, previously it would fail silently.
2024-06-28 18:24:58 +05:00
Thomas Krijnen
42b96d6290
Further work on trying to get orientation properly mapped
2024-06-28 13:41:01 +02:00
Thomas Krijnen
76b7748be1
Note some time points #4915
2024-06-28 13:39:58 +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
dc8766cf0a
Formatting improvements
2024-06-28 13:38:36 +02:00
Thomas Krijnen
599ca56496
Mark piecewise_function as geom_item #4727
2024-06-27 09:33:04 +02:00
Dion Moult
2d5be6cf89
Search replace 0.7.0 with 0.8.0
2024-06-27 11:49:12 +10:00
Thomas Krijnen
1299a8f512
Mark edge as geom_item
2024-06-26 21:21:47 +02:00
Thomas Krijnen
eccbdfa76e
Eval eigen auto #4727
2024-06-26 21:21:47 +02:00
Thomas Krijnen
bace73f854
Switch back to minkowski dilation for the time being
2024-06-24 21:56:57 +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
88c8bcf119
Pin OCCT serialization version to v2 #4393
2024-06-19 14:44:52 +02:00
Thomas Krijnen
a3d4642ea9
Fix boolean results on non-solid shells #4832
2024-06-18 21:30:00 +02:00
Thomas Krijnen
0e42130e9d
Taxonomy curve upgrades #4832
2024-06-18 20:18:39 +02:00
Thomas Krijnen
691fe549d7
taxonony::cast throws exceptions now on invalid casts
2024-06-18 13:52:42 +02:00
Thomas Krijnen
f5979be4d5
Keep old behaviour of subtractions, when failed use first operand #4832
2024-06-18 13:09:32 +02: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
17a433a97b
Don't pass around nullptr in case of failed representation mapping
2024-06-18 12:32:00 +02:00
Thomas Krijnen
ecef745c3b
OCCT doesn't like null shapes even on symmetric bools
2024-06-12 11:47:27 +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
Thomas Krijnen
acd4274136
Don't blindly assumes openings have representations for the selected contexts. #4832
2024-06-11 15:25:03 +02:00
Thomas Krijnen
d400a48a9d
Remember your own conventions: lines run along positive Z
2024-06-11 14:14:47 +02:00
Thomas Krijnen
4331f4f785
Don't stall threads on occt failures
2024-06-11 14:14:11 +02:00
Thomas Krijnen
07827940cc
Some defensiveness against null shapes (should look into this better)
2024-06-11 11:20:55 +02:00
Thomas Krijnen
c2efcda7bb
Don't use cached items in multi-threaded mode for now until we have proper immutability
2024-06-11 11:20:40 +02:00