WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
QuaternionStruct.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::Quaternion> {
13 static constexpr std::string_view GetTypeName() { return "Quaternion"; }
14 static constexpr size_t GetSize() { return 32; }
15 static constexpr std::string_view GetSchema() {
16 return "double w;double x;double y;double z";
17 }
18
19 static wpi::math::Quaternion Unpack(std::span<const uint8_t> data);
20 static void Pack(std::span<uint8_t> data, const wpi::math::Quaternion& value);
21};
22
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
Represents a quaternion.
Definition Quaternion.hpp:20
Specifies that a type is capable of raw struct serialization and deserialization.
Definition Struct.hpp:69
Definition CvSource.hpp:15
static constexpr std::string_view GetSchema()
Definition QuaternionStruct.hpp:15
static constexpr std::string_view GetTypeName()
Definition QuaternionStruct.hpp:13
static void Pack(std::span< uint8_t > data, const wpi::math::Quaternion &value)
static constexpr size_t GetSize()
Definition QuaternionStruct.hpp:14
static wpi::math::Quaternion Unpack(std::span< const uint8_t > data)
Struct serialization template.
Definition Struct.hpp:39