Commit Graph

1550 Commits

Author SHA1 Message Date
Thomas Krijnen 8f443a79f3 Merge pull request #5184 from csritter/v0.8.0
Adding --surface-colour in conversion settings to force the use of surface color instead of diffuse color. Issue #5075
2024-10-02 17:24:34 +02:00
Thomas Krijnen 6e2e01b460 Fix incomplete swept surface mapping #5484 2024-09-30 12:30:34 +02:00
Thomas Krijnen 5d1dee4480 Apply transformation to swept surfaces in occt advanced brep impl #5484 2024-09-30 12:29:14 +02:00
Thomas Krijnen 62f696da51 Don't handle bspline-edges on planar faces in cgal-kernel #5484 2024-09-30 12:28:28 +02:00
Thomas Krijnen e2ae2a4a89 Fix negative modelo #5509 2024-09-28 19:44:19 +02:00
Richard Brice abe3d7e5db Fixes problem normalizing IfcDirection direction ratios 2024-09-28 06:19:41 -07:00
Thomas Krijnen dd01cb0e51 BaseUri setting for TTL+WKT 2024-09-28 14:47:08 +02:00
Andrej730 f7bf440848 AbstractKernel::dispatch_curve_creation - use static cast
Similar to 93c4749
2024-09-27 19:06:31 +05:00
Andrej730 9f02737a2e Fix segfault trying to create IfcSweptDiskSolid with invalid curve #5474
In my case it was IfcIndexedPolyCurve with just 1 vertex. Though kernel->convert does return a boolean value to indicate if conversion was successful, we never used it - so it failed silently leading to segfault later on.
Now we also stop processing those polycurves during mapping stage but checking kernel->convert result still might be useful in some other cases.
2024-09-27 17:00:33 +05:00
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 7d8ef3ffd0 Fix invalid IfcRevolvedAreaSolid representations with angle <360 deg
It was always assuming angle is 360 deg
2024-09-26 18:40:52 +05:00
Andrej730 23389dcac0 Update ellipse profile just for consistency with 11deb95 2024-09-26 18:40:51 +05:00
csritter a8157e7dd6 Merge branch 'v0.8.0' into v0.8.0 2024-09-25 11:20:47 -03:00
Andrej730 dd9de98290 Store edges representation item ids in Triangulation 2024-09-25 19:09:14 +05:00
Andrej730 aad66f94a3 rename addEdge overload to registerEdgeCount
So it won't be confused with addEdge that actually does add an edge to edges_.
2024-09-25 19:09:14 +05:00
Thomas Krijnen 0c70d4c828 Manually detect facet boundary intersections before triangulation #5470 2024-09-24 13:09:30 +02:00
Thomas Krijnen 11deb955f8 Fix ellipse major < minor workaround #5470 2024-09-24 13:09:30 +02:00
Thomas Krijnen 2557fcf628 Do let cgal handle planar adv brep #4915 2024-09-24 08:54:52 +02:00
Thomas Krijnen a51ed6e6b3 Fixes for using hybrid kernel on non-products #5443 2024-09-23 16:18:00 +02:00
Thomas Krijnen 0389f1e984 Make cgal implementation a little bit less confident #5453 2024-09-23 16:03:10 +02:00
Thomas Krijnen 4c048e4695 Update face.cpp - snail artefact on 7.8 as well #4924 2024-09-23 09:12:10 +02:00
Thomas Krijnen 2554280e50 triangulation-type setting for non-triangulated polyhedral from iterator 2024-09-18 19:28:07 +02:00
Andrej730 8f7949808a Move id to IfcGeom::Representation::Representation and document it
as it's a common attribute for all 3 Representation subclasses we have
2024-09-18 18:44:33 +05: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
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
Cristian Ritter a450c24739 Merge branch 'v0.8.0' of https://github.com/csritter/IfcOpenShell into v0.8.0 2024-08-26 15:34:55 -03:00
Cristian Ritter 56d19039e3 always apply in diffuse color, if doens't have surface color
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com>
2024-08-26 15:34:50 -03:00
csritter 2b8124071a Merge branch 'v0.8.0' into v0.8.0 2024-08-26 10:26:10 -03:00
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
csritter ae2933eea5 prevent a copy
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2024-08-26 01:08:06 -03:00
Thomas Krijnen fea8e3a5c9 Perform similar face bound lenciency in cgal kernel 2024-08-24 20:03:44 +02:00