assimp_sys/
config.rs
1use std::os::raw::{c_float, c_int, c_uint};
2
3macro_rules! define_properties {
4 ($($i:ident),+) => (
5 $(pub const $i: &'static str = stringify!($i);)+
6 )
7}
8
9pub const AI_SBBC_DEFAULT_MAX_BONES: c_int = 60;
10pub const AI_SLM_DEFAULT_MAX_TRIANGLES: c_int = 1000000;
11pub const AI_SLM_DEFAULT_MAX_VERTICES: c_int = 1000000;
12pub const AI_LMW_MAX_WEIGHTS: c_int = 0x4;
13pub const AI_DEBONE_THRESHOLD: c_float = 1.0f32;
14pub const PP_ICL_DEFAULT_PTCACHE_SIZE: c_int = 12;
15
16define_properties! {
17 GLOB_MEASURE_TIME,
19 IMPORT_NO_SKELETON_MESHES,
20 GLOB_MULTITHREADING,
21
22 PP_SBBC_MAX_BONES,
24 PP_CT_MAX_SMOOTHING_ANGLE,
25 PP_CT_TEXTURE_CHANNEL_INDEX,
26 PP_GSN_MAX_SMOOTHING_ANGLE,
27 IMPORT_MDL_COLORMAP,
28 PP_RRM_EXCLUDE_LIST,
29 PP_PTV_KEEP_HIERARCHY,
30 PP_PTV_NORMALIZE,
31 PP_PTV_ADD_ROOT_TRANSFORMATION,
32 PP_PTV_ROOT_TRANSFORMATION,
33 PP_FD_REMOVE,
34 PP_OG_EXCLUDE_LIST,
35 PP_SLM_TRIANGLE_LIMIT,
36 PP_SLM_VERTEX_LIMIT,
37 PP_LBW_MAX_WEIGHTS,
38 PP_DB_THRESHOLD,
39 PP_DB_ALL_OR_NONE,
40 PP_ICL_PTCACHE_SIZE,
41 PP_RVC_FLAGS,
42 PP_SBP_REMOVE,
43 PP_FID_ANIM_ACCURACY,
44 PP_TUV_EVALUATE,
45 FAVOUR_SPEED,
46
47 IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS,
49 IMPORT_FBX_READ_ALL_MATERIALS,
50 IMPORT_FBX_READ_MATERIALS,
51 IMPORT_FBX_READ_TEXTURES,
52 IMPORT_FBX_READ_CAMERAS,
53 IMPORT_FBX_READ_LIGHTS,
54 IMPORT_FBX_READ_ANIMATIONS,
55 IMPORT_FBX_STRICT_MODE,
56 IMPORT_FBX_PRESERVE_PIVOTS,
57 IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES,
58 IMPORT_GLOBAL_KEYFRAME,
59 IMPORT_MD3_KEYFRAME,
60 IMPORT_MD2_KEYFRAME,
61 IMPORT_MDL_KEYFRAME,
62 IMPORT_MDC_KEYFRAME,
63 IMPORT_SMD_KEYFRAME,
64 IMPORT_UNREAL_KEYFRAME,
65 IMPORT_AC_SEPARATE_BFCULL,
66 IMPORT_AC_EVAL_SUBDIVISION,
67 UNREAL_HANDLE_FLAGS,
68 IMPORT_TER_MAKE_UVS,
69 IMPORT_ASE_RECONSTRUCT_NORMALS,
70 IMPORT_MD3_HANDLE_MULTIPART,
71 IMPORT_MD3_SKIN_NAME,
72 IMPORT_MD3_SHADER_SRC,
73 IMPORT_LWO_ONE_LAYER_ONLY,
74 IMPORT_MD5_NO_ANIM_AUTOLOAD,
75 IMPORT_LWS_ANIM_START,
76 IMPORT_LWS_ANIM_END,
77 IMPORT_IRR_ANIM_FPS,
78 IMPORT_OGRE_MATERIAL_FILE,
79 IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME,
80 IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS,
81 IMPORT_IFC_SKIP_CURVE_REPRESENTATIONS,
82 IMPORT_IFC_CUSTOM_TRIANGULATION,
83 IMPORT_COLLADA_IGNORE_UP_DIRECTION,
84 IMPORT_COLLADA_INVERT_TRANSPARENCY,
85 EXPORT_XFILE_64BIT
86}
87
88bitflags! {
89 #[repr(C)]
90 pub struct AiComponent: c_uint {
91 const AICOMPONENT_NORMALS = 0x2;
92 const AICOMPONENT_TANGENTS_AND_BITANGENTS = 0x4;
93 const AICOMPONENT_COLORS = 0x8;
94 const AICOMPONENT_TEXCOORDS = 0x10;
95 const AICOMPONENT_BONE_WEIGHTS = 0x20;
96 const AICOMPONENT_ANIMATIONS = 0x40;
97 const AICOMPONENT_TEXTURES = 0x80;
98 const AICOMPONENT_LIGHTS = 0x100;
99 const AICOMPONENT_CAMERAS = 0x200;
100 const AICOMPONENT_MESHES = 0x400;
101 const AICOMPONENT_MATERIALS = 0x800;
102 }
103}
104
105bitflags! {
106 #[repr(C)]
107 pub struct AiUVTransformFlags : c_uint {
108 const AI_UVTRAFO_SCALING = 0x1;
109 const AI_UVTRAFO_ROTATION = 0x2;
110 const AI_UVTRAFO_TRANSLATION = 0x4;
111 const AI_UVTRAFO_ALL = AI_UVTRAFO_SCALING.bits
112 | AI_UVTRAFO_ROTATION.bits
113 | AI_UVTRAFO_TRANSLATION.bits;
114 }
115}