PM_ROTATION_VECTOR - Three-axis cartesian position
#include
<posemath.h>
struct PM_CARTESIAN;
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.
double x, y, z ;
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
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?