pub struct ObjectRotation {
pub pitch: f64,
pub yaw: f64,
pub roll: f64,
}Expand description
Object rotation in Euler angles (degrees), matching TBP benchmark format. Format: [pitch, yaw, roll] or [x, y, z] rotation.
Fields§
§pitch: f64Rotation around X-axis (pitch) in degrees
yaw: f64Rotation around Y-axis (yaw) in degrees
roll: f64Rotation around Z-axis (roll) in degrees
Implementations§
Source§impl ObjectRotation
impl ObjectRotation
Sourcepub fn new(pitch: f64, yaw: f64, roll: f64) -> Self
pub fn new(pitch: f64, yaw: f64, roll: f64) -> Self
Create a new rotation from Euler angles in degrees
Sourcepub fn from_array(arr: [f64; 3]) -> Self
pub fn from_array(arr: [f64; 3]) -> Self
Create from TBP-style array [pitch, yaw, roll] in degrees
Sourcepub fn tbp_benchmark_rotations() -> Vec<Self>
pub fn tbp_benchmark_rotations() -> Vec<Self>
TBP benchmark rotations: [0,0,0], [0,90,0], [0,180,0] Used in shorter YCB experiments to reduce computational load.
Sourcepub fn tbp_known_orientations() -> Vec<Self>
pub fn tbp_known_orientations() -> Vec<Self>
TBP 14 known orientations (cube faces and corners) These are the orientations objects are learned in during training.
Sourcepub fn to_quat(&self) -> Quat
pub fn to_quat(&self) -> Quat
Convert to Bevy Quat (converts f64 to f32 for Bevy compatibility)
Sourcepub fn to_transform(&self) -> Transform
pub fn to_transform(&self) -> Transform
Convert to Bevy Transform (rotation only, no translation)
Trait Implementations§
Source§impl Clone for ObjectRotation
impl Clone for ObjectRotation
Source§fn clone(&self) -> ObjectRotation
fn clone(&self) -> ObjectRotation
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 moreSource§impl Debug for ObjectRotation
impl Debug for ObjectRotation
Source§impl Default for ObjectRotation
impl Default for ObjectRotation
Source§impl PartialEq for ObjectRotation
impl PartialEq for ObjectRotation
impl StructuralPartialEq for ObjectRotation
Auto Trait Implementations§
impl Freeze for ObjectRotation
impl RefUnwindSafe for ObjectRotation
impl Send for ObjectRotation
impl Sync for ObjectRotation
impl Unpin for ObjectRotation
impl UnwindSafe for ObjectRotation
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.§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> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().