pub struct PvoFile {
pub header: PvoHeader,
pub octr_nodes: Vec<OctrNode>,
pub plst_leaves: Vec<PlstLeaf>,
pub mlst_indices: Vec<u16>,
}Expand description
Parsed PVO file with octree nodes, leaf lists, and MLST indices.
Fields§
§header: PvoHeader§octr_nodes: Vec<OctrNode>§plst_leaves: Vec<PlstLeaf>§mlst_indices: Vec<u16>Implementations§
Source§impl PvoFile
impl PvoFile
Sourcepub fn visibility_ids(&self, leaf_ref: u32) -> Result<Vec<u16>>
pub fn visibility_ids(&self, leaf_ref: u32) -> Result<Vec<u16>>
Resolves an OCTR leaf reference (PLST byte offset) to placed-object visibility IDs. Preserves file order and duplicates. The no-leaf sentinel returns an empty list. IDs below the world’s MPSO count select that record; remaining IDs require the runtime secondary object table. These IDs never identify individual model faces.
Sourcepub fn count_interior_nodes(&self) -> usize
pub fn count_interior_nodes(&self) -> usize
Counts OCTR nodes marked as interior-only nodes.
Sourcepub fn count_leaf_nodes(&self) -> usize
pub fn count_leaf_nodes(&self) -> usize
Counts OCTR nodes that have no child nodes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PvoFile
impl RefUnwindSafe for PvoFile
impl Send for PvoFile
impl Sync for PvoFile
impl Unpin for PvoFile
impl UnsafeUnpin for PvoFile
impl UnwindSafe for PvoFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.