Cristian Ritter
9fceec35cc
add diffuse on surface, if has no surface color
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-26 10:17:50 -03:00
Cristian Ritter
876f059459
remove surface white if doesn't have surface colour
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-15 14:18:13 -03:00
Cristian Ritter
b5a61753a5
Adding --surface-color in conversion settings to force the use of surface color instead of diffuse color. Issue #5075
2024-08-15 13:56:31 -03: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
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
Richard Brice
579768c35f
Fixes problem with cant values
2024-05-22 13:51:55 -07:00
Richard Brice
a45f6f980f
Prevents divide by zero when clothoid constant is 0.0
2024-05-20 13:17:18 -07:00
Richard Brice
507e4a8211
Fixes problem with constant cant
2024-05-08 10:28:01 -07:00
Richard Brice
a0b4c24224
Updates taxonomy::piecewise_function so it's immutable and implements internal caching. Adds new evaluate2 method that returns loop and vector of distance along for each loop point.
2024-05-07 10:24:46 -07:00
Richard Brice
648ca4d477
Resolves IfcSegmentCurve parent curve parameterization for line and clothoid
2024-05-04 18:07:09 -07:00
Richard Brice
6cb511b681
Removed IfcPolyLine as a parent curve for IfcCurveSegment.
2024-05-04 16:14:15 -07:00
Richard Brice
4dec319333
Re-write of IfcCurveSegment to eliminate recursion problem and provides a more standardized approach for all parent curve types
2024-05-04 16:03:36 -07:00
Thomas Krijnen
7af9944c27
find_openings() on representation as a hint for hybrid kernel
2024-04-29 21:29:34 +02:00
Thomas Krijnen
710f19af08
Prevent stackoverflow on long alignments in adjustments
2024-04-29 21:02:31 +02:00
Thomas Krijnen
e6cc500227
Some basic code to lookup lengths for pre ADD2 schemas
2024-04-29 21:00:59 +02:00
Thomas Krijnen
4e35e7455f
Also lookup style association on solids
2024-04-29 20:57:09 +02:00