6#include "../component_descriptor.hpp"
7#include "../rerun_sdk_export.hpp"
8#include "../result.hpp"
17 class FixedSizeListBuilder;
26 std::array<float, 4> xyzw;
29 RERUN_SDK_EXPORT
static const Quaternion IDENTITY;
30 RERUN_SDK_EXPORT
static const Quaternion INVALID;
83 Quaternion() =
default;
93 struct Loggable<datatypes::Quaternion> {
94 static constexpr ComponentDescriptor Descriptor =
"rerun.datatypes.Quaternion";
97 static const std::shared_ptr<arrow::DataType>& arrow_datatype();
100 static Result<std::shared_ptr<arrow::Array>> to_arrow(
101 const datatypes::Quaternion* instances,
size_t num_instances
106 arrow::FixedSizeListBuilder* builder,
const datatypes::Quaternion* elements,
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:95
All built-in datatypes. See Types in the Rerun manual.
Definition rerun.hpp:83
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Datatype: A Quaternion represented by 4 real numbers.
Definition quaternion.hpp:25
static Quaternion from_wxyz(const float *wxyz_)
Construct Quaternion from w/x/y/z float pointer.
Definition quaternion.hpp:60
static Quaternion from_wxyz(std::array< float, 4 > wxyz_)
Construct Quaternion from w/x/y/z array.
Definition quaternion.hpp:50
static Quaternion from_wxyz(float w, float x, float y, float z)
Construct Quaternion from w/x/y/z values.
Definition quaternion.hpp:38
static Quaternion from_xyzw(const float *xyzw_)
Construct Quaternion from x/y/z/w float pointer.
Definition quaternion.hpp:55
static Quaternion from_xyzw(float x, float y, float z, float w)
Construct Quaternion from x/y/z/w values.
Definition quaternion.hpp:33
static Quaternion from_xyzw(std::array< float, 4 > xyzw_)
Construct Quaternion from x/y/z/w array.
Definition quaternion.hpp:43