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 protocols;
33mod sdk_constants;
34mod skeleton;
35mod submesh;
36mod texture;
37mod transform;
38mod types;
39mod util;
40mod utility;
41mod value_types;
42mod vertex_attribute;
43mod voxel_array;
44
45pub use animated_value_types::{
46 AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray, AnimatedScalar,
47 AnimatedScalarArray, AnimatedValue, AnimatedVector2, AnimatedVector3, AnimatedVector3Array,
48 AnimatedVector4,
49};
50pub use animation::{AnimationBindComponent, PackedJointAnimation};
51pub use asset::Asset;
52pub use asset_resolver::{
53 AssetResolver, BundleAssetResolver, PathAssetResolver, RelativeAssetResolver,
54};
55pub use camera::{Camera, StereoscopicCamera};
56pub use error::{ModelIoError, Result};
57pub use light::Light;
58pub use light_probe::{LightProbe, LightProbeIrradianceDataSource};
59pub use material::{
60 Material, MaterialProperty, MaterialPropertyConnection, MaterialPropertyGraph,
61 MaterialPropertyNode, TextureFilter, TextureSampler,
62};
63pub use mesh::{Mesh, MeshBuffer, VertexAttributeData};
64pub use mesh_buffer::{
65 MeshBufferAllocator, MeshBufferData, MeshBufferDataAllocator, MeshBufferMap, MeshBufferZone,
66 MeshBufferZoneDefault,
67};
68pub use object::{Object, ObjectContainer};
69pub use physically_plausible_light::{AreaLight, PhotometricLight, PhysicallyPlausibleLight};
70pub use protocols::{Component, JointAnimation, Named, ObjectContainerComponent};
71pub use sdk_constants::{ut_type, vertex_attribute_name};
72pub use skeleton::Skeleton;
73pub use submesh::{Submesh, SubmeshTopology};
74pub use texture::Texture;
75pub use transform::{
76 Transform, TransformComponent, TransformMatrixOp, TransformOp, TransformOrientOp,
77 TransformRotateOp, TransformRotateXOp, TransformRotateYOp, TransformRotateZOp,
78 TransformScaleOp, TransformStack, TransformTranslateOp,
79};
80pub use types::{
81 vertex_format, AnimatedValueInfo, AnimatedValueInterpolation, AreaLightInfo, AssetInfo,
82 BoundingBox, CameraInfo, CameraProjection, DataPrecision, GeometryType, IndexBitDepth,
83 LightInfo, LightType, MaterialFace, MaterialInfo, MaterialMipMapFilterMode,
84 MaterialPropertyInfo, MaterialPropertyType, MaterialSemantic, MaterialTextureFilterMode,
85 MaterialTextureWrapMode, Matrix4x4ArrayInfo, MeshBufferInfo, MeshBufferType, ObjectInfo,
86 ObjectKind, PackedJointAnimationInfo, PhotometricLightInfo, PhysicallyPlausibleLightInfo,
87 ProbePlacement, SkeletonInfo, StereoscopicCameraInfo, TextureChannelEncoding,
88 TextureFilterInfo, TextureInfo, TextureSamplerInfo, TransformOpRotationOrder,
89 VertexAttributeDescriptorInfo, VertexAttributeInfo, VertexDescriptorInfo, VoxelArrayInfo,
90 VoxelIndexExtent,
91};
92pub use utility::Utility;
93pub use value_types::Matrix4x4Array;
94pub use vertex_attribute::{VertexAttribute, VertexBufferLayout, VertexDescriptor};
95pub use voxel_array::VoxelArray;
96
97pub mod prelude {
99 pub use crate::{
100 ut_type, vertex_attribute_name, vertex_format, AnimatedMatrix4x4, AnimatedQuaternion,
101 AnimatedQuaternionArray, AnimatedScalar, AnimatedScalarArray, AnimatedValue,
102 AnimatedValueInfo, AnimatedValueInterpolation, AnimatedVector2, AnimatedVector3,
103 AnimatedVector3Array, AnimatedVector4, AnimationBindComponent, AreaLight, AreaLightInfo,
104 Asset, AssetInfo, AssetResolver, BoundingBox, BundleAssetResolver, Camera, CameraInfo,
105 CameraProjection, Component, DataPrecision, GeometryType, IndexBitDepth, JointAnimation,
106 Light, LightInfo, LightProbe, LightProbeIrradianceDataSource, LightType, Material,
107 MaterialFace, MaterialInfo, MaterialMipMapFilterMode, MaterialProperty,
108 MaterialPropertyConnection, MaterialPropertyGraph, MaterialPropertyInfo,
109 MaterialPropertyNode, MaterialPropertyType, MaterialSemantic, MaterialTextureFilterMode,
110 MaterialTextureWrapMode, Matrix4x4Array, Matrix4x4ArrayInfo, Mesh, MeshBuffer,
111 MeshBufferAllocator, MeshBufferData, MeshBufferDataAllocator, MeshBufferInfo,
112 MeshBufferMap, MeshBufferType, MeshBufferZone, MeshBufferZoneDefault, ModelIoError, Named,
113 Object, ObjectContainer, ObjectContainerComponent, ObjectInfo, ObjectKind,
114 PackedJointAnimation, PackedJointAnimationInfo, PathAssetResolver, PhotometricLight,
115 PhotometricLightInfo, PhysicallyPlausibleLight, PhysicallyPlausibleLightInfo,
116 ProbePlacement, RelativeAssetResolver, Result, Skeleton, SkeletonInfo, StereoscopicCamera,
117 StereoscopicCameraInfo, Submesh, SubmeshTopology, Texture, TextureChannelEncoding,
118 TextureFilter, TextureFilterInfo, TextureInfo, TextureSampler, TextureSamplerInfo,
119 Transform, TransformComponent, TransformMatrixOp, TransformOp, TransformOpRotationOrder,
120 TransformOrientOp, TransformRotateOp, TransformRotateXOp, TransformRotateYOp,
121 TransformRotateZOp, TransformScaleOp, TransformStack, TransformTranslateOp, Utility,
122 VertexAttribute, VertexAttributeData, VertexAttributeDescriptorInfo, VertexAttributeInfo,
123 VertexBufferLayout, VertexDescriptor, VertexDescriptorInfo, VoxelArray, VoxelArrayInfo,
124 VoxelIndexExtent,
125 };
126}