10#define _USE_MATH_DEFINES
54 void print(
const std::string &header =
"" );
56 static void setIdentity(
double *m );
89 void translatef(
const double &x,
const double &y,
const double &z );
91 void translatev(
const vec3d &v );
221 void rotatealongX(
const vec3d &dir1 );
223 void zeroTranslations();
298 void scalex(
const double &scalex );
300 void scaley(
const double &scaley );
302 void scalez(
const double &scalez );
306 void getMat(
double *m )
const;
308 void matMult(
const double *m );
310 void postMult(
const double *m );
312 void matMult(
const Matrix4d &m );
314 void postMult(
const Matrix4d &m );
317 void initMat(
const double *m );
319 void initMat(
const Matrix4d &m );
321 void mult(
const double in[ 4 ],
double out[ 4 ] )
const;
328 const double *const_data()
const
456 void xformvec( std::vector < vec3d > &in )
const;
458 void xformmat( std::vector < std::vector < vec3d > > &in )
const;
462 void xformnormvec( std::vector < vec3d > &in )
const;
464 void xformnormmat( std::vector < std::vector < vec3d > > &in )
const;
501 vec3d getArcballAngles()
const;
503 vec3d getTranslation()
const;
520 void setBasis(
const vec3d &xdir,
const vec3d &ydir,
const vec3d &zdir );
522 void getRotationAxis(
vec3d &axis_dir,
vec3d &axis_pnt,
double &
angle )
const;
524 void toQuat(
double &qw,
double &qx,
double &qy,
double &qz,
double &tx,
double &ty,
double &tz )
const;
void rotate(const double &angle, const vec3d &axis)
void rotateX(const double &ang)
void rotateY(const double &ang)
void buildXForm(const vec3d &pos, const vec3d &rot, const vec3d ¢_rot)
void scale(const double &scale)
void rotateZ(const double &ang)
void translatef(const double &x, const double &y, const double &z)
double angle(const vec3d &a, const vec3d &b)