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}