25 #include <osg/Matrixf> 26 #include <osg/Matrixd> 59 Matrixf(
const osg::Matrixf& mat);
68 Matrixf(
const osg::Matrixd& mat);
95 explicit Matrixf(
float const *
const ptr);
104 explicit Matrixf(
double const *
const ptr);
156 osg::Matrixf& GetOSGMatrix();
165 const osg::Matrixf& GetOSGMatrix()
const;
176 int Compare(
const Matrixf& m)
const;
221 void Set(
float const *
const ptr);
230 void Set(
double const *
const ptr);
291 void MakeScale(
const Vec3f& v);
300 void MakeScale(
const Vec3d& v);
320 void MakeTranslate(
const Vec3f& v);
329 void MakeTranslate(
const Vec3d& v);
350 void MakeRotate(
const Vec3f& from,
const Vec3f& to);
360 void MakeRotate(
const Vec3d& from,
const Vec3d& to);
401 void MakeRotate(
const Quat& q);
467 void MakeOrtho(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
481 void MakeOrtho(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
498 bool GetOrtho(
double& left,
double& right,
double& bottom,
double& top,
double& zNear,
double& zFar)
const;
516 bool GetOrtho(
float& left,
float& right,
float& bottom,
float& top,
float& zNear,
float& zFar)
const;
528 void MakeOrtho2D(
double left,
double right,
double bottom,
double top);
540 void MakeOrtho2D(
float left,
float right,
float bottom,
float top);
554 void MakeFrustum(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
568 void MakeFrustum(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
585 bool GetFrustum(
double& left,
double& right,
double& bottom,
double& top,
double& zNear,
double& zFar)
const;
603 bool GetFrustum(
float& left,
float& right,
float& bottom,
float& top,
float& zNear,
float& zFar)
const;
616 void MakePerspective(
double fovy,
double aspectRatio,
double zNear,
double zFar);
629 void MakePerspective(
float fovy,
float aspectRatio,
float zNear,
float zFar);
645 bool GetPerspective(
double& fovy,
double& aspectRatio,
double& zNear,
double& zFar)
const;
662 bool GetPerspective(
float& fovy,
float& aspectRatio,
float& zNear,
float& zFar)
const;
674 void MakeLookAt(
const Vec3f& eye,
const Vec3f& center,
const Vec3f& up);
686 void MakeLookAt(
const Vec3d& eye,
const Vec3d& center,
const Vec3d& up);
723 bool Invert(
const Matrixf& rhs);
734 bool Invert_4x3(
const Matrixf& rhs);
745 bool Invert_4x4(
const Matrixf& rhs);
754 void OrthoNormalize(
const Matrixf& rhs);
763 void SetRotate(
const Quat& q);
774 Quat GetRotate()
const;
794 void SetTrans(
const Vec3f& v);
803 void SetTrans(
const Vec3d& v);
812 Vec3d GetTrans()
const;
821 Vec3d GetScale()
const;
841 void SetScale(
const Vec3f& v);
850 void SetScale(
const Vec3d& v);
957 void PreMult(
const Matrixf& m);
966 void PostMult(
const Matrixf& m);
975 void PreMultTranslate(
const Vec3d& v);
984 void PreMultTranslate(
const Vec3f& v);
993 void PostMultTranslate(
const Vec3d& v);
1002 void PostMultTranslate(
const Vec3f& v);
1011 void PreMultScale(
const Vec3d& v);
1020 void PreMultScale(
const Vec3f& v);
1029 void PostMultScale(
const Vec3d& v);
1038 void PostMultScale(
const Vec3f& v);
1047 void PreMultRotate(
const Quat& q);
1056 void PostMultRotate(
const Quat& q);
1067 std::string
ToString(
int precision = -1);
1076 static Matrixf Identity(
void);
1289 static Matrixf Ortho(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
1305 static Matrixf Ortho(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
1319 static Matrixf Ortho2D(
double left,
double right,
double bottom,
double top);
1333 static Matrixf Ortho2D(
float left,
float right,
float bottom,
float top);
1349 static Matrixf Frustum(
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);
1365 static Matrixf Frustum(
float left,
float right,
float bottom,
float top,
float zNear,
float zFar);
1380 static Matrixf Perspective(
float fovy,
float aspectRatio,
float zNear,
float zFar);
1395 static Matrixf Perspective(
double fovy,
double aspectRatio,
double zNear,
double zFar);
1504 bool operator > (
const Matrixf& m)
const;
1515 bool operator < (
const Matrixf& m)
const;
1590 void operator *= (
const Matrixf& other);
1713 value_type operator ()(
int row,
int col)
const;
1722 operator osg::Matrixf ()
const;
1731 operator osg::Matrixf& ();
1740 operator const osg::Matrixf& ()
const;
1749 operator osg::Matrixf* ();
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.