0022819: Redesign of OpenGl driver Additional integration
[occt.git] / src / OpenGl / OpenGl_GraduatedTrihedron.hxx
1 // File:      OpenGl_GraduatedTrihedron.hxx
2 // Created:   20 September 2011
3 // Author:    Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
5
6 #ifndef _OpenGl_GraduatedTrihedron_Header
7 #define _OpenGl_GraduatedTrihedron_Header
8
9 #include <Handle_OpenGl_GraduatedTrihedron.hxx>
10
11 #include <Graphic3d_CGraduatedTrihedron.hxx>
12
13 class OpenGl_View;
14
15 class OpenGl_GraduatedTrihedron : public MMgt_TShared
16 {
17  public:
18   OpenGl_GraduatedTrihedron (const Graphic3d_CGraduatedTrihedron &AData);
19   virtual ~OpenGl_GraduatedTrihedron ();
20
21   static void SetMinMax (const Standard_ShortReal xMin, const Standard_ShortReal yMin, const Standard_ShortReal zMin,
22                          const Standard_ShortReal xMax, const Standard_ShortReal yMax, const Standard_ShortReal zMax);
23
24   void Render (const Handle(OpenGl_Workspace) &AWorkspace) const;
25
26   // Type definition
27   //
28   DEFINE_STANDARD_RTTI(OpenGl_GraduatedTrihedron)
29
30  protected:
31
32   const wchar_t *myXName;
33   const wchar_t *myYName;
34   const wchar_t *myZName;
35   unsigned char myDrawXName, myDrawYName, myDrawZName;
36   unsigned char myDrawXValues, myDrawYValues, myDrawZValues;
37   unsigned char myDrawGrid;
38   unsigned char myDrawAxes;
39   unsigned int myNbX, myNbY, myNbZ;
40   int myXOffset, myYOffset, myZOffset;
41   int myXAxisOffset, myYAxisOffset, myZAxisOffset;
42   unsigned char myDrawXTickmarks, myDrawYTickmarks, myDrawZTickmarks;
43   unsigned int myXTickmarkLength, myYTickmarkLength, myZTickmarkLength;
44   float myGridColor[3];
45   float myXNameColor[3];
46   float myYNameColor[3];
47   float myZNameColor[3];
48   float myXColor[3];
49   float myYColor[3];
50   float myZColor[3];
51   const char *myFontOfNames;
52   OSD_FontAspect myStyleOfNames;
53   int mySizeOfNames;
54   const char* myFontOfValues;
55   OSD_FontAspect myStyleOfValues;
56   int mySizeOfValues;
57   minMaxValuesCallback myCbCubicAxes;
58   void* myPtrVisual3dView;
59
60  public:
61   IMPLEMENT_MEMORY_OPERATORS
62 };
63
64 #endif //_OpenGl_GraduatedTrihedron_Header