#include <fcb/geometry.hpp>
#include <nlohmann/json.hpp>
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
Go to the source code of this file.
|
| struct | fcb::GMBoundaries |
| | Flattened geometry boundaries: a flat vertex-index list plus one count array per level of the dimensional hierarchy (rings-per-surface, surfaces-per-shell, shells-per-solid). More...
|
| |
| struct | fcb::GMSemantics |
| | Flattened semantics: surfaces is the CityJSON semantics.surfaces array, passed through verbatim (FlatBuffers SemanticObject encoding, including its "other" attributes, is M3's job). More...
|
| |
| struct | fcb::MaterialMapping |
| | One theme's material mapping. More...
|
| |
| struct | fcb::TextureMapping |
| | One theme's texture mapping. More...
|
| |
| struct | fcb::EncodedGeometry |
| | Everything one CityJSON geometry object flattens to. More...
|
| |
|
| GeometryKind | fcb::geometry_kind_from_name (const std::string &name) |
| | Maps a CityJSON geometry type string to GeometryKind.
|
| |
| GMBoundaries | fcb::encode_boundaries (GeometryKind kind, const nlohmann::ordered_json &boundaries) |
| | Flattens boundaries (nested CityJSON boundary arrays, straight off the JSON as parsed – no intermediate typed representation) at exactly the depth kind implies.
|
| |
| GMSemantics | fcb::encode_semantics (const nlohmann::ordered_json &semantics, const GMBoundaries &boundaries) |
| | Flattens semantics (the CityJSON semantics object: surfaces plus values), using boundaries's shell/solid counts to expand a null shell or solid into the right number of per-surface nulls (there is no wire encoding for a whole-null shell in semantics, unlike material).
|
| |
| std::vector< MaterialMapping > | fcb::encode_material (const nlohmann::ordered_json &material) |
| | Flattens material (the CityJSON geometry.material object: theme name -> {"value": N} / {"values": [...]} / {"values": null}).
|
| |
| std::vector< TextureMapping > | fcb::encode_texture (const nlohmann::ordered_json &texture) |
| | Flattens texture (the CityJSON geometry.texture object).
|
| |
| EncodedGeometry | fcb::encode (const nlohmann::ordered_json &geometry) |
| | Flattens one CityJSON geometry object – its boundaries and whatever semantics, material and texture it carries – into the FlatCityBuf arrays.
|
| |