HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_hmath Class Referenceabstract

#include <HOM_hmath.h>

Public Member Functions

virtual ~HOM_hmath ()
 
virtual std::string __repr__ ()=0
 
virtual HOM_Matrix4 * identityTransform ()=0
 
virtual HOM_Matrix4 * buildTranslate (double tx, double ty, double tz)=0
 
virtual HOM_Matrix4 * buildTranslate (const std::vector< double > &values)=0
 
virtual HOM_Matrix4 * buildScale (double sx, double sy, double sz)=0
 
virtual HOM_Matrix4 * buildScale (const std::vector< double > &values)=0
 
virtual HOM_Matrix4 * buildUniformScale (double s)=0
 
virtual HOM_Matrix4 * buildShear (double sxy, double sxz, double syz)=0
 
virtual HOM_Matrix4 * buildShear (const std::vector< double > &values)=0
 
virtual HOM_Matrix4 * buildRotate (double rx, double ry, double rz, const char *order="xyz")=0
 
virtual HOM_Matrix4 * buildRotate (const std::vector< double > &values, const char *order="xyz")=0
 
virtual HOM_Matrix4 * buildRotateAboutAxis (const std::vector< double > &axis, double angle_in_deg)=0
 
virtual HOM_Matrix4 * buildRotateZToAxis (const std::vector< double > &axis)=0
 
virtual HOM_Matrix4 * buildRotateLookAt (const HOM_Vector3 &_from, const HOM_Vector3 &to, const HOM_Vector3 &up)=0
 
virtual HOM_Matrix4 * buildTransform (const std::map< std::string, std::vector< double > > &values_dict, const char *transform_order="srt", const char *rotate_order="xyz")=0
 
virtual HOM_Matrix4 * _buildTransformTRS (const HOM_Vector3 &translate, const HOM_Vector3 &rotate, const HOM_Vector3 &scale, const char *transform_order="srt", const char *rotate_order="xyz")=0
 
virtual HOM_Matrix4 * _buildTransformTRSS (const HOM_Vector3 &translate, const HOM_Vector3 &rotate, const HOM_Vector3 &scale, const HOM_Vector3 &shear, const char *transform_order="srt", const char *rotate_order="xyz")=0
 
virtual HOM_Matrix4 * _buildTransformTR (const HOM_Vector3 &translate, const HOM_Vector3 &rotate, const char *transform_order="srt", const char *rotate_order="xyz")=0
 
virtual HOM_Matrix4 * _buildTransform (const HOM_Vector3 &translate, const HOM_Vector3 &rotate, const HOM_Vector3 &scale, const HOM_Vector3 &shear, const HOM_Vector3 &pivot, const HOM_Vector3 &pivot_rotate, const char *transform_order="srt", const char *rotate_order="xyz")=0
 
virtual double degToRad (double degrees)=0
 
virtual double radToDeg (double radians)=0
 
virtual double noise1d (const std::vector< double > &pos) const =0
 
virtual HOM_Vector3 noise3d (const std::vector< double > &pos) const =0
 
double fit (double value, double oldmin, double oldmax, double newmin, double newmax)
 
double fit01 (double value, double newmin, double newmax)
 
double fit10 (double value, double newmin, double newmax)
 
double fit11 (double value, double newmin, double newmax)
 
double sign (double value)
 
double clamp (double value, double min, double max)
 
double smooth (double value, double min, double max)
 
virtual double wrap (double value, double min, double max) const =0
 
virtual double rand (double seed) const =0
 
virtual double orient2d (const std::vector< double > &pa, const std::vector< double > &pb, const std::vector< double > &point)=0
 
virtual double orient3d (const std::vector< double > &pa, const std::vector< double > &pb, const std::vector< double > &pc, const std::vector< double > &point)=0
 
virtual double inCircle (const std::vector< double > &pa, const std::vector< double > &pb, const std::vector< double > &pc, const std::vector< double > &point)=0
 
virtual double inSphere (const std::vector< double > &pa, const std::vector< double > &pb, const std::vector< double > &pc, const std::vector< double > &pd, const std::vector< double > &point)=0
 
virtual HOM_Vector3 intersectPlane (HOM_Vector3 const &plane_point, HOM_Vector3 const &plane_dir, HOM_Vector3 const &line_origin, HOM_Vector3 const &line_dir)=0
 
virtual HOM_Matrix4 * combineLocalTransform (HOM_Matrix4 &local, HOM_Matrix4 &parent_world, HOM_Matrix4 &parent_local, HOM_EnumValue &mode=HOM_scaleInheritanceMode::Default)=0
 
virtual HOM_Matrix4 * extractLocalTransform (HOM_Matrix4 &world, HOM_Matrix4 &target_parent_world, HOM_Matrix4 &target_parent_local, HOM_EnumValue &mode=HOM_scaleInheritanceMode::Default, HOM_Matrix4 *effective_local=nullptr)=0
 
virtual HOM_Matrix4 * slerpTransforms (const std::vector< HOM_Matrix4 > &xforms, const std::vector< double > &input_weights, bool normalize_weigths=true, int slerp_method=1, int slerp_flip_mehtod=1)=0
 

Static Public Member Functions

static UT_ScaleInheritanceMode scaleInheritanceModeForEnumValue (HOM_EnumValue &enum_value)
 
static HOM_EnumValue & scaleInheritanceModeToEnumValue (UT_ScaleInheritanceMode mode)
 

Detailed Description

Definition at line 28 of file HOM_hmath.h.

Constructor & Destructor Documentation

virtual HOM_hmath::~HOM_hmath ( )
inlinevirtual

Definition at line 31 of file HOM_hmath.h.

Member Function Documentation

virtual std::string HOM_hmath::__repr__ ( )
pure virtual
virtual HOM_Matrix4* HOM_hmath::_buildTransform ( const HOM_Vector3 &  translate,
const HOM_Vector3 &  rotate,
const HOM_Vector3 &  scale,
const HOM_Vector3 &  shear,
const HOM_Vector3 &  pivot,
const HOM_Vector3 &  pivot_rotate,
const char *  transform_order = "srt",
const char *  rotate_order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::_buildTransformTR ( const HOM_Vector3 &  translate,
const HOM_Vector3 &  rotate,
const char *  transform_order = "srt",
const char *  rotate_order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::_buildTransformTRS ( const HOM_Vector3 &  translate,
const HOM_Vector3 &  rotate,
const HOM_Vector3 &  scale,
const char *  transform_order = "srt",
const char *  rotate_order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::_buildTransformTRSS ( const HOM_Vector3 &  translate,
const HOM_Vector3 &  rotate,
const HOM_Vector3 &  scale,
const HOM_Vector3 &  shear,
const char *  transform_order = "srt",
const char *  rotate_order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildRotate ( double  rx,
double  ry,
double  rz,
const char *  order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildRotate ( const std::vector< double > &  values,
const char *  order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildRotateAboutAxis ( const std::vector< double > &  axis,
double  angle_in_deg 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildRotateLookAt ( const HOM_Vector3 &  _from,
const HOM_Vector3 &  to,
const HOM_Vector3 &  up 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildRotateZToAxis ( const std::vector< double > &  axis)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildScale ( double  sx,
double  sy,
double  sz 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildScale ( const std::vector< double > &  values)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildShear ( double  sxy,
double  sxz,
double  syz 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildShear ( const std::vector< double > &  values)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildTransform ( const std::map< std::string, std::vector< double > > &  values_dict,
const char *  transform_order = "srt",
const char *  rotate_order = "xyz" 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildTranslate ( double  tx,
double  ty,
double  tz 
)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildTranslate ( const std::vector< double > &  values)
pure virtual
virtual HOM_Matrix4* HOM_hmath::buildUniformScale ( double  s)
pure virtual
double HOM_hmath::clamp ( double  value,
double  min,
double  max 
)
inline

Definition at line 141 of file HOM_hmath.h.

virtual HOM_Matrix4* HOM_hmath::combineLocalTransform ( HOM_Matrix4 &  local,
HOM_Matrix4 &  parent_world,
HOM_Matrix4 &  parent_local,
HOM_EnumValue &  mode = HOM_scaleInheritanceMode::Default 
)
pure virtual
virtual double HOM_hmath::degToRad ( double  degrees)
pure virtual
virtual HOM_Matrix4* HOM_hmath::extractLocalTransform ( HOM_Matrix4 &  world,
HOM_Matrix4 &  target_parent_world,
HOM_Matrix4 &  target_parent_local,
HOM_EnumValue &  mode = HOM_scaleInheritanceMode::Default,
HOM_Matrix4 *  effective_local = nullptr 
)
pure virtual
double HOM_hmath::fit ( double  value,
double  oldmin,
double  oldmax,
double  newmin,
double  newmax 
)
inline

Definition at line 124 of file HOM_hmath.h.

double HOM_hmath::fit01 ( double  value,
double  newmin,
double  newmax 
)
inline

Definition at line 129 of file HOM_hmath.h.

double HOM_hmath::fit10 ( double  value,
double  newmin,
double  newmax 
)
inline

Definition at line 132 of file HOM_hmath.h.

double HOM_hmath::fit11 ( double  value,
double  newmin,
double  newmax 
)
inline

Definition at line 135 of file HOM_hmath.h.

virtual HOM_Matrix4* HOM_hmath::identityTransform ( )
pure virtual
virtual double HOM_hmath::inCircle ( const std::vector< double > &  pa,
const std::vector< double > &  pb,
const std::vector< double > &  pc,
const std::vector< double > &  point 
)
pure virtual
virtual double HOM_hmath::inSphere ( const std::vector< double > &  pa,
const std::vector< double > &  pb,
const std::vector< double > &  pc,
const std::vector< double > &  pd,
const std::vector< double > &  point 
)
pure virtual
virtual HOM_Vector3 HOM_hmath::intersectPlane ( HOM_Vector3 const &  plane_point,
HOM_Vector3 const &  plane_dir,
HOM_Vector3 const &  line_origin,
HOM_Vector3 const &  line_dir 
)
pure virtual
virtual double HOM_hmath::noise1d ( const std::vector< double > &  pos) const
pure virtual
virtual HOM_Vector3 HOM_hmath::noise3d ( const std::vector< double > &  pos) const
pure virtual
virtual double HOM_hmath::orient2d ( const std::vector< double > &  pa,
const std::vector< double > &  pb,
const std::vector< double > &  point 
)
pure virtual
virtual double HOM_hmath::orient3d ( const std::vector< double > &  pa,
const std::vector< double > &  pb,
const std::vector< double > &  pc,
const std::vector< double > &  point 
)
pure virtual
virtual double HOM_hmath::radToDeg ( double  radians)
pure virtual
virtual double HOM_hmath::rand ( double  seed) const
pure virtual
static UT_ScaleInheritanceMode HOM_hmath::scaleInheritanceModeForEnumValue ( HOM_EnumValue &  enum_value)
static
static HOM_EnumValue& HOM_hmath::scaleInheritanceModeToEnumValue ( UT_ScaleInheritanceMode  mode)
static
double HOM_hmath::sign ( double  value)
inline

Definition at line 138 of file HOM_hmath.h.

virtual HOM_Matrix4* HOM_hmath::slerpTransforms ( const std::vector< HOM_Matrix4 > &  xforms,
const std::vector< double > &  input_weights,
bool  normalize_weigths = true,
int  slerp_method = 1,
int  slerp_flip_mehtod = 1 
)
pure virtual
double HOM_hmath::smooth ( double  value,
double  min,
double  max 
)
inline

Definition at line 144 of file HOM_hmath.h.

virtual double HOM_hmath::wrap ( double  value,
double  min,
double  max 
) const
pure virtual

The documentation for this class was generated from the following file: