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 camera;
21mod error;
22mod ffi;
23mod handle;
24mod light;
25mod material;
26mod mesh;
27mod object;
28mod physically_plausible_light;
29mod skeleton;
30mod submesh;
31mod texture;
32mod types;
33mod util;
34mod vertex_attribute;
35mod voxel_array;
36
37pub use animated_value_types::{
38    AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray, AnimatedScalar,
39    AnimatedScalarArray, AnimatedVector2, AnimatedVector3, AnimatedVector3Array, AnimatedVector4,
40};
41pub use animation::{AnimationBindComponent, PackedJointAnimation};
42pub use asset::Asset;
43pub use camera::Camera;
44pub use error::{ModelIoError, Result};
45pub use light::Light;
46pub use material::{Material, MaterialProperty};
47pub use mesh::{Mesh, MeshBuffer, VertexAttributeData};
48pub use object::Object;
49pub use physically_plausible_light::PhysicallyPlausibleLight;
50pub use skeleton::Skeleton;
51pub use submesh::Submesh;
52pub use texture::Texture;
53pub use types::{
54    vertex_format, AnimatedValueInfo, AnimatedValueInterpolation, AssetInfo, BoundingBox,
55    CameraInfo, CameraProjection, DataPrecision, GeometryType, IndexBitDepth, LightInfo, LightType,
56    MaterialFace, MaterialInfo, MaterialPropertyInfo, MaterialPropertyType, MaterialSemantic,
57    MeshBufferInfo, MeshBufferType, ObjectInfo, ObjectKind, PackedJointAnimationInfo,
58    PhysicallyPlausibleLightInfo, SkeletonInfo, TextureChannelEncoding, TextureInfo,
59    VertexAttributeDescriptorInfo, VertexAttributeInfo, VertexDescriptorInfo, VoxelArrayInfo,
60    VoxelIndexExtent,
61};
62pub use vertex_attribute::{VertexAttribute, VertexDescriptor};
63pub use voxel_array::VoxelArray;
64
65pub mod prelude {
66    pub use crate::{
67        vertex_format, AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray,
68        AnimatedScalar, AnimatedScalarArray, AnimatedValueInfo, AnimatedValueInterpolation,
69        AnimatedVector2, AnimatedVector3, AnimatedVector3Array, AnimatedVector4,
70        AnimationBindComponent, Asset, AssetInfo, BoundingBox, Camera, CameraInfo,
71        CameraProjection, DataPrecision, GeometryType, IndexBitDepth, Light, LightInfo, LightType,
72        Material, MaterialFace, MaterialInfo, MaterialProperty, MaterialPropertyInfo,
73        MaterialPropertyType, MaterialSemantic, Mesh, MeshBuffer, MeshBufferInfo, MeshBufferType,
74        ModelIoError, Object, ObjectInfo, ObjectKind, PackedJointAnimation,
75        PackedJointAnimationInfo, PhysicallyPlausibleLight, PhysicallyPlausibleLightInfo, Result,
76        Skeleton, SkeletonInfo, Submesh, Texture, TextureChannelEncoding, TextureInfo,
77        VertexAttribute, VertexAttributeData, VertexAttributeDescriptorInfo, VertexAttributeInfo,
78        VertexDescriptor, VertexDescriptorInfo, VoxelArray, VoxelArrayInfo, VoxelIndexExtent,
79    };
80}