Crate ecoord

Crate ecoord 

Source
Expand description

A library for transforming between 3D coordinate frames.

The position of an object in 3D space can be described geometrically using an inertial frame of reference. If the transform (translation and rotation) between two reference frames is known, the object’s position can be determined for each frame.

As some objects, like pedestrians or UAVs, move in space, a reference frame can be time-dependent. Each transform object has a timestamp defined in seconds and nanoseconds, whereby different interpolation strategies, such as step-wise or linear, can be applied.

§Overview

§Data Structure

For de/serializing JSON is used in three forms:

  • ecoord.json: readable JSON
  • file_name.ecoord.json prefixing with a file name
  • file_name.ecoord.json.zst: compressed JSON using the ZStandard compression algorithm

Document Structure:

  • document
    • edges
      • parent_frame_id: String
      • child_frame_id: String
      • interpolation_method: Option<String>
        • step (default): piecewise constant interpolation
        • linear: linear interpolation
      • extrapolation_method: Option<String>
        • constant (default): constant extrapolation
        • linear: linear extrapolation
      • samples:
    • frame_info: additional information on frames

Re-exports§

pub use ecoord_io as io;
pub use ecoord_transform as transform;

Modules§

octree

Structs§

AxisAlignedBoundingBox
AxisAlignedBoundingCube
DynamicTransform
FrameId
Dedicated type for an identifier of a frame.
FrameInfo
Additional information for a frame.
SphericalPoint3
Represents a point in three-dimensional spherical coordinates.
StaticTransform
TimedTransform
A time-dependent rigid transformation in 3D.
Transform
A time-dependent rigid transformation in 3D.
TransformId
Dedicated type for an identifier of a transform.
TransformTree
UnitSphericalPoint3

Enums§

Error
ExtrapolationMethod
Methods for extrapolating a list of Transform.
InterpolationMethod
Methods for interpolating a list of Transform.
TransformEdge

Traits§

HasAabb

Functions§

merge
Merges a list of transform trees to a single transform tree. Requires unique TransformId combinations across the input TransformTree.