home *** CD-ROM | disk | FTP | other *** search
/ VRML Tools for 3D Cyberspace / VRML_Tools_For_3D_Cyberspace.iso / amber / include / matrix.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-01  |  1.0 KB  |  50 lines

  1. //**********************************************************************
  2. //  DIVE Laboratories, Inc.
  3. //  Copyright(c) 1995
  4. //  All rights reserved.
  5. //  FILE:   MATRIX.HPP
  6. //
  7. //  DESCRIPTION
  8. //  This file provides the function prototypes for the matrixClass
  9. //
  10. //  Author: M. Doucet
  11. //
  12. //  Modification History:
  13. //  6/13/95    Created
  14. //
  15. //**********************************************************************
  16. #ifndef _MATRIX_HPP
  17. #define _MATRIX_HPP
  18.  
  19. #include "quat.hpp"
  20. #include "vrtypes.hpp"
  21.  
  22. class matrixClass {
  23.  
  24. public:
  25.  
  26.     M16 m;
  27.  
  28.     void identity();
  29.     void set(M16 vals);
  30.  
  31.     void rotate(float angle, float axisX, float axisY, float axisZ);
  32.     void translate(float transX, float transY, float transZ);
  33.     void zeroTranslate();
  34.     void scale(float scaleX, float scaleY, float scaleZ);
  35.     void setOrientation(quatClass q);
  36.     void transpose();
  37.  
  38.     void applyTo(V3 pos);
  39.  
  40.     // Equivalent euler x,y,z rotations
  41.     void getEuler(V3 eulerAngle);
  42.  
  43.     void operator=(matrixClass *mat);
  44.         
  45.     matrixClass();
  46.     ~matrixClass();
  47. };
  48.  
  49. #endif
  50.