6#include "../component_descriptor.hpp"
7#include "../rerun_sdk_export.hpp"
8#include "../result.hpp"
18 class FixedSizeListBuilder;
37 static const Mat3x3 IDENTITY;
38 static const Mat3x3 INVALID;
55 explicit Mat3x3(
const float* elements)
75 Mat3x3& operator=(std::array<float, 9> flat_columns_) {
88 struct Loggable<datatypes::Mat3x3> {
89 static constexpr ComponentDescriptor Descriptor =
"rerun.datatypes.Mat3x3";
92 static const std::shared_ptr<arrow::DataType>& arrow_datatype();
95 static Result<std::shared_ptr<arrow::Array>> to_arrow(
96 const datatypes::Mat3x3* instances,
size_t num_instances
101 arrow::FixedSizeListBuilder* builder,
const datatypes::Mat3x3* 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 3x3 Matrix.
Definition mat3x3.hpp:32
std::array< float, 9 > flat_columns
Flat list of matrix coefficients in column-major order.
Definition mat3x3.hpp:34
Mat3x3(const Vec3D(&columns)[3])
Creates a new 3x3 matrix from 3 columns of 3 elements each.
Definition mat3x3.hpp:41
Mat3x3(const float *elements)
Construct a new 3x3 matrix from a pointer to 9 floats (in column major order).
Definition mat3x3.hpp:55
Datatype: A vector in 3D space.
Definition vec3d.hpp:21