0024310: TKOpenGl - GLSL compatibility issues
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_telem.hxx
CommitLineData
b311480e 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
27eed937 19#ifndef INTERFACEGRAPHIC_TELEM_H
20#define INTERFACEGRAPHIC_TELEM_H
7fd59977 21
22#include <Standard.hxx>
1c35b92f 23#include <Standard_DefineAlloc.hxx>
7fd59977 24#include <InterfaceGraphic_tgl_all.hxx>
25#include <stdlib.h>
26
7fd59977 27struct TEL_TEXTURE_COORD
28{
29 float xy[2];
1c35b92f 30 DEFINE_STANDARD_ALLOC
7fd59977 31};
32
33typedef TEL_TEXTURE_COORD* tel_texture_coord;
34
b8ddfc2f 35class TEL_POINT
7fd59977 36{
b8ddfc2f 37 public:
38 float xyz[3];
1c35b92f 39 DEFINE_STANDARD_ALLOC
7fd59977 40};
41typedef TEL_POINT* tel_point;
42
43struct TEL_COLOUR
44{
45 /* OCC8854: san -- number of color components increased to include alpha value */
46 float rgb[4];
1c35b92f 47 DEFINE_STANDARD_ALLOC
7fd59977 48};
49typedef TEL_COLOUR* tel_colour;
50
7fd59977 51typedef enum
52{
53 TelCullNone,
54 TelCullFront,
55 TelCullBack
56} TelCullMode;
57
7fd59977 58/* Standard Hatch Styles */
59#define TEL_HS_SOLID 0
60#define TEL_HS_CROSS 1
61#define TEL_HS_CROSS_SPARSE 2
62#define TEL_HS_GRID 3
63#define TEL_HS_GRID_SPARSE 4
64#define TEL_HS_DIAG_45 5
65#define TEL_HS_DIAG_135 6
66#define TEL_HS_HORIZONTAL 7
67#define TEL_HS_VERTICAL 8
68#define TEL_HS_DIAG_45_SPARSE 9
69#define TEL_HS_DIAG_135_SPARSE 10
70#define TEL_HS_HORIZONTAL_SPARSE 11
71#define TEL_HS_VERTICAL_SPARSE 12
72
73#define TEL_HS_USER_DEF_START 15
74
7fd59977 75#define TEL_SM_FLAT 1
76#define TEL_SM_GOURAUD 2
77
7fd59977 78/* Standard Lighting Models */
79#define TEL_FRONT_BACK_LM 1
80
81/* Standard Materials */
82#define TEL_FRONT_MATERIAL 1
83#define TEL_BACK_MATERIAL 2
84
7fd59977 85struct TEL_POFFSET_PARAM
86{
87 int mode;
88 float factor;
89 float units;
1c35b92f 90 DEFINE_STANDARD_ALLOC
7fd59977 91};
92typedef TEL_POFFSET_PARAM* tel_poffset_param;
7fd59977 93
7fd59977 94struct TEL_TRANSFORM_PERSISTENCE
95{
96 int mode;
97 float pointX;
98 float pointY;
99 float pointZ;
1c35b92f 100 DEFINE_STANDARD_ALLOC
7fd59977 101};
102typedef TEL_TRANSFORM_PERSISTENCE* tel_transform_persistence;
7fd59977 103
104#endif /* INTERFACEGRAPHIC_TELEM_H */