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)
Sourcepub fn to_transform_with_translation_scale(
&self,
translation: Vec3,
scale: Vec3,
) -> Transform
pub fn to_transform_with_translation_scale( &self, translation: Vec3, scale: Vec3, ) -> Transform
Convert to a full Bevy Transform with caller-provided translation and scale.
Trait Implementations§
Source§impl Clone for ObjectRotation
impl Clone for ObjectRotation
Source§fn clone(&self) -> ObjectRotation
fn clone(&self) -> ObjectRotation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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
Source§fn eq(&self, other: &ObjectRotation) -> bool
fn eq(&self, other: &ObjectRotation) -> bool
self and other values to be equal, and is used by ==.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 UnsafeUnpin 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
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
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>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
&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)
&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> DowncastSend for T
impl<T> DowncastSend 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>
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>
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> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Source§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>
ReadEndian::read_from_little_endian().