pub struct Root {Show 19 fields
pub accessors: Vec<Accessor>,
pub animations: Vec<Animation>,
pub asset: Asset,
pub buffers: Vec<Buffer>,
pub buffer_views: Vec<View>,
pub scene: Option<Index<Scene>>,
pub extensions: Option<Root>,
pub extras: Extras,
pub extensions_used: Vec<String>,
pub extensions_required: Vec<String>,
pub cameras: Vec<Camera>,
pub images: Vec<Image>,
pub materials: Vec<Material>,
pub meshes: Vec<Mesh>,
pub nodes: Vec<Node>,
pub samplers: Vec<Sampler>,
pub scenes: Vec<Scene>,
pub skins: Vec<Skin>,
pub textures: Vec<Texture>,
}
Expand description
The root object of a glTF 2.0 asset.
Fields§
§accessors: Vec<Accessor>
An array of accessors.
animations: Vec<Animation>
An array of keyframe animations.
asset: Asset
Metadata about the glTF asset.
buffers: Vec<Buffer>
An array of buffers.
buffer_views: Vec<View>
An array of buffer views.
scene: Option<Index<Scene>>
The default scene.
extensions: Option<Root>
Extension specific data.
extras: Extras
Optional application specific data.
extensions_used: Vec<String>
Names of glTF extensions used somewhere in this asset.
extensions_required: Vec<String>
Names of glTF extensions required to properly load this asset.
cameras: Vec<Camera>
An array of cameras.
images: Vec<Image>
An array of images.
materials: Vec<Material>
An array of materials.
meshes: Vec<Mesh>
An array of meshes.
nodes: Vec<Node>
An array of nodes.
samplers: Vec<Sampler>
An array of samplers.
scenes: Vec<Scene>
An array of scenes.
skins: Vec<Skin>
An array of skins.
textures: Vec<Texture>
An array of textures.
Implementations§
source§impl Root
impl Root
sourcepub fn get<T>(&self, index: Index<T>) -> Option<&T>where
Self: Get<T>,
pub fn get<T>(&self, index: Index<T>) -> Option<&T>where
Self: Get<T>,
Returns a single item from the root object.
sourcepub fn push<T>(&mut self, value: T) -> Index<T>
pub fn push<T>(&mut self, value: T) -> Index<T>
Insert the given value into this (as via Vec::push()
), then return the Index
to it.
This allows you to easily obtain Index
values with the correct index and type when
creating a glTF asset.
If you have a mutable borrow conflict when using this method, consider using the more
explicit Index::push()
method, passing it only the necessary vector.
§Panics
Panics if there are already u32::MAX
or more elements of this type,
in which case an Index
cannot be created.
sourcepub fn from_slice(slice: &[u8]) -> Result<Self, Error>
pub fn from_slice(slice: &[u8]) -> Result<Self, Error>
Deserialize from a JSON byte slice.
sourcepub fn from_reader<R>(reader: R) -> Result<Self, Error>where
R: Read,
pub fn from_reader<R>(reader: R) -> Result<Self, Error>where
R: Read,
Deserialize from a stream of JSON.
sourcepub fn to_string_pretty(&self) -> Result<String, Error>
pub fn to_string_pretty(&self) -> Result<String, Error>
Serialize as a pretty-printed String
of JSON.
sourcepub fn to_vec_pretty(&self) -> Result<Vec<u8>, Error>
pub fn to_vec_pretty(&self) -> Result<Vec<u8>, Error>
Serialize as a pretty-printed JSON byte vector.