fbx_dom/objects/
global_settings.rs1use crate::FrameRate;
5use crate::GlobalSettings;
6
7#[derive(Debug, Clone, PartialEq)]
8pub struct OwnedGlobalSettings {
9 pub up_axis: i32,
10 pub up_axis_sign: i32,
11 pub front_axis: i32,
12 pub front_axis_sign: i32,
13 pub coord_axis: i32,
14 pub coord_axis_sign: i32,
15 pub original_up_axis: i32,
16 pub original_up_axis_sign: i32,
17 pub unit_scale_factor: f32,
18 pub original_unit_scale_factor: f32,
19 pub ambient_color: [f32; 3],
20 pub default_camera: String,
21 pub time_span_start: u64,
22 pub time_span_stop: u64,
23 pub custom_frame_rate: f32,
24 pub frame_rate: FrameRate,
25}
26
27impl Default for OwnedGlobalSettings {
28 fn default() -> Self {
29 Self {
30 up_axis: 1,
31 up_axis_sign: 1,
32 front_axis: 2,
33 front_axis_sign: 1,
34 coord_axis: 0,
35 coord_axis_sign: 1,
36 original_up_axis: -1,
37 original_up_axis_sign: 1,
38 unit_scale_factor: 1.0,
39 original_unit_scale_factor: 1.0,
40 ambient_color: [0.0, 0.0, 0.0],
41 default_camera: "".to_string(),
42 time_span_start: 0,
43 time_span_stop: 0,
44 custom_frame_rate: -1.0,
45 frame_rate: FrameRate::Default,
46 }
47 }
48}
49
50impl<'a> From<GlobalSettings<'a>> for OwnedGlobalSettings {
51 fn from(global_settings: GlobalSettings<'a>) -> Self {
52 Self {
53 up_axis: global_settings.up_axis(),
54 up_axis_sign: global_settings.up_axis_sign(),
55 front_axis: global_settings.front_axis(),
56 front_axis_sign: global_settings.front_axis_sign(),
57 coord_axis: global_settings.coord_axis(),
58 coord_axis_sign: global_settings.coord_axis_sign(),
59 original_up_axis: global_settings.original_up_axis(),
60 original_up_axis_sign: global_settings.original_up_axis_sign(),
61 unit_scale_factor: global_settings.unit_scale_factor(),
62 original_unit_scale_factor: global_settings.original_unit_scale_factor(),
63 ambient_color: global_settings.ambient_color(),
64 default_camera: global_settings.default_camera(),
65 time_span_start: global_settings.time_span_start(),
66 time_span_stop: global_settings.time_span_stop(),
67 custom_frame_rate: global_settings.custom_frame_rate(),
68 frame_rate: global_settings.frame_rate(),
69 }
70 }
71}