#![warn(missing_docs)]
pub mod error;
pub mod camera;
pub mod geometry;
pub mod interaction;
pub mod quantities;
pub mod renderer;
pub mod resources;
pub mod scene;
pub mod widgets;
pub use geometry::bvh;
pub use geometry::primitives;
pub use interaction::clip_plane;
pub use interaction::gizmo;
pub use interaction::input;
pub use interaction::manipulation;
pub use interaction::picking;
pub use interaction::selection;
pub use interaction::snap;
pub use scene::aabb;
pub use scene::material;
pub use scene::traits;
pub use widgets::axes_indicator;
pub use error::{ViewportError, ViewportResult};
pub use camera::animator::{CameraAnimator, CameraDamping, Easing};
pub use camera::camera::{Camera, CameraTarget, Projection};
pub use camera::frustum::{CullStats, Frustum};
pub use camera::view_preset::ViewPreset;
pub use scene::aabb::Aabb;
pub use scene::material::{BackfacePattern, BackfacePolicy, Material, ParamVis, ParamVisMode, PatternConfig};
pub use scene::scene::{Group, GroupId, Layer, LayerId, Scene, SceneNode};
pub use scene::traits::{RenderMode, ViewportObject};
pub use geometry::bvh::PickAccelerator;
pub use geometry::implicit::{ImplicitRenderOptions, march_implicit_surface, march_implicit_surface_color};
pub use geometry::isoline::{IsolineItem, extract_isolines};
pub use geometry::marching_cubes::{VolumeData, extract_isosurface};
pub use interaction::gizmo::{
Gizmo, GizmoAxis, GizmoMode, GizmoSpace, PivotMode, gizmo_center_for_pivot,
};
pub use interaction::input::{
Action, ActionState, Binding, FrameInput, InputMode, InputSystem, KeyCode, Modifiers,
MouseButton, NavigationMode,
};
pub use interaction::input::{
ActionFrame, BindingPreset, ButtonState, ModifiersMatch, NavigationActions,
OrbitCameraController, ResolvedActionState, ScrollUnits, ViewportBinding, ViewportContext,
ViewportEvent, ViewportGesture, ViewportInput, viewport_all_bindings,
};
pub use interaction::manipulation::solvers::{
angular_rotation_from_cursor, constrained_scale, constrained_translation,
};
pub use interaction::manipulation::{
GizmoInfo, ManipResult, ManipulationContext, ManipulationController, ManipulationKind,
ManipulationState, TransformDelta,
};
pub use interaction::clip_plane::{
ClipAxis, ClipPlaneContext, ClipPlaneController, ClipPlaneDelta, ClipPlaneHit, ClipPlaneResult,
ClipPlaneSessionKind, hit_test_normal_handle, hit_test_plane_quad, plane_from_axis_preset,
project_drag_onto_normal, ray_plane_intersection, snap_plane_distance,
};
pub use interaction::picking::{
GpuPickHit, PickHit, ProbeBinding, RectPickResult, pick_rect,
pick_scene_accelerated_with_probe_cpu, pick_scene_nodes_with_probe_cpu, pick_scene_with_probe_cpu,
pick_volume_cpu, voxel_world_aabb,
};
pub use interaction::selection::{NodeId, Selection};
pub use interaction::snap::{ConstraintOverlay, SnapConfig};
pub use interaction::sub_object;
pub use interaction::sub_object::{SubObjectRef, SubSelection, SubSelectionRef, VolumeSelectionInfo};
pub use widgets::axes_indicator::AxisView;
pub use renderer::shader_hashes::ShaderValidation;
pub use renderer::stats::{FrameStats, PerformancePolicy, RuntimeMode};
pub use renderer::{
CameraFrame, CameraFrustumItem, ClipObject, ClipShape, ComputeFilterItem, ComputeFilterKind,
EffectsFrame, EnvironmentMap, FilterMode, FrameData, GlyphItem, GlyphType, GroundPlane,
GroundPlaneMode, ImageAnchor, InteractionFrame, LabelAnchor, LabelItem, LightKind, LightSource,
LightingSettings, LoadingBarAnchor, LoadingBarItem, OverlayFrame, OverlayImageItem, PickId,
PointCloudItem, PointRenderMode,
PolylineItem, PostProcessSettings, RenderCamera, RulerItem, ScalarBarAnchor, ScalarBarItem,
ScalarBarOrientation, SceneEffects,
SceneFrame, SceneRenderItem, ScreenImageItem,
ShadowFilter, StreamtubeItem, SurfaceSubmission, ToneMapping, ViewportEffects, ViewportFrame,
ViewportId, ViewportRenderer, VolumeItem,
};
pub use quantities::{
edge_one_form_to_glyphs, face_intrinsic_to_glyphs,
polyline_edge_vectors_to_glyphs, polyline_node_vectors_to_glyphs,
vertex_intrinsic_to_glyphs,
volume_mesh_cell_vectors_to_glyphs, volume_mesh_vertex_vectors_to_glyphs,
};
pub use resources::colormap_data::{
export_paraview_xml_colormap, lerp_colormap_lut, parse_paraview_xml_colormap,
};
pub use resources::mesh_store::MeshId;
pub use resources::sparse_volume::SparseVolumeGridData;
#[allow(deprecated)]
pub use resources::volume_mesh::{CELL_SENTINEL, TET_SENTINEL, VolumeMeshData};
pub use resources::{
AttributeData, AttributeKind, AttributeRef, BuiltinColormap, BuiltinMatcap, CameraUniform,
ClipVolumeUniform, ColormapId, ComputeFilterResult, FontError, FontHandle, GpuImplicitItem,
GpuImplicitOptions, GpuMarchingCubesJob, ImplicitBlendMode, ImplicitPrimitive, LightUniform,
LightsUniform, MatcapId, MeshData, SingleLightUniform, ViewportGpuResources, VolumeGpuId,
VolumeId, lerp_attributes,
};