WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
Pose3dStruct.hpp
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
10
11template <>
12struct WPILIB_DLLEXPORT wpi::util::Struct<wpi::math::Pose3d> {
13 static constexpr std::string_view GetTypeName() { return "Pose3d"; }
18 static constexpr std::string_view GetSchema() {
19 return "Translation3d translation;Rotation3d rotation";
20 }
21
22 static wpi::math::Pose3d Unpack(std::span<const uint8_t> data);
23 static void Pack(std::span<uint8_t> data, const wpi::math::Pose3d& value);
24 static void ForEachNested(
25 std::invocable<std::string_view, std::string_view> auto fn) {
28 }
29};
30
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
Represents a 3D pose containing translational and rotational elements.
Definition Pose3d.hpp:28
Specifies that a struct type has nested struct declarations.
Definition Struct.hpp:120
Specifies that a type is capable of raw struct serialization and deserialization.
Definition Struct.hpp:69
void ForEachStructSchema(std::invocable< std::string_view, std::string_view > auto fn, const I &... info)
Definition Struct.hpp:424
constexpr size_t GetStructSize(const I &... info)
Get the size for a raw struct serializable type.
Definition Struct.hpp:337
Definition CvSource.hpp:15
static constexpr std::string_view GetSchema()
Definition Pose3dStruct.hpp:18
static void Pack(std::span< uint8_t > data, const wpi::math::Pose3d &value)
static void ForEachNested(std::invocable< std::string_view, std::string_view > auto fn)
Definition Pose3dStruct.hpp:24
static constexpr size_t GetSize()
Definition Pose3dStruct.hpp:14
static constexpr std::string_view GetTypeName()
Definition Pose3dStruct.hpp:13
static wpi::math::Pose3d Unpack(std::span< const uint8_t > data)
Struct serialization template.
Definition Struct.hpp:39