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.
- package/CHANGELOG.md +25 -0
- package/distrib/docs/files.html +2 -61
- package/distrib/docs/index.html +2 -58
- package/distrib/docs/static/jsxgraphcore.js +2 -2
- package/distrib/docs/symbols/Angle.html +2 -18
- package/distrib/docs/symbols/Arc.html +2 -18
- package/distrib/docs/symbols/Arrow.html +2 -18
- package/distrib/docs/symbols/Arrowparallel.html +2 -18
- package/distrib/docs/symbols/Axes3D.html +2 -18
- package/distrib/docs/symbols/Axis.html +2 -18
- package/distrib/docs/symbols/Axis3D.html +2 -18
- package/distrib/docs/symbols/Bisector.html +2 -18
- package/distrib/docs/symbols/Bisectorlines.html +2 -18
- package/distrib/docs/symbols/Boxplot.html +2 -18
- package/distrib/docs/symbols/Button.html +2 -18
- package/distrib/docs/symbols/Cardinalspline.html +2 -18
- package/distrib/docs/symbols/Chart.html +2 -18
- package/distrib/docs/symbols/Checkbox.html +2 -18
- package/distrib/docs/symbols/Circle.html +2 -18
- package/distrib/docs/symbols/Circle3D.html +2 -18
- package/distrib/docs/symbols/Circumcenter.html +2 -18
- package/distrib/docs/symbols/Circumcircle.html +2 -18
- package/distrib/docs/symbols/CircumcircleArc.html +2 -18
- package/distrib/docs/symbols/CircumcircleSector.html +2 -18
- package/distrib/docs/symbols/Comb.html +2 -18
- package/distrib/docs/symbols/Conic.html +2 -18
- package/distrib/docs/symbols/Curve.html +2 -18
- package/distrib/docs/symbols/Curve3D.html +2 -18
- package/distrib/docs/symbols/CurveDifference.html +2 -18
- package/distrib/docs/symbols/CurveIntersection.html +2 -18
- package/distrib/docs/symbols/CurveUnion.html +2 -18
- package/distrib/docs/symbols/Derivative.html +2 -18
- package/distrib/docs/symbols/Ellipse.html +2 -18
- package/distrib/docs/symbols/ForeignObject.html +2 -18
- package/distrib/docs/symbols/Functiongraph.html +2 -18
- package/distrib/docs/symbols/Functiongraph3D.html +2 -18
- package/distrib/docs/symbols/Glider.html +2 -18
- package/distrib/docs/symbols/Grid.html +2 -18
- package/distrib/docs/symbols/Group.html +2 -18
- package/distrib/docs/symbols/Hatch.html +2 -18
- package/distrib/docs/symbols/Hyperbola.html +2 -18
- package/distrib/docs/symbols/Image.html +2 -18
- package/distrib/docs/symbols/ImplicitCurve.html +2 -18
- package/distrib/docs/symbols/Incenter.html +2 -18
- package/distrib/docs/symbols/Incircle.html +2 -18
- package/distrib/docs/symbols/Inequality.html +2 -18
- package/distrib/docs/symbols/Input.html +2 -18
- package/distrib/docs/symbols/Integral.html +2 -18
- package/distrib/docs/symbols/Intersection.html +2 -18
- package/distrib/docs/symbols/IntersectionCircle3D.html +2 -18
- package/distrib/docs/symbols/IntersectionLine3D.html +2 -18
- package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Board.html +4 -20
- package/distrib/docs/symbols/JXG.Board.infobox.html +2 -18
- package/distrib/docs/symbols/JXG.C.html +2 -18
- package/distrib/docs/symbols/JXG.CA.html +2 -18
- package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Chart.html +2 -18
- package/distrib/docs/symbols/JXG.Circle.html +2 -18
- package/distrib/docs/symbols/JXG.Circle3D.html +2 -18
- package/distrib/docs/symbols/JXG.Complex.html +2 -18
- package/distrib/docs/symbols/JXG.Composition.html +2 -18
- package/distrib/docs/symbols/JXG.Coords.html +2 -18
- package/distrib/docs/symbols/JXG.CoordsElement.html +98 -22
- package/distrib/docs/symbols/JXG.Curve.html +2 -18
- package/distrib/docs/symbols/JXG.Curve3D.html +2 -18
- package/distrib/docs/symbols/JXG.Dump.html +2 -18
- package/distrib/docs/symbols/JXG.EventEmitter.html +2 -18
- package/distrib/docs/symbols/JXG.Expect.html +2 -18
- package/distrib/docs/symbols/JXG.ForeignObject.html +2 -18
- package/distrib/docs/symbols/JXG.GeometryElement.html +2 -18
- package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -18
- package/distrib/docs/symbols/JXG.GeonextParser.html +2 -18
- package/distrib/docs/symbols/JXG.Group.html +2 -18
- package/distrib/docs/symbols/JXG.Image.html +2 -18
- package/distrib/docs/symbols/JXG.JSXGraph.html +2 -18
- package/distrib/docs/symbols/JXG.JessieCode.html +2 -18
- package/distrib/docs/symbols/JXG.Legend.html +2 -18
- package/distrib/docs/symbols/JXG.Line.html +2 -18
- package/distrib/docs/symbols/JXG.Line3D.html +2 -18
- package/distrib/docs/symbols/JXG.Math.BoxQuadtree.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Clip.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -18
- package/distrib/docs/symbols/JXG.Math.ImplicitPlot.html +2 -18
- package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Numerics.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Plot.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.html +2 -18
- package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Quadtree.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Statistics.html +22 -34
- package/distrib/docs/symbols/JXG.Math.html +2 -18
- package/distrib/docs/symbols/JXG.NoRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Options.html +2 -18
- package/distrib/docs/symbols/JXG.Plane3D.html +2 -18
- package/distrib/docs/symbols/JXG.Point.html +2 -18
- package/distrib/docs/symbols/JXG.Point3D.html +2 -18
- package/distrib/docs/symbols/JXG.Polygon.html +2 -18
- package/distrib/docs/symbols/JXG.Polygon3D.html +2 -18
- package/distrib/docs/symbols/JXG.PrefixParser.html +2 -18
- package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Sphere3D.html +2 -18
- package/distrib/docs/symbols/JXG.Surface3D.html +2 -18
- package/distrib/docs/symbols/JXG.Text.html +2 -18
- package/distrib/docs/symbols/JXG.Text3D.html +2 -18
- package/distrib/docs/symbols/JXG.Ticks.html +2 -18
- package/distrib/docs/symbols/JXG.Transformation.html +2 -18
- package/distrib/docs/symbols/JXG.Turtle.html +2 -18
- package/distrib/docs/symbols/JXG.Util.Base64.html +2 -18
- package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -18
- package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -18
- package/distrib/docs/symbols/JXG.Util.html +2 -18
- package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.View3D.html +4 -19
- package/distrib/docs/symbols/JXG.XML.html +2 -18
- package/distrib/docs/symbols/JXG.html +2 -18
- package/distrib/docs/symbols/Label.html +2 -18
- package/distrib/docs/symbols/Legend.html +2 -18
- package/distrib/docs/symbols/Line.html +2 -18
- package/distrib/docs/symbols/Line3D.html +2 -18
- package/distrib/docs/symbols/MajorArc.html +2 -18
- package/distrib/docs/symbols/MajorSector.html +2 -18
- package/distrib/docs/symbols/Measurement.html +2 -18
- package/distrib/docs/symbols/Mesh3D.html +2 -18
- package/distrib/docs/symbols/Metapostspline.html +2 -18
- package/distrib/docs/symbols/Midpoint.html +2 -18
- package/distrib/docs/symbols/MinorArc.html +2 -18
- package/distrib/docs/symbols/MinorSector.html +2 -18
- package/distrib/docs/symbols/Mirrorpoint.html +2 -18
- package/distrib/docs/symbols/NonReflexAngle.html +2 -18
- package/distrib/docs/symbols/Normal.html +2 -18
- package/distrib/docs/symbols/Orthogonalprojection.html +2 -18
- package/distrib/docs/symbols/OtherIntersection.html +2 -18
- package/distrib/docs/symbols/Parabola.html +2 -18
- package/distrib/docs/symbols/Parallel.html +2 -18
- package/distrib/docs/symbols/Parallelogram.html +2 -18
- package/distrib/docs/symbols/Parallelpoint.html +2 -18
- package/distrib/docs/symbols/ParametricSurface3D.html +2 -18
- package/distrib/docs/symbols/Perpendicular.html +2 -18
- package/distrib/docs/symbols/PerpendicularPoint.html +2 -18
- package/distrib/docs/symbols/PerpendicularSegment.html +2 -18
- package/distrib/docs/symbols/Point.html +2 -18
- package/distrib/docs/symbols/Point3D.html +2 -18
- package/distrib/docs/symbols/PolarLine.html +2 -18
- package/distrib/docs/symbols/PolePoint.html +2 -18
- package/distrib/docs/symbols/Polygon.html +2 -18
- package/distrib/docs/symbols/PolygonalChain.html +2 -18
- package/distrib/docs/symbols/RadicalAxis.html +2 -18
- package/distrib/docs/symbols/Reflection.html +2 -18
- package/distrib/docs/symbols/ReflexAngle.html +2 -18
- package/distrib/docs/symbols/RegularPolygon.html +2 -18
- package/distrib/docs/symbols/Riemannsum.html +2 -18
- package/distrib/docs/symbols/Sector.html +2 -18
- package/distrib/docs/symbols/Segment.html +2 -18
- package/distrib/docs/symbols/Semicircle.html +2 -18
- package/distrib/docs/symbols/Slider.html +2 -18
- package/distrib/docs/symbols/Slopefield.html +2 -18
- package/distrib/docs/symbols/Slopetriangle.html +2 -18
- package/distrib/docs/symbols/Smartlabel.html +2 -18
- package/distrib/docs/symbols/Sphere3D.html +2 -18
- package/distrib/docs/symbols/Spline.html +2 -18
- package/distrib/docs/symbols/Stepfunction.html +2 -18
- package/distrib/docs/symbols/Tangent.html +2 -18
- package/distrib/docs/symbols/TangentTo.html +2 -18
- package/distrib/docs/symbols/Tapemeasure.html +2 -18
- package/distrib/docs/symbols/Text.html +12 -26
- package/distrib/docs/symbols/Text3D.html +2 -18
- package/distrib/docs/symbols/Ticks.html +2 -18
- package/distrib/docs/symbols/Ticks3D.html +2 -18
- package/distrib/docs/symbols/Tracecurve.html +2 -18
- package/distrib/docs/symbols/Transformation.html +2 -18
- package/distrib/docs/symbols/Turtle.html +2 -18
- package/distrib/docs/symbols/Vectorfield.html +2 -18
- package/distrib/docs/symbols/Vectorfield3D.html +53 -18
- package/distrib/docs/symbols/View3D.html +2 -18
- package/distrib/docs/symbols/_global_.html +2 -18
- package/distrib/docs/symbols/mirrorelement.html +2 -18
- package/distrib/docs/symbols/src/src_3d_box3d.js.html +261 -259
- package/distrib/docs/symbols/src/src_3d_curve3d.js.html +205 -156
- package/distrib/docs/symbols/src/src_3d_linspace3d.js.html +337 -327
- package/distrib/docs/symbols/src/src_3d_point3d.js.html +204 -187
- package/distrib/docs/symbols/src/src_3d_text3d.js.html +189 -177
- package/distrib/docs/symbols/src/src_3d_view3d.js.html +1246 -1236
- package/distrib/docs/symbols/src/src_base_board.js.html +2058 -2057
- package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
- package/distrib/docs/symbols/src/src_base_coordselement.js.html +383 -274
- package/distrib/docs/symbols/src/src_element_sector.js.html +1 -1
- package/distrib/docs/symbols/src/src_math_geometry.js.html +609 -604
- package/distrib/docs/symbols/src/src_math_statistics.js.html +418 -411
- package/distrib/docs/symbols/src/src_options.js.html +504 -502
- package/distrib/docs/symbols/src/src_options3d.js.html +952 -944
- package/distrib/docs.zip +0 -0
- package/distrib/geogebra.min.js +1 -1
- package/distrib/geonext.min.js +1 -1
- package/distrib/intergeo.min.js +1 -1
- package/distrib/jsxgraph.zip +0 -0
- package/distrib/jsxgraphcore.js +2 -2
- package/distrib/jsxgraphcore.mjs +2 -2
- package/distrib/jsxgraphcore.mjs.map +1 -1
- package/distrib/jsxgraphsrc.js +15405 -16038
- package/distrib/jsxgraphsrc.mjs +15405 -16038
- package/distrib/jsxgraphsrc.mjs.map +1 -1
- package/distrib/sketch.min.js +1 -1
- package/package.json +1 -1
- package/src/3d/box3d.js +2 -0
- package/src/3d/curve3d.js +53 -4
- package/src/3d/linspace3d.js +17 -7
- package/src/3d/point3d.js +20 -3
- package/src/3d/text3d.js +20 -8
- package/src/3d/view3d.js +17 -7
- package/src/base/board.js +1 -0
- package/src/base/constants.js +1 -1
- package/src/base/coordselement.js +119 -10
- package/src/element/sector.js +1 -1
- package/src/index.js +0 -3
- package/src/math/geometry.js +27 -22
- package/src/math/statistics.js +29 -22
- package/src/options.js +8 -6
- package/src/options3d.js +10 -2
- package/src/{server → unused/server}/JXGServer.py +4 -9
- package/src/{server → unused/server}/JXGServerModule.py +2 -2
- package/src/{server → unused/server}/README.md +25 -14
- package/src/{server → unused/server}/RStats.py +1 -1
- package/src/{server → unused/server}/YahooFinance.py +4 -4
- package/src/{server → unused/server}/fft.py +6 -6
- package/src/{server → unused/server}/geoloci.py +17 -17
- package/src/{server → unused/server}/jxggroebner.py +22 -22
- package/src/index2.js +0 -105
- /package/src/{element → unused}/locus.js +0 -0
- /package/src/{server → unused/server}/JXG.py +0 -0
- /package/src/{server → unused/server}/jxgtestplugin.py +0 -0
- /package/src/{server → unused/server}/server.js +0 -0
- /package/src/{math → unused}/symbolic.js +0 -0
|
@@ -285,197 +285,214 @@
|
|
|
285
285
|
<span class='line'>278</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
286
286
|
<span class='line'>279</span>
|
|
287
287
|
<span class='line'>280</span> </span><span class="WHIT"> </span><span class="NAME">update</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">drag</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
288
|
-
<span class='line'>281</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">c3d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">foot</span><span class="PUNC">;</span><span class="WHIT">
|
|
288
|
+
<span class='line'>281</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">c3d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">foot</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">;</span><span class="WHIT">
|
|
289
289
|
<span class='line'>282</span>
|
|
290
290
|
<span class='line'>283</span> </span><span class="WHIT"> </span><span class="COMM">// Update is called from board.updateElements</span><span class="WHIT">
|
|
291
291
|
<span class='line'>284</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
|
292
292
|
<span class='line'>285</span> </span><span class="WHIT"> </span><span class="NAME">this.element2D.draggable</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
293
293
|
<span class='line'>286</span> </span><span class="WHIT"> </span><span class="NAME">Geometry.distance</span><span class="PUNC">(</span><span class="NAME">this._c2d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.element2D.coords.usrCoords</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
|
|
294
294
|
<span class='line'>287</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
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="WHIT">
|
|
298
|
-
<span class='line'>291</span> </span><span class="WHIT">
|
|
299
|
-
<span class='line'>292</span> </span><span class="WHIT">
|
|
300
|
-
<span class='line'>293</span> </span><span class="WHIT">
|
|
301
|
-
<span class='line'>294</span> </span><span class="WHIT">
|
|
302
|
-
<span class='line'>295</span> </span><span class="WHIT">
|
|
303
|
-
<span class='line'>296</span> </span><span class="WHIT">
|
|
304
|
-
<span class='line'>297</span> </span><span class="WHIT">
|
|
305
|
-
<span class='line'>298</span> </span><span class="WHIT"> </span><span class="
|
|
306
|
-
<span class='line'>299</span> </span><span class="WHIT">
|
|
307
|
-
<span class='line'>300</span> </span><span class="WHIT">
|
|
308
|
-
<span class='line'>301</span> </span><span class="WHIT">
|
|
309
|
-
<span class='line'>302</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
310
|
-
<span class='line'>303</span> </span><span class="WHIT"> </span><span class="
|
|
311
|
-
<span class='line'>304</span> </span><span class="WHIT"> </span><span class="NAME">c3d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.view.
|
|
312
|
-
<span class='line'>305</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
313
|
-
<span class='line'>306</span> </span><span class="WHIT">
|
|
314
|
-
<span class='line'>307</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
315
|
-
<span class='line'>308</span> </span><span class="WHIT">
|
|
316
|
-
<span class='line'>309</span> </span><span class="WHIT">
|
|
317
|
-
<span class='line'>310</span>
|
|
318
|
-
<span class='line'>311</span> </span><span class="WHIT">
|
|
319
|
-
<span class='line'>312</span> </span><span class="WHIT">
|
|
320
|
-
<span class='line'>313</span> </span><span class="WHIT">
|
|
321
|
-
<span class='line'>314</span> </span><span class="WHIT"> </span><span class="
|
|
322
|
-
<span class='line'>315</span> </span><span class="WHIT"> </span><span class="NAME">this.
|
|
323
|
-
<span class='line'>316</span>
|
|
324
|
-
<span class='line'>317</span> </span><span class="WHIT">
|
|
325
|
-
<span class='line'>318</span> </span><span class="WHIT">
|
|
326
|
-
<span class='line'>319</span> </span><span class="WHIT">
|
|
327
|
-
<span class='line'>320</span> </span><span class="WHIT">
|
|
328
|
-
<span class='line'>321</span> </span><span class="WHIT">
|
|
329
|
-
<span class='line'>322</span> </span><span class="WHIT">
|
|
330
|
-
<span class='line'>323</span> </span><span class="WHIT">
|
|
331
|
-
<span class='line'>324</span> </span><span class="WHIT">
|
|
332
|
-
<span class='line'>325</span>
|
|
333
|
-
<span class='line'>326</span> </span><span class="WHIT">
|
|
334
|
-
<span class='line'>327</span> </span><span class="WHIT">
|
|
335
|
-
<span class='line'>328</span>
|
|
336
|
-
<span class='line'>329</span> </span><span class="WHIT">
|
|
337
|
-
<span class='line'>330</span> </span><span class="WHIT">
|
|
338
|
-
<span class='line'>331</span> </span><span class="WHIT">
|
|
339
|
-
<span class='line'>332</span> </span><span class="WHIT">
|
|
340
|
-
<span class='line'>333</span>
|
|
341
|
-
<span class='line'>334</span> </span><span class="WHIT">
|
|
342
|
-
<span class='line'>335</span>
|
|
343
|
-
<span class='line'>336</span>
|
|
344
|
-
<span class='line'>337</span>
|
|
345
|
-
<span class='line'>338</span> </span><span class="WHIT">
|
|
346
|
-
<span class='line'>339</span> </span><span class="WHIT">
|
|
347
|
-
<span class='line'>340</span> </span><span class="WHIT">
|
|
348
|
-
<span class='line'>341</span>
|
|
349
|
-
<span class='line'>342</span>
|
|
350
|
-
<span class='line'>343</span>
|
|
351
|
-
<span class='line'>344</span>
|
|
352
|
-
<span class='line'>345</span>
|
|
353
|
-
<span class='line'>346</span>
|
|
354
|
-
<span class='line'>347</span> </span><span class="WHIT">
|
|
355
|
-
<span class='line'>348</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
356
|
-
<span class='line'>349</span> </span><span class="WHIT">
|
|
357
|
-
<span class='line'>350</span>
|
|
358
|
-
<span class='line'>351</span>
|
|
359
|
-
<span class='line'>352</span>
|
|
360
|
-
<span class='line'>353</span>
|
|
361
|
-
<span class='line'>354</span>
|
|
362
|
-
<span class='line'>355</span> </span><span class="WHIT">
|
|
363
|
-
<span class='line'>356</span> </span><span class="WHIT">
|
|
364
|
-
<span class='line'>357</span> </span><span class="WHIT">
|
|
365
|
-
<span class='line'>358</span>
|
|
366
|
-
<span class='line'>359</span> </span><span class="WHIT">
|
|
367
|
-
<span class='line'>360</span>
|
|
368
|
-
<span class='line'>361</span>
|
|
369
|
-
<span class='line'>362</span>
|
|
370
|
-
<span class='line'>363</span>
|
|
371
|
-
<span class='line'>364</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
372
|
-
<span class='line'>365</span> </span><span class="WHIT">
|
|
373
|
-
<span class='line'>366</span> </span><span class="PUNC">
|
|
374
|
-
<span class='line'>367</span>
|
|
375
|
-
<span class='line'>368</span>
|
|
376
|
-
<span class='line'>369</span>
|
|
377
|
-
<span class='line'>370</span>
|
|
378
|
-
<span class='line'>371</span>
|
|
379
|
-
<span class='line'>372</span>
|
|
380
|
-
<span class='line'>373</span>
|
|
381
|
-
<span class='line'>374</span>
|
|
382
|
-
<span class='line'>375</span>
|
|
383
|
-
<span class='line'>376</span>
|
|
384
|
-
<span class='line'>377</span>
|
|
385
|
-
<span class='line'>378</span>
|
|
386
|
-
<span class='line'>379</span>
|
|
387
|
-
<span class='line'>380</span>
|
|
388
|
-
<span class='line'>381</span>
|
|
389
|
-
<span class='line'>382</span>
|
|
390
|
-
<span class='line'>383</span>
|
|
391
|
-
<span class='line'>384</span>
|
|
392
|
-
<span class='line'>385</span>
|
|
393
|
-
<span class='line'>386</span> *
|
|
394
|
-
<span class='line'>387</span> * @
|
|
395
|
-
<span class='line'>388</span> *
|
|
396
|
-
<span class='line'>389</span> *
|
|
397
|
-
<span class='line'>390</span> *
|
|
398
|
-
<span class='line'>391</span> *
|
|
399
|
-
<span class='line'>392</span> *
|
|
400
|
-
<span class='line'>393</span> *
|
|
401
|
-
<span class='line'>394</span> *
|
|
402
|
-
<span class='line'>395</span> *
|
|
403
|
-
<span class='line'>396</span> *
|
|
404
|
-
<span class='line'>397</span> *
|
|
405
|
-
<span class='line'>398</span> *
|
|
406
|
-
<span class='line'>399</span> *
|
|
407
|
-
<span class='line'>400</span> *
|
|
408
|
-
<span class='line'>401</span> *
|
|
409
|
-
<span class='line'>402</span> *
|
|
410
|
-
<span class='line'>403</span> *
|
|
411
|
-
<span class='line'>404</span> *
|
|
412
|
-
<span class='line'>405</span> *
|
|
413
|
-
<span class='line'>406</span> *
|
|
414
|
-
<span class='line'>407</span> *
|
|
415
|
-
<span class='line'>408</span> *
|
|
416
|
-
<span class='line'>409</span> *
|
|
417
|
-
<span class='line'>410</span> *
|
|
418
|
-
<span class='line'>411</span> *
|
|
419
|
-
<span class='line'>412</span>
|
|
420
|
-
<span class='line'>413</span>
|
|
421
|
-
<span class='line'>414</span>
|
|
422
|
-
<span class='line'>415</span>
|
|
423
|
-
<span class='line'>416</span>
|
|
424
|
-
<span class='line'>417</span>
|
|
425
|
-
<span class='line'>418</span>
|
|
426
|
-
<span class='line'>419</span>
|
|
427
|
-
<span class='line'>420</span>
|
|
428
|
-
<span class='line'>421</span>
|
|
429
|
-
<span class='line'>422</span>
|
|
430
|
-
<span class='line'>423</span>
|
|
431
|
-
<span class='line'>424</span>
|
|
432
|
-
<span class='line'>425</span>
|
|
433
|
-
<span class='line'>426</span>
|
|
434
|
-
<span class='line'>427</span>
|
|
435
|
-
<span class='line'>428</span>
|
|
436
|
-
<span class='line'>429</span>
|
|
437
|
-
<span class='line'>430</span>
|
|
438
|
-
<span class='line'>431</span> </span><span class="WHIT"> </span><span class="
|
|
439
|
-
<span class='line'>432</span> </span><span class="WHIT">
|
|
440
|
-
<span class='line'>433</span> </span><span class="WHIT">
|
|
441
|
-
<span class='line'>434</span> </span><span class="WHIT"> </span><span class="
|
|
442
|
-
<span class='line'>435</span> </span><span class="WHIT">
|
|
443
|
-
<span class='line'>436</span>
|
|
444
|
-
<span class='line'>437</span> </span><span class="WHIT"> </span><span class="
|
|
445
|
-
<span class='line'>438</span> </span><span class="WHIT"> </span><span class="
|
|
446
|
-
<span class='line'>439</span>
|
|
447
|
-
<span class='line'>440</span> </span><span class="WHIT">
|
|
448
|
-
<span class='line'>441</span> </span><span class="WHIT">
|
|
449
|
-
<span class='line'>442</span> </span><span class="WHIT">
|
|
450
|
-
<span class='line'>443</span> </span><span class="WHIT">
|
|
451
|
-
<span class='line'>444</span> </span><span class="WHIT">
|
|
452
|
-
<span class='line'>445</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
453
|
-
<span class='line'>446</span> </span><span class="WHIT">
|
|
454
|
-
<span class='line'>447</span>
|
|
455
|
-
<span class='line'>448</span>
|
|
456
|
-
<span class='line'>449</span> </span><span class="WHIT">
|
|
457
|
-
<span class='line'>450</span> </span><span class="WHIT">
|
|
458
|
-
<span class='line'>451</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
459
|
-
<span class='line'>452</span>
|
|
460
|
-
<span class='line'>453</span> </span><span class="WHIT">
|
|
461
|
-
<span class='line'>454</span>
|
|
462
|
-
<span class='line'>455</span> </span><span class="WHIT">
|
|
463
|
-
<span class='line'>456</span> </span><span class="WHIT">
|
|
464
|
-
<span class='line'>457</span> </span><span class="WHIT">
|
|
465
|
-
<span class='line'>458</span> </span><span class="WHIT">
|
|
466
|
-
<span class='line'>459</span> </span><span class="WHIT">
|
|
467
|
-
<span class='line'>460</span> </span><span class="WHIT">
|
|
468
|
-
<span class='line'>461</span>
|
|
469
|
-
<span class='line'>462</span> </span><span class="WHIT">
|
|
470
|
-
<span class='line'>463</span> </span><span class="WHIT">
|
|
471
|
-
<span class='line'>464</span> </span><span class="WHIT">
|
|
472
|
-
<span class='line'>465</span>
|
|
473
|
-
<span class='line'>466</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
474
|
-
<span class='line'>467</span>
|
|
475
|
-
<span class='line'>468</span> </span><span class="WHIT"> </span><span class="NAME">el.
|
|
295
|
+
<span class='line'>288</span>
|
|
296
|
+
<span class='line'>289</span> </span><span class="WHIT"> </span><span class="COMM">//</span><span class="WHIT">
|
|
297
|
+
<span class='line'>290</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.slide</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="NAME">this.coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slide.projectScreenCoords</span><span class="PUNC">(</span><span class="WHIT">
|
|
299
|
+
<span class='line'>292</span> </span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">this.element2D.X</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.element2D.Y</span><span class="PUNC">(</span><span class="PUNC">)</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">this._params</span><span class="WHIT">
|
|
301
|
+
<span class='line'>294</span> </span><span class="WHIT"> </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">this.element2D.coords.setCoordinates</span><span class="PUNC">(</span><span class="WHIT">
|
|
303
|
+
<span class='line'>296</span> </span><span class="WHIT"> </span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT">
|
|
304
|
+
<span class='line'>297</span> </span><span class="WHIT"> </span><span class="NAME">this.view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">this.coords</span><span class="PUNC">)</span><span class="WHIT">
|
|
305
|
+
<span class='line'>298</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
306
|
+
<span class='line'>299</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">
|
|
307
|
+
<span class='line'>300</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.view.isVerticalDrag</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
308
|
+
<span class='line'>301</span> </span><span class="WHIT"> </span><span class="COMM">// Drag the point in its vertical to the xy plane</span><span class="WHIT">
|
|
309
|
+
<span class='line'>302</span> </span><span class="WHIT"> </span><span class="COMM">// If the point is outside of bbox3d,</span><span class="WHIT">
|
|
310
|
+
<span class='line'>303</span> </span><span class="WHIT"> </span><span class="COMM">// c3d is already corrected.</span><span class="WHIT">
|
|
311
|
+
<span class='line'>304</span> </span><span class="WHIT"> </span><span class="NAME">c3d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.view.project2DTo3DVertical</span><span class="PUNC">(</span><span class="NAME">this.element2D</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.coords</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
312
|
+
<span class='line'>305</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">
|
|
313
|
+
<span class='line'>306</span> </span><span class="WHIT"> </span><span class="COMM">// Drag the point in its xy plane</span><span class="WHIT">
|
|
314
|
+
<span class='line'>307</span> </span><span class="WHIT"> </span><span class="NAME">foot</span><span class="WHIT"> </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="WHIT"> </span><span class="NAME">this.coords</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
315
|
+
<span class='line'>308</span> </span><span class="WHIT"> </span><span class="NAME">c3d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.view.project2DTo3DPlane</span><span class="PUNC">(</span><span class="NAME">this.element2D</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="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">foot</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
316
|
+
<span class='line'>309</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
317
|
+
<span class='line'>310</span>
|
|
318
|
+
<span class='line'>311</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c3d</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="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
319
|
+
<span class='line'>312</span> </span><span class="WHIT"> </span><span class="COMM">// Check if c3d is inside of view.bbox3d</span><span class="WHIT">
|
|
320
|
+
<span class='line'>313</span> </span><span class="WHIT"> </span><span class="COMM">// Otherwise, the coords have to be corrected below.</span><span class="WHIT">
|
|
321
|
+
<span class='line'>314</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">this.view.project3DToCube</span><span class="PUNC">(</span><span class="NAME">c3d</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">this.coords</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">
|
|
323
|
+
<span class='line'>316</span>
|
|
324
|
+
<span class='line'>317</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</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"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
325
|
+
<span class='line'>318</span> </span><span class="WHIT"> </span><span class="COMM">// The 3D coordinates have been corrected, now</span><span class="WHIT">
|
|
326
|
+
<span class='line'>319</span> </span><span class="WHIT"> </span><span class="COMM">// also correct the 2D element.</span><span class="WHIT">
|
|
327
|
+
<span class='line'>320</span> </span><span class="WHIT"> </span><span class="NAME">this.element2D.coords.setCoordinates</span><span class="PUNC">(</span><span class="WHIT">
|
|
328
|
+
<span class='line'>321</span> </span><span class="WHIT"> </span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT">
|
|
329
|
+
<span class='line'>322</span> </span><span class="WHIT"> </span><span class="NAME">this.view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">this.coords</span><span class="PUNC">)</span><span class="WHIT">
|
|
330
|
+
<span class='line'>323</span> </span><span class="WHIT"> </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="PUNC">}</span><span class="WHIT">
|
|
332
|
+
<span class='line'>325</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
333
|
+
<span class='line'>326</span> </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="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
335
|
+
<span class='line'>328</span> </span><span class="WHIT"> </span><span class="COMM">// Update 2D point from its 3D view</span><span class="WHIT">
|
|
336
|
+
<span class='line'>329</span> </span><span class="WHIT"> </span><span class="NAME">this.updateCoords</span><span class="PUNC">(</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="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.slide</span><span class="PUNC">)</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="NAME">this.coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slide.projectCoords</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="NAME">this.X</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.Y</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.Z</span><span class="PUNC">(</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="NAME">this._params</span><span class="WHIT">
|
|
341
|
+
<span class='line'>334</span> </span><span class="WHIT"> </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="PUNC">}</span><span class="WHIT">
|
|
343
|
+
<span class='line'>336</span> </span><span class="WHIT"> </span><span class="NAME">this.element2D.coords.setCoordinates</span><span class="PUNC">(</span><span class="WHIT">
|
|
344
|
+
<span class='line'>337</span> </span><span class="WHIT"> </span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT">
|
|
345
|
+
<span class='line'>338</span> </span><span class="WHIT"> </span><span class="NAME">this.view.project3DTo2D</span><span class="PUNC">(</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.X</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.Y</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.Z</span><span class="PUNC">(</span><span class="PUNC">)</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="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
347
|
+
<span class='line'>340</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
348
|
+
<span class='line'>341</span> </span><span class="WHIT"> </span><span class="NAME">this._c2d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.element2D.coords.usrCoords.slice</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
349
|
+
<span class='line'>342</span>
|
|
350
|
+
<span class='line'>343</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</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="PUNC">,</span><span class="WHIT">
|
|
352
|
+
<span class='line'>345</span>
|
|
353
|
+
<span class='line'>346</span> </span><span class="WHIT"> </span><span class="NAME">updateRenderer</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">
|
|
354
|
+
<span class='line'>347</span> </span><span class="WHIT"> </span><span class="NAME">this.needsUpdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
355
|
+
<span class='line'>348</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
|
356
|
+
<span class='line'>349</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
357
|
+
<span class='line'>350</span>
|
|
358
|
+
<span class='line'>351</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
359
|
+
<span class='line'>352</span> * Check whether a point's homogeneous coordinate vector is zero.
|
|
360
|
+
<span class='line'>353</span> * @returns {Boolean} True if the coordinate vector is zero; false otherwise.
|
|
361
|
+
<span class='line'>354</span> */</span><span class="WHIT">
|
|
362
|
+
<span class='line'>355</span> </span><span class="WHIT"> </span><span class="NAME">isIllDefined</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">
|
|
363
|
+
<span class='line'>356</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Type.cmpArrays</span><span class="PUNC">(</span><span class="NAME">this.coords</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="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</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="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
365
|
+
<span class='line'>358</span>
|
|
366
|
+
<span class='line'>359</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
367
|
+
<span class='line'>360</span> * Calculate the distance from one point to another. If one of the points is on the plane at infinity, return positive infinity.
|
|
368
|
+
<span class='line'>361</span> * @param {JXG.Point3D} pt The point to which the distance is calculated.
|
|
369
|
+
<span class='line'>362</span> * @returns {Number} The distance
|
|
370
|
+
<span class='line'>363</span> */</span><span class="WHIT">
|
|
371
|
+
<span class='line'>364</span> </span><span class="WHIT"> </span><span class="NAME">distance</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">pt</span><span class="PUNC">)</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="KEYW">var</span><span class="WHIT"> </span><span class="NAME">eps_sq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Mat.eps</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Mat.eps</span><span class="PUNC">,</span><span class="WHIT">
|
|
373
|
+
<span class='line'>366</span> </span><span class="WHIT"> </span><span class="NAME">c_this</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.coords</span><span class="PUNC">,</span><span class="WHIT">
|
|
374
|
+
<span class='line'>367</span> </span><span class="WHIT"> </span><span class="NAME">c_pt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pt.coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
375
|
+
<span class='line'>368</span>
|
|
376
|
+
<span class='line'>369</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c_this</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">c_this</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">eps_sq</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">c_pt</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">c_pt</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">eps_sq</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
377
|
+
<span class='line'>370</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Mat.hypot</span><span class="PUNC">(</span><span class="WHIT">
|
|
378
|
+
<span class='line'>371</span> </span><span class="WHIT"> </span><span class="NAME">c_pt</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">c_this</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
379
|
+
<span class='line'>372</span> </span><span class="WHIT"> </span><span class="NAME">c_pt</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">c_this</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
380
|
+
<span class='line'>373</span> </span><span class="WHIT"> </span><span class="NAME">c_pt</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">c_this</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="WHIT">
|
|
381
|
+
<span class='line'>374</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
382
|
+
<span class='line'>375</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">
|
|
383
|
+
<span class='line'>376</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Number.POSITIVE_INFINITY</span><span class="PUNC">;</span><span class="WHIT">
|
|
384
|
+
<span class='line'>377</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
385
|
+
<span class='line'>378</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
386
|
+
<span class='line'>379</span>
|
|
387
|
+
<span class='line'>380</span> </span><span class="WHIT"> </span><span class="COMM">// Not yet working</span><span class="WHIT">
|
|
388
|
+
<span class='line'>381</span> </span><span class="WHIT"> </span><span class="NAME">__evt__update3D</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">oc</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
|
|
389
|
+
<span class='line'>382</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
390
|
+
<span class='line'>383</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
391
|
+
<span class='line'>384</span>
|
|
392
|
+
<span class='line'>385</span> </span><span class="COMM">/**
|
|
393
|
+
<span class='line'>386</span> * @class This element is used to provide a constructor for a 3D Point.
|
|
394
|
+
<span class='line'>387</span> * @pseudo
|
|
395
|
+
<span class='line'>388</span> * @description A Point3D object is defined by 3 coordinates [x,y,z].
|
|
396
|
+
<span class='line'>389</span> * <p>
|
|
397
|
+
<span class='line'>390</span> * All numbers can also be provided as functions returning a number.
|
|
398
|
+
<span class='line'>391</span> *
|
|
399
|
+
<span class='line'>392</span> * @name Point3D
|
|
400
|
+
<span class='line'>393</span> * @augments JXG.Point3D
|
|
401
|
+
<span class='line'>394</span> * @constructor
|
|
402
|
+
<span class='line'>395</span> * @throws {Exception} If the element cannot be constructed with the given parent
|
|
403
|
+
<span class='line'>396</span> * objects an exception is thrown.
|
|
404
|
+
<span class='line'>397</span> * @param {number,function_number,function_number,function} x,y,z The coordinates are given as x, y, z consisting of numbers of functions.
|
|
405
|
+
<span class='line'>398</span> * @param {array,function} F Alternatively, the coordinates can be supplied as
|
|
406
|
+
<span class='line'>399</span> * <ul>
|
|
407
|
+
<span class='line'>400</span> * <li>array arr=[x,y,z] of length 3 consisting of numbers or
|
|
408
|
+
<span class='line'>401</span> * <li>function returning an array [x,y,z] of length 3 of numbers.
|
|
409
|
+
<span class='line'>402</span> * </ul>
|
|
410
|
+
<span class='line'>403</span> *
|
|
411
|
+
<span class='line'>404</span> * @example
|
|
412
|
+
<span class='line'>405</span> * var bound = [-5, 5];
|
|
413
|
+
<span class='line'>406</span> * var view = board.create('view3d',
|
|
414
|
+
<span class='line'>407</span> * [[-6, -3], [8, 8],
|
|
415
|
+
<span class='line'>408</span> * [bound, bound, bound]],
|
|
416
|
+
<span class='line'>409</span> * {});
|
|
417
|
+
<span class='line'>410</span> * var p = view.create('point3d', [1, 2, 2], { name:'A', size: 5 });
|
|
418
|
+
<span class='line'>411</span> * var q = view.create('point3d', function() { return [p.X(), p.Y(), p.Z() - 3]; }, { name:'B', size: 5, fixed: true });
|
|
419
|
+
<span class='line'>412</span> *
|
|
420
|
+
<span class='line'>413</span> * </pre><div id="JXGb9ee8f9f-3d2b-4f73-8221-4f82c09933f1" class="jxgbox" style="width: 300px; height: 300px;"></div>
|
|
421
|
+
<span class='line'>414</span> * <script type="text/javascript">
|
|
422
|
+
<span class='line'>415</span> * (function() {
|
|
423
|
+
<span class='line'>416</span> * var board = JXG.JSXGraph.initBoard('JXGb9ee8f9f-3d2b-4f73-8221-4f82c09933f1',
|
|
424
|
+
<span class='line'>417</span> * {boundingbox: [-8, 8, 8,-8], axis: false, pan: {enabled: false}, showcopyright: false, shownavigation: false});
|
|
425
|
+
<span class='line'>418</span> * var bound = [-5, 5];
|
|
426
|
+
<span class='line'>419</span> * var view = board.create('view3d',
|
|
427
|
+
<span class='line'>420</span> * [[-6, -3], [8, 8],
|
|
428
|
+
<span class='line'>421</span> * [bound, bound, bound]],
|
|
429
|
+
<span class='line'>422</span> * {});
|
|
430
|
+
<span class='line'>423</span> * var p = view.create('point3d', [1, 2, 2], { name:'A', size: 5 });
|
|
431
|
+
<span class='line'>424</span> * var q = view.create('point3d', function() { return [p.X(), p.Y(), p.Z() - 3]; }, { name:'B', size: 5 });
|
|
432
|
+
<span class='line'>425</span> * })();
|
|
433
|
+
<span class='line'>426</span> *
|
|
434
|
+
<span class='line'>427</span> * </script><pre>
|
|
435
|
+
<span class='line'>428</span> *
|
|
436
|
+
<span class='line'>429</span> */</span><span class="WHIT">
|
|
437
|
+
<span class='line'>430</span> </span><span class="NAME">JXG.createPoint3D</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">
|
|
438
|
+
<span class='line'>431</span> </span><span class="WHIT"> </span><span class="COMM">// parents[0]: view</span><span class="WHIT">
|
|
439
|
+
<span class='line'>432</span> </span><span class="WHIT"> </span><span class="COMM">// followed by</span><span class="WHIT">
|
|
440
|
+
<span class='line'>433</span> </span><span class="WHIT"> </span><span class="COMM">// parents[1]: function or array</span><span class="WHIT">
|
|
441
|
+
<span class='line'>434</span> </span><span class="WHIT"> </span><span class="COMM">// or</span><span class="WHIT">
|
|
442
|
+
<span class='line'>435</span> </span><span class="WHIT"> </span><span class="COMM">// parents[1..3]: coordinates</span><span class="WHIT">
|
|
443
|
+
<span class='line'>436</span>
|
|
444
|
+
<span class='line'>437</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">
|
|
445
|
+
<span class='line'>438</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">F</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">slide</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">c2d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
|
|
446
|
+
<span class='line'>439</span>
|
|
447
|
+
<span class='line'>440</span> </span><span class="WHIT"> </span><span class="COMM">// If the last element of parents is a 3D object,</span><span class="WHIT">
|
|
448
|
+
<span class='line'>441</span> </span><span class="WHIT"> </span><span class="COMM">// the point is a glider on that element.</span><span class="WHIT">
|
|
449
|
+
<span class='line'>442</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parents.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NAME">parents.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">is3D</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
450
|
+
<span class='line'>443</span> </span><span class="WHIT"> </span><span class="NAME">slide</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents.pop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
451
|
+
<span class='line'>444</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">
|
|
452
|
+
<span class='line'>445</span> </span><span class="WHIT"> </span><span class="NAME">slide</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">
|
|
453
|
+
<span class='line'>446</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
454
|
+
<span class='line'>447</span>
|
|
455
|
+
<span class='line'>448</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parents.length</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">
|
|
456
|
+
<span class='line'>449</span> </span><span class="WHIT"> </span><span class="COMM">// [view, array|fun] (Array [x, y, z] | function) returning [x, y, z]</span><span class="WHIT">
|
|
457
|
+
<span class='line'>450</span> </span><span class="WHIT"> </span><span class="NAME">F</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">
|
|
458
|
+
<span class='line'>451</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">parents.length</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
459
|
+
<span class='line'>452</span> </span><span class="WHIT"> </span><span class="COMM">// [view, x, y, z], (3 numbers | functions)</span><span class="WHIT">
|
|
460
|
+
<span class='line'>453</span> </span><span class="WHIT"> </span><span class="NAME">F</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents.slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
461
|
+
<span class='line'>454</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">
|
|
462
|
+
<span class='line'>455</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="WHIT">
|
|
463
|
+
<span class='line'>456</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create point3d with parent types '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
464
|
+
<span class='line'>457</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</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="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
465
|
+
<span class='line'>458</span> </span><span class="WHIT"> </span><span class="STRN">"' and '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
466
|
+
<span class='line'>459</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</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="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
467
|
+
<span class='line'>460</span> </span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
468
|
+
<span class='line'>461</span> </span><span class="WHIT"> </span><span class="STRN">"\nPossible parent types: [[x,y,z]], [x,y,z]"</span><span class="WHIT">
|
|
469
|
+
<span class='line'>462</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
470
|
+
<span class='line'>463</span> </span><span class="WHIT"> </span><span class="COMM">// "\nPossible parent types: [[x,y,z]], [x,y,z], [element,transformation]"); // TODO</span><span class="WHIT">
|
|
471
|
+
<span class='line'>464</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
472
|
+
<span class='line'>465</span>
|
|
473
|
+
<span class='line'>466</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">'point3d'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
474
|
+
<span class='line'>467</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="KEYW">new</span><span class="WHIT"> </span><span class="NAME">JXG.Point3D</span><span class="PUNC">(</span><span class="NAME">view</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">F</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">slide</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">
|
|
475
|
+
<span class='line'>468</span> </span><span class="WHIT"> </span><span class="NAME">el.initCoords</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
476
476
|
<span class='line'>469</span>
|
|
477
|
-
<span class='line'>470</span> </span><span class="WHIT"> </span><span class="
|
|
478
|
-
<span class='line'>471</span>
|
|
479
|
-
<span class='line'>472</span>
|
|
480
|
-
<span class='line'>473</span> </span><span class="NAME">
|
|
481
|
-
<span class='line'>474</span> </span
|
|
477
|
+
<span class='line'>470</span> </span><span class="WHIT"> </span><span class="NAME">c2d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.project3DTo2D</span><span class="PUNC">(</span><span class="NAME">el.coords</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
478
|
+
<span class='line'>471</span>
|
|
479
|
+
<span class='line'>472</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">el.setAttr2D</span><span class="PUNC">(</span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
480
|
+
<span class='line'>473</span> </span><span class="WHIT"> </span><span class="NAME">el.element2D</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">'point'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">c2d</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">
|
|
481
|
+
<span class='line'>474</span> </span><span class="WHIT"> </span><span class="NAME">el.element2D.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">
|
|
482
|
+
<span class='line'>475</span> </span><span class="WHIT"> </span><span class="NAME">el.addChild</span><span class="PUNC">(</span><span class="NAME">el.element2D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
483
|
+
<span class='line'>476</span> </span><span class="WHIT"> </span><span class="NAME">el.inherits.push</span><span class="PUNC">(</span><span class="NAME">el.element2D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
484
|
+
<span class='line'>477</span> </span><span class="WHIT"> </span><span class="NAME">el.element2D.setParents</span><span class="PUNC">(</span><span class="NAME">el</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
485
|
+
<span class='line'>478</span>
|
|
486
|
+
<span class='line'>479</span> </span><span class="WHIT"> </span><span class="COMM">// if this point is a glider, record that in the update tree</span><span class="WHIT">
|
|
487
|
+
<span class='line'>480</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">el.slide</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
488
|
+
<span class='line'>481</span> </span><span class="WHIT"> </span><span class="NAME">el.slide.addChild</span><span class="PUNC">(</span><span class="NAME">el</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
489
|
+
<span class='line'>482</span> </span><span class="WHIT"> </span><span class="NAME">el.setParents</span><span class="PUNC">(</span><span class="NAME">el.slide</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
490
|
+
<span class='line'>483</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
491
|
+
<span class='line'>484</span>
|
|
492
|
+
<span class='line'>485</span> </span><span class="WHIT"> </span><span class="NAME">el._c2d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.element2D.coords.usrCoords.slice</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// Store a copy of the coordinates to detect dragging</span><span class="WHIT">
|
|
493
|
+
<span class='line'>486</span>
|
|
494
|
+
<span class='line'>487</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">
|
|
495
|
+
<span class='line'>488</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
496
|
+
<span class='line'>489</span>
|
|
497
|
+
<span class='line'>490</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"point3d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createPoint3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
498
|
+
<span class='line'>491</span> </span></pre></body></html>
|