Advertisement
Guest User

Untitled

a guest
Nov 30th, 2009
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #ifndef CTRANSFORMH
  2.     #define CTRANSFORMH
  3.  
  4.     #include "Vertex3d.h"
  5.     #define PI 3.14159265358979323846
  6.  
  7.     /**
  8.      * 4x4 Matrix class
  9.      */
  10.     class CTransform {
  11.     public:
  12.         double* matrix;
  13.  
  14.         CTransform();
  15.  
  16.         CTransform& Transform(Vertex3d v);
  17.         CTransform& Translate(Vertex3d v);
  18.         CTransform& Scale(Vertex3d v);
  19.         CTransform& LoadIdentity();
  20.  
  21.         void Multiply(double* targetmatrix,double* multiplier);
  22.        
  23.         CTransform& operator* (CTransform& rkM);
  24.  
  25.         CTransform operator*=(CTransform b);
  26.         double* operator[](int row);
  27.  
  28.         Vertex3d GetColumn(int column);
  29.         Vertex3d GetRow(int row);
  30.         CTransform& SetColumn(int column, Vertex3d v);
  31.         CTransform& SetRow(int row, Vertex3d v);
  32.  
  33.         CTransform& Rotate(double angle, Vertex3d v);
  34.        
  35.     private:
  36.        
  37.         int I (int row, int col) const;
  38.     };
  39. #endif
  40.  
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement