pub struct PendingGeometry { /* private fields */ }Expand description
Geometry loading state that doesn’t require a GPU reference.
This allows the loader to be stored separately from the GPU context, enabling more flexible ownership patterns in the API.
Implementations§
Source§impl PendingGeometry
impl PendingGeometry
Sourcepub fn from_stl_bytes(bytes: &[u8]) -> Self
pub fn from_stl_bytes(bytes: &[u8]) -> Self
Load STL geometry from bytes.
Sourcepub fn from_raw(geometry: RawGeometry) -> Self
pub fn from_raw(geometry: RawGeometry) -> Self
Create from existing raw geometry.
Sourcepub fn normalized(self) -> Self
pub fn normalized(self) -> Self
Scales the geometry to fit within a unit cube.
Sourcepub fn smooth_normals(self) -> Self
pub fn smooth_normals(self) -> Self
Recalculates smooth vertex normals.
Sourcepub fn translated(self, offset: Vec3) -> Self
pub fn translated(self, offset: Vec3) -> Self
Translates the geometry by the given offset.
Sourcepub fn upright(self) -> Self
pub fn upright(self) -> Self
Reorients the geometry from Z-up to Y-up.
Many 3D modeling tools export with Z as the up axis, while game engines typically use Y-up. This applies a -90 degree rotation around the X axis to convert between them.
Sourcepub fn rotated_by(self, rotation: Quat) -> Self
pub fn rotated_by(self, rotation: Quat) -> Self
Rotates the geometry by a custom quaternion.
Sourcepub fn upload(self, gpu: &GpuContext) -> Result<Mesh, GeometryError>
pub fn upload(self, gpu: &GpuContext) -> Result<Mesh, GeometryError>
Finalize and upload to GPU.
Trait Implementations§
Source§impl Clone for PendingGeometry
impl Clone for PendingGeometry
Source§fn clone(&self) -> PendingGeometry
fn clone(&self) -> PendingGeometry
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PendingGeometry
impl RefUnwindSafe for PendingGeometry
impl Send for PendingGeometry
impl Sync for PendingGeometry
impl Unpin for PendingGeometry
impl UnwindSafe for PendingGeometry
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more