// Copyright (c) FIRST and other WPILib contributors. // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. #include "frc/spline/struct/CubicHermiteSplineStruct.h" namespace { constexpr size_t kXInitialOff = 0; constexpr size_t kXFinalOff = kXInitialOff + 2 * 8; constexpr size_t kYInitialOff = kXFinalOff + 2 * 8; constexpr size_t kYFinalOff = kYInitialOff + 2 * 8; } // namespace frc::CubicHermiteSpline wpi::Struct::Unpack( std::span data) { return frc::CubicHermiteSpline{ wpi::UnpackStructArray(data), wpi::UnpackStructArray(data), wpi::UnpackStructArray(data), wpi::UnpackStructArray(data)}; } void wpi::Struct::Pack( std::span data, const frc::CubicHermiteSpline& value) { wpi::PackStructArray(data, value.GetInitialControlVector().x); wpi::PackStructArray(data, value.GetFinalControlVector().x); wpi::PackStructArray(data, value.GetInitialControlVector().y); wpi::PackStructArray(data, value.GetFinalControlVector().y); }