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 
00016 class SFRotation;
00017 
00022 
00023 class SFMatrix34f
00024 {
00025 public:
00027   float _11;
00029   float _21;
00031   float _31;
00032 
00034   float _12;
00036   float _22;
00038   float _32;
00039 
00041   float _13;
00043   float _23;
00045   float _33;
00046 
00048   float _14;
00050   float _24;
00052   float _34;
00053 
00055   SFMatrix34f();
00057   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);
00059   explicit SFMatrix34f(const float GLMatrix[16]);
00061   SFMatrix34f(const SFVec3f &vx, const SFVec3f &vy, const SFVec3f &vz, const SFPoint3f &p);
00063   SFMatrix34f(const SFVec3f &translation, const SFVec3f &center, const SFRotation &rotation, const SFRotation &scaleOrientation, const SFVec3f &scale);
00065   SFMatrix34f(const SFMatrix34f &m);
00066 
00068   friend SFMatrix34f operator+ (const SFMatrix34f &m1, const SFMatrix34f &m2);
00070   friend SFMatrix34f operator- (const SFMatrix34f &m1, const SFMatrix34f &m2);
00072   friend SFMatrix34f operator* (const SFMatrix34f &m1, const SFMatrix34f &m2);
00074   friend SFMatrix34f operator* (const float a, const SFMatrix34f &m);
00076   friend SFVec3f operator* (const SFMatrix34f &m, const SFVec3f &v);
00078   friend SFPoint3f operator* (const SFMatrix34f &m, const SFPoint3f &v);
00080   friend bool operator== (const SFMatrix34f &A, const SFMatrix34f &B);
00082   friend bool operator!= (const SFMatrix34f &A, const SFMatrix34f &B);
00084   SFMatrix34f i();
00087   SFMatrix34f iu();
00089   float *toFloat16() const;
00090   
00092   static const SFMatrix34f null;
00094   static const SFMatrix34f identity;
00095 
00097   static SFMatrix34f scale34(float sx, float sy, float sz);
00099   static SFMatrix34f rotationX(float angle);
00101   static SFMatrix34f rotationY(float angle);
00103   static SFMatrix34f rotationZ(float angle);
00105   static SFMatrix34f translation(const SFVec3f &t);
00107   static SFMatrix34f rotation(float angle, const SFVec3f &u); 
00108 };
00109 
00110 
00111 }
00112 
00113 #endif
00114 

Generated on Thu Dec 4 13:25:47 2003 for X3DToolKit by doxygen1.2.18