Commit Graph

345 Commits

Author SHA1 Message Date
Jean Niklas L'orange e39835d25e Make API more consistent 2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 9c1660a84b Catch and inform about errors
The changes in how specular roughness and transparency is read in was
done to ensure type safety. If you added

    "transparency": "0.8"

to the file, then that would be silently ignored. In the new style, it
instead errors out if the type cannot be converted to a double.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 7e9e56cd2c Support setting default "fallback" material style
Specifying a fallback default material style is added by specifying a
style for "*" in the --default-material-file.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange a6d3619449 Fix bug where default material was not initialised
We kind-of sort-of do double work here, but I think it is better to
always assume that InitDefaultMaterials when setting the defaults, to
avoid too many code paths.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange dab3382b29 Implement support for custom default materials
The support for custom default materials is implemented as a JSON
file passed via the command line. The default material specification
will override the defaults, except the toplevel default value.
2018-10-15 11:25:17 +02:00
Thomas Krijnen 3102a1c179 Check for empty bounding boxes in boolean op filter 2018-09-25 12:47:06 +02:00
Thomas Krijnen a8effa8289 No need to cast to TopoDS_Face anymore 2018-09-25 12:46:20 +02:00
Thomas Krijnen 92f4d76c81 Check for empty list of boolean operands 2018-09-21 14:53:39 +02:00
Thomas Krijnen d2337dc692 Missing FindFromKey() overload on older versions of occt 2018-09-21 12:06:10 +02:00
Thomas Krijnen 6b8681b74a That was bad 2018-09-21 11:45:36 +02:00
Thomas Krijnen 297812d4e2 Better handling of consecutive circular arc segments 2018-09-21 11:43:06 +02:00
Thomas Krijnen 7205f0165e Work around private copy constructor on older versions of occt 2018-09-21 11:21:51 +02:00
Thomas Krijnen bf4b5928dd Fail on empty face early 2018-09-21 10:22:37 +02:00
Thomas Krijnen 3840bd1154 Limit tolerance on wire self-intersection to edge segment length 2018-09-21 10:22:24 +02:00
Thomas Krijnen 622853d73d Filter boolean subtraction operands by intial bounding box test 2018-09-19 16:42:34 +02:00
Unknown bef9bd25f7 Fix dll export on Windows
Fix dll export on Windows
2018-09-19 10:09:05 +02:00
Thomas Krijnen 08557c2664 Don't fail on empty bounding box during halfspace processing 2018-09-17 15:21:12 +02:00
Thomas Krijnen a54b7863cd Fail early on duplicate (non consecutive) points in face loops 2018-09-17 14:59:15 +02:00
Thomas Krijnen 3101ccb83a Fixes for degenerate polylines 2018-09-17 14:42:22 +02:00
Thomas Krijnen 394a7f14ad Emit unopened shapes in case of exceptions during subtraction 2018-09-17 14:11:03 +02:00
Thomas Krijnen 983745b508 More careful face orientation check 2018-09-17 12:05:30 +02:00
Thomas Krijnen b05b62f440 Perform additional check on boolean result output for small edges or distances 2018-09-17 12:02:41 +02:00
Thomas Krijnen 51a9bb0ac1 Retry boolean operations if output is non-manifold on manifold input 2018-09-17 12:00:49 +02:00
Thomas Krijnen 452ab6e5bc Fix flaw in vertex-edge distance used to limit tolerance in boolean ops 2018-09-17 11:33:40 +02:00
Thomas Krijnen 0df2bfadef Don't sew overly complex geometries even as part of boolean operations #455 2018-09-12 16:44:30 +02:00
Thomas Krijnen 2eaae2bda8 Use BVH tree for wire intersections 2018-09-12 13:26:11 +02:00
Thomas Krijnen 229a708fc3 Emit error messages on missing units 2018-09-07 14:25:46 +02:00
luz.paz d78c9171db Misc. typos
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Stinkfist0 07f5ac6994 IfcGeomIterator: compute model's bounding box only if needed (IfcConvert --center-model used). 2018-08-26 12:17:24 +02:00
Thomas Krijnen b13c912c47 Work on #426 2018-08-20 11:46:26 +02:00
Thomas Krijnen 4cfb2f1027 SetNonDestructive does not exist prior to OCCT 7.0 2018-06-15 12:39:29 +02:00
Thomas Krijnen 6d25047c6b higher fuzz on half spaces 2018-06-12 16:15:28 +02:00
Thomas Krijnen 136ec5b224 'nondestructive' boolean ops 2018-06-12 16:15:12 +02:00
Thomas Krijnen 3ac8379187 Set precision on fix after boolean op 2018-06-08 14:12:01 +02:00
Thomas Krijnen 6c1ad47481 Additional improvements for comp curve wire building 2018-06-01 15:38:08 +02:00
Yorik van Havre 127bcaf96e adding exception for OCCT 7.3 2018-05-16 16:10:40 +02:00
Yorik van Havre 2d59f9d53a Removed one last remaining BOPCol_ListOfShapes
Replaced one last remaining BOPCol_ListOfShapes with TopTools_ListOfShapes (deprecated in OCC7.3)
2018-05-16 16:10:40 +02:00
Otso Alho 37460d3df9 do not calculate reuse_ok multiple times for mapped representations 2018-05-14 13:36:38 +02:00
Thomas Krijnen 637d3e2eb6 Optimize generation of faces with large (n > 128) number of edges. 2018-05-14 11:06:07 +02:00
Thomas Krijnen 2ed2e9cf86 Add include, missing depending on occt version 2018-05-13 18:52:53 +02:00
Thomas Krijnen c1635d65eb Add include, missing depending on occt version 2018-05-13 16:04:15 +02:00
Thomas Krijnen 495ad75b14 Proper scope around goto labels 2018-05-13 15:30:20 +02:00
Thomas Krijnen 966e57e94a #332 2018-05-13 14:41:39 +02:00
Thomas Krijnen ef7a1ab421 Limit boolean fuzz to edge length 2018-05-13 09:15:06 +02:00
Thomas Krijnen 089bb95c9f Fix previous commit on gcc 2018-05-13 08:45:33 +02:00
Thomas Krijnen 589f4bda2e ... but keep close point removal at 10 times precision 2018-05-08 16:19:47 +02:00
Thomas Krijnen 8ffc12e6cd Reduce radius on wire intersections 2018-05-08 09:41:19 +02:00
Thomas Krijnen 161f24d804 Copy operands prior to boolean operation 2018-05-05 16:09:12 +02:00
Thomas Krijnen 1f68d9d5bc TColgp_SequenceOfPnt::Upper() does not exist on all versions of occt 2018-04-18 11:57:38 +02:00
Thomas Krijnen 656346741e #288 #297 2018-04-18 11:33:57 +02:00