32 #ifndef EULER_PROPERTY_H 33 #define EULER_PROPERTY_H 35 #include <Eigen/Geometry> 43 class SpinBoxFloatProperty;
56 const QString& name = QString(),
57 const Eigen::Quaterniond& value = Eigen::Quaterniond::Identity(),
58 const char* changed_slot =
nullptr,
59 QObject* receiver =
nullptr);
64 bool setValue(
const QVariant& value)
override;
80 void setEulerAngles(
double e1,
double e2,
double e3,
bool normalize);
113 #endif // EULER_PROPERTY_H Eigen::Quaterniond getQuaternion() const
EulerProperty(Property *parent=nullptr, const QString &name=QString(), const Eigen::Quaterniond &value=Eigen::Quaterniond::Identity(), const char *changed_slot=nullptr, QObject *receiver=nullptr)
void setReadOnly(bool read_only) override
Overridden from Property to propagate read-only-ness to children.
SpinBoxFloatProperty * euler_[3]
void quaternionChanged(Eigen::Quaterniond q)
Eigen::Quaterniond quaternion_
void statusUpdate(rviz::StatusProperty::Level, const QString &, const QString &)
void setEulerAngles(double euler[3], bool normalize)
invalid_axes(const std::string &msg)
void save(Config config) const override
void load(const Config &config) override
Load the value of this property and/or its children from the given Config node.
void updateAngles(const Eigen::Quaterniond &q)
bool setValue(const QVariant &value) override
void setQuaternion(const Eigen::Quaterniond &q)
void setEulerAxes(const QString &axes_spec)
TFSIMD_FORCE_INLINE Vector3 & normalize()
bool ignore_child_updates_
void updateFromChildren()