smpl_rs/common/
types.rs

1use enum_map::Enum;
2use num_derive::FromPrimitive;
3#[cfg(target_arch = "wasm32")]
4use wasm_bindgen::prelude::*;
5/// Various ``SmplModel`` types
6#[derive(Clone, Copy, Debug, Enum, FromPrimitive, PartialEq)]
7pub enum SmplType {
8    Smpl = 0,
9    SmplH,
10    SmplX,
11    Supr,
12    SmplPP,
13}
14#[derive(Clone, Copy, PartialEq)]
15pub enum AngleType {
16    AxisAngle,
17    Euler,
18}
19#[derive(Clone, Copy, PartialEq, Debug, Enum, FromPrimitive)]
20pub enum Gender {
21    Neutral = 0,
22    Male,
23    Female,
24}
25#[derive(Clone, Copy, PartialEq, Debug)]
26pub enum UpAxis {
27    Y,
28    Z,
29}
30#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
31pub enum GltfOutputType {
32    Standard,
33    Binary,
34}
35#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
36#[cfg_attr(target_arch = "wasm32", wasm_bindgen)]
37pub enum GltfCompatibilityMode {
38    Smpl,
39    Unreal,
40}
41/// Dummy class just to be able to get the right size for chunk header (never
42/// really used)
43#[derive(Copy, Clone, Debug)]
44#[repr(C)]
45pub struct ChunkHeader {
46    /// The length of the chunk data in byte excluding the header.
47    length: u32,
48    /// Chunk type.
49    ty: gltf::binary::ChunkType,
50}