0023872: Remove outdated classes OpenGl_Polygon and OpenGl_Polyline
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_telem.hxx
1 // Copyright (c) 1991-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 //
4 // The content of this file is subject to the Open CASCADE Technology Public
5 // License Version 6.5 (the "License"). You may not use the content of this file
6 // except in compliance with the License. Please obtain a copy of the License
7 // at http://www.opencascade.org and read it completely before using this file.
8 //
9 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 //
12 // The Original Code and all software distributed under the License is
13 // distributed on an "AS IS" basis, without warranty of any kind, and the
14 // Initial Developer hereby disclaims all such warranties, including without
15 // limitation, any warranties of merchantability, fitness for a particular
16 // purpose or non-infringement. Please see the License for the specific terms
17 // and conditions governing the rights and limitations under the License.
18
19 #ifndef INTERFACEGRAPHIC_TELEM_H
20 #define INTERFACEGRAPHIC_TELEM_H
21
22 #include <Standard.hxx>
23 #include <Standard_DefineAlloc.hxx>
24 #include <InterfaceGraphic_tgl_all.hxx>
25 #include <stdlib.h>
26
27 struct TEL_TEXTURE_COORD
28 {
29   float xy[2];
30   DEFINE_STANDARD_ALLOC
31 };
32
33 typedef TEL_TEXTURE_COORD* tel_texture_coord;
34
35 class TEL_POINT
36 {
37  public:
38   float xyz[3];
39   DEFINE_STANDARD_ALLOC
40 };
41 typedef TEL_POINT* tel_point;
42
43 struct TEL_COLOUR
44 {
45   /* OCC8854: san -- number of color components increased to include alpha value */
46   float    rgb[4];
47   DEFINE_STANDARD_ALLOC
48 };
49 typedef TEL_COLOUR* tel_colour;
50
51 typedef  enum
52 {
53   TLightAmbient, 
54   TLightDirectional, 
55   TLightPositional, 
56   TLightSpot
57 } TLightType;
58
59 typedef  enum
60 {
61   TelCullNone, 
62   TelCullFront, 
63   TelCullBack
64 } TelCullMode;
65
66 /* Standard Hatch Styles */
67 #define  TEL_HS_SOLID              0
68 #define  TEL_HS_CROSS              1
69 #define  TEL_HS_CROSS_SPARSE       2
70 #define  TEL_HS_GRID               3
71 #define  TEL_HS_GRID_SPARSE        4
72 #define  TEL_HS_DIAG_45            5
73 #define  TEL_HS_DIAG_135           6
74 #define  TEL_HS_HORIZONTAL         7
75 #define  TEL_HS_VERTICAL           8
76 #define  TEL_HS_DIAG_45_SPARSE     9
77 #define  TEL_HS_DIAG_135_SPARSE    10
78 #define  TEL_HS_HORIZONTAL_SPARSE  11
79 #define  TEL_HS_VERTICAL_SPARSE    12
80
81 #define TEL_HS_USER_DEF_START      15
82
83 #define TEL_SM_FLAT    1
84 #define TEL_SM_GOURAUD 2
85
86 /* Standard Lighting Models */
87 #define  TEL_FRONT_BACK_LM  1
88
89 /* Standard Materials */
90 #define  TEL_FRONT_MATERIAL  1
91 #define  TEL_BACK_MATERIAL   2
92
93 struct  TEL_POFFSET_PARAM
94 {
95   int   mode;
96   float factor;
97   float units;
98   DEFINE_STANDARD_ALLOC
99 };
100 typedef TEL_POFFSET_PARAM* tel_poffset_param;
101
102 struct TEL_TRANSFORM_PERSISTENCE
103 {
104   int       mode;
105   float     pointX;
106   float     pointY;
107   float     pointZ;
108   DEFINE_STANDARD_ALLOC
109 };
110 typedef TEL_TRANSFORM_PERSISTENCE* tel_transform_persistence;
111
112 #endif /* INTERFACEGRAPHIC_TELEM_H */