PM_ROTATION_VECTOR(3)

NAME
PM_ROTATION_VECTOR - Three-axis cartesian position

SYNTAX

    #include <posemath.h>
    struct PM_CARTESIAN;

CONSTRUCTORS

PM_CARTESIAN()
    Construct the point <0,0,0>.

PMCARTESIAN(double x, double y, double z)
    Construct the point (x, y, z).

PMCARTESIAN(const PM_CARTESIAN &v)
    Construct a copy of point v.

DATA

    double x, y, z ;

OPERATORS

operator[](int n);
    Return the nth component of the vector (x=0, y=1, z=2) FIXME: Unclear.

int operator==(PM_CARTESIAN v1, PM_CARTESIAN v2_), int operator!=(PM_CARTESIAN v1, PM_CARTESIAN v2_)
    Elementwise equality and inequality operator

PM_CARTESIAN operator+(PM_CARTESIAN v1, PM_CARTESIAN v2), PM_CARTESIAN operator-(PM_CARTESIAN v1, PM_CARTESIAN v2)
    Addition and subtraction of vectors

PM_CARTESIAN operator*(double s, PM_CARTESIAN v), PM_CARTESIAN operator*(PM_CARTESIAN v, double s)
    Scalar multiplication of v by s.

PM_CARTESIAN operator/(PM_CARTESIAN v, double s)
    Scalar multiplication of v by 1/s

OTHER FUNCTIONS ON PM_CARTESIAN OBJECTS

double dot(PM_CARTESIAN vl, PM_CARTESIAN v2)
    Returns the dot product of the two vectors. Both vectors are required to have the same length, the return value is the sum of the pairwise products of the vectors' components.

PM_CARTESIAN cross(PM_CARTESIAN v1, PM_CARTESIAN v2)
    Returns the cross-product of two vectors, which in 3D yields a vector that is orthogonal to both v1 and v2. See https://en.wikipedia.org/wiki/Cross_product .

PM_CARTESIAN norm(PM_CARTESIAN v)
    FIXME: It just normalizes v, right?