fbxcel_dom/v7400/
global_settings.rs

1//! The Global Settings for the FBX file. See struct `GlobalSettings`.
2
3use crate::v7400::document::Document;
4use crate::v7400::object::property::PropertiesHandle;
5
6/// The Global Settings for the FBX file.
7///
8/// Similar to
9/// <http://docs.autodesk.com/FBX/2014/ENU/FBX-SDK-Documentation/cpp_ref/class_fbx_global_settings.html>.
10pub struct GlobalSettings<'a> {
11    /// Properties.
12    properties: PropertiesHandle<'a>,
13}
14
15impl<'a> GlobalSettings<'a> {
16    /// Creates a new `GlobalSettings` value from the document.
17    #[must_use]
18    pub(super) fn new(doc: &'a Document) -> Option<Self> {
19        let settings_node = doc.tree().root().first_child_by_name("GlobalSettings")?;
20        let properties = PropertiesHandle::from_node(settings_node, doc)?;
21        Some(Self { properties })
22    }
23
24    /// Returns a property accessor handle that can be used to query properties using the string name.
25    #[inline]
26    #[must_use]
27    pub fn raw_properties(&self) -> PropertiesHandle<'a> {
28        self.properties
29    }
30}