Commit Graph

73 Commits

Author SHA1 Message Date
Richard Brice e077390e3d add update_key_point_referents to label key alignment points 2026-08-01 15:24:03 -07:00
Richard Brice 80cc603932 alignment: rename get_referent_nest to get_stationing_nest 2026-08-01 15:21:50 -07:00
Andrej730 b35f99e63f ty: detect unresolved references 2026-07-18 22:39:33 +05:00
Stephen Boddy c4605f2a8f Fix lint drift introduced by merging v0.8.0 into lint-pass
- add_stationing_referent.py: black reformat (new drift from v0.8.0).
- update_fallback_position.py: v0.8.0's changes to this file made the
  ifcopenshell.util.unit import (added in an earlier commit here) unused;
  removed per ruff.
2026-07-10 22:21:23 +01:00
Stephen Boddy 4a62ffe9ca Merge remote-tracking branch 'origin/lint-pass' into lint-pass 2026-07-10 22:20:29 +01:00
Stephen Boddy d5e890bccd Fix ty-ios type-check errors (ifcopenshell-python side)
poe ty's sequence only reaches ty-ios once ty-bonsai passes, so these
never surfaced until now:

- util/alignment.py: drop the stale `include_referent=False` kwarg from
  add_zero_length_segment() - that parameter was removed from the function's
  signature in 45ea5eb07 but this caller in a different file was missed,
  leaving a latent TypeError if this code path is ever exercised.
- ifcopenshell_wrapper.pyi: add the optional trailing `logger` parameter to
  parse_ifcxml/open/construct_iterator*, matching the real SWIG signatures
  in src/ifcwrap/*.i (all declare `Logger& logger = Logger::Root()`) that
  the hand-maintained stub never picked up.
- ifcopenshell/__init__.py: remove a stale `ty: ignore[unknown-argument]`
  comment that ty confirms is no longer suppressing anything.
- assign_cost_item_quantity.py: OPERATORS mixes 2-arg binary operators with
  the 1-arg `operator.neg` (for ast.USub), but FormulaEvaluator has no
  visit_UnaryOp so USub can never reach this lookup via visit_BinOp.
  Suppressed at the call site rather than touching the dict, since this
  looks like scaffolding for unary-minus support rather than dead code.
- Explicit submodule imports (ifcopenshell.geom / api.alignment / util.unit
  / api.aggregate / api.context / api.spatial) added where accessed but
  only reachable by accident of import order.
2026-07-10 22:19:56 +01:00
sboddy bba11aa619 Merge branch 'v0.8.0' into lint-pass 2026-07-10 21:53:44 +01:00
Stephen Boddy 78653a1708 Remove unused imports flagged by ruff
Fixes 23 unused-import violations, mostly in the alignment API module.
2026-07-10 20:42:49 +01:00
Stephen Boddy 216092150a Apply black formatting to fix CI lint-formatting drift
20 files had fallen out of sync with the project's black version;
running `black .` brings them back in line with no logic changes.
2026-07-10 20:42:18 +01:00
Richard Brice ade03b171a Fixes bug with fallback position introduced in 206cd6bb 2026-07-10 09:54:03 -07:00
Richard Brice b5c1b81ede Stationing referent can optionally be located relative to the basis_curve (default) or the alignment curve 2026-07-10 09:46:11 -07:00
Richard Brice 47a20f0c7c Locates positioning referent on the alignment curve, not the basis curve 2026-07-10 09:45:38 -07:00
Richard Brice 206cd6bbe1 Alignment API update for station and positioning referents. Fixes bug with fallback position. 2026-07-09 14:10:33 -07:00
Richard Brice 61642d2ba3 Fixes computation of fallback position for linear placement. PlacementRelTo was improperly ignored 2026-07-07 11:59:47 -07:00
Richard Brice 45ea5eb07a Updates alignment api. Fixes bugs authoring semantic-only alignment 2026-05-25 10:34:29 -07:00
Andrej730 333b6210a4 black . 2026-02-26 17:12:52 +05:00
Richard Brice 2692341d3a Fixes typo 2026-02-05 15:10:33 -08:00
Richard Brice a54b21b838 Fixes documentation and adds test for expected type 2026-02-05 04:37:58 -08:00
Andrej730 dfc91e6639 ifcopenshell-python - clean up unused imports 2026-01-16 17:16:24 +05:00
Andrej730 13be6ccd45 Sort imports 2025-12-19 18:53:14 +05:00
Andrej730 be66d4884d typing 2025-09-15 18:27:19 +05:00
Andrej730 10e805b3f1 black . 2025-09-10 15:34:06 +05:00
Richard Brice d552f247fa Fixed a typo mapping horizontal curve segments to geometry 2025-09-09 13:08:31 -07:00
Richard Brice 8ef083e3af Fixes position of zero-length segment 2025-09-09 12:13:09 -07:00
Richard Brice eba3ced5fe Fixes angle unit conversion when creating horizontal alignment from PI 2025-09-01 15:32:11 -07:00
Richard Brice a839183ac2 Fixes referent sorting 2025-08-29 14:37:17 -07:00
Richard Brice 34bf374047 Corrects nesting of referents 2025-08-29 12:48:16 -07:00
Andrej730 43fbdf57c8 black . 2025-08-28 11:09:45 +05:00
Richard Brice 39100b7c97 Fixes problems with referents 2025-08-27 11:32:25 -07:00
Richard Brice c090073858 Removes assumption about which nest contains alignment layout segments 2025-08-27 07:35:49 -07:00
Richard Brice 1de5940294 Separates referent and alignment layout usages into different referents 2025-08-26 08:02:57 -07:00
Richard Brice 9331e89d15 Alignments can now be created with or without geometric representations 2025-08-25 19:59:07 -07:00
Richard Brice 1fcf2fb53f Fixed zero length segment for vertical alignment. Refactors curve segment transition code 2025-08-14 13:56:36 -07:00
Andrej730 9e5b667380 black . 2025-08-13 14:22:46 +05:00
Richard Brice d57777290b Elevated segment curve transition code to a public function 2025-08-12 16:37:39 -07:00
Andrej730 ce6505847a black . 2025-08-11 11:23:18 +05:00
Richard Brice 762f4ff975 Implements business 2 geometry mapping for Viennese Bend for horizontal and cant layouts 2025-08-09 14:03:19 -07:00
Andrej730 36b86bbb54 Apply RUF022 (sorted __all__) 2025-08-08 19:12:11 +05:00
Andrej730 cdeeab4b31 black . 2025-07-28 17:03:25 +05:00
Richard Brice c8dbb72f69 Updated alignment stationing to account for stationing being defined on a parent alignment 2025-07-27 15:10:23 -07:00
Richard Brice a824141b90 Fixes IfcOffsetCurveByDistance 2025-07-27 15:10:23 -07:00
Richard Brice bb56882879 A few more fixes for zero length segments 2025-07-27 15:10:22 -07:00
Richard Brice ed0e825283 Alignment api bug fixes 2025-07-27 15:10:22 -07:00
Richard Brice c12ed46c49 Bug fixes with zero length segment and b2g mapping when project angle is not radian 2025-07-27 15:10:22 -07:00
Richard Brice 3ef7f1c141 Alignment API updates to support new patch recipes 2025-07-27 15:10:22 -07:00
Richard Brice d49a3486b9 Commented out debugging code for alignment 2025-07-18 14:47:14 -07:00
Richard Brice 78759a63f2 Updates helmert curve business2geometry mapping (again) 2025-07-18 12:29:28 -07:00
Richard Brice 913076de94 Updates helmert curve business2geometry mapping 2025-07-18 09:47:59 -07:00
Richard Brice a392a1fbfb Adds alignment as offset curve 2025-07-17 10:48:42 -07:00
Andrej730 30cbfad871 Fix code typo in 40f92d1 2025-07-15 17:47:37 +05:00