30 #ifndef _GranOO_libGeom_EulerAngle_hpp_
31 #define _GranOO_libGeom_EulerAngle_hpp_
37 #include "GranOO3/3rdParty/Eigen/Dense"
39 #include <boost/archive/text_oarchive.hpp>
40 #include <boost/archive/text_iarchive.hpp>
64 static const int N = 3;
83 const double &
x()
const;
85 const double &
y()
const;
87 const double &
z()
const;
99 template <
typename Axis>
double&
val();
100 template <
typename Axis>
const double&
val()
const;
106 std::string
info()
const;
112 template<
class Archive>
void serialize(Archive&,
const unsigned int );
117 #ifndef DOXYGEN_SHOULD_SKIP_THIS
122 template<
class Archive>
125 ar &
x(); ar &
y(); ar &
z();
152 bool operator==(
const EulerAngle & pt1,
const EulerAngle & pt2) {
153 return (pt1.x() == pt2.x() && pt1.y() == pt2.y() && pt1.z() == pt2.z());
157 bool operator!=(
const EulerAngle & pt1,
const EulerAngle & pt2) {
221 template<
typename Axis>
inline
227 template<
typename Axis>
inline
234 double& EulerAngle::val<X>() {
239 const double& EulerAngle::val<X>()
const {
244 double& EulerAngle::val<Y>() {
249 const double& EulerAngle::val<Y>()
const {
254 double& EulerAngle::val<Z>() {
259 const double& EulerAngle::val<Z>()
const {
275 inline std::ostream &
276 operator<<(std::ostream& out,
const EulerAngle& pt) {
277 return out << pt.x() <<
"\t" << pt.y() <<
"\t" << pt.z() <<
"\t";
#define SafeModeAssert(condition, message)
Definition: Macro.hpp:47
Definition: EulerAngle.hpp:61
void set_x(const double &)
EulerAngle(double, double, double)
const double & operator()(unsigned int i) const
EulerAngle & operator=(const EulerAngle &)
const double & val() const
void add_glob(const std::string &id)
void set_y(const double &)
EulerAngle(const EulerAngle &)
Eigen::Matrix< double, 3, 1 > coord
Definition: EulerAngle.hpp:115
void serialize(Archive &, const unsigned int)
void set_z(const double &)
static const int N
Definition: EulerAngle.hpp:64
Quaternion to_quaternion() const
Definition: EulerAngle.cpp:59
friend class boost::serialization::access
Definition: EulerAngle.hpp:111
std::string info() const
Definition: EulerAngle.cpp:88
Definition: Quaternion.hpp:54
bool operator!=(const EulerAngle &, const EulerAngle &)
std::ostream & operator<<(std::ostream &, const EulerAngle &)
bool operator==(const EulerAngle &, const EulerAngle &)
Definition: Common.hpp:198
x y * z
Definition: Exprtk.hpp:11139
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)