Trait rerun::Loggable

source ·
pub trait Loggable: Sized + 'static + Send + Sync + Clone + SizeBytes {
    type Name: Display;

    // Required methods
    fn name() -> Self::Name;
    fn arrow_datatype() -> DataType;
    fn to_arrow_opt<'a>(
        data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>
    ) -> Result<Box<dyn Array>, SerializationError>
       where Self: 'a;

    // Provided methods
    fn to_arrow<'a>(
        data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>
    ) -> Result<Box<dyn Array>, SerializationError>
       where Self: 'a { ... }
    fn from_arrow(
        data: &(dyn Array + 'static)
    ) -> Result<Vec<Self>, DeserializationError> { ... }
    fn from_arrow_opt(
        data: &(dyn Array + 'static)
    ) -> Result<Vec<Option<Self>>, DeserializationError> { ... }
}
Expand description

A Loggable represents a single instance in an array of loggable data.

Internally, Arrow, and by extension Rerun, only deal with arrays of data. We refer to individual entries in these arrays as instances.

Component is a specialization of the Loggable trait where Loggable::Name == ComponentName.

Implementing the Loggable trait (and by extension Component) automatically derives the LoggableBatch implementation (and by extension ComponentBatch), which makes it possible to work with lists’ worth of data in a generic fashion.

Required Associated Types§

Required Methods§

source

fn name() -> Self::Name

The fully-qualified name of this loggable, e.g. rerun.datatypes.Vec2D.

source

fn arrow_datatype() -> DataType

The underlying arrow2::datatypes::DataType, excluding datatype extensions.

source

fn to_arrow_opt<'a>( data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>> ) -> Result<Box<dyn Array>, SerializationError>
where Self: 'a,

Given an iterator of options of owned or reference values to the current Loggable, serializes them into an Arrow array.

When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow array (2^31 for standard arrays, 2^63 for large arrays).

Provided Methods§

source

fn to_arrow<'a>( data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>> ) -> Result<Box<dyn Array>, SerializationError>
where Self: 'a,

Given an iterator of owned or reference values to the current Loggable, serializes them into an Arrow array.

When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow array (2^31 for standard arrays, 2^63 for large arrays).

source

fn from_arrow( data: &(dyn Array + 'static) ) -> Result<Vec<Self>, DeserializationError>

Given an Arrow array, deserializes it into a collection of Loggables.

source

fn from_arrow_opt( data: &(dyn Array + 'static) ) -> Result<Vec<Option<Self>>, DeserializationError>

Given an Arrow array, deserializes it into a collection of optional Loggables.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Loggable for AggregationPolicy

source§

impl Loggable for Colormap

source§

impl Loggable for MagnificationFilter

source§

impl Loggable for MarkerShape

source§

impl Loggable for TimeRangeBoundary

source§

impl Loggable for ChannelDatatype

source§

impl Loggable for ColorModel

source§

impl Loggable for FillMode

source§

impl Loggable for PixelFormat

source§

impl Loggable for TensorBuffer

source§

impl Loggable for TransformRelation

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer3

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer4

source§

impl Loggable for EnumTest

source§

impl Loggable for ValuedEnum

source§

impl Loggable for BackgroundKind

source§

impl Loggable for ContainerKind

source§

impl Loggable for Corner2D

source§

impl Loggable for MapProvider

source§

impl Loggable for PanelState

source§

impl Loggable for ViewFit

source§

impl Loggable for AnnotationContext

source§

impl Loggable for AxisLength

source§

impl Loggable for rerun::components::Blob

source§

impl Loggable for rerun::components::ClassId

source§

impl Loggable for ClearIsRecursive

source§

impl Loggable for DepthMeter

source§

impl Loggable for DisconnectedSpace

source§

impl Loggable for DrawOrder

source§

impl Loggable for rerun::components::EntityPath

source§

impl Loggable for FillRatio

source§

impl Loggable for GammaCorrection

source§

impl Loggable for GeoLineString

source§

impl Loggable for ImageBuffer

source§

impl Loggable for ImagePlaneDistance

source§

impl Loggable for rerun::components::KeypointId

source§

impl Loggable for LatLon

source§

impl Loggable for Length

source§

impl Loggable for MarkerSize

source§

impl Loggable for Name

source§

impl Loggable for Opacity

source§

impl Loggable for PinholeProjection

source§

impl Loggable for PoseRotationAxisAngle

source§

impl Loggable for PoseRotationQuat

source§

impl Loggable for PoseScale3D

source§

impl Loggable for PoseTransformMat3x3

source§

impl Loggable for PoseTranslation3D

source§

impl Loggable for rerun::components::Range1D

source§

impl Loggable for Resolution

source§

impl Loggable for rerun::components::RotationAxisAngle

source§

impl Loggable for RotationQuat

source§

impl Loggable for Scalar

source§

impl Loggable for ShowLabels

source§

impl Loggable for StrokeWidth

source§

impl Loggable for rerun::components::TensorData

source§

impl Loggable for rerun::components::TensorDimensionIndexSelection

source§

impl Loggable for TensorHeightDimension

source§

impl Loggable for TensorWidthDimension

source§

impl Loggable for Texcoord2D

source§

impl Loggable for TransformMat3x3

source§

impl Loggable for Translation3D

source§

impl Loggable for ValueRange

source§

impl Loggable for rerun::components::VideoTimestamp

source§

impl Loggable for rerun::components::ViewCoordinates

source§

impl Loggable for rerun::datatypes::Blob

source§

impl Loggable for Bool

source§

impl Loggable for ClassDescriptionMapElem

source§

impl Loggable for rerun::datatypes::ClassId

source§

impl Loggable for DVec2D

source§

impl Loggable for rerun::datatypes::EntityPath

source§

impl Loggable for Float64

source§

impl Loggable for rerun::datatypes::ImageFormat

source§

impl Loggable for rerun::datatypes::KeypointId

source§

impl Loggable for Mat4x4

source§

impl Loggable for rerun::datatypes::Range1D

source§

impl Loggable for Range2D

source§

impl Loggable for rerun::datatypes::TensorDimensionIndexSelection

source§

impl Loggable for TensorDimensionSelection

source§

impl Loggable for TimeInt

source§

impl Loggable for TimeRange

source§

impl Loggable for UInt16

source§

impl Loggable for UInt32

source§

impl Loggable for UInt64

source§

impl Loggable for UVec2D

source§

impl Loggable for UVec3D

source§

impl Loggable for UVec4D

source§

impl Loggable for Utf8

source§

impl Loggable for Uuid

source§

impl Loggable for rerun::datatypes::VideoTimestamp

source§

impl Loggable for rerun::datatypes::ViewCoordinates

source§

impl Loggable for rerun::datatypes::VisibleTimeRange

source§

impl Loggable for MyColor

source§

impl Loggable for MyIndex

source§

impl Loggable for MyLabel

source§

impl Loggable for MyPoint64

source§

impl Loggable for MyPoint

source§

impl Loggable for rerun::external::re_types::blueprint::datatypes::ComponentColumnSelector

source§

impl Loggable for rerun::external::re_types::blueprint::datatypes::FilterByRange

source§

impl Loggable for rerun::external::re_types::blueprint::datatypes::FilterIsNotNull

source§

impl Loggable for rerun::external::re_types::blueprint::datatypes::SelectedColumns

source§

impl Loggable for rerun::external::re_types::blueprint::datatypes::TensorDimensionIndexSlider

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer1

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer2

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer3

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer4

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer5

source§

impl Loggable for AffixFuzzer6

source§

impl Loggable for AffixFuzzer7

source§

impl Loggable for AffixFuzzer8

source§

impl Loggable for AffixFuzzer9

source§

impl Loggable for AffixFuzzer10

source§

impl Loggable for AffixFuzzer11

source§

impl Loggable for AffixFuzzer12

source§

impl Loggable for AffixFuzzer13

source§

impl Loggable for AffixFuzzer14

source§

impl Loggable for AffixFuzzer15

source§

impl Loggable for AffixFuzzer16

source§

impl Loggable for AffixFuzzer17

source§

impl Loggable for AffixFuzzer18

source§

impl Loggable for AffixFuzzer19

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer20

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer21

source§

impl Loggable for rerun::external::re_types::testing::components::AffixFuzzer22

source§

impl Loggable for AffixFuzzer23

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer1

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer2

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer5

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer20

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer21

source§

impl Loggable for rerun::external::re_types::testing::datatypes::AffixFuzzer22

source§

impl Loggable for FlattenedScalar

source§

impl Loggable for MultiEnum

source§

impl Loggable for PrimitiveComponent

source§

impl Loggable for StringComponent

source§

impl Loggable for Tuid

source§

impl Loggable for ActiveTab

source§

impl Loggable for ApplyLatestAt

source§

impl Loggable for AutoLayout

source§

impl Loggable for AutoSpaceViews

source§

impl Loggable for ColumnShare

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::ComponentColumnSelector

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::FilterByRange

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::FilterIsNotNull

source§

impl Loggable for GridColumns

source§

impl Loggable for IncludedContent

source§

impl Loggable for IncludedSpaceView

source§

impl Loggable for Interactive

source§

impl Loggable for LockRangeDuringZoom

source§

impl Loggable for QueryExpression

source§

impl Loggable for RootContainer

source§

impl Loggable for RowShare

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::SelectedColumns

source§

impl Loggable for SpaceViewClass

source§

impl Loggable for SpaceViewMaximized

source§

impl Loggable for SpaceViewOrigin

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::TensorDimensionIndexSlider

source§

impl Loggable for TimelineName

source§

impl Loggable for ViewerRecommendationHash

source§

impl Loggable for Visible

source§

impl Loggable for rerun::external::re_viewport::external::re_types_blueprint::blueprint::components::VisibleTimeRange

source§

impl Loggable for VisualBounds2D

source§

impl Loggable for VisualizerOverrides

source§

impl Loggable for ZoomLevel

source§

impl Loggable for Utf8List

source§

impl Loggable for ChunkId

source§

impl Loggable for RowId

source§

impl Loggable for AlbedoFactor

source§

impl Loggable for Angle

source§

impl Loggable for AnnotationInfo

source§

impl Loggable for ClassDescription

source§

impl Loggable for Color

source§

impl Loggable for rerun::EntityPath

source§

impl Loggable for Float32

source§

impl Loggable for HalfSize2D

source§

impl Loggable for HalfSize3D

source§

impl Loggable for rerun::ImageFormat

source§

impl Loggable for KeypointPair

source§

impl Loggable for LineStrip2D

source§

impl Loggable for LineStrip3D

source§

impl Loggable for Mat3x3

source§

impl Loggable for MediaType

source§

impl Loggable for Position2D

source§

impl Loggable for Position3D

source§

impl Loggable for Quaternion

source§

impl Loggable for Radius

source§

impl Loggable for Rgba32

source§

impl Loggable for rerun::RotationAxisAngle

source§

impl Loggable for Scale3D

source§

impl Loggable for rerun::TensorData

source§

impl Loggable for TensorDimension

source§

impl Loggable for Text

source§

impl Loggable for TextLogLevel

source§

impl Loggable for TriangleIndices

source§

impl Loggable for Vec2D

source§

impl Loggable for Vec3D

source§

impl Loggable for Vec4D

source§

impl Loggable for Vector2D

source§

impl Loggable for Vector3D