#![warn(missing_docs)]
#![cfg_attr(not(test), deny(clippy::unwrap_used))]
mod builder;
mod error;
mod handle;
#[cfg(feature = "terrain-rgb")]
mod terrain_sources;
pub use builder::MapBuilder;
pub use error::RustialError;
pub use handle::MapHandle;
#[cfg(feature = "terrain-rgb")]
pub use terrain_sources::{AwsTerrainSource, MapboxTerrainSource};
pub use rustial_engine::{
GeoCoord, WorldCoord,
GeoBounds, WorldBounds,
Projection, WebMercator, Equirectangular, Globe, VerticalPerspective,
Ellipsoid,
geodesic_distance, geodesic_distance_on,
geodesic_destination, geodesic_destination_on,
GeodesicResult, VincentyConvergenceError,
TileId, TileCoord, FlatTileSelectionConfig, FlatTileView, MAX_ZOOM,
geo_to_tile, geo_to_tile_checked,
tile_to_geo, tile_bounds_world,
visible_tiles, visible_tiles_checked, visible_tiles_flat_view,
visible_tiles_flat_view_capped, visible_tiles_flat_view_capped_with_config,
visible_tiles_flat_view_refined_capped,
visible_tiles_flat_view_with_config, visible_tiles_lod,
Frustum, Plane,
PLANE_LEFT, PLANE_RIGHT, PLANE_BOTTOM, PLANE_TOP, PLANE_NEAR, PLANE_FAR,
ElevationGrid,
};
pub use rustial_engine::{
Camera, CameraAnimator, CameraConstraints, CameraController, CameraMode,
CameraProjection, EaseToOptions, FlyToOptions, InputEvent,
};
pub use rustial_engine::{
Layer, LayerId, LayerStack,
BackgroundLayer, DynamicImageOverlayLayer, HillshadeLayer, HillshadeParams,
ImageOverlayLayer, TileLayer, VectorLayer, ModelLayer,
VectorRenderMode, VectorStyle, VectorMeshData,
CallbackFrameProvider, FrameData, FrameProvider, FrameProviderFactory,
};
pub use rustial_engine::{
BackgroundStyleLayer, CircleStyleLayer, FillExtrusionStyleLayer, FillStyleLayer,
FromFeatureStateProperty, GeoJsonSource, HeatmapStyleLayer, HillshadeStyleLayer,
LineStyleLayer, MapStyle, ModelSource, ModelStyleLayer, RasterSource, RasterStyleLayer,
StyleDocument, StyleError, StyleEvalContext, StyleEvalContextFull, StyleLayer, StyleLayerId,
StyleLayerMeta, StyleProjection, StyleSource, StyleSourceId, StyleSourceKind, StyleValue,
SymbolStyleLayer, TerrainSource, VectorStyleLayer, VectorTileSource, ImageSource,
VideoSource, CanvasSource,
ClusterOptions, PointCluster,
circle_style_with_state, fill_extrusion_style_with_state, fill_style_with_state,
heatmap_style_with_state, line_style_with_state, symbol_style_with_state,
vector_style_with_state,
};
pub use rustial_engine::{
Expression, ExprEvalContext, NumericExpression, StringExpression, BoolExpression,
};
pub use rustial_engine::{FrameOutput, FitBoundsOptions, FitBoundsPadding, MapState};
pub use rustial_engine::{
Feature, FeatureCollection, Geometry,
Point, LineString, Polygon,
MultiPoint, MultiLineString, MultiPolygon,
PropertyValue,
simplify_douglas_peucker, simplify_polygon_ring,
stroke_line, triangulate_polygon, triangulate_polygon_with_holes,
bearing, geometry_bbox, geometry_centroid, initial_bearing,
interpolate_great_circle, linestring_length, polygon_area, ring_area,
};
#[cfg(feature = "geojson")]
pub use rustial_engine::{parse_geojson, GeoJsonError};
#[cfg(feature = "shapefile")]
pub use rustial_engine::{parse_shapefile, ShapefileError};
pub use rustial_engine::{
TileSource, TileDecoder, TileData, TileError, TileFreshness, TileResponse,
DecodedImage, RasterMipChain, RasterMipLevel,
VectorTileData,
HttpTileSource, HttpVectorTileSource, PooledTileSource,
TileCache, TileCacheEntry,
TileManager, TileManagerCounters, TilePixelRect, TileSelectionConfig,
TileSelectionStats, TileTextureRegion, VisibleTile, VisibleTileSet,
};
pub use rustial_engine::{FetchPool, HttpClient, HttpRequest, HttpResponse};
#[cfg(all(feature = "disk-cache", not(target_arch = "wasm32")))]
pub use rustial_engine::{DiskCache, DiskCacheError};
pub use rustial_engine::{
TileJson, TileJsonError, TileScheme, VectorLayerMeta,
};
#[cfg(feature = "style-json")]
pub use rustial_engine::{parse_tilejson, parse_tilejson_value};
pub use rustial_engine::{
decode_mvt, DecodedVectorTile, MvtDecodeOptions, MvtError,
};
pub use rustial_engine::{
build_terrain_mesh, prepare_hillshade_raster, ElevationSource, FlatElevationSource,
HttpElevationSource, PreparedHillshadeRaster, QuantizedMeshSource, TerrainConfig,
TerrainError, TerrainManager, TerrainMeshData, TerrainRgbEncoding,
};
pub use rustial_engine::{AltitudeMode, ModelInstance, ModelLoadError, ModelMesh};
#[cfg(feature = "wgpu-renderer")]
pub use rustial_renderer_wgpu::{RenderParams, TerrainInteractionBuffers, WgpuMapRenderer};
#[cfg(feature = "bevy-renderer")]
pub use rustial_renderer_bevy::{
backends_from_env, default_plugins, geo_to_vec3,
MapStateResource, RustialBevyConfig, RustialBevyPlugin, TerrainInteractionBuffersResource,
};
#[cfg(feature = "bevy-renderer")]
pub use rustial_renderer_bevy::components::{GeoAltitudeMode, GeoTransform, MapEntity};
pub use rustial_engine::{
GlyphAtlas, GlyphAtlasEntry, GlyphKey, GlyphProvider, GlyphRaster, ImageManager,
PlacedSymbol, ProceduralGlyphProvider, SpriteImage, SpriteSheet,
SymbolAnchor, SymbolAssetDependencies, SymbolAssetRegistry, SymbolCandidate,
SymbolCollisionBox, SymbolPlacementConfig, SymbolPlacementEngine,
SymbolWritingMode,
};
pub use rustial_engine::{
FeatureState, FeatureStateId, GeoBBox, QueriedFeature, QueryOptions,
geometry_intersects_bbox,
};
pub use rustial_engine::{
HitCategory, HitProvenance, NonPickableLayerKind, PickHit, PickOptions, PickQuery,
PickResult, PickableLayerKind,
};
pub use rustial_engine::{
InteractionButton, InteractionEvent, InteractionEventKind, InteractionModifiers,
InteractionTarget, InteractionTargetKind, PointerKind, ScreenPoint,
};
pub use rustial_engine::{InteractionConfig, InteractionManager};
pub use rustial_engine::{EventEmitter, ListenerId};
pub use rustial_engine::{
ColorRamp, ColorStop, ColumnInstance, ColumnInstanceSet, ExtrusionParams,
GeoGrid, GridExtrusionLayer, GridScalarLayer, InstancedColumnLayer,
LabeledStop, LegendSpec, NormalizationMode, PointCloudLayer, PointInstance,
PointInstanceSet, ScalarField2D, VisualizationOverlay,
};
pub use rustial_engine::{
DataTaskPool, DataTaskResultReceiver, ThreadDataTaskPool,
TerrainTaskInput, TerrainTaskOutput, TerrainCacheKey,
VectorTaskInput, VectorTaskOutput, VectorCacheKey,
VectorBucketKey, partition_features_by_tile,
AsyncVisualizationPipeline, VisualizationTaskOutput,
};