00001
00002
00004
00005 #if !defined(AFX_MYAXISCROSS_H__1A343C0A_D72E_4C8C_8633_29E705D2BF04__INCLUDED_)
00006 #define AFX_MYAXISCROSS_H__1A343C0A_D72E_4C8C_8633_29E705D2BF04__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include "MyObject.h"
00013 #include "Point3D.h"
00014 #include "MyCube.h"
00015 #include "MyRectangle.h"
00016 #include "gl/glut.h"
00017
00019 class MyAxisCross : public MyObject
00020 {
00021 public:
00022 virtual void SetLineWidth(float lineWidth);
00023 virtual void SetRgba(GLubyte *rgba);
00024
00025 float GetZLineWidth();
00027 float GetYLineWidth();
00029 float GetXLineWidth();
00031 void SetZLineWidth(float lineWidth);
00033 void SetYLineWidth(float lineWidth);
00035 void SetXLineWidth(float lineWidth);
00036
00037 virtual void Init(MyObject *obj);
00039 void SetRange(MyRectangle *rect);
00041 void SetRange(MyCube *cube);
00043 float GetOffs();
00045 void SetOffs(float offs);
00047 CPoint3D GetMaxPoint();
00049 CPoint3D GetMinPoint();
00051 void SetMaxPoint(CPoint3D maxPoint);
00053 void SetMinPoint(CPoint3D minPoint);
00054
00056 void GetXAxisRgba(GLubyte *rgba);
00058 void GetYAxisRgba(GLubyte *rgba);
00060 void GetZAxisRgba(GLubyte *rgba);
00061
00063 void SetYAxisRgba(GLubyte *rgba);
00065 void SetXAxisRgba(GLubyte *rgba);
00067 void SetZAxisRgba(GLubyte *rgba);
00068
00069 virtual void Draw();
00070 virtual bool IsInside(CPoint3D position);
00071
00072 MyAxisCross(CPoint3D position,CPoint3D minPoint, CPoint3D maxPoint,
00073 float xLineWidth, float yLineWidth, float zLineWidth,
00074 float offs, GLubyte *xAxisRgba, GLubyte *yAxisRgba,
00075 GLubyte *zAxisRgba);
00076
00077 MyAxisCross();
00078 virtual ~MyAxisCross();
00079
00080 protected:
00081 GLubyte m_XAxisRgba[4];
00082 GLubyte m_YAxisRgba[4];
00083 GLubyte m_ZAxisRgba[4];
00084
00085 float m_XLineWidth;
00086 float m_YLineWidth;
00087 float m_ZLineWidth;
00088
00089 CPoint3D m_MaxPoint;
00090 CPoint3D m_MinPoint;
00091
00092 float m_Offs;
00093
00094 };
00095
00096 #endif // !defined(AFX_MYAXISCROSS_H__1A343C0A_D72E_4C8C_8633_29E705D2BF04__INCLUDED_)