|
AndroMeta
2.0.0
|
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 | cot (const mvar &v, MObject *obj=0) |
| static mnode | acot (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 mnode | sec (const mvar &v, MObject *obj=0) |
| static mnode | csc (const mvar &v, MObject *obj=0) |
| static mnode | sech (const mvar &v, MObject *obj=0) |
| static mnode | csch (const mvar &v, MObject *obj=0) |
| static mnode | asec (const mvar &v, MObject *obj=0) |
| static mnode | acsc (const mvar &v, MObject *obj=0) |
| static mnode | asech (const mvar &v, MObject *obj=0) |
| static mnode | acsch (const mvar &v, MObject *obj=0) |
| static mnode | coth (const mvar &v, MObject *obj=0) |
| static mnode | acoth (const mvar &v, MObject *obj=0) |
| static mnode | atanh (const mvar &v, MObject *obj=0) |
| static mnode | asinh (const mvar &v, MObject *obj=0) |
| static mnode | acosh (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.
| static mvar Meta::MMath::abs | ( | const mvar & | v | ) | [static] |
| static mnode Meta::MMath::acos | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::acosh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::acot | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::acoth | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::acsc | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::acsch | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::asec | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::asech | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::asin | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::asinh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::atan | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::atan2 | ( | const mvar & | y, |
| const mvar & | x, | ||
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::atanh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::catalan | ( | MObject * | obj = 0 | ) | [static] |
| static mvar Meta::MMath::ceil | ( | const mvar & | v | ) | [static] |
| static mvar Meta::MMath::clamp | ( | const mvar & | v, |
| const mvar & | min, | ||
| const mvar & | max | ||
| ) | [static] |
e.g: clamp(10, 1, 20) => 10. clamp(5, 7, 10) => 7. clamp(20, 7, 10) => 10.
| static mnode Meta::MMath::cos | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::cosh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::cot | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::coth | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::csc | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::csch | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::degrees | ( | const mvar & | deg, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::distance | ( | const mvar & | u, |
| const mvar & | v, | ||
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::euler | ( | MObject * | obj = 0 | ) | [static] |
| static mnode Meta::MMath::exp | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static double Meta::MMath::fastDistance | ( | const mvar & | u, |
| const mvar & | v | ||
| ) | [static] |
An imprecise/fast version of distance().
| static mvar Meta::MMath::floor | ( | const mvar & | v | ) | [static] |
| static mlist Meta::MMath::listRange | ( | const mvar & | b | ) | [inline, static] |
Return a list range. e.g: listRange(5) => (0,1,2,3,4,5)
| static mlist Meta::MMath::listRange | ( | const mvar & | a, |
| const mvar & | b | ||
| ) | [inline, static] |
Return a list range. e.g: listRange(1,3) => (1,2,3)
| static mlist Meta::MMath::listRange | ( | const mvar & | a, |
| const mvar & | b, | ||
| const mvar & | inc | ||
| ) | [static] |
Return a list range. e.g: listRange(1,2,0.5) => (1,1.5,2)
| static mnode Meta::MMath::log | ( | const mvar & | v, |
| MObject * | obj | ||
| ) | [static] |
| static mnode Meta::MMath::log10 | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static bool Meta::MMath::nearInteger | ( | double | v, |
| mvar & | n | ||
| ) | [static] |
| n | On output, if true is returned, the nearest integer. |
| static mnode Meta::MMath::pi | ( | MObject * | obj = 0 | ) | [static] |
| static mnode Meta::MMath::pow | ( | const mvar & | v, |
| const mvar & | exponent, | ||
| MObject * | obj = 0 |
||
| ) | [static] |
| static mvar Meta::MMath::round | ( | const mvar & | v, |
| double | precision = 1 |
||
| ) | [static] |
| static mvar Meta::MMath::scaleVector | ( | const mvar & | u, |
| double | magnitude | ||
| ) | [static] |
Scale a vector by magnitude.
| static mnode Meta::MMath::sec | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::sech | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::sin | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::sinh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::sqrt | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::tan | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mnode Meta::MMath::tanh | ( | const mvar & | v, |
| MObject * | obj = 0 |
||
| ) | [static] |
| static mvec Meta::MMath::vectorRange | ( | const mvar & | b | ) | [inline, static] |
Return a vector range. e.g: vectorRange(5) => [0,1,2,3,4,5]
| static mvec Meta::MMath::vectorRange | ( | const mvar & | a, |
| const mvar & | b | ||
| ) | [inline, static] |
Return a vector range. e.g: vectorRange(1,3) => [1,2,3]
| static mvec Meta::MMath::vectorRange | ( | const mvar & | a, |
| const mvar & | b, | ||
| const mvar & | inc | ||
| ) | [static] |
Return a vector range. e.g: vectorRange(1,2,0.5) => [1,1.5,2]
1.7.6.1