1 /**************************************************************************\
2  * Copyright (c) Kongsberg Oil & Gas Technologies AS
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * Redistributions of source code must retain the above copyright notice,
10  * this list of conditions and the following disclaimer.
11  *
12  * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * Neither the name of the copyright holder nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 \**************************************************************************/
32 
33 #ifndef COIN_INTERNAL
34 #error this is a private header file
35 #endif /* !COIN_INTERNAL */
36 
37 #ifndef SO_HANDLEBOXDRAGGER_IV_H
38 #define SO_HANDLEBOXDRAGGER_IV_H
39 
40 static const char HANDLEBOXDRAGGER_draggergeometry[] =
41   "#Inventor V2.1 ascii\n"
42   "\n"
43   "\n"
44   "\n"
45   "DEF HANDLEBOX_INACTIVE_MATERIAL Material { diffuseColor 0.5 0.5 0.5  emissiveColor 0.5 0.5 0.5 }\n"
46   "DEF HANDLEBOX_ACTIVE_MATERIAL Material { diffuseColor 0.5 0.5 0  emissiveColor 0.5 0.5 0 }\n"
47   "DEF HANDLEBOX_FEEDBACK_MATERIAL Material { diffuseColor 0.5 0 0.5  emissiveColor 0.5 0 0.5 }\n"
48   "\n"
49   "\n"
50   "\n"
51   "\n"
52   "\n"
53   "\n"
54   "\n"
55   "\n"
56   "\n"
57   "\n"
58   "\n"
59   "\n"
60   "DEF HANDLEBOX_TRANSLATOR_COORDS Coordinate3 {\n"
61   "   point [\n"
62   "    1 1 1, 1 1 -1, -1 1 -1, -1 1 1,\n"
63   "    1 -1 1, 1 -1 -1, -1 -1 -1, -1 -1 1,\n"
64   "   ]\n"
65   "}\n"
66   "\n"
67   "DEF HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE Group {\n"
68   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
69   "   USE HANDLEBOX_TRANSLATOR_COORDS\n"
70   "   DrawStyle { style LINES }\n"
71   "}\n"
72   "DEF HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE Group {\n"
73   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
74   "   USE HANDLEBOX_TRANSLATOR_COORDS\n"
75   "   DrawStyle { style LINES }\n"
76   "}\n"
77   "\n"
78   "DEF handleBoxTranslator1 Separator {\n"
79   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
80   "   DEF HANDLEBOX_TRANSLATOR_TOPFACE IndexedFaceSet { coordIndex [ 0, 1, 2, 3, -1 ] }\n"
81   "}\n"
82   "DEF handleBoxTranslator1Active Separator {\n"
83   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
84   "   USE HANDLEBOX_TRANSLATOR_TOPFACE\n"
85   "}\n"
86   "\n"
87   "DEF handleBoxTranslator2 Separator {\n"
88   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
89   "   DEF HANDLEBOX_TRANSLATOR_BOTTOMFACE IndexedFaceSet { coordIndex [ 4, 7, 6, 5, -1 ] }\n"
90   "}\n"
91   "DEF handleBoxTranslator2Active Separator {\n"
92   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
93   "   USE HANDLEBOX_TRANSLATOR_BOTTOMFACE\n"
94   "}\n"
95   "\n"
96   "DEF handleBoxTranslator3 Separator {\n"
97   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
98   "   DEF HANDLEBOX_TRANSLATOR_LEFTFACE IndexedFaceSet { coordIndex [ 3, 2, 6, 7, -1 ] }\n"
99   "}\n"
100   "DEF handleBoxTranslator3Active Separator {\n"
101   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
102   "   USE HANDLEBOX_TRANSLATOR_LEFTFACE\n"
103   "}\n"
104   "\n"
105   "DEF handleBoxTranslator4 Separator {\n"
106   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
107   "   DEF HANDLEBOX_TRANSLATOR_RIGHTFACE IndexedFaceSet { coordIndex [ 0, 4, 5, 1, -1 ] }\n"
108   "}\n"
109   "DEF handleBoxTranslator4Active Separator {\n"
110   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
111   "   USE HANDLEBOX_TRANSLATOR_RIGHTFACE\n"
112   "}\n"
113   "\n"
114   "DEF handleBoxTranslator5 Separator {\n"
115   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
116   "   DEF HANDLEBOX_TRANSLATOR_FRONTFACE IndexedFaceSet { coordIndex [ 0, 3, 7, 4, -1 ] }\n"
117   "}\n"
118   "DEF handleBoxTranslator5Active Separator {\n"
119   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
120   "   USE HANDLEBOX_TRANSLATOR_FRONTFACE\n"
121   "}\n"
122   "\n"
123   "DEF handleBoxTranslator6 Separator {\n"
124   "   USE HANDLEBOX_TRANSLATOR_INACTIVE_APPEARANCE\n"
125   "   DEF HANDLEBOX_TRANSLATOR_BACKFACE IndexedFaceSet { coordIndex [ 1, 5, 6, 2, -1 ] }\n"
126   "}\n"
127   "DEF handleBoxTranslator6Active Separator {\n"
128   "   USE HANDLEBOX_TRANSLATOR_ACTIVE_APPEARANCE\n"
129   "   USE HANDLEBOX_TRANSLATOR_BACKFACE\n"
130   "}\n"
131   "\n"
132   "\n"
133   "\n"
134   "\n"
135   "\n"
136   "\n"
137   "DEF HANDLEBOX_DIRECTIONMARKER Group {\n"
138   "   USE HANDLEBOX_FEEDBACK_MATERIAL\n"
139   "   Coordinate3 { point [ 0 0 0, 0 0.5 0 ] }\n"
140   "   IndexedLineSet { coordIndex [ 0, 1, -1 ] }\n"
141   "   Translation { translation 0 0.5 0 }\n"
142   "   Cone { bottomRadius 0.04  height 0.08 }\n"
143   "}\n"
144   "\n"
145   "DEF handleBoxArrow1 Separator {\n"
146   "   USE HANDLEBOX_DIRECTIONMARKER\n"
147   "}\n"
148   "DEF handleBoxArrow2 Separator {\n"
149   "   RotationXYZ { axis Z angle 3.14 }\n"
150   "   USE HANDLEBOX_DIRECTIONMARKER\n"
151   "}\n"
152   "DEF handleBoxArrow3 Separator {\n"
153   "   RotationXYZ { axis Z angle 1.57 }\n"
154   "   USE HANDLEBOX_DIRECTIONMARKER\n"
155   "}\n"
156   "DEF handleBoxArrow4 Separator {\n"
157   "   RotationXYZ { axis Z angle -1.57 }\n"
158   "   USE HANDLEBOX_DIRECTIONMARKER\n"
159   "}\n"
160   "DEF handleBoxArrow5 Separator {\n"
161   "   RotationXYZ { axis X angle 1.57 }\n"
162   "   USE HANDLEBOX_DIRECTIONMARKER\n"
163   "}\n"
164   "DEF handleBoxArrow6 Separator {\n"
165   "   RotationXYZ { axis X angle -1.57 }\n"
166   "   USE HANDLEBOX_DIRECTIONMARKER\n"
167   "}\n"
168   "\n"
169   "\n"
170   "\n"
171   "\n"
172   "\n"
173   "\n"
174   "DEF HANDLEBOX_SOLIDMARKER Cube { width 0.1  height 0.1  depth 0.1 }\n"
175   "\n"
176   "\n"
177   "DEF HANDLEBOX_CORNER_URF Group {\n"
178   "   Translation { translation 1 1 1 }\n"
179   "   USE HANDLEBOX_SOLIDMARKER\n"
180   "}\n"
181   "DEF handleBoxUniform1 Separator {\n"
182   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
183   "   USE HANDLEBOX_CORNER_URF\n"
184   "}\n"
185   "DEF handleBoxUniform1Active Separator {\n"
186   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
187   "   USE HANDLEBOX_CORNER_URF\n"
188   "}\n"
189   "\n"
190   "\n"
191   "DEF HANDLEBOX_CORNER_URB Group {\n"
192   "   Translation { translation 1 1 -1 }\n"
193   "   USE HANDLEBOX_SOLIDMARKER\n"
194   "}\n"
195   "DEF handleBoxUniform2 Separator {\n"
196   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
197   "   USE HANDLEBOX_CORNER_URB\n"
198   "}\n"
199   "DEF handleBoxUniform2Active Separator {\n"
200   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
201   "   USE HANDLEBOX_CORNER_URB\n"
202   "}\n"
203   "\n"
204   "\n"
205   "DEF HANDLEBOX_CORNER_DRF Group {\n"
206   "   Translation { translation 1 -1 1 }\n"
207   "   USE HANDLEBOX_SOLIDMARKER\n"
208   "}\n"
209   "DEF handleBoxUniform3 Separator {\n"
210   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
211   "   USE HANDLEBOX_CORNER_DRF\n"
212   "}\n"
213   "DEF handleBoxUniform3Active Separator {\n"
214   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
215   "   USE HANDLEBOX_CORNER_DRF\n"
216   "}\n"
217   "\n"
218   "\n"
219   "DEF HANDLEBOX_CORNER_DRB Group {\n"
220   "   Translation { translation 1 -1 -1 }\n"
221   "   USE HANDLEBOX_SOLIDMARKER\n"
222   "}\n"
223   "DEF handleBoxUniform4 Separator {\n"
224   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
225   "   USE HANDLEBOX_CORNER_DRB\n"
226   "}\n"
227   "DEF handleBoxUniform4Active Separator {\n"
228   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
229   "   USE HANDLEBOX_CORNER_DRB\n"
230   "}\n"
231   "\n"
232   "\n"
233   "DEF HANDLEBOX_CORNER_ULF Group {\n"
234   "   Translation { translation -1 1 1 }\n"
235   "   USE HANDLEBOX_SOLIDMARKER\n"
236   "}\n"
237   "DEF handleBoxUniform5 Separator {\n"
238   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
239   "   USE HANDLEBOX_CORNER_ULF\n"
240   "}\n"
241   "DEF handleBoxUniform5Active Separator {\n"
242   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
243   "   USE HANDLEBOX_CORNER_ULF\n"
244   "}\n"
245   "\n"
246   "\n"
247   "DEF HANDLEBOX_CORNER_ULB Group {\n"
248   "   Translation { translation -1 1 -1 }\n"
249   "   USE HANDLEBOX_SOLIDMARKER\n"
250   "}\n"
251   "DEF handleBoxUniform6 Separator {\n"
252   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
253   "   USE HANDLEBOX_CORNER_ULB\n"
254   "}\n"
255   "DEF handleBoxUniform6Active Separator {\n"
256   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
257   "   USE HANDLEBOX_CORNER_ULB\n"
258   "}\n"
259   "\n"
260   "\n"
261   "DEF HANDLEBOX_CORNER_DLF Group {\n"
262   "   Translation { translation -1 -1 1 }\n"
263   "   USE HANDLEBOX_SOLIDMARKER\n"
264   "}\n"
265   "DEF handleBoxUniform7 Separator {\n"
266   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
267   "   USE HANDLEBOX_CORNER_DLF\n"
268   "}\n"
269   "DEF handleBoxUniform7Active Separator {\n"
270   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
271   "   USE HANDLEBOX_CORNER_DLF\n"
272   "}\n"
273   "\n"
274   "\n"
275   "DEF HANDLEBOX_CORNER_DLB Group {\n"
276   "   Translation { translation -1 -1 -1 }\n"
277   "   USE HANDLEBOX_SOLIDMARKER\n"
278   "}\n"
279   "DEF handleBoxUniform8 Separator {\n"
280   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
281   "   USE HANDLEBOX_CORNER_DLB\n"
282   "}\n"
283   "DEF handleBoxUniform8Active Separator {\n"
284   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
285   "   USE HANDLEBOX_CORNER_DLB\n"
286   "}\n"
287   "\n"
288   "\n"
289   "\n"
290   "\n"
291   "\n"
292   "\n"
293   "\n"
294   "\n"
295   "\n"
296   "\n"
297   "DEF HANDLEBOX_EXTRUSION_COORDS Coordinate3 {\n"
298   "   point [\n"
299   "    0 0 0,\n"
300   "    1.3 0 0, -1.3 0 0,\n"
301   "    0 1.3 0, 0 -1.3 0,\n"
302   "    0 0 1.3, 0 0 -1.3\n"
303   "   ]\n"
304   "}\n"
305   "\n"
306   "DEF HANDLEBOX_EXTRUSION_MARKER_UP Group {\n"
307   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
308   "   IndexedLineSet { coordIndex [ 0, 3, -1 ] }\n"
309   "   Translation { translation 0 1.3 0 }\n"
310   "   USE HANDLEBOX_SOLIDMARKER\n"
311   "}\n"
312   "DEF handleBoxExtruder1 Separator {\n"
313   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
314   "   USE HANDLEBOX_EXTRUSION_MARKER_UP\n"
315   "}\n"
316   "DEF handleBoxExtruder1Active Separator {\n"
317   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
318   "   USE HANDLEBOX_EXTRUSION_MARKER_UP\n"
319   "}\n"
320   "\n"
321   "DEF HANDLEBOX_EXTRUSION_MARKER_DOWN Group {\n"
322   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
323   "   IndexedLineSet { coordIndex [ 0, 4, -1 ] }\n"
324   "   Translation { translation 0 -1.3 0 }\n"
325   "   USE HANDLEBOX_SOLIDMARKER\n"
326   "}\n"
327   "DEF handleBoxExtruder2 Separator {\n"
328   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
329   "   USE HANDLEBOX_EXTRUSION_MARKER_DOWN\n"
330   "}\n"
331   "DEF handleBoxExtruder2Active Separator {\n"
332   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
333   "   USE HANDLEBOX_EXTRUSION_MARKER_DOWN\n"
334   "}\n"
335   "\n"
336   "DEF HANDLEBOX_EXTRUSION_MARKER_LEFT Group {\n"
337   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
338   "   IndexedLineSet { coordIndex [ 0, 2, -1 ] }\n"
339   "   Translation { translation -1.3 0 0 }\n"
340   "   USE HANDLEBOX_SOLIDMARKER\n"
341   "}\n"
342   "DEF handleBoxExtruder3 Separator {\n"
343   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
344   "   USE HANDLEBOX_EXTRUSION_MARKER_LEFT\n"
345   "}\n"
346   "DEF handleBoxExtruder3Active Separator {\n"
347   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
348   "   USE HANDLEBOX_EXTRUSION_MARKER_LEFT\n"
349   "}\n"
350   "\n"
351   "DEF HANDLEBOX_EXTRUSION_MARKER_RIGHT Group {\n"
352   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
353   "   IndexedLineSet { coordIndex [ 0, 1, -1 ] }\n"
354   "   Translation { translation 1.3 0 0 }\n"
355   "   USE HANDLEBOX_SOLIDMARKER\n"
356   "}\n"
357   "DEF handleBoxExtruder4 Separator {\n"
358   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
359   "   USE HANDLEBOX_EXTRUSION_MARKER_RIGHT\n"
360   "}\n"
361   "DEF handleBoxExtruder4Active Separator {\n"
362   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
363   "   USE HANDLEBOX_EXTRUSION_MARKER_RIGHT\n"
364   "}\n"
365   "\n"
366   "DEF HANDLEBOX_EXTRUSION_MARKER_FRONT Group {\n"
367   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
368   "   IndexedLineSet { coordIndex [ 0, 5, -1 ] }\n"
369   "   Translation { translation 0 0 1.3 }\n"
370   "   USE HANDLEBOX_SOLIDMARKER\n"
371   "}\n"
372   "DEF handleBoxExtruder5 Separator {\n"
373   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
374   "   USE HANDLEBOX_EXTRUSION_MARKER_FRONT\n"
375   "}\n"
376   "DEF handleBoxExtruder5Active Separator {\n"
377   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
378   "   USE HANDLEBOX_EXTRUSION_MARKER_FRONT\n"
379   "}\n"
380   "\n"
381   "DEF HANDLEBOX_EXTRUSION_MARKER_BACK Group {\n"
382   "   USE HANDLEBOX_EXTRUSION_COORDS\n"
383   "   IndexedLineSet { coordIndex [ 0, 6, -1 ] }\n"
384   "   Translation { translation 0 0 -1.3 }\n"
385   "   USE HANDLEBOX_SOLIDMARKER\n"
386   "}\n"
387   "DEF handleBoxExtruder6 Separator {\n"
388   "   USE HANDLEBOX_INACTIVE_MATERIAL\n"
389   "   USE HANDLEBOX_EXTRUSION_MARKER_BACK\n"
390   "}\n"
391   "DEF handleBoxExtruder6Active Separator {\n"
392   "   USE HANDLEBOX_ACTIVE_MATERIAL\n"
393   "   USE HANDLEBOX_EXTRUSION_MARKER_BACK\n"
394   "}\n";
395 
396 #endif /* ! SO_HANDLEBOXDRAGGER_IV_H */
397