Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SFMatrix34f.h

Go to the documentation of this file.
00001 
00002 //                            SFMatrix34f.h                                   //
00004 
00005 #ifndef MATRIX34F_H
00006 #define MATRIX34F_H
00007 
00008 #include "SFVec3f.h"
00009 #include "SFPoint3f.h"
00010 
00011 #include <iostream>
00012 #include <vector>
00013 
00014 namespace X3DTK {
00015 
00020 
00021 class SFMatrix34f
00022 {
00023 public:
00025   float _11;
00027   float _21;
00029   float _31;
00030 
00032   float _12;
00034   float _22;
00036   float _32;
00037 
00039   float _13;
00041   float _23;
00043   float _33;
00044 
00046   float _14;
00048   float _24;
00050   float _34;
00051 
00053   SFMatrix34f();
00055   SFMatrix34f(float _11, float _21, float _31, float _12, float _22, float _32, float _13, float _23, float _33, float _14, float _24, float _34);
00057   explicit SFMatrix34f(const float GLMatrix[16]);
00059   SFMatrix34f(const SFVec3f &vx, const SFVec3f &vy, const SFVec3f &vz, const SFPoint3f &p);
00061   SFMatrix34f(const SFMatrix34f &m);
00062 
00064   friend SFMatrix34f operator+ (const SFMatrix34f &m1, const SFMatrix34f &m2);
00066   friend SFMatrix34f operator- (const SFMatrix34f &m1, const SFMatrix34f &m2);
00068   friend SFMatrix34f operator* (const SFMatrix34f &m1, const SFMatrix34f &m2);
00070   friend SFMatrix34f operator* (const float a, const SFMatrix34f &m);
00072   friend SFVec3f operator* (const SFMatrix34f &m, const SFVec3f &v);
00074   friend SFPoint3f operator* (const SFMatrix34f &m, const SFPoint3f &v);
00076   SFMatrix34f i();
00079   SFMatrix34f iu();
00081   float *toFloat16() const;
00082 };
00083 
00085 SFMatrix34f identity34();
00087 SFMatrix34f scale34(float sx, float sy, float sz);
00089 SFMatrix34f rotationX(float angle);
00091 SFMatrix34f rotationY(float angle);
00093 SFMatrix34f rotationZ(float angle);
00095 SFMatrix34f translation(const SFVec3f &t);
00097 SFMatrix34f rotation(float angle, const SFVec3f &u); 
00099 std::ostream& operator<<(std::ostream& o, const SFMatrix34f &M);
00100 
00101 }
00102 
00103 #endif
00104 

Generated on Thu Oct 9 13:50:54 2003 for X3DToolKit by doxygen1.2.18