Precise/exact math routines. More...
#include <MMath.h>
Static Public Member Functions | |
| static mnode | degrees (const mvar °, MObject *obj=0) |
| static mnode | pi (MObject *obj=0) |
| static mnode | euler (MObject *obj=0) |
| static mnode | catalan (MObject *obj=0) |
| static mnode | sqrt (const mvar &v, MObject *obj=0) |
| static mnode | pow (const mvar &v, const mvar &exponent, MObject *obj=0) |
| static mnode | exp (const mvar &v, MObject *obj=0) |
| static mvar | abs (const mvar &v) |
| static mnode | log10 (const mvar &v, MObject *obj=0) |
| static mnode | log (const mvar &v, MObject *obj) |
| static mnode | cos (const mvar &v, MObject *obj=0) |
| static mnode | acos (const mvar &v, MObject *obj=0) |
| static mnode | cosh (const mvar &v, MObject *obj=0) |
| static mnode | sin (const mvar &v, MObject *obj=0) |
| static mnode | asin (const mvar &v, MObject *obj=0) |
| static mnode | sinh (const mvar &v, MObject *obj=0) |
| static mnode | tan (const mvar &v, MObject *obj=0) |
| static mnode | atan (const mvar &v, MObject *obj=0) |
| static mnode | atan2 (const mvar &y, const mvar &x, MObject *obj=0) |
| static mnode | tanh (const mvar &v, MObject *obj=0) |
| static mvar | floor (const mvar &v) |
| static mvar | ceil (const mvar &v) |
| static mvar | round (const mvar &v, double precision=1) |
| static bool | nearInteger (double v, mvar &n) |
| static mnode | distance (const mvar &u, const mvar &v, MObject *obj=0) |
| static double | fastDistance (const mvar &u, const mvar &v) |
| static mvar | scaleVector (const mvar &u, double magnitude) |
| static mvec | vectorRange (const mvar &b) |
| static mvec | vectorRange (const mvar &a, const mvar &b) |
| static mvec | vectorRange (const mvar &a, const mvar &b, const mvar &inc) |
| static mlist | listRange (const mvar &b) |
| static mlist | listRange (const mvar &a, const mvar &b) |
| static mlist | listRange (const mvar &a, const mvar &b, const mvar &inc) |
| static mvar | clamp (const mvar &v, const mvar &min, const mvar &max) |
Precise/exact math routines.
MMath provides a library of precise/exact math routines. Most methods take an optional MObject obj which is used for symbolic manipulation as needed -- obj is required to be passed for exact answers (if null then floating point approximations may be returned). As a brief example of what exact means in this context, calling cos(2) returns Cos(2), while cos(0) returns the integer 1.
e.g: clamp(10, 1, 20) => 10. clamp(5, 7, 10) => 7. clamp(20, 7, 10) => 10.
An imprecise/fast version of distance().
Return a list range. e.g: listRange(1,2,0.5) => (1,1.5,2)
Return a list range. e.g: listRange(1,3) => (1,2,3)
Return a list range. e.g: listRange(5) => (0,1,2,3,4,5)
| static bool Meta::MMath::nearInteger | ( | double | v, | |
| mvar & | n | |||
| ) | [static] |
| n | On output, if true is returned, the nearest integer. |
Scale a vector by magnitude.
Return a vector range. e.g: vectorRange(1,2,0.5) => [1,1.5,2]
Return a vector range. e.g: vectorRange(1,3) => [1,2,3]
Return a vector range. e.g: vectorRange(5) => [0,1,2,3,4,5]
1.6.1