9 #ifndef __HOM_Quaternion_h__
10 #define __HOM_Quaternion_h__
31 : myQuaternion(0.0, 0.0, 0.0, 1.0)
41 : myQuaternion(x, y, z, w)
46 setToAngleAxis(angle_in_deg, axis);
60 : myQuaternion(quaternion)
83 double __getitem__(
int index);
88 void setTo(
const std::vector<double> &tuple);
93 void setToAngleAxis(
double angle_in_deg,
const std::vector<double> &axis);
97 SWIGOUT(%kwargs setToEulerRotates;)
98 void setToEulerRotates(
99 const std::vector<double> &angles_in_deg,
100 const char *rotate_order=
"xyz");
128 {
return myQuaternion.length(); }
134 std::pair<double, HOM_ElemPtr<HOM_Vector3> > extractAngleAxis();
136 HOM_Vector3 extractEulerRotates(
const char *rotate_order=
"xyz");
141 {
return &myQuaternion; }
bool almostEqual(HOM_Quaternion &quaternion, double tolerance=0.00001)
bool operator==(HOM_PtrOrNull< HOM_Quaternion > quaternion)
HOM_Quaternion(double x, double y, double z, double w)
double dot(HOM_Quaternion &quaternion)
#define HOM_DESTRUCT_OBJECT(pointer)
HOM_Quaternion __sub__(HOM_Quaternion &quaternion)
GLsizei const GLchar *const * string
GLdouble GLdouble GLdouble z
HOM_Quaternion(const HOM_Quaternion &quaternion)
string __repr__(VtArray< T > const &self)
HOM_Quaternion(double angle_in_deg, const std::vector< double > &axis)
GLfloat GLfloat GLfloat v2
HOM_Quaternion(const std::vector< double > &sequence)
void ignore(T const &) VULKAN_HPP_NOEXCEPT
fpreal64 dot(const CE_VectorT< T > &a, const CE_VectorT< T > &b)
#define HOM_CONSTRUCT_OBJECT(pointer)
HOM_Quaternion __add__(HOM_Quaternion &quaternion)
HOM_Matrix3 * extractRotationMatrix3()
GLint GLenum GLboolean normalized
ImageBuf OIIO_API rotate(const ImageBuf &src, float angle, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ROI roi={}, int nthreads=0)
HOM_Quaternion __mul__(double scalar)
IMATH_HOSTDEVICE IMATH_CONSTEXPR14 Quat< T > slerp(const Quat< T > &q1, const Quat< T > &q2, T t) IMATH_NOEXCEPT
void setTo(const std::vector< double > &sequence)
HOM_Matrix4 __mul__(HOM_Matrix4 &matrix4)
bool isAlmostEqual(HOM_Matrix4 &matrix4, double tolerance=0.00001)
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_Quaternion(const UT_QuaternionD &quaternion)
GLubyte GLubyte GLubyte GLubyte w
UT_QuaternionD myQuaternion
bool operator!=(HOM_PtrOrNull< HOM_Quaternion > quaternion)
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.