Skip to content

Skip incompleted ways, skip non-way members, prevent global modification of way object#100

Merged
Beakerboy merged 2 commits intoBeakerboy:mainfrom
deevroman:skip-uncompleted
May 7, 2025
Merged

Skip incompleted ways, skip non-way members, prevent global modification of way object#100
Beakerboy merged 2 commits intoBeakerboy:mainfrom
deevroman:skip-uncompleted

Conversation

@deevroman
Copy link
Copy Markdown
Contributor

@deevroman deevroman commented Apr 29, 2025

  1. You convinced me that there is no need to download incompleted parts :) I made it so that they are skipped.

  2. It is also important to check that the members of the relation are ways, otherwise it will lead to a crash.

  3. ways.push(way); replaced byways.push(way.cloneNode(true));, because in complex buildings, the way can be reused for different parts of the building and cannot be modified

It doesn't fix the Chrysler Building, but it does fix https://deevroman.github.io/OSMBuilding/?type=relation&id=5428216

With download:

With this PR:

@deevroman deevroman changed the title skip non-way members, skip incompleted ways, prevent global modification of Document with way Skip incompleted ways, skip non-way members, prevent global modification of way object May 5, 2025
@deevroman deevroman force-pushed the skip-uncompleted branch from 4f2afa8 to b5fc536 Compare May 6, 2025 20:05
@deevroman
Copy link
Copy Markdown
Contributor Author

Added a test where the current implementation in the main branch crashes

@Beakerboy Beakerboy merged commit 874b3fe into Beakerboy:main May 7, 2025
2 checks passed
Beakerboy added a commit that referenced this pull request Jun 4, 2025
* Split data downloading and building creating (#118)

* Outer building visibility (#119)

* Visibility (#120)

* Update building.js (#121)

* Tests for API (#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (#126)

* Fix crash when processing type=building with outline being a multipolygon (#124)

* #88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (#128)

* Update BuildingShapeUtils.js (#129)

* Update BuildingShapeUtils.js (#130)

* Update utils.test.js (#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Beakerboy added a commit that referenced this pull request Jun 8, 2025
* Update BuildingShapeUtils.js

* Update utils.test.js

* Update utils.test.js

* Update buildingpart.test.js

* Update BuildingShapeUtils.js

* Update buildingpart.test.js

* Update from main (#133)

* Split data downloading and building creating (#118)

* Outer building visibility (#119)

* Visibility (#120)

* Update building.js (#121)

* Tests for API (#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (#126)

* Fix crash when processing type=building with outline being a multipolygon (#124)

* #88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (#128)

* Update BuildingShapeUtils.js (#129)

* Update BuildingShapeUtils.js (#130)

* Update utils.test.js (#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update building.test.js

* Update buildingpart.js

* Fixed direction bug (#136)

* Update utils.test.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Beakerboy added a commit to Mosaic-NFT/OSMBuilding that referenced this pull request Jun 11, 2025
* Hipped roof (Beakerboy#128)

* Update BuildingShapeUtils.js (Beakerboy#129)

* Update BuildingShapeUtils.js (Beakerboy#130)

* Update utils.test.js (Beakerboy#132)

* Dev (Beakerboy#137)

* Update BuildingShapeUtils.js

* Update utils.test.js

* Update utils.test.js

* Update buildingpart.test.js

* Update BuildingShapeUtils.js

* Update buildingpart.test.js

* Update from main (Beakerboy#133)

* Split data downloading and building creating (Beakerboy#118)

* Outer building visibility (Beakerboy#119)

* Visibility (Beakerboy#120)

* Update building.js (Beakerboy#121)

* Tests for API (Beakerboy#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (Beakerboy#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (Beakerboy#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (Beakerboy#126)

* Fix crash when processing type=building with outline being a multipolygon (Beakerboy#124)

* Beakerboy#88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (Beakerboy#128)

* Update BuildingShapeUtils.js (Beakerboy#129)

* Update BuildingShapeUtils.js (Beakerboy#130)

* Update utils.test.js (Beakerboy#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update building.test.js

* Update buildingpart.js

* Fixed direction bug (Beakerboy#136)

* Update utils.test.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update README.md

* Update building.test.js

* Update building.test.js

* Update building.test.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants