9 #ifndef __HOM_Matrix4_h__
10 #define __HOM_Matrix4_h__
36 myMatrix4 = diagonal_value;
75 bool isAlmostEqual(
HOM_Matrix4 &matrix4,
double tolerance=0.00001);
82 HOM_Matrix4 &
operator=(
const std::vector<std::vector<double> > &sequence);
89 double at(
int row,
int col);
91 std::vector<double> asTuple();
92 std::vector<std::vector<double> > asTupleOfTuples();
94 void setAt(
int row,
int col,
double value);
95 void setTo(
const std::vector<double> &sequence);
96 void setTo(
const std::vector<std::vector<double> > &sequence);
99 { myMatrix4.identity(); }
102 { myMatrix4.zero(); }
118 {
return myMatrix4.determinant(); }
121 std::map<std::string, HOM_Vector3> explode(
122 const char *transform_order=
"srt",
123 const char *rotate_order=
"xyz",
127 SWIGOUT(%kwargs extractTranslates;)
128 HOM_Vector3 extractTranslates(
const char *transform_order=
"srt",
132 SWIGOUT(%kwargs extractRotates;)
134 const char *transform_order=
"srt",
135 const char *rotate_order=
"xyz",
139 SWIGOUT(%kwargs extractScales;)
141 const char *transform_order=
"srt",
145 SWIGOUT(%kwargs extractShears;)
147 const char *transform_order=
"srt",
151 SWIGOUT(%newobject extractRotationMatrix3;)
155 void setToPerspective(
157 double image_aspect=1,
158 double pixel_aspect=1,
159 double clip_near=0,
double clip_far=1,
160 double window_xmin=0,
double window_xmax=1,
161 double window_ymin=0,
double window_ymax=1);
163 void setToOrthographic(
166 double image_aspect=1,
167 double pixel_aspect=1,
168 double clip_near=0,
double clip_far=1,
169 double window_xmin=0,
double window_xmax=1,
170 double window_ymin=0,
double window_ymax=1);
174 {
return &myMatrix4; }
189 std::vector<double> _getstate();
190 void _setstate(std::vector<double>);
196 def __getstate__(
self):
197 return self._getstate()
198 def __setstate__(self, state):
203 self._setstate(state)
HOM_Matrix4(const HOM_Matrix4 &matrix4)
#define HOM_DESTRUCT_OBJECT(pointer)
HOM_Matrix4 & operator=(const HOM_Matrix4 &matrix4)
GLsizei const GLchar *const * string
HOM_Matrix4 __mul__(double scalar)
HOM_Matrix4(HOM_Matrix3 &matrix3)
HOM_Matrix4(const UT_Matrix4 &matrix4)
string __repr__(VtArray< T > const &self)
**But if you need a or simply need to know when the task has note that the like this
HOM_Matrix4(const std::vector< double > &values)
HOM_Matrix4 preMult(HOM_Matrix4 &matrix4)
void ignore(T const &) VULKAN_HPP_NOEXCEPT
HOM_Matrix4 __add__(HOM_Matrix4 &matrix4)
#define HOM_CONSTRUCT_OBJECT(pointer)
HOM_Matrix4(double diagonal_value)
bool operator==(HOM_PtrOrNull< HOM_Matrix4 > matrix4)
HOM_Matrix4 __mul__(HOM_Matrix4 &matrix4)
GLenum GLsizei GLsizei GLint * values
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
GA_API const UT_StringHolder pivot
GLenum GLenum GLsizei void * row
bool operator!=(HOM_PtrOrNull< HOM_Matrix4 > matrix4)
HOM_Matrix4 __sub__(HOM_Matrix4 &matrix4)
HOM_Matrix4(const UT_DMatrix4 &matrix4)
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
HOM_Matrix4(const std::vector< std::vector< double > > &values)