6#include "../datatypes/ivec3d.hpp"
7#include "../result.hpp"
22 VoxelIndex(int32_t x, int32_t y, int32_t z) : index{x, y, z} {}
36 VoxelIndex(std::array<int32_t, 3> xyz_) : index(xyz_) {}
38 VoxelIndex& operator=(std::array<int32_t, 3> xyz_) {
55 struct Loggable<components::VoxelIndex> {
56 static constexpr std::string_view ComponentType =
"rerun.components.VoxelIndex";
59 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
60 return Loggable<rerun::datatypes::IVec3D>::arrow_datatype();
64 static Result<std::shared_ptr<arrow::Array>> to_arrow(
65 const components::VoxelIndex* instances,
size_t num_instances
67 if (num_instances == 0) {
68 return Loggable<rerun::datatypes::IVec3D>::to_arrow(
nullptr, 0);
69 }
else if (instances ==
nullptr) {
71 ErrorCode::UnexpectedNullArgument,
72 "Passed array instances is null when num_elements> 0."
75 return Loggable<rerun::datatypes::IVec3D>::to_arrow(
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:103
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:90
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Component: Integer index of a voxel in a sparse 3D voxel grid.
Definition voxel_index.hpp:17
VoxelIndex(int32_t x, int32_t y, int32_t z)
Construct VoxelIndex from x/y/z values.
Definition voxel_index.hpp:22
Datatype: An int32 vector in 3D space.
Definition ivec3d.hpp:20