0027670: Visualization - avoid duplication of structures defining primitive array...
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_Graphic3d.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_Graphic3dHeader
16 #define InterfaceGraphic_Graphic3dHeader
17
18 #include <InterfaceGraphic_telem.hxx>
19 #include <Graphic3d_BndBox4f.hxx>
20 #include <Graphic3d_BSDF.hxx>
21 #include <Standard_Transient.hxx>
22
23 /* COULEUR */
24
25 typedef struct {
26
27   Standard_ShortReal r;
28   Standard_ShortReal g;
29   Standard_ShortReal b;
30
31 } CALL_DEF_COLOR;
32
33 /* POINT */
34
35 typedef struct {
36
37   Standard_ShortReal x;
38   Standard_ShortReal y;
39   Standard_ShortReal z;
40
41 } CALL_DEF_POINT;
42
43 /* MATERIAL */
44
45 typedef struct {
46
47   Standard_ShortReal Ambient;
48   Standard_Integer   IsAmbient;
49
50   Standard_ShortReal Diffuse;
51   Standard_Integer   IsDiffuse;
52
53   Standard_ShortReal Specular;
54   Standard_Integer   IsSpecular;
55
56   Standard_ShortReal Emission;
57   Standard_Integer   IsEmission;
58
59   Graphic3d_BSDF     BSDF;
60
61   Standard_ShortReal Shininess;
62   Standard_ShortReal Transparency;
63   Standard_ShortReal RefractionIndex;
64
65   Standard_ShortReal EnvReflexion;
66
67   Standard_Integer   IsPhysic;
68
69   /* Color attributes */
70   CALL_DEF_COLOR     ColorAmb;
71   CALL_DEF_COLOR     ColorDif;
72   CALL_DEF_COLOR     ColorSpec;
73   CALL_DEF_COLOR     ColorEms;
74   CALL_DEF_COLOR     Color;
75
76 } CALL_DEF_MATERIAL;
77
78 /* Transform persistence struct */
79 typedef struct
80 {
81   Standard_Integer IsSet;
82   Standard_Integer IsDef;
83   Standard_Integer Flag;
84   CALL_DEF_POINT   Point;
85 } CALL_DEF_TRANSFORM_PERSISTENCE;
86
87 #endif /* InterfaceGraphic_Graphic3dHeader */