6#include "../component_descriptor.hpp"
7#include "../rerun_sdk_export.hpp"
8#include "../result.hpp"
18 class FixedSizeListBuilder;
38 RERUN_SDK_EXPORT
static const Mat4x4 IDENTITY;
62 explicit Mat4x4(
const float* elements)
89 Mat4x4& operator=(std::array<float, 16> flat_columns_) {
102 struct Loggable<datatypes::Mat4x4> {
103 static constexpr ComponentDescriptor Descriptor =
"rerun.datatypes.Mat4x4";
106 static const std::shared_ptr<arrow::DataType>& arrow_datatype();
109 static Result<std::shared_ptr<arrow::Array>> to_arrow(
110 const datatypes::Mat4x4* instances,
size_t num_instances
115 arrow::FixedSizeListBuilder* builder,
const datatypes::Mat4x4* 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 4x4 Matrix.
Definition mat4x4.hpp:33
std::array< float, 16 > flat_columns
Flat list of matrix coefficients in column-major order.
Definition mat4x4.hpp:35
Mat4x4(const Vec4D(&columns)[4])
Creates a new 4x4 matrix from 3 columns of 4 elements each.
Definition mat4x4.hpp:41
Mat4x4(const float *elements)
Construct a new 4x4 matrix from a pointer to 16 floats (in column major order).
Definition mat4x4.hpp:62
Datatype: A vector in 4D space.
Definition vec4d.hpp:21