Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guilhem Saurel
hpp-fcl
Commits
481f935d
Commit
481f935d
authored
Apr 01, 2016
by
Joseph Mirabel
Committed by
Joseph Mirabel
Apr 01, 2016
Browse files
Fix compilation issue. Add remove_fcl to avoid getting nested FclOp
parent
6d5f712f
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/hpp/fcl/eigen/product.h
View file @
481f935d
...
...
@@ -29,8 +29,8 @@ struct FclProduct
#define FCL_EIGEN_MAKE_PRODUCT_OPERATOR() \
template <typename OtherDerived> \
EIGEN_STRONG_INLINE const typename FclProduct<const FCL_EIGEN_CURRENT_CLASS, const OtherDerived>::ProductType \
EIGEN_STRONG_INLINE const typename FclProduct<const
typename
FCL_EIGEN_CURRENT_CLASS
::Base
, const OtherDerived>::ProductType \
operator*(const MatrixBase<OtherDerived>& other) const \
{ \
return FclProduct<const FCL_EIGEN_CURRENT_CLASS, const OtherDerived>::run (*this, other.derived()); \
return FclProduct<const
typename
FCL_EIGEN_CURRENT_CLASS
::Base
, const OtherDerived>::run (*this, other.derived()); \
}
include/hpp/fcl/eigen/taylor_operator.h
View file @
481f935d
...
...
@@ -16,7 +16,7 @@ template<> struct TaylorReturnType<3> { typedef TMatrix3 type; typedef Matrix3f
template
<
typename
Derived
>
typename
TaylorReturnType
<
Derived
::
ColsAtCompileTime
>::
type
operator
*
(
const
FclType
<
Derived
>&
v
,
const
TaylorModel
&
a
)
{
const
typename
TaylorReturnType
<
Derived
::
ColsAtCompileTime
>::
eigen_type
b
=
v
.
derived
();
const
typename
TaylorReturnType
<
Derived
::
ColsAtCompileTime
>::
eigen_type
b
=
v
.
fcl
();
return
b
*
a
;
}
...
...
include/hpp/fcl/eigen/vec_3fx.h
View file @
481f935d
...
...
@@ -168,6 +168,9 @@ namespace Eigen {
OuterStrideAtCompileTime
=
traits_base
::
OuterStrideAtCompileTime
};
};
template
<
typename
Derived
>
struct
remove_fcl
{
typedef
Derived
type
;
};
template
<
>
template
<
typename
Derived
>
struct
remove_fcl
<
FclOp
<
Derived
>
>
{
typedef
Derived
type
;
};
}
template
<
typename
Derived
>
...
...
@@ -630,7 +633,7 @@ static inline typename Derived::Scalar triple(
const
FclType
<
Derived
>&
y
,
const
FclType
<
Derived
>&
z
)
{
return
x
.
derived
().
dot
(
y
.
derived
().
cross
(
z
.
derived
()));
return
x
.
fcl
().
dot
(
y
.
fcl
().
cross
(
z
.
fcl
()));
}
...
...
@@ -806,9 +809,9 @@ void eigen(const FclType<Matrix>& m, typename Matrix::Scalar dout[3], Vector* vo
}
template
<
typename
Derived
>
Eigen
::
FclOp
<
Eigen
::
Transpose
<
const
Derived
>
>
transpose
(
const
FclType
<
Derived
>&
R
)
Eigen
::
FclOp
<
Eigen
::
Transpose
<
const
typename
Eigen
::
internal
::
remove_fcl
<
Derived
>::
type
>
>
transpose
(
const
FclType
<
Derived
>&
R
)
{
return
Eigen
::
FclOp
<
Eigen
::
Transpose
<
const
Derived
>
>
(
R
.
fcl
());
return
Eigen
::
FclOp
<
Eigen
::
Transpose
<
const
typename
Eigen
::
internal
::
remove_fcl
<
Derived
>::
type
>
>
(
R
.
fcl
());
}
template
<
typename
T
,
int
_Options
>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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