Skip to main content

openusd_rs/usd/
schema_base.rs

1use crate::usd;
2
3/// The base class for all schema types in Usd.
4///
5/// Schema objects hold a [`usd::Prim`] internally and provide a
6/// layer of specific named API atop the underlying scene graph.
7#[repr(transparent)]
8pub struct SchemaBase<'a>(usd::Prim<'a>);
9
10impl<'a> SchemaBase<'a> {
11	pub(crate) fn new(prim: usd::Prim<'a>) -> Self {
12		SchemaBase(prim)
13	}
14
15	pub fn prim(&self) -> &usd::Prim<'a> {
16		&self.0
17	}
18}