10#define _USE_MATH_DEFINES
55 void print(
const std::string &header =
"" );
57 static void setIdentity(
double *m );
91 void translatef(
const double &x,
const double &y,
const double &z );
93 void translatev(
const vec3d &v );
223 void rotatealongX(
const vec3d &dir1 );
225 void zeroTranslations();
300 void scalex(
const double &scalex );
302 void scaley(
const double &scaley );
304 void scalez(
const double &scalez );
308 void getMat(
double *m )
const;
310 void matMult(
const double *m );
312 void postMult(
const double *m );
314 void matMult(
const Matrix4d &m );
316 void postMult(
const Matrix4d &m );
319 void initMat(
const double *m );
321 void initMat(
const Matrix4d &m );
323 void mult(
const double in[ 4 ],
double out[ 4 ] )
const;
330 const double *const_data()
const
459 void xformvec( std::vector < vec3d > &in )
const;
461 void xformmat( std::vector < std::vector < vec3d > > &in )
const;
465 void xformnormvec( std::vector < vec3d > &in )
const;
467 void xformnormmat( std::vector < std::vector < vec3d > > &in )
const;
504 vec3d getArcballAngles()
const;
506 vec3d getTranslation()
const;
523 void setBasis(
const vec3d &xdir,
const vec3d &ydir,
const vec3d &zdir );
525 void getRotationAxis(
vec3d &axis_dir,
vec3d &axis_pnt,
double &
angle )
const;
527 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)