Struct re_types::archetypes::ViewCoordinates
source · #[repr(transparent)]pub struct ViewCoordinates {
pub xyz: Option<SerializedComponentBatch>,
}
Expand description
Archetype: How we interpret the coordinate system of an entity/space.
For instance: What is “up”? What does the Z axis mean?
The three coordinates are always ordered as [x, y, z].
For example [Right, Down, Forward] means that the X axis points to the right, the Y axis points down, and the Z axis points forward.
Make sure that this archetype is logged at or above the origin entity path of your 3D views.
⚠ Rerun does not yet support left-handed coordinate systems.
§Example
§View coordinates for adjusting the eye camera
fn main() -> Result<(), Box<dyn std::error::Error>> {
let rec = rerun::RecordingStreamBuilder::new("rerun_example_view_coordinates").spawn()?;
rec.log_static("world", &rerun::ViewCoordinates::RIGHT_HAND_Z_UP())?; // Set an up-axis
rec.log(
"world/xyz",
&rerun::Arrows3D::from_vectors(
[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]], //
)
.with_colors([[255, 0, 0], [0, 255, 0], [0, 0, 255]]),
)?;
Ok(())
}

Fields§
§xyz: Option<SerializedComponentBatch>
The directions of the [x, y, z] axes.
Implementations§
source§impl ViewCoordinates
impl ViewCoordinates
sourcepub fn descriptor_xyz() -> ComponentDescriptor
pub fn descriptor_xyz() -> ComponentDescriptor
Returns the ComponentDescriptor
for Self::xyz
.
sourcepub fn descriptor_indicator() -> ComponentDescriptor
pub fn descriptor_indicator() -> ComponentDescriptor
Returns the ComponentDescriptor
for the associated indicator component.
source§impl ViewCoordinates
impl ViewCoordinates
sourcepub const NUM_COMPONENTS: usize = 2usize
pub const NUM_COMPONENTS: usize = 2usize
The total number of components in the archetype: 1 required, 1 recommended, 0 optional
source§impl ViewCoordinates
impl ViewCoordinates
sourcepub fn new(xyz: impl Into<ViewCoordinates>) -> Self
pub fn new(xyz: impl Into<ViewCoordinates>) -> Self
Create a new ViewCoordinates
.
sourcepub fn update_fields() -> Self
pub fn update_fields() -> Self
Update only some specific fields of a ViewCoordinates
.
sourcepub fn clear_fields() -> Self
pub fn clear_fields() -> Self
Clear all the fields of a ViewCoordinates
.
sourcepub fn columns<I>(
self,
_lengths: I,
) -> SerializationResult<impl Iterator<Item = SerializedComponentColumn>>
pub fn columns<I>( self, _lengths: I, ) -> SerializationResult<impl Iterator<Item = SerializedComponentColumn>>
Partitions the component data into multiple sub-batches.
Specifically, this transforms the existing SerializedComponentBatch
es data into SerializedComponentColumn
s
instead, via SerializedComponentBatch::partitioned
.
This makes it possible to use RecordingStream::send_columns
to send columnar data directly into Rerun.
The specified lengths
must sum to the total length of the component batch.
sourcepub fn columns_of_unit_batches(
self,
) -> SerializationResult<impl Iterator<Item = SerializedComponentColumn>>
pub fn columns_of_unit_batches( self, ) -> SerializationResult<impl Iterator<Item = SerializedComponentColumn>>
Helper to partition the component data into unit-length sub-batches.
This is semantically similar to calling Self::columns
with std::iter::take(1).repeat(n)
,
where n
is automatically guessed.
sourcepub fn with_xyz(self, xyz: impl Into<ViewCoordinates>) -> Self
pub fn with_xyz(self, xyz: impl Into<ViewCoordinates>) -> Self
The directions of the [x, y, z] axes.
sourcepub fn with_many_xyz(
self,
xyz: impl IntoIterator<Item = impl Into<ViewCoordinates>>,
) -> Self
pub fn with_many_xyz( self, xyz: impl IntoIterator<Item = impl Into<ViewCoordinates>>, ) -> Self
This method makes it possible to pack multiple crate::components::ViewCoordinates
in a single component batch.
This only makes sense when used in conjunction with Self::columns
. Self::with_xyz
should
be used when logging a single row’s worth of data.
source§impl ViewCoordinates
impl ViewCoordinates
sourcepub fn ULF() -> Self
pub fn ULF() -> Self
X=Up, Y=Left, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LFU() -> Self
pub fn LFU() -> Self
X=Left, Y=Forward, Z=Up
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn FUL() -> Self
pub fn FUL() -> Self
X=Forward, Y=Up, Z=Left
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn UBL() -> Self
pub fn UBL() -> Self
X=Up, Y=Back, Z=Left
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LUB() -> Self
pub fn LUB() -> Self
X=Left, Y=Up, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn BLU() -> Self
pub fn BLU() -> Self
X=Back, Y=Left, Z=Up
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn UFR() -> Self
pub fn UFR() -> Self
X=Up, Y=Forward, Z=Right
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn RUF() -> Self
pub fn RUF() -> Self
X=Right, Y=Up, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn FRU() -> Self
pub fn FRU() -> Self
X=Forward, Y=Right, Z=Up
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn URB() -> Self
pub fn URB() -> Self
X=Up, Y=Right, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn RBU() -> Self
pub fn RBU() -> Self
X=Right, Y=Back, Z=Up
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn BUR() -> Self
pub fn BUR() -> Self
X=Back, Y=Up, Z=Right
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn DFL() -> Self
pub fn DFL() -> Self
X=Down, Y=Forward, Z=Left
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LDF() -> Self
pub fn LDF() -> Self
X=Left, Y=Down, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn FLD() -> Self
pub fn FLD() -> Self
X=Forward, Y=Left, Z=Down
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn DLB() -> Self
pub fn DLB() -> Self
X=Down, Y=Left, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LBD() -> Self
pub fn LBD() -> Self
X=Left, Y=Back, Z=Down
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn BDL() -> Self
pub fn BDL() -> Self
X=Back, Y=Down, Z=Left
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn DRF() -> Self
pub fn DRF() -> Self
X=Down, Y=Right, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn RFD() -> Self
pub fn RFD() -> Self
X=Right, Y=Forward, Z=Down
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn FDR() -> Self
pub fn FDR() -> Self
X=Forward, Y=Down, Z=Right
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn DBR() -> Self
pub fn DBR() -> Self
X=Down, Y=Back, Z=Right
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn RDB() -> Self
pub fn RDB() -> Self
X=Right, Y=Down, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn BRD() -> Self
pub fn BRD() -> Self
X=Back, Y=Right, Z=Down
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn RIGHT_HAND_X_UP() -> Self
pub fn RIGHT_HAND_X_UP() -> Self
X=Up, Y=Right, Z=Forward
sourcepub fn RIGHT_HAND_X_DOWN() -> Self
pub fn RIGHT_HAND_X_DOWN() -> Self
X=Down, Y=Right, Z=Back
sourcepub fn RIGHT_HAND_Y_UP() -> Self
pub fn RIGHT_HAND_Y_UP() -> Self
X=Right, Y=Up, Z=Back
sourcepub fn RIGHT_HAND_Y_DOWN() -> Self
pub fn RIGHT_HAND_Y_DOWN() -> Self
X=Right, Y=Down, Z=Forward
sourcepub fn RIGHT_HAND_Z_UP() -> Self
pub fn RIGHT_HAND_Z_UP() -> Self
X=Right, Y=Forward, Z=Up
sourcepub fn RIGHT_HAND_Z_DOWN() -> Self
pub fn RIGHT_HAND_Z_DOWN() -> Self
X=Right, Y=Back, Z=Down
sourcepub fn LEFT_HAND_X_UP() -> Self
pub fn LEFT_HAND_X_UP() -> Self
X=Up, Y=Right, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LEFT_HAND_X_DOWN() -> Self
pub fn LEFT_HAND_X_DOWN() -> Self
X=Down, Y=Right, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LEFT_HAND_Y_UP() -> Self
pub fn LEFT_HAND_Y_UP() -> Self
X=Right, Y=Up, Z=Forward
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LEFT_HAND_Y_DOWN() -> Self
pub fn LEFT_HAND_Y_DOWN() -> Self
X=Right, Y=Down, Z=Back
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LEFT_HAND_Z_UP() -> Self
pub fn LEFT_HAND_Z_UP() -> Self
X=Right, Y=Back, Z=Up
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
sourcepub fn LEFT_HAND_Z_DOWN() -> Self
pub fn LEFT_HAND_Z_DOWN() -> Self
X=Right, Y=Forward, Z=Down
⚠️ This is a left-handed coordinate system, which is not yet supported by Rerun.
Trait Implementations§
source§impl Archetype for ViewCoordinates
impl Archetype for ViewCoordinates
§type Indicator = GenericIndicatorComponent<ViewCoordinates>
type Indicator = GenericIndicatorComponent<ViewCoordinates>
source§fn name() -> ArchetypeName
fn name() -> ArchetypeName
rerun.archetypes.Points2D
.source§fn display_name() -> &'static str
fn display_name() -> &'static str
source§fn required_components() -> Cow<'static, [ComponentDescriptor]>
fn required_components() -> Cow<'static, [ComponentDescriptor]>
source§fn recommended_components() -> Cow<'static, [ComponentDescriptor]>
fn recommended_components() -> Cow<'static, [ComponentDescriptor]>
source§fn optional_components() -> Cow<'static, [ComponentDescriptor]>
fn optional_components() -> Cow<'static, [ComponentDescriptor]>
source§fn all_components() -> Cow<'static, [ComponentDescriptor]>
fn all_components() -> Cow<'static, [ComponentDescriptor]>
source§fn from_arrow_components(
arrow_data: impl IntoIterator<Item = (ComponentDescriptor, ArrayRef)>,
) -> DeserializationResult<Self>
fn from_arrow_components( arrow_data: impl IntoIterator<Item = (ComponentDescriptor, ArrayRef)>, ) -> DeserializationResult<Self>
ComponentNames
, deserializes them
into this archetype. Read moresource§fn from_arrow(
data: impl IntoIterator<Item = (Field, Arc<dyn Array>)>,
) -> Result<Self, DeserializationError>where
Self: Sized,
fn from_arrow(
data: impl IntoIterator<Item = (Field, Arc<dyn Array>)>,
) -> Result<Self, DeserializationError>where
Self: Sized,
source§impl AsComponents for ViewCoordinates
impl AsComponents for ViewCoordinates
source§fn as_serialized_batches(&self) -> Vec<SerializedComponentBatch>
fn as_serialized_batches(&self) -> Vec<SerializedComponentBatch>
SerializedComponentBatch
es. Read moresource§impl Clone for ViewCoordinates
impl Clone for ViewCoordinates
source§fn clone(&self) -> ViewCoordinates
fn clone(&self) -> ViewCoordinates
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ViewCoordinates
impl Debug for ViewCoordinates
source§impl Default for ViewCoordinates
impl Default for ViewCoordinates
source§fn default() -> ViewCoordinates
fn default() -> ViewCoordinates
source§impl PartialEq for ViewCoordinates
impl PartialEq for ViewCoordinates
source§fn eq(&self, other: &ViewCoordinates) -> bool
fn eq(&self, other: &ViewCoordinates) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl SizeBytes for ViewCoordinates
impl SizeBytes for ViewCoordinates
source§fn heap_size_bytes(&self) -> u64
fn heap_size_bytes(&self) -> u64
self
uses on the heap. Read moresource§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 ArchetypeReflectionMarker for ViewCoordinates
impl StructuralPartialEq for ViewCoordinates
Auto Trait Implementations§
impl Freeze for ViewCoordinates
impl !RefUnwindSafe for ViewCoordinates
impl Send for ViewCoordinates
impl Sync for ViewCoordinates
impl Unpin for ViewCoordinates
impl !UnwindSafe for ViewCoordinates
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§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>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more