jsxgraph 1.10.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/distrib/docs/files.html +2 -61
  3. package/distrib/docs/index.html +2 -58
  4. package/distrib/docs/static/jsxgraphcore.js +2 -2
  5. package/distrib/docs/symbols/Angle.html +2 -18
  6. package/distrib/docs/symbols/Arc.html +2 -18
  7. package/distrib/docs/symbols/Arrow.html +2 -18
  8. package/distrib/docs/symbols/Arrowparallel.html +2 -18
  9. package/distrib/docs/symbols/Axes3D.html +2 -18
  10. package/distrib/docs/symbols/Axis.html +2 -18
  11. package/distrib/docs/symbols/Axis3D.html +2 -18
  12. package/distrib/docs/symbols/Bisector.html +2 -18
  13. package/distrib/docs/symbols/Bisectorlines.html +2 -18
  14. package/distrib/docs/symbols/Boxplot.html +2 -18
  15. package/distrib/docs/symbols/Button.html +2 -18
  16. package/distrib/docs/symbols/Cardinalspline.html +2 -18
  17. package/distrib/docs/symbols/Chart.html +2 -18
  18. package/distrib/docs/symbols/Checkbox.html +2 -18
  19. package/distrib/docs/symbols/Circle.html +2 -18
  20. package/distrib/docs/symbols/Circle3D.html +2 -18
  21. package/distrib/docs/symbols/Circumcenter.html +2 -18
  22. package/distrib/docs/symbols/Circumcircle.html +2 -18
  23. package/distrib/docs/symbols/CircumcircleArc.html +2 -18
  24. package/distrib/docs/symbols/CircumcircleSector.html +2 -18
  25. package/distrib/docs/symbols/Comb.html +2 -18
  26. package/distrib/docs/symbols/Conic.html +2 -18
  27. package/distrib/docs/symbols/Curve.html +2 -18
  28. package/distrib/docs/symbols/Curve3D.html +2 -18
  29. package/distrib/docs/symbols/CurveDifference.html +2 -18
  30. package/distrib/docs/symbols/CurveIntersection.html +2 -18
  31. package/distrib/docs/symbols/CurveUnion.html +2 -18
  32. package/distrib/docs/symbols/Derivative.html +2 -18
  33. package/distrib/docs/symbols/Ellipse.html +2 -18
  34. package/distrib/docs/symbols/ForeignObject.html +2 -18
  35. package/distrib/docs/symbols/Functiongraph.html +2 -18
  36. package/distrib/docs/symbols/Functiongraph3D.html +2 -18
  37. package/distrib/docs/symbols/Glider.html +2 -18
  38. package/distrib/docs/symbols/Grid.html +2 -18
  39. package/distrib/docs/symbols/Group.html +2 -18
  40. package/distrib/docs/symbols/Hatch.html +2 -18
  41. package/distrib/docs/symbols/Hyperbola.html +2 -18
  42. package/distrib/docs/symbols/Image.html +2 -18
  43. package/distrib/docs/symbols/ImplicitCurve.html +2 -18
  44. package/distrib/docs/symbols/Incenter.html +2 -18
  45. package/distrib/docs/symbols/Incircle.html +2 -18
  46. package/distrib/docs/symbols/Inequality.html +2 -18
  47. package/distrib/docs/symbols/Input.html +2 -18
  48. package/distrib/docs/symbols/Integral.html +2 -18
  49. package/distrib/docs/symbols/Intersection.html +2 -18
  50. package/distrib/docs/symbols/IntersectionCircle3D.html +2 -18
  51. package/distrib/docs/symbols/IntersectionLine3D.html +2 -18
  52. package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -18
  53. package/distrib/docs/symbols/JXG.Board.html +4 -20
  54. package/distrib/docs/symbols/JXG.Board.infobox.html +2 -18
  55. package/distrib/docs/symbols/JXG.C.html +2 -18
  56. package/distrib/docs/symbols/JXG.CA.html +2 -18
  57. package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -18
  58. package/distrib/docs/symbols/JXG.Chart.html +2 -18
  59. package/distrib/docs/symbols/JXG.Circle.html +2 -18
  60. package/distrib/docs/symbols/JXG.Circle3D.html +2 -18
  61. package/distrib/docs/symbols/JXG.Complex.html +2 -18
  62. package/distrib/docs/symbols/JXG.Composition.html +2 -18
  63. package/distrib/docs/symbols/JXG.Coords.html +2 -18
  64. package/distrib/docs/symbols/JXG.CoordsElement.html +98 -22
  65. package/distrib/docs/symbols/JXG.Curve.html +2 -18
  66. package/distrib/docs/symbols/JXG.Curve3D.html +2 -18
  67. package/distrib/docs/symbols/JXG.Dump.html +2 -18
  68. package/distrib/docs/symbols/JXG.EventEmitter.html +2 -18
  69. package/distrib/docs/symbols/JXG.Expect.html +2 -18
  70. package/distrib/docs/symbols/JXG.ForeignObject.html +2 -18
  71. package/distrib/docs/symbols/JXG.GeometryElement.html +2 -18
  72. package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -18
  73. package/distrib/docs/symbols/JXG.GeonextParser.html +2 -18
  74. package/distrib/docs/symbols/JXG.Group.html +2 -18
  75. package/distrib/docs/symbols/JXG.Image.html +2 -18
  76. package/distrib/docs/symbols/JXG.JSXGraph.html +2 -18
  77. package/distrib/docs/symbols/JXG.JessieCode.html +2 -18
  78. package/distrib/docs/symbols/JXG.Legend.html +2 -18
  79. package/distrib/docs/symbols/JXG.Line.html +2 -18
  80. package/distrib/docs/symbols/JXG.Line3D.html +2 -18
  81. package/distrib/docs/symbols/JXG.Math.BoxQuadtree.html +2 -18
  82. package/distrib/docs/symbols/JXG.Math.Clip.html +2 -18
  83. package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -18
  84. package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -18
  85. package/distrib/docs/symbols/JXG.Math.ImplicitPlot.html +2 -18
  86. package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -18
  87. package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -18
  88. package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -18
  89. package/distrib/docs/symbols/JXG.Math.Numerics.html +2 -18
  90. package/distrib/docs/symbols/JXG.Math.Plot.html +2 -18
  91. package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -18
  92. package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -18
  93. package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -18
  94. package/distrib/docs/symbols/JXG.Math.Poly.html +2 -18
  95. package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -18
  96. package/distrib/docs/symbols/JXG.Math.Quadtree.html +2 -18
  97. package/distrib/docs/symbols/JXG.Math.Statistics.html +22 -34
  98. package/distrib/docs/symbols/JXG.Math.html +2 -18
  99. package/distrib/docs/symbols/JXG.NoRenderer.html +2 -18
  100. package/distrib/docs/symbols/JXG.Options.html +2 -18
  101. package/distrib/docs/symbols/JXG.Plane3D.html +2 -18
  102. package/distrib/docs/symbols/JXG.Point.html +2 -18
  103. package/distrib/docs/symbols/JXG.Point3D.html +2 -18
  104. package/distrib/docs/symbols/JXG.Polygon.html +2 -18
  105. package/distrib/docs/symbols/JXG.Polygon3D.html +2 -18
  106. package/distrib/docs/symbols/JXG.PrefixParser.html +2 -18
  107. package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -18
  108. package/distrib/docs/symbols/JXG.Sphere3D.html +2 -18
  109. package/distrib/docs/symbols/JXG.Surface3D.html +2 -18
  110. package/distrib/docs/symbols/JXG.Text.html +2 -18
  111. package/distrib/docs/symbols/JXG.Text3D.html +2 -18
  112. package/distrib/docs/symbols/JXG.Ticks.html +2 -18
  113. package/distrib/docs/symbols/JXG.Transformation.html +2 -18
  114. package/distrib/docs/symbols/JXG.Turtle.html +2 -18
  115. package/distrib/docs/symbols/JXG.Util.Base64.html +2 -18
  116. package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -18
  117. package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -18
  118. package/distrib/docs/symbols/JXG.Util.html +2 -18
  119. package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -18
  120. package/distrib/docs/symbols/JXG.View3D.html +4 -19
  121. package/distrib/docs/symbols/JXG.XML.html +2 -18
  122. package/distrib/docs/symbols/JXG.html +2 -18
  123. package/distrib/docs/symbols/Label.html +2 -18
  124. package/distrib/docs/symbols/Legend.html +2 -18
  125. package/distrib/docs/symbols/Line.html +2 -18
  126. package/distrib/docs/symbols/Line3D.html +2 -18
  127. package/distrib/docs/symbols/MajorArc.html +2 -18
  128. package/distrib/docs/symbols/MajorSector.html +2 -18
  129. package/distrib/docs/symbols/Measurement.html +2 -18
  130. package/distrib/docs/symbols/Mesh3D.html +2 -18
  131. package/distrib/docs/symbols/Metapostspline.html +2 -18
  132. package/distrib/docs/symbols/Midpoint.html +2 -18
  133. package/distrib/docs/symbols/MinorArc.html +2 -18
  134. package/distrib/docs/symbols/MinorSector.html +2 -18
  135. package/distrib/docs/symbols/Mirrorpoint.html +2 -18
  136. package/distrib/docs/symbols/NonReflexAngle.html +2 -18
  137. package/distrib/docs/symbols/Normal.html +2 -18
  138. package/distrib/docs/symbols/Orthogonalprojection.html +2 -18
  139. package/distrib/docs/symbols/OtherIntersection.html +2 -18
  140. package/distrib/docs/symbols/Parabola.html +2 -18
  141. package/distrib/docs/symbols/Parallel.html +2 -18
  142. package/distrib/docs/symbols/Parallelogram.html +2 -18
  143. package/distrib/docs/symbols/Parallelpoint.html +2 -18
  144. package/distrib/docs/symbols/ParametricSurface3D.html +2 -18
  145. package/distrib/docs/symbols/Perpendicular.html +2 -18
  146. package/distrib/docs/symbols/PerpendicularPoint.html +2 -18
  147. package/distrib/docs/symbols/PerpendicularSegment.html +2 -18
  148. package/distrib/docs/symbols/Point.html +2 -18
  149. package/distrib/docs/symbols/Point3D.html +2 -18
  150. package/distrib/docs/symbols/PolarLine.html +2 -18
  151. package/distrib/docs/symbols/PolePoint.html +2 -18
  152. package/distrib/docs/symbols/Polygon.html +2 -18
  153. package/distrib/docs/symbols/PolygonalChain.html +2 -18
  154. package/distrib/docs/symbols/RadicalAxis.html +2 -18
  155. package/distrib/docs/symbols/Reflection.html +2 -18
  156. package/distrib/docs/symbols/ReflexAngle.html +2 -18
  157. package/distrib/docs/symbols/RegularPolygon.html +2 -18
  158. package/distrib/docs/symbols/Riemannsum.html +2 -18
  159. package/distrib/docs/symbols/Sector.html +2 -18
  160. package/distrib/docs/symbols/Segment.html +2 -18
  161. package/distrib/docs/symbols/Semicircle.html +2 -18
  162. package/distrib/docs/symbols/Slider.html +2 -18
  163. package/distrib/docs/symbols/Slopefield.html +2 -18
  164. package/distrib/docs/symbols/Slopetriangle.html +2 -18
  165. package/distrib/docs/symbols/Smartlabel.html +2 -18
  166. package/distrib/docs/symbols/Sphere3D.html +2 -18
  167. package/distrib/docs/symbols/Spline.html +2 -18
  168. package/distrib/docs/symbols/Stepfunction.html +2 -18
  169. package/distrib/docs/symbols/Tangent.html +2 -18
  170. package/distrib/docs/symbols/TangentTo.html +2 -18
  171. package/distrib/docs/symbols/Tapemeasure.html +2 -18
  172. package/distrib/docs/symbols/Text.html +12 -26
  173. package/distrib/docs/symbols/Text3D.html +2 -18
  174. package/distrib/docs/symbols/Ticks.html +2 -18
  175. package/distrib/docs/symbols/Ticks3D.html +2 -18
  176. package/distrib/docs/symbols/Tracecurve.html +2 -18
  177. package/distrib/docs/symbols/Transformation.html +2 -18
  178. package/distrib/docs/symbols/Turtle.html +2 -18
  179. package/distrib/docs/symbols/Vectorfield.html +2 -18
  180. package/distrib/docs/symbols/Vectorfield3D.html +53 -18
  181. package/distrib/docs/symbols/View3D.html +2 -18
  182. package/distrib/docs/symbols/_global_.html +2 -18
  183. package/distrib/docs/symbols/mirrorelement.html +2 -18
  184. package/distrib/docs/symbols/src/src_3d_box3d.js.html +261 -259
  185. package/distrib/docs/symbols/src/src_3d_curve3d.js.html +205 -156
  186. package/distrib/docs/symbols/src/src_3d_linspace3d.js.html +337 -327
  187. package/distrib/docs/symbols/src/src_3d_point3d.js.html +204 -187
  188. package/distrib/docs/symbols/src/src_3d_text3d.js.html +189 -177
  189. package/distrib/docs/symbols/src/src_3d_view3d.js.html +1246 -1236
  190. package/distrib/docs/symbols/src/src_base_board.js.html +2058 -2057
  191. package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
  192. package/distrib/docs/symbols/src/src_base_coordselement.js.html +383 -274
  193. package/distrib/docs/symbols/src/src_element_sector.js.html +1 -1
  194. package/distrib/docs/symbols/src/src_math_geometry.js.html +609 -604
  195. package/distrib/docs/symbols/src/src_math_statistics.js.html +418 -411
  196. package/distrib/docs/symbols/src/src_options.js.html +504 -502
  197. package/distrib/docs/symbols/src/src_options3d.js.html +952 -944
  198. package/distrib/docs.zip +0 -0
  199. package/distrib/geogebra.min.js +1 -1
  200. package/distrib/geonext.min.js +1 -1
  201. package/distrib/intergeo.min.js +1 -1
  202. package/distrib/jsxgraph.zip +0 -0
  203. package/distrib/jsxgraphcore.js +2 -2
  204. package/distrib/jsxgraphcore.mjs +2 -2
  205. package/distrib/jsxgraphcore.mjs.map +1 -1
  206. package/distrib/jsxgraphsrc.js +15405 -16038
  207. package/distrib/jsxgraphsrc.mjs +15405 -16038
  208. package/distrib/jsxgraphsrc.mjs.map +1 -1
  209. package/distrib/sketch.min.js +1 -1
  210. package/package.json +1 -1
  211. package/src/3d/box3d.js +2 -0
  212. package/src/3d/curve3d.js +53 -4
  213. package/src/3d/linspace3d.js +17 -7
  214. package/src/3d/point3d.js +20 -3
  215. package/src/3d/text3d.js +20 -8
  216. package/src/3d/view3d.js +17 -7
  217. package/src/base/board.js +1 -0
  218. package/src/base/constants.js +1 -1
  219. package/src/base/coordselement.js +119 -10
  220. package/src/element/sector.js +1 -1
  221. package/src/index.js +0 -3
  222. package/src/math/geometry.js +27 -22
  223. package/src/math/statistics.js +29 -22
  224. package/src/options.js +8 -6
  225. package/src/options3d.js +10 -2
  226. package/src/{server → unused/server}/JXGServer.py +4 -9
  227. package/src/{server → unused/server}/JXGServerModule.py +2 -2
  228. package/src/{server → unused/server}/README.md +25 -14
  229. package/src/{server → unused/server}/RStats.py +1 -1
  230. package/src/{server → unused/server}/YahooFinance.py +4 -4
  231. package/src/{server → unused/server}/fft.py +6 -6
  232. package/src/{server → unused/server}/geoloci.py +17 -17
  233. package/src/{server → unused/server}/jxggroebner.py +22 -22
  234. package/src/index2.js +0 -105
  235. /package/src/{element → unused}/locus.js +0 -0
  236. /package/src/{server → unused/server}/JXG.py +0 -0
  237. /package/src/{server → unused/server}/jxgtestplugin.py +0 -0
  238. /package/src/{server → unused/server}/server.js +0 -0
  239. /package/src/{math → unused}/symbolic.js +0 -0
@@ -120,263 +120,265 @@
120
120
  <span class='line'>113</span> </span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
121
121
  <span class='line'>114</span> </span><span class="WHIT"> </span><span class="COMM">// attr[na.toLowerCase()].lastArrow = false;</span><span class="WHIT">
122
122
  <span class='line'>115</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">[</span><span class="NAME">na.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
123
- <span class='line'>116</span>
124
- <span class='line'>117</span> </span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">[</span><span class="NAME">na.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">ticks3d</span><span class="PUNC">;</span><span class="WHIT">
125
- <span class='line'>118</span> </span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
126
- <span class='line'>119</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'x'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
127
- <span class='line'>120</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
128
- <span class='line'>121</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'y'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
129
- <span class='line'>122</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
130
- <span class='line'>123</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
131
- <span class='line'>124</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
132
- <span class='line'>125</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
133
- <span class='line'>126</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
134
- <span class='line'>127</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
135
- <span class='line'>128</span>
136
- <span class='line'>129</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'center'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
137
- <span class='line'>130</span> </span><span class="WHIT"> </span><span class="COMM">// Origin (2D point)</span><span class="WHIT">
138
- <span class='line'>131</span> </span><span class="WHIT"> </span><span class="NAME">axes.O</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
139
- <span class='line'>132</span> </span><span class="WHIT"> </span><span class="STRN">"intersection"</span><span class="PUNC">,</span><span class="WHIT">
140
- <span class='line'>133</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">suffixAxis</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">suffixAxis</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
141
- <span class='line'>134</span> </span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
142
- <span class='line'>135</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
143
- <span class='line'>136</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
144
- <span class='line'>137</span> </span><span class="WHIT"> </span><span class="NAME">withLabel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
145
- <span class='line'>138</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
146
- <span class='line'>139</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
147
- <span class='line'>140</span> </span><span class="WHIT"> </span><span class="NAME">axes.O.view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
148
- <span class='line'>141</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
149
- <span class='line'>142</span> </span><span class="WHIT"> </span><span class="NAME">axes.O</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
150
- <span class='line'>143</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
151
- <span class='line'>144</span>
152
- <span class='line'>145</span> </span><span class="WHIT"> </span><span class="COMM">// Front and rear planes</span><span class="WHIT">
153
- <span class='line'>146</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">directions.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
154
- <span class='line'>147</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['x', 'y', 'z']</span><span class="WHIT">
155
- <span class='line'>148</span> </span><span class="WHIT"> </span><span class="NAME">i1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
156
- <span class='line'>149</span> </span><span class="WHIT"> </span><span class="NAME">i2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
157
- <span class='line'>150</span>
158
- <span class='line'>151</span> </span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
159
- <span class='line'>152</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">sides.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
160
- <span class='line'>153</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['Rear', 'Front']</span><span class="WHIT">
161
- <span class='line'>154</span>
162
- <span class='line'>155</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
163
- <span class='line'>156</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
164
- <span class='line'>157</span> </span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
165
- <span class='line'>158</span> </span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
166
- <span class='line'>159</span> </span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
167
- <span class='line'>160</span> </span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
168
- <span class='line'>161</span> </span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
169
- <span class='line'>162</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
170
- <span class='line'>163</span> </span><span class="WHIT"> </span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
171
- <span class='line'>164</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
172
- <span class='line'>165</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"plane3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
173
- <span class='line'>166</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">elType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"axisplane3d"</span><span class="PUNC">;</span><span class="WHIT">
174
- <span class='line'>167</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
175
- <span class='line'>168</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
176
- <span class='line'>169</span>
177
- <span class='line'>170</span> </span><span class="WHIT"> </span><span class="COMM">// Axes on front and rear planes</span><span class="WHIT">
178
- <span class='line'>171</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">directions.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
179
- <span class='line'>172</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['x', 'y', 'z']</span><span class="WHIT">
180
- <span class='line'>173</span> </span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
181
- <span class='line'>174</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">sides.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
182
- <span class='line'>175</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
183
- <span class='line'>176</span> </span><span class="WHIT"> </span><span class="NAME">i1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
184
- <span class='line'>177</span> </span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
185
- <span class='line'>178</span> </span><span class="WHIT"> </span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dir1.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Axis"</span><span class="PUNC">;</span><span class="WHIT">
186
- <span class='line'>179</span> </span><span class="WHIT"> </span><span class="NAME">na_parent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
187
- <span class='line'>180</span>
188
- <span class='line'>181</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
189
- <span class='line'>182</span> </span><span class="WHIT"> </span><span class="NAME">to</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
190
- <span class='line'>183</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
191
- <span class='line'>184</span>
192
- <span class='line'>185</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
193
- <span class='line'>186</span> </span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
194
- <span class='line'>187</span>
195
- <span class='line'>188</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
196
- <span class='line'>189</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
197
- <span class='line'>190</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
198
- <span class='line'>191</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na_parent</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">addChild</span><span class="PUNC">(</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
199
- <span class='line'>192</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na_parent</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">element2D.inherits.push</span><span class="PUNC">(</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// TODO: Access of element2D is not nice</span><span class="WHIT">
200
- <span class='line'>193</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
201
- <span class='line'>194</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
202
- <span class='line'>195</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
203
- <span class='line'>196</span>
204
- <span class='line'>197</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">;</span><span class="WHIT">
205
- <span class='line'>198</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
206
- <span class='line'>199</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createAxes3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
207
- <span class='line'>200</span>
208
- <span class='line'>201</span> </span><span class="COMM">/**
209
- <span class='line'>202</span> * @class This element creates a 3D axis.
210
- <span class='line'>203</span> * @pseudo
211
- <span class='line'>204</span> * @description Simple element 3d axis as used with "axesPosition:center". No ticks and no label (yet).
212
- <span class='line'>205</span> * &lt;p>
213
- <span class='line'>206</span> * At the time being, the input arrays are NOT dynamic, i.e. can not be given as functions.
214
- <span class='line'>207</span> *
215
- <span class='line'>208</span> * @name Axis3D
216
- <span class='line'>209</span> * @augments Arrow
217
- <span class='line'>210</span> * @constructor
218
- <span class='line'>211</span> * @type Object
219
- <span class='line'>212</span> * @throws {Exception} If the element cannot be constructed with the given parent objects an exception is thrown.
220
- <span class='line'>213</span> * @param {Array_Array} start,end Two arrays of length 3 for the start point and the end point of the axis.
221
- <span class='line'>214</span> *
222
- <span class='line'>215</span> */</span><span class="WHIT">
223
- <span class='line'>216</span> </span><span class="NAME">JXG.createAxis3D</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
224
- <span class='line'>217</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
225
- <span class='line'>218</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT">
226
- <span class='line'>219</span> </span><span class="WHIT"> </span><span class="NAME">start</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
227
- <span class='line'>220</span> </span><span class="WHIT"> </span><span class="NAME">end</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
228
- <span class='line'>221</span> </span><span class="WHIT"> </span><span class="NAME">el_start</span><span class="PUNC">,</span><span class="WHIT">
229
- <span class='line'>222</span> </span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="PUNC">,</span><span class="WHIT">
230
- <span class='line'>223</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
231
- <span class='line'>224</span>
232
- <span class='line'>225</span> </span><span class="WHIT"> </span><span class="COMM">// Use 2D points to create axis</span><span class="WHIT">
233
- <span class='line'>226</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes.point1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"point1"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
234
- <span class='line'>227</span> </span><span class="WHIT"> </span><span class="NAME">el_start</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
235
- <span class='line'>228</span> </span><span class="WHIT"> </span><span class="STRN">"point"</span><span class="PUNC">,</span><span class="WHIT">
236
- <span class='line'>229</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
237
- <span class='line'>230</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
238
- <span class='line'>231</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
239
- <span class='line'>232</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
240
- <span class='line'>233</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
241
- <span class='line'>234</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
242
- <span class='line'>235</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
243
- <span class='line'>236</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
244
- <span class='line'>237</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
245
- <span class='line'>238</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
246
- <span class='line'>239</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
247
- <span class='line'>240</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
248
- <span class='line'>241</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT">
249
- <span class='line'>242</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
250
- <span class='line'>243</span>
251
- <span class='line'>244</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes.point2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"point2"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
252
- <span class='line'>245</span> </span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
253
- <span class='line'>246</span> </span><span class="WHIT"> </span><span class="STRN">"point"</span><span class="PUNC">,</span><span class="WHIT">
254
- <span class='line'>247</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
255
- <span class='line'>248</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
256
- <span class='line'>249</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
257
- <span class='line'>250</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
258
- <span class='line'>251</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
259
- <span class='line'>252</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
260
- <span class='line'>253</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
261
- <span class='line'>254</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
262
- <span class='line'>255</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
263
- <span class='line'>256</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
264
- <span class='line'>257</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
265
- <span class='line'>258</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
266
- <span class='line'>259</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT">
267
- <span class='line'>260</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
268
- <span class='line'>261</span>
269
- <span class='line'>262</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
270
- <span class='line'>263</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"arrow"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">el_start</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
271
- <span class='line'>264</span>
272
- <span class='line'>265</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
273
- <span class='line'>266</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
274
- <span class='line'>267</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createAxis3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
275
- <span class='line'>268</span>
276
- <span class='line'>269</span> </span><span class="COMM">/**
277
- <span class='line'>270</span> * @class This element creates a 3D (rectangular) mesh.
278
- <span class='line'>271</span> * @pseudo
279
- <span class='line'>272</span> * @description Create a (rectangular) mesh - i.e. grid lines - on a plane3D element.
280
- <span class='line'>273</span> * &lt;p>
281
- <span class='line'>274</span> * At the time being, the mesh is not connected to the plane. The connecting element is simply the
282
- <span class='line'>275</span> * parameter point.
283
- <span class='line'>276</span> *
284
- <span class='line'>277</span> * @name Mesh3D
285
- <span class='line'>278</span> * @augments Curve
286
- <span class='line'>279</span> * @constructor
287
- <span class='line'>280</span> * @type Object
288
- <span class='line'>281</span> * @throws {Exception} If the element cannot be constructed with the given parent objects an exception is thrown.
289
- <span class='line'>282</span> * @param {Array_Array_Array_Array_Array_Number} point,direction1,range1,direction2,range2,[stepWidth=1] point is an array of length 3
290
- <span class='line'>283</span> * determining the starting point of the grid. direction1 and direction2 are arrays of length 3 for the directions of the grid.
291
- <span class='line'>284</span> * range1 and range2 (arrays of length 2) give the respective ranges. stepWidth is the increment of the grid lines.
292
- <span class='line'>285</span> * All parameters can be supplied as functions returning an appropriate data type.
293
- <span class='line'>286</span> *
294
- <span class='line'>287</span> */</span><span class="WHIT">
295
- <span class='line'>288</span> </span><span class="NAME">JXG.createMesh3D</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
296
- <span class='line'>289</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
297
- <span class='line'>290</span> </span><span class="WHIT"> </span><span class="NAME">point</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
298
- <span class='line'>291</span> </span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
299
- <span class='line'>292</span> </span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
300
- <span class='line'>293</span> </span><span class="WHIT"> </span><span class="NAME">dir2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">4</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
301
- <span class='line'>294</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">5</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
302
- <span class='line'>295</span> </span><span class="WHIT"> </span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">6</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
303
- <span class='line'>296</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
304
- <span class='line'>297</span>
305
- <span class='line'>298</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"curve"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
123
+ <span class='line'>116</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
124
+ <span class='line'>117</span>
125
+ <span class='line'>118</span> </span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">[</span><span class="NAME">na.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">ticks3d</span><span class="PUNC">;</span><span class="WHIT">
126
+ <span class='line'>119</span> </span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
127
+ <span class='line'>120</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'x'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
128
+ <span class='line'>121</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
129
+ <span class='line'>122</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'y'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
130
+ <span class='line'>123</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
131
+ <span class='line'>124</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
132
+ <span class='line'>125</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"ticks3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ticks_attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
133
+ <span class='line'>126</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
134
+ <span class='line'>127</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Ticks"</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
135
+ <span class='line'>128</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
136
+ <span class='line'>129</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
137
+ <span class='line'>130</span>
138
+ <span class='line'>131</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'center'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
139
+ <span class='line'>132</span> </span><span class="WHIT"> </span><span class="COMM">// Origin (2D point)</span><span class="WHIT">
140
+ <span class='line'>133</span> </span><span class="WHIT"> </span><span class="NAME">axes.O</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
141
+ <span class='line'>134</span> </span><span class="WHIT"> </span><span class="STRN">"intersection"</span><span class="PUNC">,</span><span class="WHIT">
142
+ <span class='line'>135</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">suffixAxis</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">suffixAxis</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
143
+ <span class='line'>136</span> </span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
144
+ <span class='line'>137</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
145
+ <span class='line'>138</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
146
+ <span class='line'>139</span> </span><span class="WHIT"> </span><span class="NAME">withLabel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
147
+ <span class='line'>140</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
148
+ <span class='line'>141</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
149
+ <span class='line'>142</span> </span><span class="WHIT"> </span><span class="NAME">axes.O.view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
150
+ <span class='line'>143</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
151
+ <span class='line'>144</span> </span><span class="WHIT"> </span><span class="NAME">axes.O</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
152
+ <span class='line'>145</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
153
+ <span class='line'>146</span>
154
+ <span class='line'>147</span> </span><span class="WHIT"> </span><span class="COMM">// Front and rear planes</span><span class="WHIT">
155
+ <span class='line'>148</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">directions.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
156
+ <span class='line'>149</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['x', 'y', 'z']</span><span class="WHIT">
157
+ <span class='line'>150</span> </span><span class="WHIT"> </span><span class="NAME">i1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
158
+ <span class='line'>151</span> </span><span class="WHIT"> </span><span class="NAME">i2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
159
+ <span class='line'>152</span>
160
+ <span class='line'>153</span> </span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
161
+ <span class='line'>154</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">sides.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
162
+ <span class='line'>155</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['Rear', 'Front']</span><span class="WHIT">
163
+ <span class='line'>156</span>
164
+ <span class='line'>157</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
165
+ <span class='line'>158</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
166
+ <span class='line'>159</span> </span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
167
+ <span class='line'>160</span> </span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
168
+ <span class='line'>161</span> </span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
169
+ <span class='line'>162</span> </span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
170
+ <span class='line'>163</span> </span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
171
+ <span class='line'>164</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i2</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
172
+ <span class='line'>165</span> </span><span class="WHIT"> </span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
173
+ <span class='line'>166</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
174
+ <span class='line'>167</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"plane3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">vec1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">vec2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
175
+ <span class='line'>168</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">elType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"axisplane3d"</span><span class="PUNC">;</span><span class="WHIT">
176
+ <span class='line'>169</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
177
+ <span class='line'>170</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
178
+ <span class='line'>171</span>
179
+ <span class='line'>172</span> </span><span class="WHIT"> </span><span class="COMM">// Axes on front and rear planes</span><span class="WHIT">
180
+ <span class='line'>173</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">directions.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
181
+ <span class='line'>174</span> </span><span class="WHIT"> </span><span class="COMM">// Run through ['x', 'y', 'z']</span><span class="WHIT">
182
+ <span class='line'>175</span> </span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
183
+ <span class='line'>176</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">sides.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
184
+ <span class='line'>177</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
185
+ <span class='line'>178</span> </span><span class="WHIT"> </span><span class="NAME">i1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">%</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
186
+ <span class='line'>179</span> </span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">directions</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
187
+ <span class='line'>180</span> </span><span class="WHIT"> </span><span class="NAME">na</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dir1.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Axis"</span><span class="PUNC">;</span><span class="WHIT">
188
+ <span class='line'>181</span> </span><span class="WHIT"> </span><span class="NAME">na_parent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Plane"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sides</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
189
+ <span class='line'>182</span>
190
+ <span class='line'>183</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
191
+ <span class='line'>184</span> </span><span class="WHIT"> </span><span class="NAME">to</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
192
+ <span class='line'>185</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
193
+ <span class='line'>186</span>
194
+ <span class='line'>187</span> </span><span class="WHIT"> </span><span class="NAME">from</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rear</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
195
+ <span class='line'>188</span> </span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">front</span><span class="PUNC">[</span><span class="NAME">i1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
196
+ <span class='line'>189</span>
197
+ <span class='line'>190</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
198
+ <span class='line'>191</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">from</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">to</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
199
+ <span class='line'>192</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view</span><span class="PUNC">;</span><span class="WHIT">
200
+ <span class='line'>193</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na_parent</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">addChild</span><span class="PUNC">(</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
201
+ <span class='line'>194</span> </span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na_parent</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">element2D.inherits.push</span><span class="PUNC">(</span><span class="NAME">axes</span><span class="PUNC">[</span><span class="NAME">na</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// TODO: Access of element2D is not nice</span><span class="WHIT">
202
+ <span class='line'>195</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
203
+ <span class='line'>196</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
204
+ <span class='line'>197</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
205
+ <span class='line'>198</span>
206
+ <span class='line'>199</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">axes</span><span class="PUNC">;</span><span class="WHIT">
207
+ <span class='line'>200</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
208
+ <span class='line'>201</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"axes3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createAxes3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
209
+ <span class='line'>202</span>
210
+ <span class='line'>203</span> </span><span class="COMM">/**
211
+ <span class='line'>204</span> * @class This element creates a 3D axis.
212
+ <span class='line'>205</span> * @pseudo
213
+ <span class='line'>206</span> * @description Simple element 3d axis as used with "axesPosition:center". No ticks and no label (yet).
214
+ <span class='line'>207</span> * &lt;p>
215
+ <span class='line'>208</span> * At the time being, the input arrays are NOT dynamic, i.e. can not be given as functions.
216
+ <span class='line'>209</span> *
217
+ <span class='line'>210</span> * @name Axis3D
218
+ <span class='line'>211</span> * @augments Arrow
219
+ <span class='line'>212</span> * @constructor
220
+ <span class='line'>213</span> * @type Object
221
+ <span class='line'>214</span> * @throws {Exception} If the element cannot be constructed with the given parent objects an exception is thrown.
222
+ <span class='line'>215</span> * @param {Array_Array} start,end Two arrays of length 3 for the start point and the end point of the axis.
223
+ <span class='line'>216</span> *
224
+ <span class='line'>217</span> */</span><span class="WHIT">
225
+ <span class='line'>218</span> </span><span class="NAME">JXG.createAxis3D</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
226
+ <span class='line'>219</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
227
+ <span class='line'>220</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT">
228
+ <span class='line'>221</span> </span><span class="WHIT"> </span><span class="NAME">start</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
229
+ <span class='line'>222</span> </span><span class="WHIT"> </span><span class="NAME">end</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
230
+ <span class='line'>223</span> </span><span class="WHIT"> </span><span class="NAME">el_start</span><span class="PUNC">,</span><span class="WHIT">
231
+ <span class='line'>224</span> </span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="PUNC">,</span><span class="WHIT">
232
+ <span class='line'>225</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
233
+ <span class='line'>226</span>
234
+ <span class='line'>227</span> </span><span class="WHIT"> </span><span class="COMM">// Use 2D points to create axis</span><span class="WHIT">
235
+ <span class='line'>228</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes.point1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"point1"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
236
+ <span class='line'>229</span> </span><span class="WHIT"> </span><span class="NAME">el_start</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
237
+ <span class='line'>230</span> </span><span class="WHIT"> </span><span class="STRN">"point"</span><span class="PUNC">,</span><span class="WHIT">
238
+ <span class='line'>231</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
239
+ <span class='line'>232</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
240
+ <span class='line'>233</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
241
+ <span class='line'>234</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
242
+ <span class='line'>235</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
243
+ <span class='line'>236</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
244
+ <span class='line'>237</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
245
+ <span class='line'>238</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
246
+ <span class='line'>239</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
247
+ <span class='line'>240</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
248
+ <span class='line'>241</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
249
+ <span class='line'>242</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
250
+ <span class='line'>243</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT">
251
+ <span class='line'>244</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
252
+ <span class='line'>245</span>
253
+ <span class='line'>246</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes.point2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"point2"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
254
+ <span class='line'>247</span> </span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="WHIT">
255
+ <span class='line'>248</span> </span><span class="WHIT"> </span><span class="STRN">"point"</span><span class="PUNC">,</span><span class="WHIT">
256
+ <span class='line'>249</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
257
+ <span class='line'>250</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
258
+ <span class='line'>251</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
259
+ <span class='line'>252</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
260
+ <span class='line'>253</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
261
+ <span class='line'>254</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
262
+ <span class='line'>255</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
263
+ <span class='line'>256</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
264
+ <span class='line'>257</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">xx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">yy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">zz</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
265
+ <span class='line'>258</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
266
+ <span class='line'>259</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
267
+ <span class='line'>260</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
268
+ <span class='line'>261</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT">
269
+ <span class='line'>262</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
270
+ <span class='line'>263</span>
271
+ <span class='line'>264</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"axis3d"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
272
+ <span class='line'>265</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"arrow"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">el_start</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">el_end</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
273
+ <span class='line'>266</span>
274
+ <span class='line'>267</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
275
+ <span class='line'>268</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
276
+ <span class='line'>269</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"axis3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createAxis3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
277
+ <span class='line'>270</span>
278
+ <span class='line'>271</span> </span><span class="COMM">/**
279
+ <span class='line'>272</span> * @class This element creates a 3D (rectangular) mesh.
280
+ <span class='line'>273</span> * @pseudo
281
+ <span class='line'>274</span> * @description Create a (rectangular) mesh - i.e. grid lines - on a plane3D element.
282
+ <span class='line'>275</span> * &lt;p>
283
+ <span class='line'>276</span> * At the time being, the mesh is not connected to the plane. The connecting element is simply the
284
+ <span class='line'>277</span> * parameter point.
285
+ <span class='line'>278</span> *
286
+ <span class='line'>279</span> * @name Mesh3D
287
+ <span class='line'>280</span> * @augments Curve
288
+ <span class='line'>281</span> * @constructor
289
+ <span class='line'>282</span> * @type Object
290
+ <span class='line'>283</span> * @throws {Exception} If the element cannot be constructed with the given parent objects an exception is thrown.
291
+ <span class='line'>284</span> * @param {Array_Array_Array_Array_Array_Number} point,direction1,range1,direction2,range2,[stepWidth=1] point is an array of length 3
292
+ <span class='line'>285</span> * determining the starting point of the grid. direction1 and direction2 are arrays of length 3 for the directions of the grid.
293
+ <span class='line'>286</span> * range1 and range2 (arrays of length 2) give the respective ranges. stepWidth is the increment of the grid lines.
294
+ <span class='line'>287</span> * All parameters can be supplied as functions returning an appropriate data type.
295
+ <span class='line'>288</span> *
296
+ <span class='line'>289</span> */</span><span class="WHIT">
297
+ <span class='line'>290</span> </span><span class="NAME">JXG.createMesh3D</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
298
+ <span class='line'>291</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
299
+ <span class='line'>292</span> </span><span class="WHIT"> </span><span class="NAME">point</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
300
+ <span class='line'>293</span> </span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
301
+ <span class='line'>294</span> </span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
302
+ <span class='line'>295</span> </span><span class="WHIT"> </span><span class="NAME">dir2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">4</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
303
+ <span class='line'>296</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">5</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
304
+ <span class='line'>297</span> </span><span class="WHIT"> </span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">6</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
305
+ <span class='line'>298</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
306
306
  <span class='line'>299</span>
307
- <span class='line'>300</span> </span><span class="WHIT"> </span><span class="NAME">el.point</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">point</span><span class="PUNC">;</span><span class="WHIT">
308
- <span class='line'>301</span> </span><span class="WHIT"> </span><span class="NAME">el.direction1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="PUNC">;</span><span class="WHIT">
309
- <span class='line'>302</span> </span><span class="WHIT"> </span><span class="NAME">el.range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">;</span><span class="WHIT">
310
- <span class='line'>303</span> </span><span class="WHIT"> </span><span class="NAME">el.direction2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir2</span><span class="PUNC">;</span><span class="WHIT">
311
- <span class='line'>304</span> </span><span class="WHIT"> </span><span class="NAME">el.range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">;</span><span class="WHIT">
312
- <span class='line'>305</span> </span><span class="WHIT"> </span><span class="NAME">el.step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
313
- <span class='line'>306</span>
314
- <span class='line'>307</span> </span><span class="WHIT"> </span><span class="COMM">/**
315
- <span class='line'>308</span> * @ignore
316
- <span class='line'>309</span> */</span><span class="WHIT">
317
- <span class='line'>310</span> </span><span class="WHIT"> </span><span class="NAME">el.updateDataArray</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
318
- <span class='line'>311</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.range1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
319
- <span class='line'>312</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.range2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
320
- <span class='line'>313</span> </span><span class="WHIT"> </span><span class="NAME">s1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
321
- <span class='line'>314</span> </span><span class="WHIT"> </span><span class="NAME">e1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
322
- <span class='line'>315</span> </span><span class="WHIT"> </span><span class="NAME">s2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
323
- <span class='line'>316</span> </span><span class="WHIT"> </span><span class="NAME">e2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
324
- <span class='line'>317</span> </span><span class="WHIT"> </span><span class="NAME">l1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">l2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
325
- <span class='line'>318</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
326
- <span class='line'>319</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
327
- <span class='line'>320</span> </span><span class="WHIT"> </span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.step</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
328
- <span class='line'>321</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
329
- <span class='line'>322</span>
330
- <span class='line'>323</span> </span><span class="WHIT"> </span><span class="NAME">this.dataX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
331
- <span class='line'>324</span> </span><span class="WHIT"> </span><span class="NAME">this.dataY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
332
- <span class='line'>325</span>
333
- <span class='line'>326</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isFunction</span><span class="PUNC">(</span><span class="NAME">this.point</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
334
- <span class='line'>327</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.point</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
335
- <span class='line'>328</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
336
- <span class='line'>329</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
337
- <span class='line'>330</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.point</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
338
- <span class='line'>331</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
339
- <span class='line'>332</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
340
- <span class='line'>333</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
341
- <span class='line'>334</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.direction1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
342
- <span class='line'>335</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.direction2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
343
- <span class='line'>336</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
344
- <span class='line'>337</span> </span><span class="WHIT"> </span><span class="NAME">l1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.Math.norm</span><span class="PUNC">(</span><span class="NAME">v1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
345
- <span class='line'>338</span> </span><span class="WHIT"> </span><span class="NAME">l2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.Math.norm</span><span class="PUNC">(</span><span class="NAME">v2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
346
- <span class='line'>339</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
347
- <span class='line'>340</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">l1</span><span class="PUNC">;</span><span class="WHIT">
348
- <span class='line'>341</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">l2</span><span class="PUNC">;</span><span class="WHIT">
349
- <span class='line'>342</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
350
- <span class='line'>343</span>
351
- <span class='line'>344</span> </span><span class="WHIT"> </span><span class="COMM">// sol = Mat.Geometry.getPlaneBounds(v1, v2, q, s1, e1);</span><span class="WHIT">
352
- <span class='line'>345</span> </span><span class="WHIT"> </span><span class="COMM">// if (sol !== null) {</span><span class="WHIT">
353
- <span class='line'>346</span> </span><span class="WHIT"> </span><span class="COMM">// s1 = sol[0];</span><span class="WHIT">
354
- <span class='line'>347</span> </span><span class="WHIT"> </span><span class="COMM">// e1 = sol[1];</span><span class="WHIT">
355
- <span class='line'>348</span> </span><span class="WHIT"> </span><span class="COMM">// s2 = sol[2];</span><span class="WHIT">
356
- <span class='line'>349</span> </span><span class="WHIT"> </span><span class="COMM">// e2 = sol[3];</span><span class="WHIT">
357
- <span class='line'>350</span> </span><span class="WHIT"> </span><span class="COMM">// }</span><span class="WHIT">
358
- <span class='line'>351</span>
359
- <span class='line'>352</span> </span><span class="WHIT"> </span><span class="NAME">res</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.getMesh</span><span class="PUNC">(</span><span class="WHIT">
360
- <span class='line'>353</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
361
- <span class='line'>354</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
362
- <span class='line'>355</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
363
- <span class='line'>356</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
364
- <span class='line'>357</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
365
- <span class='line'>358</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
366
- <span class='line'>359</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
367
- <span class='line'>360</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
368
- <span class='line'>361</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
369
- <span class='line'>362</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
370
- <span class='line'>363</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
371
- <span class='line'>364</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">s1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">e1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">e1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">s1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
372
- <span class='line'>365</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">s2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">e2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">e2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">s2</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">]</span><span class="WHIT">
373
- <span class='line'>366</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
374
- <span class='line'>367</span> </span><span class="WHIT"> </span><span class="NAME">this.dataX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
375
- <span class='line'>368</span> </span><span class="WHIT"> </span><span class="NAME">this.dataY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
376
- <span class='line'>369</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
377
- <span class='line'>370</span>
378
- <span class='line'>371</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
379
- <span class='line'>372</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
380
- <span class='line'>373</span>
381
- <span class='line'>374</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"mesh3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createMesh3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
382
- <span class='line'>375</span> </span></pre></body></html>
307
+ <span class='line'>300</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">"curve"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
308
+ <span class='line'>301</span>
309
+ <span class='line'>302</span> </span><span class="WHIT"> </span><span class="NAME">el.point</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">point</span><span class="PUNC">;</span><span class="WHIT">
310
+ <span class='line'>303</span> </span><span class="WHIT"> </span><span class="NAME">el.direction1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir1</span><span class="PUNC">;</span><span class="WHIT">
311
+ <span class='line'>304</span> </span><span class="WHIT"> </span><span class="NAME">el.range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">;</span><span class="WHIT">
312
+ <span class='line'>305</span> </span><span class="WHIT"> </span><span class="NAME">el.direction2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dir2</span><span class="PUNC">;</span><span class="WHIT">
313
+ <span class='line'>306</span> </span><span class="WHIT"> </span><span class="NAME">el.range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">;</span><span class="WHIT">
314
+ <span class='line'>307</span> </span><span class="WHIT"> </span><span class="NAME">el.step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
315
+ <span class='line'>308</span>
316
+ <span class='line'>309</span> </span><span class="WHIT"> </span><span class="COMM">/**
317
+ <span class='line'>310</span> * @ignore
318
+ <span class='line'>311</span> */</span><span class="WHIT">
319
+ <span class='line'>312</span> </span><span class="WHIT"> </span><span class="NAME">el.updateDataArray</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
320
+ <span class='line'>313</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.range1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
321
+ <span class='line'>314</span> </span><span class="WHIT"> </span><span class="NAME">range2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.range2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
322
+ <span class='line'>315</span> </span><span class="WHIT"> </span><span class="NAME">s1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
323
+ <span class='line'>316</span> </span><span class="WHIT"> </span><span class="NAME">e1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range1</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
324
+ <span class='line'>317</span> </span><span class="WHIT"> </span><span class="NAME">s2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
325
+ <span class='line'>318</span> </span><span class="WHIT"> </span><span class="NAME">e2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range2</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
326
+ <span class='line'>319</span> </span><span class="WHIT"> </span><span class="NAME">l1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">l2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
327
+ <span class='line'>320</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
328
+ <span class='line'>321</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
329
+ <span class='line'>322</span> </span><span class="WHIT"> </span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.step</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
330
+ <span class='line'>323</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
331
+ <span class='line'>324</span>
332
+ <span class='line'>325</span> </span><span class="WHIT"> </span><span class="NAME">this.dataX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
333
+ <span class='line'>326</span> </span><span class="WHIT"> </span><span class="NAME">this.dataY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
334
+ <span class='line'>327</span>
335
+ <span class='line'>328</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isFunction</span><span class="PUNC">(</span><span class="NAME">this.point</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
336
+ <span class='line'>329</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.point</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
337
+ <span class='line'>330</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
338
+ <span class='line'>331</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
339
+ <span class='line'>332</span> </span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.point</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
340
+ <span class='line'>333</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
341
+ <span class='line'>334</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
342
+ <span class='line'>335</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
343
+ <span class='line'>336</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.direction1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
344
+ <span class='line'>337</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.direction2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
345
+ <span class='line'>338</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
346
+ <span class='line'>339</span> </span><span class="WHIT"> </span><span class="NAME">l1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.Math.norm</span><span class="PUNC">(</span><span class="NAME">v1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
347
+ <span class='line'>340</span> </span><span class="WHIT"> </span><span class="NAME">l2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.Math.norm</span><span class="PUNC">(</span><span class="NAME">v2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
348
+ <span class='line'>341</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
349
+ <span class='line'>342</span> </span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">l1</span><span class="PUNC">;</span><span class="WHIT">
350
+ <span class='line'>343</span> </span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">l2</span><span class="PUNC">;</span><span class="WHIT">
351
+ <span class='line'>344</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
352
+ <span class='line'>345</span>
353
+ <span class='line'>346</span> </span><span class="WHIT"> </span><span class="COMM">// sol = Mat.Geometry.getPlaneBounds(v1, v2, q, s1, e1);</span><span class="WHIT">
354
+ <span class='line'>347</span> </span><span class="WHIT"> </span><span class="COMM">// if (sol !== null) {</span><span class="WHIT">
355
+ <span class='line'>348</span> </span><span class="WHIT"> </span><span class="COMM">// s1 = sol[0];</span><span class="WHIT">
356
+ <span class='line'>349</span> </span><span class="WHIT"> </span><span class="COMM">// e1 = sol[1];</span><span class="WHIT">
357
+ <span class='line'>350</span> </span><span class="WHIT"> </span><span class="COMM">// s2 = sol[2];</span><span class="WHIT">
358
+ <span class='line'>351</span> </span><span class="WHIT"> </span><span class="COMM">// e2 = sol[3];</span><span class="WHIT">
359
+ <span class='line'>352</span> </span><span class="WHIT"> </span><span class="COMM">// }</span><span class="WHIT">
360
+ <span class='line'>353</span>
361
+ <span class='line'>354</span> </span><span class="WHIT"> </span><span class="NAME">res</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.getMesh</span><span class="PUNC">(</span><span class="WHIT">
362
+ <span class='line'>355</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
363
+ <span class='line'>356</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
364
+ <span class='line'>357</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
365
+ <span class='line'>358</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
366
+ <span class='line'>359</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
367
+ <span class='line'>360</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
368
+ <span class='line'>361</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
369
+ <span class='line'>362</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">u</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
370
+ <span class='line'>363</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">q</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">u</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v1</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">v2</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
371
+ <span class='line'>364</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
372
+ <span class='line'>365</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
373
+ <span class='line'>366</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">s1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">e1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">e1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">s1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
374
+ <span class='line'>367</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">s2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">e2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">e2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">s2</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">]</span><span class="WHIT">
375
+ <span class='line'>368</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
376
+ <span class='line'>369</span> </span><span class="WHIT"> </span><span class="NAME">this.dataX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
377
+ <span class='line'>370</span> </span><span class="WHIT"> </span><span class="NAME">this.dataY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
378
+ <span class='line'>371</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
379
+ <span class='line'>372</span>
380
+ <span class='line'>373</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
381
+ <span class='line'>374</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
382
+ <span class='line'>375</span>
383
+ <span class='line'>376</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"mesh3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createMesh3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
384
+ <span class='line'>377</span> </span></pre></body></html>