farm-ng-core
sophus::concepts::accessors Namespace Reference

Variables

template<class TT >
concept Translation
 
template<class TT >
concept Rotation
 
template<class TT >
concept TxTy
 
template<class TT >
concept TxTyTz
 
template<class TT >
concept Isometry
 
template<class TT >
concept Similarity
 
template<class TT >
concept SpiralSimilarity
 
template<class TT >
concept UnitComplex
 
template<class TT >
concept UnitQuaternion
 
template<class TT >
concept Rotation2
 
template<class TT >
concept Rotation3
 
template<class TT >
concept Isometry2 = Isometry<TT> && Rotation2<TT> && TxTy<TT>
 
template<class TT >
concept Isometry3 = Isometry<TT> && Rotation3<TT> && TxTyTz<TT>
 
template<class TT >
concept SpiralSimilarity2
 
template<class TT >
concept SpiralSimilarity3
 
template<class TT >
concept Similarity2 = Similarity<TT> && SpiralSimilarity2<TT> && TxTy<TT>
 
template<class TT >
concept Similarity3 = Similarity<TT> && SpiralSimilarity3<TT> && TxTyTz<TT>
 

Variable Documentation

◆ Isometry

template<class TT >
concept sophus::concepts::accessors::Isometry
Initial value:
= LieGroup<TT> && Translation<TT> &&
ConstructibleFrom<TT, typename TT::Rotation> &&
ConstructibleFrom<TT, typename TT::Point, typename TT::Rotation> &&
requires(TT g, typename TT::Rotation rotation) {
{ g.rotation() } -> ConvertibleTo<typename TT::Rotation>;
{g.setRotation(rotation)};
}

◆ Isometry2

template<class TT >
concept sophus::concepts::accessors::Isometry2 = Isometry<TT> && Rotation2<TT> && TxTy<TT>

◆ Isometry3

template<class TT >
concept sophus::concepts::accessors::Isometry3 = Isometry<TT> && Rotation3<TT> && TxTyTz<TT>

◆ Rotation

template<class TT >
concept sophus::concepts::accessors::Rotation
Initial value:
= LieGroup<TT> && requires(
TT g,
Eigen::Matrix<typename TT::Scalar, TT::kPointDim, TT::kPointDim> matrix) {
{ TT::fromRotationMatrix(matrix) } -> ConvertibleTo<TT>;
{
g.rotationMatrix()
Eigen::Matrix<typename TT::Scalar, TT::kPointDim, TT::kPointDim>>;
}

◆ Rotation2

template<class TT >
concept sophus::concepts::accessors::Rotation2
Initial value:
= Rotation<TT> &&
requires(TT g, typename TT::Scalar s, Complex<typename TT::Scalar> z) {
{ TT::fromAngle(s) } -> ConvertibleTo<TT>;
{ g.angle() } -> ConvertibleTo<typename TT::Scalar>;
}

◆ Rotation3

template<class TT >
concept sophus::concepts::accessors::Rotation3
Initial value:
= Rotation<TT> &&
requires(TT g, typename TT::Scalar s, Quaternion<typename TT::Scalar> q) {
{ TT::fromRx(s) } -> ConvertibleTo<TT>;
{ TT::fromRy(s) } -> ConvertibleTo<TT>;
{ TT::fromRz(s) } -> ConvertibleTo<TT>;
}

◆ Similarity

template<class TT >
concept sophus::concepts::accessors::Similarity
Initial value:
= LieGroup<TT> && Translation<TT> &&
ConstructibleFrom<TT, typename TT::Isometry> && ConstructibleFrom<
TT,
typename TT::Point,
typename TT::Rotation,
typename TT::Scalar> &&
ConstructibleFrom<TT, typename TT::SpiralSimilarity> &&
ConstructibleFrom<TT, typename TT::Point, typename TT::SpiralSimilarity>

◆ Similarity2

template<class TT >
concept sophus::concepts::accessors::Similarity2 = Similarity<TT> && SpiralSimilarity2<TT> && TxTy<TT>

◆ Similarity3

template<class TT >
concept sophus::concepts::accessors::Similarity3 = Similarity<TT> && SpiralSimilarity3<TT> && TxTyTz<TT>

◆ SpiralSimilarity

template<class TT >
concept sophus::concepts::accessors::SpiralSimilarity
Initial value:
= Rotation<TT> &&
ConstructibleFrom<TT, typename TT::Rotation> &&
ConstructibleFrom<TT, typename TT::Rotation, typename TT::Scalar> &&
requires(TT g, typename TT::Scalar scale, typename TT::Rotation rotation) {
{ TT::fromScale(scale) } -> ConvertibleTo<TT>;
{ g.rotation() } -> ConvertibleTo<typename TT::Rotation>;
{g.setRotation(rotation)};
{ g.scale() } -> ConvertibleTo<typename TT::Scalar>;
{g.setScale(scale)};
}

◆ SpiralSimilarity2

template<class TT >
concept sophus::concepts::accessors::SpiralSimilarity2
Initial value:
= Rotation2<TT> && SpiralSimilarity<TT> &&
requires(TT g, Complex<typename TT::Scalar> z) {
{ TT::fromComplex(z) } -> ConvertibleTo<TT>;
{ g.complex() } -> ConvertibleTo<Complex<typename TT::Scalar>>;
{g.setComplex(z)};
}

◆ SpiralSimilarity3

template<class TT >
concept sophus::concepts::accessors::SpiralSimilarity3
Initial value:
= Rotation3<TT> && SpiralSimilarity<TT> &&
requires(TT g, Quaternion<typename TT::Scalar> q) {
{ TT::fromQuaternion(q) } -> ConvertibleTo<TT>;
{ g.quaternion() } -> ConvertibleTo<Quaternion<typename TT::Scalar>>;
{g.setQuaternion(q)};
}

◆ Translation

template<class TT >
concept sophus::concepts::accessors::Translation
Initial value:
= LieGroup<TT> &&
ConstructibleFrom<TT, typename TT::Point> && requires(TT g) {
{ g.translation() } -> ConvertibleTo<typename TT::Point>;
}

◆ TxTy

template<class TT >
concept sophus::concepts::accessors::TxTy
Initial value:
= requires(typename TT::Scalar s) {
{ TT::fromT(s, s) } -> ConvertibleTo<TT>;
{ TT::fromTx(s) } -> ConvertibleTo<TT>;
{ TT::fromTy(s) } -> ConvertibleTo<TT>;
}

◆ TxTyTz

template<class TT >
concept sophus::concepts::accessors::TxTyTz
Initial value:
= requires(typename TT::Scalar s) {
{ TT::fromT(s, s, s) } -> ConvertibleTo<TT>;
{ TT::fromTx(s) } -> ConvertibleTo<TT>;
{ TT::fromTy(s) } -> ConvertibleTo<TT>;
{ TT::fromTz(s) } -> ConvertibleTo<TT>;
}

◆ UnitComplex

template<class TT >
concept sophus::concepts::accessors::UnitComplex
Initial value:
=
requires(TT g, typename TT::Scalar s, Complex<typename TT::Scalar> z) {
{ TT::fitFromComplex(z) } -> ConvertibleTo<TT>;
{ TT::fromUnitComplex(z) } -> ConvertibleTo<TT>;
{ g.unitComplex() } -> ConvertibleTo<Complex<typename TT::Scalar>>;
{g.setUnitComplex(z)};
}

◆ UnitQuaternion

template<class TT >
concept sophus::concepts::accessors::UnitQuaternion
Initial value:
=
requires(TT g, typename TT::Scalar s, Quaternion<typename TT::Scalar> q) {
{ TT::fitFromQuaternion(q) } -> ConvertibleTo<TT>;
{ TT::fromUnitQuaternion(q) } -> ConvertibleTo<TT>;
{ g.unitQuaternion() } -> ConvertibleTo<Quaternion<typename TT::Scalar>>;
{g.setUnitQuaternion(q)};
}
sophus::concepts::base::Rotation
concept Rotation
Definition: group_accessors.h:153
sophus::concepts::ConstructibleFrom
concept ConstructibleFrom
Definition: utils.h:38
sophus::concepts::ConvertibleTo
concept ConvertibleTo
Definition: utils.h:33