Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gabriele Buondonno
pinocchio
Commits
9324fb98
Commit
9324fb98
authored
Sep 02, 2017
by
Florent Lamiraux
Committed by
Florent Lamiraux florent@laas.fr
Sep 02, 2017
Browse files
Add dimension getters in LiegroupOperation classes
parent
86c816fb
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/multibody/liegroup/cartesian-product.hpp
View file @
9324fb98
...
...
@@ -41,6 +41,20 @@ namespace se3
typedef
CartesianProductOperation
<
LieGroup1
,
LieGroup2
>
LieGroupDerived
;
SE3_LIE_GROUP_TYPEDEF_TEMPLATE
;
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
{
return
NQ
;
}
/// Get dimension of Lie Group tangent space
Index
nv
()
const
{
return
NV
;
}
template
<
class
ConfigL_t
,
class
ConfigR_t
,
class
Tangent_t
>
static
void
difference_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
...
...
src/multibody/liegroup/operation-base.hpp
View file @
9324fb98
...
...
@@ -233,7 +233,13 @@ namespace se3
static
bool
isSameConfiguration_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
const
Scalar
&
prec
);
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
;
/// Get dimension of Lie Group tangent space
Index
nv
()
const
;
/// \}
protected:
...
...
src/multibody/liegroup/operation-base.hxx
View file @
9324fb98
...
...
@@ -226,6 +226,20 @@ namespace se3 {
{
return
q0
.
isApprox
(
q1
,
prec
);
}
template
<
class
Derived
>
typename
LieGroupOperationBase
<
Derived
>::
Index
LieGroupOperationBase
<
Derived
>::
nq
()
const
{
return
Derived
::
nq
();
}
template
<
class
Derived
>
typename
LieGroupOperationBase
<
Derived
>::
Index
LieGroupOperationBase
<
Derived
>::
nv
()
const
{
return
Derived
::
nv
();
}
}
// namespace se3
#endif // __se3_lie_group_operation_base_hxx__
src/multibody/liegroup/special-euclidean.hpp
View file @
9324fb98
...
...
@@ -61,6 +61,20 @@ namespace se3
typedef
SpecialEuclideanOperation
LieGroupDerived
;
SE3_LIE_GROUP_TYPEDEF
;
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
{
return
NQ
;
}
/// Get dimension of Lie Group tangent space
Index
nv
()
const
{
return
NV
;
}
template
<
class
ConfigL_t
,
class
ConfigR_t
,
class
Tangent_t
>
static
void
difference_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
...
...
@@ -193,6 +207,20 @@ namespace se3
typedef
Eigen
::
Map
<
const
Quaternion_t
>
ConstQuaternionMap_t
;
typedef
SE3
Transformation_t
;
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
{
return
NQ
;
}
/// Get dimension of Lie Group tangent space
Index
nv
()
const
{
return
NV
;
}
template
<
class
ConfigL_t
,
class
ConfigR_t
,
class
Tangent_t
>
static
void
difference_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
...
...
src/multibody/liegroup/special-orthogonal.hpp
View file @
9324fb98
...
...
@@ -55,6 +55,20 @@ namespace se3
typedef
SpecialOrthogonalOperation
LieGroupDerived
;
SE3_LIE_GROUP_TYPEDEF
;
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
{
return
NQ
;
}
/// Get dimension of Lie Group tangent space
Index
nv
()
const
{
return
NV
;
}
template
<
class
ConfigL_t
,
class
ConfigR_t
,
class
Tangent_t
>
static
void
difference_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
...
...
@@ -147,6 +161,20 @@ namespace se3
typedef
Eigen
::
Map
<
Quaternion_t
>
QuaternionMap_t
;
typedef
Eigen
::
Map
<
const
Quaternion_t
>
ConstQuaternionMap_t
;
/// Get dimension of Lie Group vector representation
///
/// For instance, for SO(3), the dimension of the vector representation is
/// 4 (quaternion) while the dimension of the tangent space is 3.
Index
nq
()
const
{
return
NQ
;
}
/// Get dimension of Lie Group tangent space
Index
nv
()
const
{
return
NV
;
}
template
<
class
ConfigL_t
,
class
ConfigR_t
,
class
Tangent_t
>
static
void
difference_impl
(
const
Eigen
::
MatrixBase
<
ConfigL_t
>
&
q0
,
const
Eigen
::
MatrixBase
<
ConfigR_t
>
&
q1
,
...
...
src/multibody/liegroup/vector-space.hpp
View file @
9324fb98
...
...
@@ -41,7 +41,6 @@ namespace se3
typedef
VectorSpaceOperation
<
Size
>
LieGroupDerived
;
SE3_LIE_GROUP_TYPEDEF_TEMPLATE
;
typedef
typename
Eigen
::
Matrix
<
Scalar
,
1
,
1
>::
Index
size_type
;
/// Constructor
/// \param size size of the vector space: should be the equal to template
...
...
@@ -52,11 +51,11 @@ namespace se3
assert
(
Size
==
Eigen
::
Dynamic
||
size_
==
Size
);
}
size_type
nq
()
const
Index
nq
()
const
{
return
size_
;
}
size_type
nv
()
const
Index
nv
()
const
{
return
size_
;
}
...
...
@@ -107,7 +106,7 @@ namespace se3
}
}
private:
size_type
size_
;
Index
size_
;
};
// struct VectorSpaceOperation
}
// namespace se3
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment