0024526: Guide on Automatic Test System is obsolete
[occt.git] / src / Graphic3d / Graphic3d_CGraduatedTrihedron.hxx
1 // Created on: 2011-03-06
2 // Created by: Sergey ZERCHANINOV
3 // Copyright (c) 2011-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and / or modify it
8 // under the terms of the GNU Lesser General Public version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _Graphic3d_CGraduatedTrihedron_HeaderFile
17 #define _Graphic3d_CGraduatedTrihedron_HeaderFile
18
19 #include <Standard_Boolean.hxx>
20 #include <Standard_Integer.hxx>
21 #include <Standard_Type.hxx>
22 #include <Quantity_Color.hxx>
23 #include <TCollection_AsciiString.hxx>
24 #include <TCollection_ExtendedString.hxx>
25 #include <Font_FontAspect.hxx>
26
27 typedef void (*minMaxValuesCallback)(void*);
28 class Graphic3d_CGraduatedTrihedron
29 {
30   public:
31     /* Default constructor. Nullifies the view pointer */
32     Graphic3d_CGraduatedTrihedron () : xdrawname ( Standard_False ),
33     ydrawname ( Standard_False ),
34     zdrawname ( Standard_False ),
35     xdrawvalues ( Standard_False ),
36     ydrawvalues ( Standard_False ),
37     zdrawvalues ( Standard_False ),
38     drawgrid ( Standard_False ),
39     drawaxes ( Standard_False ),
40     nbx ( 0 ),nby ( 0 ),nbz ( 0 ),
41     xoffset ( 0 ),yoffset ( 0 ),zoffset ( 0 ),
42     xaxisoffset ( 0 ),yaxisoffset ( 0 ),zaxisoffset ( 0 ),
43     xdrawtickmarks ( Standard_False ),
44     ydrawtickmarks ( Standard_False ),
45     zdrawtickmarks ( Standard_False ),
46     xtickmarklength ( 0 ), ytickmarklength ( 0 ), ztickmarklength ( 0 ),
47     styleOfNames ( Font_FA_Undefined ),
48     sizeOfNames ( 0 ),
49     styleOfValues ( Font_FA_Undefined ),
50     sizeOfValues ( 0 ),
51     cbCubicAxes ( NULL ),
52     ptrVisual3dView(NULL)
53         {
54                 //
55         }
56
57     /* Names of axes */
58     TCollection_ExtendedString xname, yname, zname;
59     /* Draw names */
60     Standard_Boolean xdrawname, ydrawname, zdrawname;
61     /* Draw values */
62     Standard_Boolean xdrawvalues, ydrawvalues, zdrawvalues;
63     /* Draw grid */
64     Standard_Boolean drawgrid;
65     /* Draw axes */
66     Standard_Boolean drawaxes;
67     /* Number of splits along axes */
68     Standard_Integer nbx, nby, nbz;
69     /* Offset for drawing values */
70     Standard_Integer xoffset, yoffset, zoffset;
71     /* Offset for drawing names of axes */
72     Standard_Integer xaxisoffset, yaxisoffset, zaxisoffset;
73     /* Draw tickmarks */
74     Standard_Boolean xdrawtickmarks, ydrawtickmarks, zdrawtickmarks;
75     /* Length of tickmarks */
76     Standard_Integer xtickmarklength, ytickmarklength, ztickmarklength;
77     /* Grid color */
78     Quantity_Color gridcolor;
79     /* Colors of axis names */
80     Quantity_Color xnamecolor, ynamecolor, znamecolor;
81     /* Colors of axis and values */
82     Quantity_Color xcolor, ycolor, zcolor;
83     /* Font name of names of axes: Courier, Arial, ... */
84     TCollection_AsciiString fontOfNames;
85     /* Style of names of axes: OSD_FA_Regular, OSD_FA_Bold, ... */
86     Font_FontAspect styleOfNames;
87     /* Size of names of axes: 8, 10, 12, 14, ... */
88     Standard_Integer sizeOfNames;
89     /* Font name of values: Courier, Arial, ... */
90     TCollection_AsciiString fontOfValues;
91     /* Style of values: OSD_FA_Regular, OSD_FA_Bold, ... */
92     Font_FontAspect styleOfValues;
93     /* Size of values: 8, 10, 12, 14, ... */
94     Standard_Integer sizeOfValues;
95
96     /* Callback function to define boundary box of displayed objects */
97     minMaxValuesCallback cbCubicAxes;
98     void* ptrVisual3dView;
99 };
100
101 const Handle(Standard_Type)& TYPE(Graphic3d_CGraduatedTrihedron);
102
103 #endif /*Graphic3d_CGraduatedTrihedron_HeaderFile*/