25 #include <osg/Matrixd> 26 #include <osg/Matrixf> 60 Matrixd(
const osg::Matrixd& mat);
69 Matrixd(
const osg::Matrixf& mat);
96 explicit Matrixd(
float const *
const ptr);
105 explicit Matrixd(
double const *
const ptr);
157 osg::Matrixd& GetOSGMatrix();
166 const osg::Matrixd& GetOSGMatrix()
const;
177 int Compare(
const Matrixd& m)
const;
222 void Set(
float const *
const ptr);
227 void Set(
double const *
const ptr);
288 void MakeScale(
const Vec3f& v);
297 void MakeScale(
const Vec3d& v);
317 void MakeTranslate(
const Vec3f& v);
326 void MakeTranslate(
const Vec3d& v);
347 void MakeRotate(
const Vec3f& from,
const Vec3f& to);
357 void MakeRotate(
const Vec3d& from,
const Vec3d& to);
398 void MakeRotate(
const Quat& q);
464 void MakeOrtho(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
478 void MakeOrtho(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
495 bool GetOrtho(
double& left,
double& right,
double& bottom,
double& top,
double& zNear,
double& zFar)
const;
513 bool GetOrtho(
float& left,
float& right,
float& bottom,
float& top,
float& zNear,
float& zFar)
const;
525 void MakeOrtho2D(
double left,
double right,
double bottom,
double top);
537 void MakeOrtho2D(
float left,
float right,
float bottom,
float top);
551 void MakeFrustum(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
565 void MakeFrustum(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
582 bool GetFrustum(
double& left,
double& right,
double& bottom,
double& top,
double& zNear,
double& zFar)
const;
600 bool GetFrustum(
float& left,
float& right,
float& bottom,
float& top,
float& zNear,
float& zFar)
const;
613 void MakePerspective(
double fovy,
double aspectRatio,
double zNear,
double zFar);
626 void MakePerspective(
float fovy,
float aspectRatio,
float zNear,
float zFar);
642 bool GetPerspective(
double& fovy,
double& aspectRatio,
double& zNear,
double& zFar)
const;
659 bool GetPerspective(
float& fovy,
float& aspectRatio,
float& zNear,
float& zFar)
const;
671 void MakeLookAt(
const Vec3f& eye,
const Vec3f& center,
const Vec3f& up);
683 void MakeLookAt(
const Vec3d& eye,
const Vec3d& center,
const Vec3d& up);
720 bool Invert(
const Matrixd& rhs);
731 bool Invert_4x3(
const Matrixd& rhs);
742 bool Invert_4x4(
const Matrixd& rhs);
751 void OrthoNormalize(
const Matrixd& rhs);
760 void SetRotate(
const Quat& q);
771 Quat GetRotate()
const;
791 void SetTrans(
const Vec3f& v);
800 void SetTrans(
const Vec3d& v);
809 Vec3d GetTrans()
const;
818 Vec3d GetScale()
const;
838 void SetScale(
const Vec3f& v);
847 void SetScale(
const Vec3d& v);
954 void PreMult(
const Matrixd& m);
963 void PostMult(
const Matrixd& m);
972 void PreMultTranslate(
const Vec3d& v);
981 void PreMultTranslate(
const Vec3f& v);
990 void PostMultTranslate(
const Vec3d& v);
999 void PostMultTranslate(
const Vec3f& v);
1008 void PreMultScale(
const Vec3d& v);
1017 void PreMultScale(
const Vec3f& v);
1026 void PostMultScale(
const Vec3d& v);
1035 void PostMultScale(
const Vec3f& v);
1044 void PreMultRotate(
const Quat& q);
1053 void PostMultRotate(
const Quat& q);
1064 std::string
ToString(
int precision = -1);
1073 static Matrixd Identity(
void);
1286 static Matrixd Ortho(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
1302 static Matrixd Ortho(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
1316 static Matrixd Ortho2D(
double left,
double right,
double bottom,
double top);
1330 static Matrixd Ortho2D(
float left,
float right,
float bottom,
float top);
1346 static Matrixd Frustum(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
1362 static Matrixd Frustum(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
1377 static Matrixd Perspective(
float fovy,
float aspectRatio,
float zNear,
float zFar);
1392 static Matrixd Perspective(
double fovy,
double aspectRatio,
double zNear,
double zFar);
1501 bool operator > (
const Matrixd& m)
const;
1512 bool operator < (
const Matrixd& m)
const;
1587 void operator *= (
const Matrixd& other);
1710 value_type operator ()(
int row,
int col)
const;
1719 operator osg::Matrixd ()
const;
1728 operator osg::Matrixd& ();
1737 operator const osg::Matrixd& ()
const;
1746 operator osg::Matrixd* ();
std::string operator+(const std::string &s1, const RefStr &s2)
bool operator==(const std::string &s1, const RefStr &s2)
General purpose 3D float Vector.
bool operator!=(const std::string &s1, const RefStr &s2)
TR_BASE_EXPORT std::ostream & operator<<(std::ostream &ios, const Matrixd &q)
Stream insertion operator.
A float Matrix class to be used for generic matrix operations.
General purpose 3D double Vector.
General purpose 3D double Vector.
std::string ToString(const T &t, int precision=-1)
A utility function to convert a basic type into a string.
Represents a quaternion, that is used for angular calculations and transformations.
A float Matrix class to be used for generic matrix operations.
General purpose 3D float Vector.