5# include <fcb/generated/extension_generated.h>
6# include <fcb/generated/header_generated.h>
11# include <nlohmann/json.hpp>
49::Transform
to_transform(
const nlohmann::ordered_json& transform);
74::flatbuffers::Offset<::ReferenceSystem>
to_reference_system(::flatbuffers::FlatBufferBuilder& fbb,
80::flatbuffers::Offset<::Extension>
to_extension(::flatbuffers::FlatBufferBuilder& fbb,
81 const std::string& name,
const std::string& url,
82 const std::string& version);
89::flatbuffers::Offset<::flatbuffers::Vector<const ::DoubleVertex*>>
91 const nlohmann::ordered_json& vertices_templates);
103 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
contact_name;
104 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
contact_type;
105 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
role;
106 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
phone;
107 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
email;
108 std::optional<::flatbuffers::Offset<::flatbuffers::String>>
website;
116 const nlohmann::ordered_json& poc);
142::flatbuffers::Offset<::Header>
143to_fcb_header(::flatbuffers::FlatBufferBuilder& fbb,
const nlohmann::ordered_json& cj,
146 const std::vector<AttributeIndexInfo>* attribute_indices_info);
constexpr std::uint16_t kDefaultNodeSize
::flatbuffers::Offset<::flatbuffers::Vector< const ::DoubleVertex * > > to_templates_vertices(::flatbuffers::FlatBufferBuilder &fbb, const nlohmann::ordered_json &vertices_templates)
Builds Header.templates_vertices from CityJSON's geometry-templates.vertices-templates (f64 precision...
::Transform to_transform(const nlohmann::ordered_json &transform)
Builds the Transform struct (scale + translate) from CityJSON's top-level transform member.
PocOffsets to_point_of_contact(::flatbuffers::FlatBufferBuilder &fbb, const nlohmann::ordered_json &poc)
std::map< std::string, std::pair< std::uint16_t, ::ColumnType > > AttributeSchema
Attribute schema: name -> (column index, column type).
::flatbuffers::Offset<::ReferenceSystem > to_reference_system(::flatbuffers::FlatBufferBuilder &fbb, const ParsedReferenceSystem &ref_sys)
Builds the ReferenceSystem table from a parsed metadata.referenceSystem URL.
::flatbuffers::Offset<::Extension > to_extension(::flatbuffers::FlatBufferBuilder &fbb, const std::string &name, const std::string &url, const std::string &version)
Builds one extensions entry: only name/url/version are written (the schema document itself is never f...
std::optional< ParsedReferenceSystem > parse_reference_system(const std::string &url)
Parses a referenceSystem URL (https://www.opengis.net/def/crs/{authority}/{version}/{code},...
::flatbuffers::Offset<::Header > to_fcb_header(::flatbuffers::FlatBufferBuilder &fbb, const nlohmann::ordered_json &cj, const HeaderWriterOptions &options, const AttributeSchema &attr_schema, const AttributeSchema *semantic_attr_schema, const std::vector< AttributeIndexInfo > *attribute_indices_info)
Builds the whole Header table from the CityJSON metadata line (the first line of a CityJSONSeq: type/...
One attribute column's B+tree index metadata, as recorded in the header (AttributeIndex,...
std::uint16_t branching_factor
std::uint32_t num_unique_items
A metadata.referenceSystem URL, parsed into its OGC three-element form.
Builds the pointOfContact fields of a header from CityJSON metadata.pointOfContact.
std::optional<::flatbuffers::Offset<::flatbuffers::String > > contact_name
std::optional<::flatbuffers::Offset<::flatbuffers::String > > role
std::optional<::flatbuffers::Offset<::flatbuffers::String > > phone
std::optional<::flatbuffers::Offset<::flatbuffers::String > > website
std::optional<::flatbuffers::Offset<::flatbuffers::String > > address_postcode
std::optional<::flatbuffers::Offset<::flatbuffers::String > > email
std::optional<::flatbuffers::Offset<::flatbuffers::String > > address_thoroughfare_number
std::optional<::flatbuffers::Offset<::flatbuffers::String > > address_country
std::optional<::flatbuffers::Offset<::flatbuffers::String > > address_thoroughfare_name
std::optional<::flatbuffers::Offset<::flatbuffers::String > > contact_type
std::optional<::flatbuffers::Offset<::flatbuffers::String > > address_locality