b311480e |
1 | // Copyright (c) 1995-1999 Matra Datavision |
973c2be1 |
2 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
3 | // |
973c2be1 |
4 | // This file is part of Open CASCADE Technology software library. |
b311480e |
5 | // |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
11 | // |
973c2be1 |
12 | // Alternatively, this file may be used under the terms of Open CASCADE |
13 | // commercial license or contractual agreement. |
b311480e |
14 | |
7fd59977 |
15 | #ifndef _Graphic3d_CGroup_HeaderFile |
16 | #define _Graphic3d_CGroup_HeaderFile |
17 | |
a577aaab |
18 | #include <Aspect_TypeOfMarker.hxx> |
bf75be98 |
19 | #include <InterfaceGraphic_Visual3d.hxx> |
20 | #include <Graphic3d_CTexture.hxx> |
a577aaab |
21 | #include <Graphic3d_MarkerImage_Handle.hxx> |
30f0ad28 |
22 | #include <Graphic3d_ShaderProgram_Handle.hxx> |
bf75be98 |
23 | |
24 | class Graphic3d_CStructure; |
25 | |
26 | class CALL_DEF_CONTEXTFILLAREA |
27 | { |
28 | |
29 | public: |
30 | |
31 | CALL_DEF_CONTEXTFILLAREA() |
32 | : IsDef (0), |
33 | IsSet (0), |
34 | Style (0), |
35 | LineType (0), |
36 | Width (0.0f), |
37 | Hatch (0), |
38 | Distinguish (0), |
39 | BackFace (0), |
40 | Edge (0), |
bf75be98 |
41 | PolygonOffsetMode (0), |
42 | PolygonOffsetFactor (0.0f), |
43 | PolygonOffsetUnits (0.0f) |
44 | { |
c24d4017 |
45 | memset(&IntColor,0,sizeof(IntColor)); |
46 | memset(&BackIntColor,0,sizeof(BackIntColor)); |
47 | memset(&EdgeColor,0,sizeof(EdgeColor)); |
48 | memset(&Front,0,sizeof(Front)); |
49 | memset(&Back,0,sizeof(Back)); |
bf75be98 |
50 | } |
51 | |
52 | public: |
53 | |
54 | int IsDef; |
55 | |
56 | int IsSet; |
57 | |
58 | int Style; |
59 | |
60 | CALL_DEF_COLOR IntColor; |
61 | CALL_DEF_COLOR BackIntColor; |
62 | CALL_DEF_COLOR EdgeColor; |
63 | |
64 | int LineType; |
65 | |
66 | float Width; |
67 | |
68 | int Hatch; |
69 | |
70 | int Distinguish; |
71 | int BackFace; |
72 | |
73 | int Edge; |
74 | |
75 | CALL_DEF_MATERIAL Front; |
76 | CALL_DEF_MATERIAL Back; |
77 | |
78 | Graphic3d_CTexture Texture; |
79 | |
bf75be98 |
80 | int PolygonOffsetMode; |
81 | float PolygonOffsetFactor; |
82 | float PolygonOffsetUnits; |
83 | |
30f0ad28 |
84 | Handle(Graphic3d_ShaderProgram) ShaderProgram; |
bf75be98 |
85 | }; |
86 | |
a577aaab |
87 | class CALL_DEF_CONTEXTMARKER |
88 | { |
89 | public: |
90 | |
91 | CALL_DEF_CONTEXTMARKER() |
92 | : IsDef (0), |
93 | IsSet (0), |
94 | MarkerType (Aspect_TOM_POINT), |
95 | Scale (0), |
96 | MarkerImage (NULL) |
97 | { |
c24d4017 |
98 | memset(&Color,0,sizeof(Color)); |
a577aaab |
99 | } |
100 | |
101 | public: |
102 | |
103 | Standard_Integer IsDef; |
104 | Standard_Integer IsSet; |
105 | CALL_DEF_COLOR Color; |
106 | Aspect_TypeOfMarker MarkerType; |
107 | Standard_ShortReal Scale; |
108 | Handle(Graphic3d_MarkerImage) MarkerImage; |
30f0ad28 |
109 | Handle(Graphic3d_ShaderProgram) ShaderProgram; |
a577aaab |
110 | |
111 | }; |
112 | |
bf75be98 |
113 | class Graphic3d_CGroup |
114 | { |
115 | |
116 | public: |
117 | |
bf75be98 |
118 | void* ptrGroup; |
119 | |
bf75be98 |
120 | CALL_DEF_CONTEXTLINE ContextLine; |
121 | CALL_DEF_CONTEXTFILLAREA ContextFillArea; |
122 | CALL_DEF_CONTEXTMARKER ContextMarker; |
123 | CALL_DEF_CONTEXTTEXT ContextText; |
124 | |
125 | Graphic3d_CStructure* Struct; |
126 | |
127 | CALL_DEF_PICKID PickId; |
128 | |
bf75be98 |
129 | }; |
7fd59977 |
130 | |
bf75be98 |
131 | const Handle(Standard_Type)& TYPE(Graphic3d_CGroup); |
7fd59977 |
132 | |
bf75be98 |
133 | #endif // Graphic3d_CGroup_HeaderFile |