Skip to main content

modelio/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4    clippy::cast_possible_truncation,
5    clippy::doc_markdown,
6    clippy::missing_const_for_fn,
7    clippy::missing_errors_doc,
8    clippy::module_name_repetitions,
9    clippy::must_use_candidate,
10    clippy::redundant_pub_crate,
11    clippy::return_self_not_must_use,
12    clippy::similar_names,
13    clippy::struct_excessive_bools,
14    clippy::too_many_lines
15)]
16
17mod animated_value_types;
18mod animation;
19mod asset;
20mod asset_resolver;
21mod camera;
22mod error;
23mod ffi;
24mod handle;
25mod light;
26mod light_probe;
27mod material;
28mod mesh;
29mod mesh_buffer;
30mod object;
31mod physically_plausible_light;
32mod skeleton;
33mod submesh;
34mod texture;
35mod transform;
36mod types;
37mod util;
38mod vertex_attribute;
39mod voxel_array;
40
41pub use animated_value_types::{
42    AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray, AnimatedScalar,
43    AnimatedScalarArray, AnimatedValue, AnimatedVector2, AnimatedVector3, AnimatedVector3Array,
44    AnimatedVector4,
45};
46pub use animation::{AnimationBindComponent, PackedJointAnimation};
47pub use asset::Asset;
48pub use asset_resolver::{AssetResolver, BundleAssetResolver, PathAssetResolver, RelativeAssetResolver};
49pub use camera::Camera;
50pub use error::{ModelIoError, Result};
51pub use light::Light;
52pub use light_probe::{LightProbe, LightProbeIrradianceDataSource};
53pub use material::{Material, MaterialProperty};
54pub use mesh::{Mesh, MeshBuffer, VertexAttributeData};
55pub use mesh_buffer::{
56    MeshBufferAllocator, MeshBufferData, MeshBufferDataAllocator, MeshBufferMap, MeshBufferZone,
57    MeshBufferZoneDefault,
58};
59pub use object::Object;
60pub use physically_plausible_light::PhysicallyPlausibleLight;
61pub use skeleton::Skeleton;
62pub use submesh::Submesh;
63pub use texture::Texture;
64pub use transform::{
65    Transform, TransformComponent, TransformMatrixOp, TransformOp, TransformOrientOp,
66    TransformRotateOp, TransformRotateXOp, TransformRotateYOp, TransformRotateZOp, TransformScaleOp,
67    TransformStack, TransformTranslateOp,
68};
69pub use types::{
70    vertex_format, AnimatedValueInfo, AnimatedValueInterpolation, AssetInfo, BoundingBox,
71    CameraInfo, CameraProjection, DataPrecision, GeometryType, IndexBitDepth, LightInfo, LightType,
72    MaterialFace, MaterialInfo, MaterialPropertyInfo, MaterialPropertyType, MaterialSemantic,
73    MeshBufferInfo, MeshBufferType, ObjectInfo, ObjectKind, PackedJointAnimationInfo,
74    PhysicallyPlausibleLightInfo, ProbePlacement, SkeletonInfo, TextureChannelEncoding, TextureInfo,
75    TransformOpRotationOrder, VertexAttributeDescriptorInfo, VertexAttributeInfo,
76    VertexDescriptorInfo, VoxelArrayInfo, VoxelIndexExtent,
77};
78pub use vertex_attribute::{VertexAttribute, VertexDescriptor};
79pub use voxel_array::VoxelArray;
80
81pub mod prelude {
82    pub use crate::{
83        vertex_format, AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray,
84        AnimatedScalar, AnimatedScalarArray, AnimatedValue, AnimatedValueInfo,
85        AnimatedValueInterpolation, AnimatedVector2, AnimatedVector3, AnimatedVector3Array,
86        AnimatedVector4, AnimationBindComponent, Asset, AssetInfo, AssetResolver, BoundingBox,
87        BundleAssetResolver, Camera, CameraInfo, CameraProjection, DataPrecision, GeometryType,
88        IndexBitDepth, Light, LightInfo, LightProbe, LightProbeIrradianceDataSource, LightType,
89        Material, MaterialFace, MaterialInfo, MaterialProperty, MaterialPropertyInfo,
90        MaterialPropertyType, MaterialSemantic, Mesh, MeshBuffer, MeshBufferAllocator,
91        MeshBufferData, MeshBufferDataAllocator, MeshBufferInfo, MeshBufferMap, MeshBufferType,
92        MeshBufferZone, MeshBufferZoneDefault, ModelIoError, Object, ObjectInfo, ObjectKind,
93        PackedJointAnimation, PackedJointAnimationInfo, PathAssetResolver,
94        PhysicallyPlausibleLight, PhysicallyPlausibleLightInfo, ProbePlacement, RelativeAssetResolver,
95        Result, Skeleton, SkeletonInfo, Submesh, Texture, TextureChannelEncoding, TextureInfo,
96        Transform, TransformComponent, TransformMatrixOp, TransformOp, TransformOpRotationOrder,
97        TransformOrientOp, TransformRotateOp, TransformRotateXOp, TransformRotateYOp,
98        TransformRotateZOp, TransformScaleOp, TransformStack, TransformTranslateOp,
99        VertexAttribute, VertexAttributeData, VertexAttributeDescriptorInfo, VertexAttributeInfo,
100        VertexDescriptor, VertexDescriptorInfo, VoxelArray, VoxelArrayInfo, VoxelIndexExtent,
101    };
102}