18 #ifndef GZ_PHYSICS_RELATIVEQUANTITY_HH_
19 #define GZ_PHYSICS_RELATIVEQUANTITY_HH_
47 template <
typename Q, std::
size_t Dim,
typename CoordinateSpace>
52 public:
template <
typename... Args>
106 public:
using Space = CoordinateSpace;
120 template <
typename Q, std::
size_t Dim,
typename CoordinateSpace>
135 template <
typename, std::
size_t>
struct SESpace;
136 template <
typename, std::
size_t,
typename>
struct SOSpace;
137 template <
typename, std::
size_t>
struct EuclideanSpace;
138 template <
typename, std::
size_t>
struct LinearVelocitySpace;
139 template <
typename, std::
size_t>
struct AngularVelocitySpace;
140 template <
typename, std::
size_t>
struct LinearAccelerationSpace;
141 template <
typename, std::
size_t>
struct AngularAccelerationSpace;
142 template <
typename, std::
size_t>
struct VectorSpace;
143 template <
typename, std::
size_t>
struct FrameSpace;
144 template <
typename, std::
size_t>
struct AABBSpace;
145 template <
typename, std::
size_t>
struct WrenchSpace;
156 template <
typename Scalar, std::
size_t Dim>
162 template <
typename Scalar, std::
size_t Dim>
164 Eigen::Matrix<Scalar, Dim, Dim>, Dim,
165 detail::SOSpace<Scalar, Dim, Eigen::Matrix<Scalar, Dim, Dim>>>;
169 template <
typename Scalar>
171 Eigen::Quaternion<Scalar>, 3, detail::SOSpace<Scalar, 3,
172 Eigen::Quaternion<Scalar>>>;
179 template <
typename Scalar, std::
size_t Dim>
185 template <
typename Scalar, std::
size_t Dim>
191 template <
typename Scalar, std::
size_t Dim>
194 detail::VectorSpace<Scalar, (Dim*(Dim-1))/2>>;
198 template <
typename Scalar, std::
size_t Dim>
204 template <
typename Scalar, std::
size_t Dim>
210 template <
typename Scalar, std::
size_t Dim>
217 #include <gz/physics/detail/RelativeQuantity.hh>