Planes.h
Upload User: kairuinn
Upload Date: 2009-02-07
Package Size: 2922k
Code Size: 2k
Category:

Graph program

Development Platform:

Visual C++

  1. #ifndef __PLANES__
  2. #define __PLANES__
  3. #include "3DCamera.h"
  4. typedef struct  
  5. {
  6. float position;
  7. float r;
  8. float g;
  9. float b;
  10. float a;
  11. BOOL  enable;
  12. BOOL  visible;
  13. float step;
  14. } WORK_PLANE;
  15. class CPlanes
  16. {
  17. private:
  18. WORK_PLANE  m_x_WP;
  19. WORK_PLANE  m_y_WP;
  20. WORK_PLANE  m_z_WP;
  21. WORK_PLANE* m_active_work_plane;
  22. SG_POINT*   m_snap_point;
  23. int         m_grid_lines_count;
  24. void        DrawAxes(C3dCamera* cam);
  25. bool        m_use_plane_point;
  26. public:
  27. BOOL        IsXWorkPlaneEnable() {return m_x_WP.enable;};
  28. void        EnableXWorkPlane(BOOL enWP)  {m_x_WP.enable=enWP;}; 
  29. BOOL        IsXWorkPlaneVisible() {return m_x_WP.visible;};
  30. void        SetXWorkPlaneVisibles(BOOL visWP)  {m_x_WP.visible = visWP;}; 
  31. BOOL        IsYWorkPlaneEnable() {return m_y_WP.enable;};
  32. void        EnableYWorkPlane(BOOL enWP)  {m_y_WP.enable=enWP;}; 
  33. BOOL        IsYWorkPlaneVisible() {return m_y_WP.visible;};
  34. void        SetYWorkPlaneVisibles(BOOL visWP)  {m_y_WP.visible = visWP;}; 
  35. BOOL        IsZWorkPlaneEnable() {return m_z_WP.enable;};
  36. void        EnableZWorkPlane(BOOL enWP)  {m_z_WP.enable=enWP;}; 
  37. BOOL        IsZWorkPlaneVisible() {return m_z_WP.visible;};
  38. void        SetZWorkPlaneVisibles(BOOL visWP)  {m_z_WP.visible = visWP;}; 
  39. void        SetupDialog();
  40. void        SetUsingPlanePoint(bool upp) {m_use_plane_point=upp;};
  41. void        GetCurrentWorkPlane(double& d, SG_VECTOR& nrml);
  42. float       GetActiveWorkPlaneGridSize();
  43. public:
  44. CPlanes();
  45. ~CPlanes();
  46. void        DrawWorkPlanes(C3dCamera* cam,bool isCommanderRegime);
  47. SG_POINT*   GetPointOnWorkPlanes(SG_POINT*, SG_VECTOR*);
  48. };
  49. #endif