home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 4 / CD_Magazyn_EXEC_nr_4.iso / Recent / dev / c / GSys.lha / gsys / g3d / G3DObject.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-01  |  1.2 KB  |  65 lines

  1.  
  2. /* Author Anders Kjeldsen */
  3.  
  4. #ifndef G3DOBJECT_H
  5. #define G3DOBJECT_H
  6.  
  7. #include "ggraphics/GScreen.h"
  8. #include "g3d/G3DPolygon.h"
  9. #include "g3d/G3DQuat.h"
  10.  
  11. class G3DObject
  12. {
  13. public:
  14.  
  15.     GObject() {};
  16.     GObject(STRPTR FileName);
  17.     ~GObject() {};
  18.  
  19.     void MakeMatrix() {};
  20.     
  21.     void ClipPolygons(class GScreen *GScreen);    // this parameter is temp only!
  22.     void Rotate(class G3DCamera *GCamera);
  23.     void SortPolygons();
  24.     void DrawPolygons();
  25.  
  26.     void SetDirection(float Ax, float Ay, float Az);    // Jumps
  27.     void AddDirection(float Ax, float Ay, float Az);    // Rotates
  28.  
  29.     void SetAngles(float Ax, float Ay, float Az)
  30.     {
  31.         Anglex = Ax;
  32.         Angley = Ay;
  33.         Anglez = Az;
  34.     }
  35.     void AddAngles(float Ax, float Ay, float Az)
  36.     {
  37.         Anglex+= Ax;
  38.         Angley+= Ay;
  39.         Anglez+= Az;
  40.     }
  41.  
  42.     void SetPosition(double px, double py, double pz);
  43.     void AddPosition(double px, double py, double pz);
  44.  
  45.     void SetGScreen(class GScreen *s) { GScreen = s; };
  46.  
  47. /* STRUCTURE FROM HERE */
  48.  
  49.     class GScreen *GScreen;    /* The screen used to draw stuff */
  50.     class G3DPolygon *GPolygons;        /* Triangles */
  51.  
  52.     class G3DQuat ObjQuat;
  53.     class G3DQuat DiffQuat;
  54.  
  55.     double AxisX, AxisY, AxisZ;
  56.     float Anglex, Angley, Anglez;
  57.  
  58. /* STRUCTURE TO HERE */
  59.  
  60. private:
  61.  
  62. };
  63.  
  64. #endif /* G3DOBJECT */
  65.