assimp_sys/
config.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
use std::os::raw::{c_float, c_int, c_uint};

macro_rules! define_properties {
    ($($i:ident),+) => (
        $(pub const $i: &'static str = stringify!($i);)+
    )
}

pub const AI_SBBC_DEFAULT_MAX_BONES: c_int = 60;
pub const AI_SLM_DEFAULT_MAX_TRIANGLES: c_int = 1000000;
pub const AI_SLM_DEFAULT_MAX_VERTICES: c_int = 1000000;
pub const AI_LMW_MAX_WEIGHTS: c_int = 0x4;
pub const AI_DEBONE_THRESHOLD: c_float = 1.0f32;
pub const PP_ICL_DEFAULT_PTCACHE_SIZE: c_int = 12;

define_properties! {
    // Library settings
    GLOB_MEASURE_TIME,
    IMPORT_NO_SKELETON_MESHES,
    GLOB_MULTITHREADING,

    // Post processing settings
    PP_SBBC_MAX_BONES,
    PP_CT_MAX_SMOOTHING_ANGLE,
    PP_CT_TEXTURE_CHANNEL_INDEX,
    PP_GSN_MAX_SMOOTHING_ANGLE,
    IMPORT_MDL_COLORMAP,
    PP_RRM_EXCLUDE_LIST,
    PP_PTV_KEEP_HIERARCHY,
    PP_PTV_NORMALIZE,
    PP_PTV_ADD_ROOT_TRANSFORMATION,
    PP_PTV_ROOT_TRANSFORMATION,
    PP_FD_REMOVE,
    PP_OG_EXCLUDE_LIST,
    PP_SLM_TRIANGLE_LIMIT,
    PP_SLM_VERTEX_LIMIT,
    PP_LBW_MAX_WEIGHTS,
    PP_DB_THRESHOLD,
    PP_DB_ALL_OR_NONE,
    PP_ICL_PTCACHE_SIZE,
    PP_RVC_FLAGS,
    PP_SBP_REMOVE,
    PP_FID_ANIM_ACCURACY,
    PP_TUV_EVALUATE,
    FAVOUR_SPEED,

    // Importer Settings
    IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS,
    IMPORT_FBX_READ_ALL_MATERIALS,
    IMPORT_FBX_READ_MATERIALS,
    IMPORT_FBX_READ_TEXTURES,
    IMPORT_FBX_READ_CAMERAS,
    IMPORT_FBX_READ_LIGHTS,
    IMPORT_FBX_READ_ANIMATIONS,
    IMPORT_FBX_STRICT_MODE,
    IMPORT_FBX_PRESERVE_PIVOTS,
    IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES,
    IMPORT_GLOBAL_KEYFRAME,
    IMPORT_MD3_KEYFRAME,
    IMPORT_MD2_KEYFRAME,
    IMPORT_MDL_KEYFRAME,
    IMPORT_MDC_KEYFRAME,
    IMPORT_SMD_KEYFRAME,
    IMPORT_UNREAL_KEYFRAME,
    IMPORT_AC_SEPARATE_BFCULL,
    IMPORT_AC_EVAL_SUBDIVISION,
    UNREAL_HANDLE_FLAGS,
    IMPORT_TER_MAKE_UVS,
    IMPORT_ASE_RECONSTRUCT_NORMALS,
    IMPORT_MD3_HANDLE_MULTIPART,
    IMPORT_MD3_SKIN_NAME,
    IMPORT_MD3_SHADER_SRC,
    IMPORT_LWO_ONE_LAYER_ONLY,
    IMPORT_MD5_NO_ANIM_AUTOLOAD,
    IMPORT_LWS_ANIM_START,
    IMPORT_LWS_ANIM_END,
    IMPORT_IRR_ANIM_FPS,
    IMPORT_OGRE_MATERIAL_FILE,
    IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME,
    IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS,
    IMPORT_IFC_SKIP_CURVE_REPRESENTATIONS,
    IMPORT_IFC_CUSTOM_TRIANGULATION,
    IMPORT_COLLADA_IGNORE_UP_DIRECTION,
    IMPORT_COLLADA_INVERT_TRANSPARENCY,
    EXPORT_XFILE_64BIT
}

bitflags! {
    #[repr(C)]
    pub struct AiComponent: c_uint {
        const AICOMPONENT_NORMALS = 0x2;
        const AICOMPONENT_TANGENTS_AND_BITANGENTS = 0x4;
        const AICOMPONENT_COLORS = 0x8;
        const AICOMPONENT_TEXCOORDS = 0x10;
        const AICOMPONENT_BONE_WEIGHTS = 0x20;
        const AICOMPONENT_ANIMATIONS = 0x40;
        const AICOMPONENT_TEXTURES = 0x80;
        const AICOMPONENT_LIGHTS = 0x100;
        const AICOMPONENT_CAMERAS = 0x200;
        const AICOMPONENT_MESHES = 0x400;
        const AICOMPONENT_MATERIALS = 0x800;
    }
}

bitflags! {
    #[repr(C)]
    pub struct AiUVTransformFlags : c_uint {
        const AI_UVTRAFO_SCALING = 0x1;
        const AI_UVTRAFO_ROTATION = 0x2;
        const AI_UVTRAFO_TRANSLATION = 0x4;
        const AI_UVTRAFO_ALL = AI_UVTRAFO_SCALING.bits
                             | AI_UVTRAFO_ROTATION.bits
                             | AI_UVTRAFO_TRANSLATION.bits;
    }
}