WPILibC++ 2024.1.1-beta-4
angular_acceleration.h
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
7#include "units/angle.h"
8#include "units/base.h"
9#include "units/time.h"
10
11namespace units {
12/**
13 * @namespace units::angular_acceleration
14 * @brief namespace for unit types and containers representing angular
15 * acceleration values
16 * @details The SI unit for angular acceleration is
17 * `radians_per_second_squared`, and the corresponding `base_unit`
18 * category is`angular_acceleration_unit`.
19 * @anchor angularAccelerationContainers
20 * @sa See unit_t for more information on unit type containers.
21 */
22UNIT_ADD(angular_acceleration, radians_per_second_squared,
23 radians_per_second_squared, rad_per_s_sq,
27 compound_unit<angle::degrees, inverse<squared<time::seconds>>>)
28UNIT_ADD(angular_acceleration, turns_per_second_squared,
29 turns_per_second_squared, tr_per_s_sq,
30 compound_unit<angle::turns, inverse<squared<time::seconds>>>)
33 compound_unit<angle::turns, inverse<squared<time::minutes>>>)
34UNIT_ADD(angular_acceleration, revolutions_per_minute_per_second,
35 revolutions_per_minute_per_second, rev_per_m_per_s,
36 compound_unit<angle::turns, compound_unit<inverse<time::minutes>,
37 inverse<time::seconds>>>)
38
39UNIT_ADD_CATEGORY_TRAIT(angular_acceleration)
40
41using namespace angular_acceleration;
42} // namespace units
#define UNIT_ADD_CATEGORY_TRAIT(unitCategory)
Macro to create the is_category_unit type trait.
Definition: base.h:381
typename units::detail::inverse_impl< U >::type inverse
represents the inverse unit type of class U.
Definition: base.h:1146
typename units::detail::squared_impl< U >::type squared
represents the unit type of class U squared
Definition: base.h:1177
typename units::detail::compound_impl< U, Us... >::type compound_unit
Represents a unit type made up from other units.
Definition: base.h:1446
Unit Conversion Library namespace.
Definition: angle.h:31
degrees
Definition: angle.h:43
compound_unit< angle::degrees, inverse< squared< time::seconds > > > rev_per_m_sq
Definition: angular_acceleration.h:32
degrees_per_second_squared
Definition: angular_acceleration.h:25
deg_per_s_sq
Definition: angular_acceleration.h:26
unit< std::ratio< 1, 180 >, radians, std::ratio< 1 > > UNIT_ADD(angle, arcsecond, arcseconds, arcsec, unit< std::ratio< 1, 60 >, arcminutes >) using namespace angle
compound_unit< angle::degrees, inverse< squared< time::seconds > > > revolutions_per_minute_squared
Definition: angular_acceleration.h:31
Class representing SI base unit types.
Definition: base.h:769
Type representing an arbitrary unit.
Definition: base.h:896