3#include "state_representation/space/SpatialState.hpp"
12 Eigen::Quaterniond primary;
13 Eigen::Quaterniond dual;
26 explicit DualQuaternionState(
const std::string& name,
const std::string& reference =
"world");
40 const Eigen::Quaterniond& primary,
41 const Eigen::Quaterniond& dual,
42 const std::string& reference =
"world");
52 const Eigen::Quaterniond&
get_dual()
const;
57 void set_primary(
const Eigen::Quaterniond& primary);
62 void set_dual(
const Eigen::Quaterniond& dual);
119 return this->primary;
128 this->primary = primary;
Class to represent a state in Dual Quaternion space.
const Eigen::Quaterniond & get_dual() const
Getter of the dual attribute.
friend std::ostream & operator<<(std::ostream &os, const DualQuaternionState &state)
Overload the ostream operator for printing.
const Eigen::Quaterniond & get_primary() const
Getter of the primary attribute.
void set_primary(const Eigen::Quaterniond &primary)
Setter of the primary attribute.
void set_dual(const Eigen::Quaterniond &dual)
Setter of the dual attribute.
DualQuaternionState & operator*=(const DualQuaternionState &q)
Overload the *= operator.
const DualQuaternionState copy() const
Return a copy of the DualQuaternionState.
virtual void initialize()
Initialize the DualQuaternionState to a zero value.
friend const DualQuaternionState operator*(const float &lambda, const DualQuaternionState &state)
Overload the * operator with a scalar.
DualQuaternionState()
Empty constructor.
friend const DualQuaternionState exp(const DualQuaternionState &state)
overload exp function
const DualQuaternionState conjugate() const
compute the conjugate of the current DualQuaternion
void set_filled()
Setter of the empty attribute to false and also reset the timestamp.
Core state variables and objects.