Moved things to inl
parent
e93149babb
commit
f7ad80673c
|
@ -97,6 +97,32 @@ typename SO<N>::TangentVector SO<N>::ChartAtOrigin::Local(const SO& R,
|
|||
return -2 * Vee(X);
|
||||
}
|
||||
|
||||
template <int N>
|
||||
typename SO<N>::MatrixDD SO<N>::AdjointMap() const {
|
||||
throw std::runtime_error(
|
||||
"SO<N>::AdjointMap only implemented for SO3 and SO4.");
|
||||
}
|
||||
|
||||
template <int N>
|
||||
SO<N> SO<N>::Expmap(const TangentVector& omega, ChartJacobian H) {
|
||||
throw std::runtime_error("SO<N>::Expmap only implemented for SO3 and SO4.");
|
||||
}
|
||||
|
||||
template <int N>
|
||||
typename SO<N>::MatrixDD SO<N>::ExpmapDerivative(const TangentVector& omega) {
|
||||
throw std::runtime_error("SO<N>::ExpmapDerivative only implemented for SO3.");
|
||||
}
|
||||
|
||||
template <int N>
|
||||
typename SO<N>::TangentVector SO<N>::Logmap(const SO& R, ChartJacobian H) {
|
||||
throw std::runtime_error("SO<N>::Logmap only implemented for SO3 and SO4.");
|
||||
}
|
||||
|
||||
template <int N>
|
||||
typename SO<N>::MatrixDD SO<N>::LogmapDerivative(const TangentVector& omega) {
|
||||
throw std::runtime_error("O<N>::LogmapDerivative only implemented for SO3.");
|
||||
}
|
||||
|
||||
template <int N>
|
||||
typename SO<N>::VectorN2 SO<N>::vec(
|
||||
OptionalJacobian<internal::NSquaredSO(N), dimension> H) const {
|
||||
|
|
|
@ -220,27 +220,24 @@ class SO : public LieGroup<SO<N>, internal::DimensionSO(N)> {
|
|||
/// @name Lie Group
|
||||
/// @{
|
||||
|
||||
MatrixDD AdjointMap() const {
|
||||
throw std::runtime_error(
|
||||
"SO<N>::AdjointMap only implemented for SO3 and SO4.");
|
||||
}
|
||||
/// Adjoint map
|
||||
MatrixDD AdjointMap() const;
|
||||
|
||||
/**
|
||||
* Exponential map at identity - create a rotation from canonical coordinates
|
||||
*/
|
||||
static SO Expmap(const TangentVector& omega, ChartJacobian H = boost::none) {
|
||||
throw std::runtime_error("SO<N>::Expmap only implemented for SO3 and SO4.");
|
||||
}
|
||||
static SO Expmap(const TangentVector& omega, ChartJacobian H = boost::none);
|
||||
|
||||
/// Derivative of Expmap, currently only defined for SO3
|
||||
static MatrixDD ExpmapDerivative(const TangentVector& omega);
|
||||
|
||||
/**
|
||||
* Log map at identity - returns the canonical coordinates of this rotation
|
||||
*/
|
||||
static TangentVector Logmap(const SO& R, ChartJacobian H = boost::none) {
|
||||
throw std::runtime_error("SO<N>::Logmap only implemented for SO3 and SO4.");
|
||||
}
|
||||
static TangentVector Logmap(const SO& R, ChartJacobian H = boost::none);
|
||||
|
||||
// template <int N_ = N, typename = IsSO3<N_>>
|
||||
static Matrix3 LogmapDerivative(const Vector3& omega);
|
||||
/// Derivative of Logmap, currently only defined for SO3
|
||||
static MatrixDD LogmapDerivative(const TangentVector& omega);
|
||||
|
||||
// inverse with optional derivative
|
||||
using LieGroup<SO<N>, internal::DimensionSO(N)>::inverse;
|
||||
|
|
Loading…
Reference in New Issue