CesiumGS / 3d-tiles-tools

Apache License 2.0
319 stars 47 forks source link

Offer function to just extract elements of a composite tile #78

Closed javagl closed 1 year ago

javagl commented 1 year ago

There should be a command line function to extract the elements of a CMPT file. Right now, there only is cmptToGlb, which walks through the CMPT "recursively", and extracts all GLB that are found. So for a CMPT that has a structure like

CMPT
  CMPT
    I3DM
    I3DM
  B3DM

the function will extract the GLBs from both I3DMs, and the GLB from the B3DM. But there is no easy way to just etract that (inner) CMPT and B3DM from the top-level one.

The implementation should be fairly trivial, with only a few degrees of freedom. For example, one could consider a recurse:boolean parameter, to decide whether the result for the example should be the (inner)CMPT+B3DM, or all the "leaves" (I3DM, I3DM, B3DM).

javagl commented 1 year ago

Some backlink: Such a function once existed via https://github.com/CesiumGS/3d-tiles-validator/issues/39 . It only existed on the library level (and always working recursively), and there was no CLI function for that.