PM_ROTATION_VECTOR

NAME
SYNTAX
CONSTRUCTORS
DATA
OPERATORS
OTHER FUNCTIONS ON PM_CARTESIAN OBJECTS

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?