0027670: Visualization - avoid duplication of structures defining primitive array...
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_telem.hxx
1 // Copyright (c) 1991-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #ifndef INTERFACEGRAPHIC_TELEM_H
16 #define INTERFACEGRAPHIC_TELEM_H
17
18 #include <Standard.hxx>
19 #include <Standard_DefineAlloc.hxx>
20 #include <InterfaceGraphic_tgl_all.hxx>
21 #include <stdlib.h>
22
23 struct TEL_TEXTURE_COORD
24 {
25   float xy[2];
26   DEFINE_STANDARD_ALLOC
27 };
28
29 typedef TEL_TEXTURE_COORD* tel_texture_coord;
30
31 class TEL_POINT
32 {
33  public:
34   float xyz[3];
35   DEFINE_STANDARD_ALLOC
36 };
37 typedef TEL_POINT* tel_point;
38
39 struct TEL_COLOUR
40 {
41   /* OCC8854: san -- number of color components increased to include alpha value */
42   float    rgb[4];
43   DEFINE_STANDARD_ALLOC
44 };
45 typedef TEL_COLOUR* tel_colour;
46
47 typedef enum
48 {
49   TelCullUndefined = -1,
50   TelCullNone = 0,
51   TelCullFront,
52   TelCullBack
53 } TelCullMode;
54
55 /* Standard Hatch Styles */
56 #define  TEL_HS_SOLID              0
57 #define  TEL_HS_CROSS              1
58 #define  TEL_HS_CROSS_SPARSE       2
59 #define  TEL_HS_GRID               3
60 #define  TEL_HS_GRID_SPARSE        4
61 #define  TEL_HS_DIAG_45            5
62 #define  TEL_HS_DIAG_135           6
63 #define  TEL_HS_HORIZONTAL         7
64 #define  TEL_HS_VERTICAL           8
65 #define  TEL_HS_DIAG_45_SPARSE     9
66 #define  TEL_HS_DIAG_135_SPARSE    10
67 #define  TEL_HS_HORIZONTAL_SPARSE  11
68 #define  TEL_HS_VERTICAL_SPARSE    12
69
70 #define TEL_HS_USER_DEF_START      15
71
72 /* Standard Lighting Models */
73 #define  TEL_FRONT_BACK_LM  1
74
75 /* Standard Materials */
76 #define  TEL_FRONT_MATERIAL  1
77 #define  TEL_BACK_MATERIAL   2
78
79 struct  TEL_POFFSET_PARAM
80 {
81   int   mode;
82   float factor;
83   float units;
84   DEFINE_STANDARD_ALLOC
85 };
86 typedef TEL_POFFSET_PARAM* tel_poffset_param;
87
88 #endif /* INTERFACEGRAPHIC_TELEM_H */