Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
大きいPRですみません! これでも出来ていないことが多いんですが、流石に大きすぎる気がするので、一旦ここで切らせてください…! ### やったこと - 主に建築物に対して、属性情報を付与し、Cesium上で表示できるようにした ### 出来ていないこと - sinkに流れてくるEntityに複数の主題属性が含まれている場合、属性情報がうまく表示されない - 文字列とスカラー以外の属性情報は、JSON文字列化しているため、ハンドリングする必要がある - nullの属性情報は適当に「0」を格納している - 処理を行うだけのコードになっていて、再利用できない ### 確認方法 - 以下のようなコマンドを実行 ```bash cargo run -p nusamai -- ~/plateau/22203_numazu-shi_2021_citygml_4_op/udx/bldg/52385654_bldg_6697_op.gml --sink gltf --output ~/MIERUNE/nusamai/demo/cesium/examples/ext_structural_metadata/test.glb ``` - ローカルサーバーを立ち上げる ```bash cd demo/cesium/ python -m http.server ``` - `http://localhost:8000/gltf_ext_structural_metadata.html`を確認 <img width="1872" alt="image" src="https://github.com/MIERUNE/nusamai/assets/31245655/65f31fad-8f0a-4ed6-bd74-c36a37e0e4bd"> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **新機能** - 3Dモデルに`EXT_mesh_features`拡張機能をサポートするための新しいファイル`test.gltf`を追加しました。 - GLTFファイルに構造メタデータ拡張機能を追加し、建物のタイプ、高さ、建設詳細などの属性とプロパティを定義しました。 - フィーチャーIDに基づいて拡散色を計算するためのフラグメントシェーダーのロジックを変更しました。 - CityGMLスキーマ属性をglTFスキーマプロパティにマッピングする機能を導入しました。 - GLTFデータ構造を構築および書き込む機能を実装しました。 - **バグ修正** - `viewer`の初期化を更新し、`tileset.modelMatrix`と`viewer.zoomTo`の設定をカメラコントローラーのプロパティの設定と地形の深さテストの有効化に置き換えました。 - **リファクタ** - 複数の構造体と列挙型に`Clone`トレイトを追加し、これらのタイプのインスタンスを複製できるようにしました。 - `Gltf`構造体内の`others`フィールドの可視性を`pub`に変更し、モジュール外からアクセス可能にしました。 - `nusamai/src/sink/gltf/mod.rs`内のモジュールを再構成し、新しいサブモジュールを導入し、コードを再編成しました。 - **スタイル** - コードの一部の命名規則を変更しました(例: `GltfPoc`から`Gltf`へ)。 <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Loading branch information