Skip to main content

Crate cityjson_lib_ffi_core

Crate cityjson_lib_ffi_core 

Source
Expand description

Shared low-level FFI core for the publishable non-Rust bindings.

This crate owns the common low-level substrate used by the C++ and Python layers. The public contract stays intentionally narrow: opaque model handles, explicit ownership, stable status/error categories, and bytes-in/bytes-out entry points on top.

Re-exports§

pub use abi::cj_affine_transform_4x4_t;
pub use abi::cj_bbox_t;
pub use abi::cj_bytes_list_t;
pub use abi::cj_bytes_t;
pub use abi::cj_cityjsonseq_auto_transform_options_t;
pub use abi::cj_cityjsonseq_write_options_t;
pub use abi::cj_cityobject_id_t;
pub use abi::cj_contact_role_t;
pub use abi::cj_contact_t;
pub use abi::cj_contact_type_t;
pub use abi::cj_error_kind_t;
pub use abi::cj_geometry_boundary_t;
pub use abi::cj_geometry_boundary_view_t;
pub use abi::cj_geometry_draft_t;
pub use abi::cj_geometry_id_t;
pub use abi::cj_geometry_selection_spec_t;
pub use abi::cj_geometry_template_id_t;
pub use abi::cj_geometry_type_t;
pub use abi::cj_geometry_types_t;
pub use abi::cj_image_type_t;
pub use abi::cj_indices_t;
pub use abi::cj_indices_view_t;
pub use abi::cj_json_write_options_t;
pub use abi::cj_material_id_t;
pub use abi::cj_model_capacities_t;
pub use abi::cj_model_selection_t;
pub use abi::cj_model_summary_t;
pub use abi::cj_model_t;
pub use abi::cj_model_type_t;
pub use abi::cj_probe_t;
pub use abi::cj_rgb_t;
pub use abi::cj_rgba_t;
pub use abi::cj_ring_draft_t;
pub use abi::cj_root_kind_t;
pub use abi::cj_semantic_id_t;
pub use abi::cj_shell_draft_t;
pub use abi::cj_solid_draft_t;
pub use abi::cj_status_t;
pub use abi::cj_string_view_t;
pub use abi::cj_surface_draft_t;
pub use abi::cj_texture_id_t;
pub use abi::cj_texture_type_t;
pub use abi::cj_transform_t;
pub use abi::cj_uv_t;
pub use abi::cj_uvs_t;
pub use abi::cj_value_kind_t;
pub use abi::cj_value_t;
pub use abi::cj_version_t;
pub use abi::cj_vertex_t;
pub use abi::cj_vertices_t;
pub use abi::cj_wrap_mode_t;
pub use error::AbiError;
pub use error::clear_last_error;
pub use error::copy_last_error_message;
pub use error::last_error_kind;
pub use error::last_error_message_len;
pub use error::last_error_status;
pub use error::run_ffi;
pub use error::set_last_error;
pub use error::set_last_error_from_cityjson_lib_error;
pub use handle::bytes_free;
pub use handle::bytes_from_string;
pub use handle::bytes_from_vec;
pub use handle::bytes_list_free;
pub use handle::bytes_list_from_vec;
pub use handle::cityobject_draft_as_mut;
pub use handle::cityobject_draft_free;
pub use handle::cityobject_draft_into_handle;
pub use handle::cityobject_draft_take;
pub use handle::contact_as_mut;
pub use handle::contact_free;
pub use handle::contact_into_handle;
pub use handle::contact_take;
pub use handle::geometry_boundary_free;
pub use handle::geometry_draft_as_mut;
pub use handle::geometry_draft_free;
pub use handle::geometry_draft_into_handle;
pub use handle::geometry_draft_take;
pub use handle::geometry_types_free;
pub use handle::geometry_types_from_vec;
pub use handle::indices_free;
pub use handle::indices_from_vec;
pub use handle::model_as_mut;
pub use handle::model_as_ref;
pub use handle::model_free;
pub use handle::model_into_handle;
pub use handle::model_selection_as_ref;
pub use handle::model_selection_free;
pub use handle::model_selection_into_handle;
pub use handle::model_selection_take;
pub use handle::model_take;
pub use handle::ring_draft_as_mut;
pub use handle::ring_draft_free;
pub use handle::ring_draft_into_handle;
pub use handle::ring_draft_take;
pub use handle::shell_draft_as_mut;
pub use handle::shell_draft_free;
pub use handle::shell_draft_into_handle;
pub use handle::shell_draft_take;
pub use handle::solid_draft_as_mut;
pub use handle::solid_draft_free;
pub use handle::solid_draft_into_handle;
pub use handle::solid_draft_take;
pub use handle::surface_draft_as_mut;
pub use handle::surface_draft_free;
pub use handle::surface_draft_into_handle;
pub use handle::surface_draft_take;
pub use handle::uvs_free;
pub use handle::uvs_from_vec;
pub use handle::value_as_mut;
pub use handle::value_free;
pub use handle::value_into_handle;
pub use handle::value_take;
pub use handle::vertices_free;
pub use handle::vertices_from_vec;

Modules§

abi
error
exports
handle
ids