assimp_sys/
cexport.rs

1use std::os::raw::{c_char, c_void};
2
3use cfileio::*;
4use postprocess::*;
5use scene::*;
6use types::*;
7
8#[repr(C)]
9pub struct AiExportFormatDesc {
10    pub id: *const c_char,
11    pub description: *const c_char,
12    pub file_extension: *const c_char,
13}
14
15#[repr(C)]
16pub struct AiExportDataBlob {
17    pub size: usize,
18    pub data: *mut c_void,
19    pub name: AiString,
20    pub next: *mut AiExportDataBlob,
21}
22
23extern {
24    pub fn aiGetExportFormatCount() -> usize;
25
26    pub fn aiGetExportFormatDescription(
27        index: usize) -> *const AiExportFormatDesc;
28
29    pub fn aiReleaseExportFormatDescription(
30        desc: *const AiExportFormatDesc);
31
32    pub fn aiCopyScene(
33        input: *const AiScene,
34        output: *mut *mut AiScene);
35
36    pub fn aiFreeScene(
37        input: *const AiScene);
38
39    pub fn aiExportScene(
40        scene: *const AiScene,
41        format_id: *const c_char,
42        filename: *const c_char,
43        preprocessing: AiPostProcessSteps) -> AiReturn;
44
45    pub fn aiExportSceneEx(
46        scene: *const AiScene,
47        format_id: *const c_char,
48        filename: *const c_char,
49        io: *mut AiFileIO,
50        preprocessing: AiPostProcessSteps) -> AiReturn;
51
52    pub fn aiExportSceneToBlob(
53        scene: *const AiScene,
54        format_id: *const c_char,
55        preprocessing: AiPostProcessSteps) -> *const AiExportDataBlob;
56
57    pub fn aiReleaseExportBlob(
58        data: *const AiExportDataBlob);
59}