1 /*global JXG:true, define: true*/
  2 
  3 define([
  4     'jxg', 'options'
  5 ], function (JXG, Options) {
  6 
  7     "use strict";
  8 
  9     JXG.extend(Options, {
 10 
 11         // infobox: {
 12         //     strokeColor: 'black'
 13         // },
 14 
 15         axes3d: {
 16             /**#@+
 17              * @visprop
 18              */
 19 
 20             /**
 21              * Position of the main axes in a View3D element. Possible values are
 22              * 'center' and 'border'.
 23              *
 24              * @type String
 25              * @name View3D#axesPosition
 26              * @default 'center'
 27              */
 28             axesPosition: 'center',  // Possible values: 'center', otherwise: border
 29 
 30             // Main axes
 31 
 32             /**
 33              * Attributes of the 3D x-axis.
 34              *
 35              * @type Line3D
 36              * @name View3D#xAxis
 37              */
 38             xAxis: { visible: true, point2: {name: 'x'}},
 39 
 40             /**
 41              * Attributes of the 3D y-axis.
 42              *
 43              * @type Line3D
 44              * @name View3D#yAxis
 45              */
 46             yAxis: { visible: true, point2: {name: 'y'}},
 47 
 48             /**
 49              * Attributes of the 3D z-axis.
 50              *
 51              * @type Line3D
 52              * @name View3D#zAxis
 53              */
 54             zAxis: { visible: true, point2: {name: 'z'}},
 55 
 56             // Planes
 57             /**
 58              * Attributes of the 3D plane orthogonal to the x-axis at the "rear" of the cube.
 59              * @type Plane3D
 60              * @name View3D#xPlaneRear
 61              */
 62             xPlaneRear: { visible: true, layer: 0, mesh3d: { layer: 1 } },
 63             /**
 64              * Attributes of the 3D plane orthogonal to the y-axis at the "rear" of the cube.
 65              * @type Plane3D
 66              * @name View3D#yPlaneRear
 67              */
 68             yPlaneRear: { visible: true, layer: 0, mesh3d: { layer: 1 } },
 69             /**
 70              * Attributes of the 3D plane orthogonal to the z-axis at the "rear" of the cube.
 71              * @type Plane3D
 72              * @name View3D#zPlaneRear
 73              */
 74             zPlaneRear: { visible: true, layer: 0, mesh3d: { layer: 1 } },
 75 
 76             /**
 77              * Attributes of the 3D plane orthogonal to the x-axis at the "front" of the cube.
 78              * @type Plane3D
 79              * @name View3D#xPlaneFront
 80              */
 81             xPlaneFront: { visible: false, layer: 0, mesh3d: { layer: 1 } },
 82             /**
 83              * Attributes of the 3D plane orthogonal to the y-axis at the "front" of the cube.
 84              * @type Plane3D
 85              * @name View3D#yPlaneFront
 86              */
 87             yPlaneFront: { visible: false, layer: 0, mesh3d: { layer: 1 } },
 88             /**
 89              * Attributes of the 3D plane orthogonal to the z-axis at the "front" of the cube.
 90              * @type Plane3D
 91              * @name View3D#zPlaneFront
 92              */
 93             zPlaneFront: { visible: false, layer: 0, mesh3d: { layer: 1 } },
 94 
 95             // Axes on the planes
 96             /**
 97              * Attributes of the 3D y-axis on the 3D plane orthogonal to the x-axis at the "rear" of the cube.
 98              * @type Plane3D
 99              * @name View3D#xPlaneRearYAxis
100              */
101             xPlaneRearYAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
102             /**
103              * Attributes of the 3D z-axis on the 3D plane orthogonal to the x-axis at the "rear" of the cube.
104              * @type Plane3D
105              * @name View3D#xPlaneRearZAxis
106              */
107             xPlaneRearZAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
108             /**
109              * Attributes of the 3D y-axis on the 3D plane orthogonal to the x-axis at the "front" of the cube.
110              * @type Plane3D
111              * @name View3D#xPlaneFrontYAxis
112              */
113             xPlaneFrontYAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
114             /**
115              * Attributes of the 3D z-axis on the 3D plane orthogonal to the x-axis at the "front" of the cube.
116              * @type Plane3D
117              * @name View3D#xPlaneFrontZAxis
118              */
119             xPlaneFrontZAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
120 
121             /**
122              * Attributes of the 3D x-axis on the 3D plane orthogonal to the y-axis at the "rear" of the cube.
123              * @type Plane3D
124              * @name View3D#yPlaneRearXAxis
125              */
126             yPlaneRearXAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
127             /**
128              * Attributes of the 3D z-axis on the 3D plane orthogonal to the y-axis at the "rear" of the cube.
129              * @type Plane3D
130              * @name View3D#yPlaneRearZAxis
131              */
132             yPlaneRearZAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
133             /**
134              * Attributes of the 3D x-axis on the 3D plane orthogonal to the y-axis at the "front" of the cube.
135              * @type Plane3D
136              * @name View3D#yPlaneFrontXAxis
137              */
138             yPlaneFrontXAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
139             /**
140              * Attributes of the 3D z-axis on the 3D plane orthogonal to the y-axis at the "front" of the cube.
141              * @type Plane3D
142              * @name View3D#yPlaneFrontZAxis
143              */
144             yPlaneFrontZAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
145 
146             /**
147              * Attributes of the 3D x-axis on the 3D plane orthogonal to the z-axis at the "rear" of the cube.
148              * @type Plane3D
149              * @name View3D#zPlaneRearXAxis
150              */
151             zPlaneRearXAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
152             /**
153              * Attributes of the 3D y-axis on the 3D plane orthogonal to the z-axis at the "rear" of the cube.
154              * @type Plane3D
155              * @name View3D#zPlaneRearYAxis
156              */
157             zPlaneRearYAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
158             /**
159              * Attributes of the 3D x-axis on the 3D plane orthogonal to the z-axis at the "front" of the cube.
160              * @type Plane3D
161              * @name View3D#zPlaneFrontXAxis
162              */
163             zPlaneFrontXAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1},
164             /**
165              * Attributes of the 3D y-axis on the 3D plane orthogonal to the z-axis at the "front" of the cube.
166              * @type Plane3D
167              * @name View3D#zPlaneFrontYAxis
168              */
169             zPlaneFrontYAxis: {visible: 'inherit', strokeColor: '#888888', strokeWidth: 1}
170 
171             /**#@-*/
172         },
173 
174         axis3d: {
175             highlight: false,
176             strokecolor: 'black',
177             strokeWidth: 1,
178             tabindex: null,
179 
180             point1: { visible: false, name: '' },
181             point2: { visible: false, name: '', label: { visible: true } }
182         },
183 
184         curve3d: {
185             /**#@+
186              * @visprop
187              */
188 
189             highlight: false,
190             tabindex: -1,
191             strokeWidth: 1,
192             numberPointsHigh: 200
193 
194             /**#@-*/
195         },
196 
197         mesh3d: {
198             strokeWidth: 1,
199             strokeColor: '#9a9a9a',
200             strokeOpacity: 0.6,
201             highlight: false,
202             fillColor: '#9a9a9a',
203             fillOpacity: 0.1,
204             tabindex: null,
205 
206             visible: 'inherit'
207         },
208 
209         line3d: {
210             strokeWidth: 1,
211             strokeColor: 'black',
212             fixed: true,
213             tabindex: null,
214 
215             gradient: 'linear',
216             gradientSecondColor: '#ffffff',
217 
218             point: {visible: false, name: ''},   // Used only in case of point/point
219             point1: {visible: false, name: ''},  // Used only in case of point/direction/range
220             point2: {visible: false, name: ''}
221         },
222 
223         plane3d: {
224             strokeWidth: 0,
225             strokeColor: 'black',
226             strokeOpacity: 1,
227             highlight: false,
228             tabindex: null,
229 
230             gradient: 'linear',
231             gradientSecondColor: '#ffffff',
232             gradientAngle: Math.PI,
233             fillColor: '#a7a7a7',
234             fillOpacity: 0.6,
235 
236             point: {visible: false, name: '', fixed: true}
237         },
238 
239         point3d: {
240             infoboxDigits: 'auto',
241             strokeWidth: 0,
242             gradient: 'radial',
243             gradientSecondColor: '#555555',
244             fillColor: 'yellow',
245             highlightStrokeColor: '#555555'
246         },
247 
248         surface3d: {
249             /**#@+
250              * @visprop
251              */
252 
253             highlight: false,
254             tabindex: -1,
255             strokeWidth: 1,
256 
257             /**
258              * Number of intervals the mesh is divided into in direction of parameter u.
259              * @type Number
260              * @name ParametricSurface3D#stepsU
261              */
262             stepsU: 30,
263 
264             /**
265              * Number of intervals the mesh is divided into in direction of parameter v.
266              * @type Number
267              * @name ParametricSurface3D#stepsV
268              */
269              stepsV: 30
270 
271             /**#@-*/
272         },
273 
274         view3d: {
275             needsRegularUpdate: true
276         }
277 
278     });
279 
280     return JXG.Options;
281 });
282 
283