12 #ifndef __HOM_hmath_h__
13 #define __HOM_hmath_h__
36 SWIGOUT(%newobject identityTransform;)
39 SWIGOUT(%newobject buildTranslate;)
40 virtual HOM_Matrix4 *buildTranslate(
double tx,
double ty,
double tz) = 0;
44 virtual HOM_Matrix4 *buildScale(
double sx,
double sy,
double sz) = 0;
48 virtual HOM_Matrix4 *buildShear(
double sxy,
double sxz,
double syz) = 0;
51 SWIGOUT(%newobject buildRotate;)
53 double rx,
double ry,
double rz,
const char *
order=
"xyz") = 0;
55 const std::vector<double> &
values,
const char *
order=
"xyz") = 0;
57 SWIGOUT(%newobject buildRotateAboutAxis;)
59 const std::vector<double> &axis,
double angle_in_deg)= 0;
61 SWIGOUT(%newobject buildRotateZToAxis;)
63 const std::vector<double> &axis) = 0;
65 SWIGOUT(%kwargs buildTransform;)
66 SWIGOUT(%newobject buildTransform;)
68 const std::map<
std::string, std::vector<double> > &values_dict,
69 const char *transform_order=
"srt",
70 const char *rotate_order=
"xyz") = 0;
73 virtual double degToRad(
double degrees) = 0;
74 virtual double radToDeg(
double radians) = 0;
76 virtual double noise1d(
const std::vector<double> &pos)
const = 0;
78 virtual HOM_Vector3 noise3d(
const std::vector<double> &pos)
const = 0;
81 double value,
double oldmin,
double oldmax,
82 double newmin,
double newmax)
83 {
return SYSfit(value, oldmin, oldmax, newmin, newmax); }
86 {
return SYSfit(value, 0, 1, newmin, newmax); }
89 {
return SYSfit(value, 1, 0, newmin, newmax); }
92 {
return SYSfit(value, -1, 1, newmin, newmax); }
95 {
return value < 0 ? -1 : (value > 0); }
98 {
return SYSclamp(value, min, max); }
103 return SYSsmooth(min, max, value);
106 virtual double wrap(
double value,
double min,
double max)
const = 0;
108 virtual double rand(
double seed)
const = 0;
111 const std::vector<double> &pa,
112 const std::vector<double> &pb,
113 const std::vector<double> &point) = 0;
115 const std::vector<double> &pa,
116 const std::vector<double> &pb,
117 const std::vector<double> &pc,
118 const std::vector<double> &point) = 0;
119 virtual double inCircle(
120 const std::vector<double> &pa,
121 const std::vector<double> &pb,
122 const std::vector<double> &pc,
123 const std::vector<double> &point) = 0;
124 virtual double inSphere(
125 const std::vector<double> &pa,
126 const std::vector<double> &pb,
127 const std::vector<double> &pc,
128 const std::vector<double> &pd,
129 const std::vector<double> &point) = 0;
138 SWIGOUT(%ignore scaleInheritanceModeForEnumValue;)
141 SWIGOUT(%ignore scaleInheritanceModeToEnumValue;)
145 SWIGOUT(%newobject combineLocalTransform;)
146 SWIGOUT(%kwargs combineLocalTransform;)
153 SWIGOUT(%newobject extractLocalTransform;)
154 SWIGOUT(%kwargs extractLocalTransform;)
163 SWIGOUT(%newobject slerpTransforms;)
164 SWIGOUT(%kwargs slerpTransforms;)
166 const std::vector<HOM_Matrix4>& xforms,
167 const std::vector<double>& input_weights,
168 bool normalize_weigths =
true,
169 int slerp_method = 1,
170 int slerp_flip_mehtod = 1) = 0;
GLuint GLdouble GLdouble GLint GLint order
double fit10(double value, double newmin, double newmax)
OIIO_API bool rename(string_view from, string_view to, std::string &err)
string __repr__(VtArray< T > const &self)
GLenum GLsizei GLsizei GLint * values
double smooth(double value, double min, double max)
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
double fit11(double value, double newmin, double newmax)
SYS_FORCE_INLINE REAL orient3d(const REAL pa[3], const REAL pb[3], const REAL pc[3], const REAL pd[3])
double clamp(double value, double min, double max)
GLsizei const GLchar *const * string
UT_Vector3T< T > SYSclamp(const UT_Vector3T< T > &v, const UT_Vector3T< T > &min, const UT_Vector3T< T > &max)
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
double fit(double value, double oldmin, double oldmax, double newmin, double newmax)
GLsizei const GLfloat * value
double fit01(double value, double newmin, double newmax)
double sign(double value)
OIIO_FORCEINLINE OIIO_HOSTDEVICE T radians(T deg)
Convert degrees to radians.
SYS_FORCE_INLINE REAL orient2d(const REAL pa[2], const REAL pb[2], const REAL pc[2])
OIIO_FORCEINLINE OIIO_HOSTDEVICE T degrees(T rad)
Convert radians to degrees.