1 // Created on: 2011-03-06
2 // Created by: Sergey ZERCHANINOV
3 // Copyright (c) 2011-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
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.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #ifndef _Graphic3d_CGraduatedTrihedron_HeaderFile
17 #define _Graphic3d_CGraduatedTrihedron_HeaderFile
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>
27 typedef void (*minMaxValuesCallback)(void*);
28 class Graphic3d_CGraduatedTrihedron
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 ),
49 styleOfValues ( Font_FA_Undefined ),
58 TCollection_ExtendedString xname, yname, zname;
60 Standard_Boolean xdrawname, ydrawname, zdrawname;
62 Standard_Boolean xdrawvalues, ydrawvalues, zdrawvalues;
64 Standard_Boolean drawgrid;
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;
74 Standard_Boolean xdrawtickmarks, ydrawtickmarks, zdrawtickmarks;
75 /* Length of tickmarks */
76 Standard_Integer xtickmarklength, ytickmarklength, ztickmarklength;
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;
96 /* Callback function to define boundary box of displayed objects */
97 minMaxValuesCallback cbCubicAxes;
98 void* ptrVisual3dView;
101 const Handle(Standard_Type)& TYPE(Graphic3d_CGraduatedTrihedron);
103 #endif /*Graphic3d_CGraduatedTrihedron_HeaderFile*/