Struct rerun::TranslationRotationScale3D
source · pub struct TranslationRotationScale3D {
pub translation: Option<Vec3D>,
pub rotation: Option<Rotation3D>,
pub scale: Option<Scale3D>,
pub from_parent: bool,
}
Expand description
Datatype: Representation of an affine transform via separate translation, rotation & scale.
Fields§
§translation: Option<Vec3D>
3D translation vector, applied last.
rotation: Option<Rotation3D>
3D rotation, applied second.
scale: Option<Scale3D>
3D scale, applied first.
from_parent: bool
If true, this transform is from the parent space to the space where the transform was logged.
If false (default), the transform maps from this space to its parent, i.e. the translation is the position in the parent space.
Implementations§
source§impl TranslationRotationScale3D
impl TranslationRotationScale3D
sourcepub const IDENTITY: TranslationRotationScale3D = _
pub const IDENTITY: TranslationRotationScale3D = _
The identity transform, representing no transform.
sourcepub fn from_translation(
translation: impl Into<Vec3D>
) -> TranslationRotationScale3D
pub fn from_translation( translation: impl Into<Vec3D> ) -> TranslationRotationScale3D
From a translation.
sourcepub fn from_rotation(
rotation: impl Into<Rotation3D>
) -> TranslationRotationScale3D
pub fn from_rotation( rotation: impl Into<Rotation3D> ) -> TranslationRotationScale3D
From a rotation
sourcepub fn from_scale(scale: impl Into<Scale3D>) -> TranslationRotationScale3D
pub fn from_scale(scale: impl Into<Scale3D>) -> TranslationRotationScale3D
From a rotation & scale
sourcepub fn from_translation_rotation(
translation: impl Into<Vec3D>,
rotation: impl Into<Rotation3D>
) -> TranslationRotationScale3D
pub fn from_translation_rotation( translation: impl Into<Vec3D>, rotation: impl Into<Rotation3D> ) -> TranslationRotationScale3D
From a translation applied after a rotation, known as a rigid transformation.
sourcepub fn from_rotation_scale(
rotation: impl Into<Rotation3D>,
scale: impl Into<Scale3D>
) -> TranslationRotationScale3D
pub fn from_rotation_scale( rotation: impl Into<Rotation3D>, scale: impl Into<Scale3D> ) -> TranslationRotationScale3D
From a rotation & scale
sourcepub fn from_translation_rotation_scale(
translation: impl Into<Vec3D>,
rotation: impl Into<Rotation3D>,
scale: impl Into<Scale3D>
) -> TranslationRotationScale3D
pub fn from_translation_rotation_scale( translation: impl Into<Vec3D>, rotation: impl Into<Rotation3D>, scale: impl Into<Scale3D> ) -> TranslationRotationScale3D
From a translation, applied after a rotation & scale, known as an affine transformation.
sourcepub fn from_parent(self) -> TranslationRotationScale3D
pub fn from_parent(self) -> TranslationRotationScale3D
Indicate that this transform is from parent to child. This is the opposite of the default, which is from child to parent.
Trait Implementations§
source§impl Clone for TranslationRotationScale3D
impl Clone for TranslationRotationScale3D
source§fn clone(&self) -> TranslationRotationScale3D
fn clone(&self) -> TranslationRotationScale3D
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TranslationRotationScale3D
impl Debug for TranslationRotationScale3D
source§impl Default for TranslationRotationScale3D
impl Default for TranslationRotationScale3D
source§fn default() -> TranslationRotationScale3D
fn default() -> TranslationRotationScale3D
source§impl From<Rotation3D> for TranslationRotationScale3D
impl From<Rotation3D> for TranslationRotationScale3D
source§fn from(v: Rotation3D) -> TranslationRotationScale3D
fn from(v: Rotation3D) -> TranslationRotationScale3D
source§impl From<Scale3D> for TranslationRotationScale3D
impl From<Scale3D> for TranslationRotationScale3D
source§fn from(v: Scale3D) -> TranslationRotationScale3D
fn from(v: Scale3D) -> TranslationRotationScale3D
source§impl From<TranslationRotationScale3D> for Transform3D
impl From<TranslationRotationScale3D> for Transform3D
source§fn from(v: TranslationRotationScale3D) -> Transform3D
fn from(v: TranslationRotationScale3D) -> Transform3D
source§impl From<Vec3D> for TranslationRotationScale3D
impl From<Vec3D> for TranslationRotationScale3D
source§fn from(v: Vec3D) -> TranslationRotationScale3D
fn from(v: Vec3D) -> TranslationRotationScale3D
source§impl Loggable for TranslationRotationScale3D
impl Loggable for TranslationRotationScale3D
type Name = DatatypeName
source§fn name() -> <TranslationRotationScale3D as Loggable>::Name
fn name() -> <TranslationRotationScale3D as Loggable>::Name
rerun.datatypes.Vec2D
.source§fn arrow_datatype() -> DataType
fn arrow_datatype() -> DataType
arrow2::datatypes::DataType
, excluding datatype extensions.source§fn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, TranslationRotationScale3D>>>>
) -> Result<Box<dyn Array>, SerializationError>where
TranslationRotationScale3D: Clone + 'a,
fn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, TranslationRotationScale3D>>>>
) -> Result<Box<dyn Array>, SerializationError>where
TranslationRotationScale3D: Clone + 'a,
Loggable
, serializes them into an Arrow array.
The Arrow array’s datatype will match Loggable::arrow_field
. Read moresource§fn from_arrow_opt(
arrow_data: &(dyn Array + 'static)
) -> Result<Vec<Option<TranslationRotationScale3D>>, DeserializationError>where
TranslationRotationScale3D: Sized,
fn from_arrow_opt(
arrow_data: &(dyn Array + 'static)
) -> Result<Vec<Option<TranslationRotationScale3D>>, DeserializationError>where
TranslationRotationScale3D: Sized,
source§fn extended_arrow_datatype() -> DataType
fn extended_arrow_datatype() -> DataType
arrow2::datatypes::DataType
, including datatype extensions. Read moresource§fn arrow_field() -> Field
fn arrow_field() -> Field
arrow2::datatypes::Field
, including datatype extensions. Read moresource§fn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
fn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
Loggable
, serializes
them into an Arrow array.
The Arrow array’s datatype will match Loggable::arrow_field
. Read moresource§fn from_arrow(
data: &(dyn Array + 'static)
) -> Result<Vec<Self>, DeserializationError>
fn from_arrow( data: &(dyn Array + 'static) ) -> Result<Vec<Self>, DeserializationError>
source§impl PartialEq for TranslationRotationScale3D
impl PartialEq for TranslationRotationScale3D
source§fn eq(&self, other: &TranslationRotationScale3D) -> bool
fn eq(&self, other: &TranslationRotationScale3D) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl SizeBytes for TranslationRotationScale3D
impl SizeBytes for TranslationRotationScale3D
source§fn heap_size_bytes(&self) -> u64
fn heap_size_bytes(&self) -> u64
self
on the heap, in bytes.source§fn total_size_bytes(&self) -> u64
fn total_size_bytes(&self) -> u64
self
in bytes, accounting for both stack and heap space.source§fn stack_size_bytes(&self) -> u64
fn stack_size_bytes(&self) -> u64
self
on the stack, in bytes. Read moreimpl Copy for TranslationRotationScale3D
impl StructuralPartialEq for TranslationRotationScale3D
Auto Trait Implementations§
impl Freeze for TranslationRotationScale3D
impl RefUnwindSafe for TranslationRotationScale3D
impl Send for TranslationRotationScale3D
impl Sync for TranslationRotationScale3D
impl Unpin for TranslationRotationScale3D
impl UnwindSafe for TranslationRotationScale3D
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
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<L> LoggableBatch for L
impl<L> LoggableBatch for L
type Name = <L as Loggable>::Name
source§fn name(&self) -> <L as LoggableBatch>::Name
fn name(&self) -> <L as LoggableBatch>::Name
rerun.datatypes.Vec2D
.source§fn num_instances(&self) -> usize
fn num_instances(&self) -> usize
source§fn arrow_field(&self) -> Field
fn arrow_field(&self) -> Field
arrow2::datatypes::Field
, including datatype extensions.