hpp-pinocchio
4.9.0
Wrapping of the kinematic/dynamic chain Pinocchio for HPP.
|
Go to the documentation of this file.
17 #ifndef HPP_PINOCCHIO_LIEGROUP_ELEMENT_HH
18 # define HPP_PINOCCHIO_LIEGROUP_ELEMENT_HH
31 template <
typename vector_type>
32 class LiegroupElementConstBase
38 template <
typename Derived>
50 template <
typename Derived>
57 template <
typename vector_type2>
89 template <
typename Derived>
93 value_ (const_cast<Derived&>(value.derived())),
107 template <
typename vector_type>
118 Base (value, space, NULL) {}
134 template <
typename vector_type2>
136 Base (other.value_, other.space()) {}
142 template <
typename vector_type2>
144 Base (other.value_, other.space()) {}
147 template <
typename vector_type2>
149 Base (other.value_, other.space(), NULL) {}
169 this->value_ = this->space_->neutral ().vector ();
176 template <
typename vector_type2>
179 this->space_ = other.space();
180 this->value_ = other.vector();
185 template <
typename Vector>
188 EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector);
189 assert (this->space_->nq() == v.derived().size());
190 this->value_.noalias() = v.derived();
203 template <
typename vector_type>
213 template <
typename vector_type1,
typename vector_type2>
214 vector_t operator- (
const LiegroupElementConstBase<vector_type1>& e1,
const LiegroupElementConstBase<vector_type2>& e2);
218 template <
typename vector_type>
219 vector_t log (
const LiegroupElementConstBase<vector_type>& lge);
221 template <
typename vector_type>
224 os <<
"Lie group element in " << *(e.space ())
225 <<
" represented by vector (" << e. vector ().transpose () <<
")";
231 #endif // HPP_PINOCCHIO_LIEGROUP_ELEMENT_HH
LiegroupElementBase(const LiegroupSpacePtr_t &space)
Definition: liegroup-element.hh:122
void setNeutral()
Set element to neutral element.
Definition: liegroup-element.hh:167
void check() const
Definition: liegroup-element.hh:83
LiegroupElement operator+(const LiegroupElementConstBase< vector_type > &e, vectorIn_t v)
vector_type value_
Definition: liegroup-element.hh:97
LiegroupElementBase(const LiegroupElementConstBase< vector_type2 > &other)
Definition: liegroup-element.hh:135
LiegroupElementBase(const LiegroupElementBase< vector_type2 > &other)
Definition: liegroup-element.hh:143
boost::shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
Definition: fwd.hh:134
LiegroupElementBase(LiegroupElementBase< vector_type2 > &other)
Casting operator from LiegroupElement to LiegroupElementRef
Definition: liegroup-element.hh:148
LiegroupElementBase(const vector_type &value)
Definition: liegroup-element.hh:129
Definition: liegroup-space.hh:92
LiegroupElementConstBase(const Eigen::EigenBase< Derived > &value)
Definition: liegroup-element.hh:51
LiegroupElementConstBase(const Eigen::EigenBase< Derived > &value, const LiegroupSpacePtr_t &space, void *)
Definition: liegroup-element.hh:90
const LiegroupSpacePtr_t & space() const
get reference to vector of Lie groups
Definition: liegroup-element.hh:64
LiegroupSpacePtr_t space_
Definition: liegroup-element.hh:98
LiegroupElementBase & operator=(const LiegroupElementConstBase< vector_type2 > &other)
Assignment from another LiegroupElement.
Definition: liegroup-element.hh:177
LiegroupElementBase< vector_t > LiegroupElement
Element of a Lie group.
Definition: fwd.hh:129
const vector_type & vector() const
Const vector representation.
Definition: liegroup-element.hh:155
vector_t operator-(const LiegroupElementConstBase< vector_type1 > &e1, const LiegroupElementConstBase< vector_type2 > &e2)
LiegroupElementBase & operator+=(vectorIn_t v)
Inplace integration of a velocity vector.
LiegroupElementConstBase< vector_type > Base
Definition: liegroup-element.hh:111
matrix_t::Index size_type
Definition: fwd.hh:84
LiegroupElementConstBase(const LiegroupElementConstBase< vector_type2 > &other)
Definition: liegroup-element.hh:58
Utility functions.
Definition: body.hh:30
const vector_type & vector() const
Const vector representation.
Definition: liegroup-element.hh:70
vector_t log(const LiegroupElementConstBase< vector_type > &lge)
Compute the log as a tangent vector of a Lie group element.
Eigen::Ref< const vector_t > vectorIn_t
Definition: fwd.hh:80
size_type size() const
Size of the vector representation.
Definition: liegroup-element.hh:76
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Definition: fwd.hh:75
std::ostream & operator<<(std::ostream &os, const hpp::pinocchio::Device &device)
Definition: device.hh:344
LiegroupElementBase()
Constructor of trivial element.
Definition: liegroup-element.hh:152
LiegroupElementConstBase(const Eigen::EigenBase< Derived > &value, const LiegroupSpacePtr_t &liegroupSpace)
Definition: liegroup-element.hh:39
vector_type & vector()
Modifiable vector representation.
Definition: liegroup-element.hh:161
LiegroupElementBase(const vector_type &value, const LiegroupSpacePtr_t &space)
Definition: liegroup-element.hh:116
Definition: collision-object.hh:31