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
|
@@ -1910,287 +1910,396 @@
|
|
|
1910
1910
|
<span class='line'>1903</span> * @param {Number} [time] Number of milliseconds the animation should last.
|
|
1911
1911
|
<span class='line'>1904</span> * @param {Object} [options] Optional settings for the animation
|
|
1912
1912
|
<span class='line'>1905</span> * @param {function} [options.callback] A function that is called as soon as the animation is finished.
|
|
1913
|
-
<span class='line'>1906</span> * @param {String} [options.effect='<>'] animation effects like speed fade in and out. possible values are
|
|
1914
|
-
<span class='line'>1907</span> * '<>' for speed increase on start and slow down at the end (default) and '--' for constant speed during
|
|
1913
|
+
<span class='line'>1906</span> * @param {String} [options.effect='<>'|'>'|'<'] animation effects like speed fade in and out. possible values are
|
|
1914
|
+
<span class='line'>1907</span> * '<>' for speed increase on start and slow down at the end (default), '<' for speed up, '>' for slow down, and '--' for constant speed during
|
|
1915
1915
|
<span class='line'>1908</span> * the whole animation.
|
|
1916
1916
|
<span class='line'>1909</span> * @returns {JXG.CoordsElement} Reference to itself.
|
|
1917
1917
|
<span class='line'>1910</span> * @see JXG.CoordsElement#moveAlong
|
|
1918
1918
|
<span class='line'>1911</span> * @see JXG.CoordsElement#visit
|
|
1919
1919
|
<span class='line'>1912</span> * @see JXG.GeometryElement#animate
|
|
1920
|
-
<span class='line'>1913</span>
|
|
1921
|
-
<span class='line'>1914</span>
|
|
1922
|
-
<span class='line'>1915</span>
|
|
1923
|
-
<span class='line'>1916</span>
|
|
1924
|
-
<span class='line'>1917</span>
|
|
1925
|
-
<span class='line'>1918</span>
|
|
1926
|
-
<span class='line'>1919</span>
|
|
1927
|
-
<span class='line'>1920</span>
|
|
1928
|
-
<span class='line'>1921</span>
|
|
1929
|
-
<span class='line'>1922</span>
|
|
1930
|
-
<span class='line'>1923</span>
|
|
1931
|
-
<span class='line'>1924</span>
|
|
1932
|
-
<span class='line'>1925</span>
|
|
1933
|
-
<span class='line'>1926</span>
|
|
1934
|
-
<span class='line'>1927</span>
|
|
1935
|
-
<span class='line'>1928</span>
|
|
1936
|
-
<span class='line'>1929</span>
|
|
1937
|
-
<span class='line'>1930</span>
|
|
1938
|
-
<span class='line'>1931</span>
|
|
1939
|
-
<span class='line'>1932</span>
|
|
1940
|
-
<span class='line'>1933</span>
|
|
1941
|
-
<span class='line'>1934</span>
|
|
1942
|
-
<span class='line'>1935</span>
|
|
1943
|
-
<span class='line'>1936</span>
|
|
1944
|
-
<span class='line'>1937</span>
|
|
1945
|
-
<span class='line'>1938</span>
|
|
1946
|
-
<span class='line'>1939</span>
|
|
1947
|
-
<span class='line'>1940</span>
|
|
1948
|
-
<span class='line'>1941</span>
|
|
1949
|
-
<span class='line'>1942</span>
|
|
1950
|
-
<span class='line'>1943</span>
|
|
1951
|
-
<span class='line'>1944</span>
|
|
1952
|
-
<span class='line'>1945</span>
|
|
1953
|
-
<span class='line'>1946</span>
|
|
1954
|
-
<span class='line'>1947</span>
|
|
1955
|
-
<span class='line'>1948</span>
|
|
1956
|
-
<span class='line'>1949</span>
|
|
1957
|
-
<span class='line'>1950</span>
|
|
1958
|
-
<span class='line'>1951</span>
|
|
1959
|
-
<span class='line'>1952</span>
|
|
1960
|
-
<span class='line'>1953</span>
|
|
1961
|
-
<span class='line'>1954</span>
|
|
1962
|
-
<span class='line'>1955</span>
|
|
1963
|
-
<span class='line'>1956</span>
|
|
1964
|
-
<span class='line'>1957</span>
|
|
1965
|
-
<span class='line'>1958</span>
|
|
1966
|
-
<span class='line'>1959</span>
|
|
1967
|
-
<span class='line'>1960</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1968
|
-
<span class='line'>1961</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1969
|
-
<span class='line'>1962</span>
|
|
1970
|
-
<span class='line'>1963</span>
|
|
1971
|
-
<span class='line'>1964</span> </span><span class="WHIT">
|
|
1972
|
-
<span class='line'>1965</span> </span><span class="WHIT">
|
|
1973
|
-
<span class='line'>1966</span>
|
|
1974
|
-
<span class='line'>1967</span> </span><span class="WHIT">
|
|
1975
|
-
<span class='line'>1968</span>
|
|
1976
|
-
<span class='line'>1969</span>
|
|
1977
|
-
<span class='line'>1970</span>
|
|
1978
|
-
<span class='line'>1971</span>
|
|
1979
|
-
<span class='line'>1972</span>
|
|
1980
|
-
<span class='line'>1973</span>
|
|
1981
|
-
<span class='line'>1974</span>
|
|
1982
|
-
<span class='line'>1975</span>
|
|
1983
|
-
<span class='line'>1976</span>
|
|
1984
|
-
<span class='line'>1977</span>
|
|
1985
|
-
<span class='line'>1978</span>
|
|
1986
|
-
<span class='line'>1979</span>
|
|
1987
|
-
<span class='line'>1980</span>
|
|
1988
|
-
<span class='line'>1981</span>
|
|
1989
|
-
<span class='line'>1982</span>
|
|
1990
|
-
<span class='line'>1983</span>
|
|
1991
|
-
<span class='line'>1984</span> </span><span class="WHIT">
|
|
1992
|
-
<span class='line'>1985</span> </span><span class="WHIT">
|
|
1993
|
-
<span class='line'>1986</span>
|
|
1994
|
-
<span class='line'>1987</span> </span><span class="WHIT">
|
|
1995
|
-
<span class='line'>1988</span> </span><span class="WHIT">
|
|
1996
|
-
<span class='line'>1989</span> </span><span class="WHIT">
|
|
1997
|
-
<span class='line'>1990</span> </span><span class="WHIT">
|
|
1998
|
-
<span class='line'>1991</span> </span><span class="WHIT"> </span><span class="
|
|
1999
|
-
<span class='line'>1992</span>
|
|
2000
|
-
<span class='line'>1993</span> </span><span class="WHIT">
|
|
2001
|
-
<span class='line'>1994</span> </span><span class="WHIT"> </span><span class="
|
|
2002
|
-
<span class='line'>1995</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2003
|
-
<span class='line'>1996</span> </span><span class="WHIT"> </span><span class="
|
|
2004
|
-
<span class='line'>1997</span> </span><span class="WHIT">
|
|
2005
|
-
<span class='line'>1998</span> </span><span class="WHIT">
|
|
2006
|
-
<span class='line'>1999</span>
|
|
2007
|
-
<span class='line'>2000</span> </span><span class="WHIT">
|
|
2008
|
-
<span class='line'>2001</span>
|
|
2009
|
-
<span class='line'>2002</span> </span><span class="WHIT">
|
|
2010
|
-
<span class='line'>2003</span>
|
|
2011
|
-
<span class='line'>2004</span> </span><span class="WHIT">
|
|
2012
|
-
<span class='line'>2005</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2013
|
-
<span class='line'>2006</span>
|
|
2014
|
-
<span class='line'>2007</span> </span><span class="WHIT"> </span><span class="
|
|
2015
|
-
<span class='line'>2008</span> </span><span class="WHIT">
|
|
2016
|
-
<span class='line'>2009</span> </span><span class="WHIT">
|
|
2017
|
-
<span class='line'>2010</span>
|
|
2018
|
-
<span class='line'>2011</span> </span><span class="WHIT">
|
|
2019
|
-
<span class='line'>2012</span> </span><span class="WHIT"> </span><span class="
|
|
2020
|
-
<span class='line'>2013</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2021
|
-
<span class='line'>2014</span> </span><span class="WHIT">
|
|
2022
|
-
<span class='line'>2015</span> </span><span class="WHIT">
|
|
2023
|
-
<span class='line'>2016</span>
|
|
2024
|
-
<span class='line'>2017</span> </span><span class="WHIT"> </span><span class="
|
|
1920
|
+
<span class='line'>1913</span> * @example
|
|
1921
|
+
<span class='line'>1914</span> * // moveTo() with different easing options and callback options
|
|
1922
|
+
<span class='line'>1915</span> * let yInit = 3
|
|
1923
|
+
<span class='line'>1916</span> * let [A, B, C, D] = ['==', '<>', '<', '>'].map((s) => board.create('point', [4, yInit--], { name: s, label: { fontSize: 24 } }))
|
|
1924
|
+
<span class='line'>1917</span> * let seg = board.create('segment', [A, [() => A.X(), 0]]) // shows linear
|
|
1925
|
+
<span class='line'>1918</span> *
|
|
1926
|
+
<span class='line'>1919</span> *let isLeftRight = true;
|
|
1927
|
+
<span class='line'>1920</span> *let buttonMove = board.create('button', [-2, 4, 'left',
|
|
1928
|
+
<span class='line'>1921</span> *() => {
|
|
1929
|
+
<span class='line'>1922</span> * isLeftRight = !isLeftRight;
|
|
1930
|
+
<span class='line'>1923</span> * buttonMove.rendNodeButton.innerHTML = isLeftRight ? 'left' : 'right'
|
|
1931
|
+
<span class='line'>1924</span> * let x = isLeftRight ? 4 : -4
|
|
1932
|
+
<span class='line'>1925</span> * let sym = isLeftRight ? 'triangleleft' : 'triangleright'
|
|
1933
|
+
<span class='line'>1926</span> *
|
|
1934
|
+
<span class='line'>1927</span> * A.moveTo([x, 3], 1000, { callback: () => A.setAttribute({ face: sym, size: 5 }) })
|
|
1935
|
+
<span class='line'>1928</span> * B.moveTo([x, 2], 1000, { callback: () => B.setAttribute({ face: sym, size: 5 }), effect: "<>" })
|
|
1936
|
+
<span class='line'>1929</span> * C.moveTo([x, 1], 1000, { callback: () => C.setAttribute({ face: sym, size: 5 }), effect: "<" })
|
|
1937
|
+
<span class='line'>1930</span> * D.moveTo([x, 0], 1000, { callback: () => D.setAttribute({ face: sym, size: 5 }), effect: ">" })
|
|
1938
|
+
<span class='line'>1931</span> *
|
|
1939
|
+
<span class='line'>1932</span> *}])
|
|
1940
|
+
<span class='line'>1933</span> *
|
|
1941
|
+
<span class='line'>1934</span> </pre><div id="JXG0f35a50e-e99d-11e8-a1ca-04d3b0c2aad4" class="jxgbox" style="width: 300px; height: 300px;"></div>
|
|
1942
|
+
<span class='line'>1935</span> <script type="text/javascript">
|
|
1943
|
+
<span class='line'>1936</span> {
|
|
1944
|
+
<span class='line'>1937</span> * let board = JXG.JSXGraph.initBoard('JXG0f35a50e-e99d-11e8-a1ca-04d3b0c2aad4')
|
|
1945
|
+
<span class='line'>1938</span> let yInit = 3
|
|
1946
|
+
<span class='line'>1939</span> let [A, B, C, D] = ['==', '<>', '<', '>'].map((s) => board.create('point', [4, yInit--], { name: s, label: { fontSize: 24 } }))
|
|
1947
|
+
<span class='line'>1940</span> let seg = board.create('segment', [A, [() => A.X(), 0]]) // shows linear
|
|
1948
|
+
<span class='line'>1941</span>
|
|
1949
|
+
<span class='line'>1942</span> let isLeftRight = true;
|
|
1950
|
+
<span class='line'>1943</span> let buttonMove = board.create('button', [-2, 4, 'left',
|
|
1951
|
+
<span class='line'>1944</span> () => {
|
|
1952
|
+
<span class='line'>1945</span> isLeftRight = !isLeftRight;
|
|
1953
|
+
<span class='line'>1946</span> buttonMove.rendNodeButton.innerHTML = isLeftRight ? 'left' : 'right'
|
|
1954
|
+
<span class='line'>1947</span> let x = isLeftRight ? 4 : -4
|
|
1955
|
+
<span class='line'>1948</span> let sym = isLeftRight ? 'triangleleft' : 'triangleright'
|
|
1956
|
+
<span class='line'>1949</span>
|
|
1957
|
+
<span class='line'>1950</span> A.moveTo([x, 3], 1000, { callback: () => A.setAttribute({ face: sym, size: 5 }) })
|
|
1958
|
+
<span class='line'>1951</span> B.moveTo([x, 2], 1000, { callback: () => B.setAttribute({ face: sym, size: 5 }), effect: "<>" })
|
|
1959
|
+
<span class='line'>1952</span> C.moveTo([x, 1], 1000, { callback: () => C.setAttribute({ face: sym, size: 5 }), effect: "<" })
|
|
1960
|
+
<span class='line'>1953</span> D.moveTo([x, 0], 1000, { callback: () => D.setAttribute({ face: sym, size: 5 }), effect: ">" })
|
|
1961
|
+
<span class='line'>1954</span>
|
|
1962
|
+
<span class='line'>1955</span> }])
|
|
1963
|
+
<span class='line'>1956</span> }
|
|
1964
|
+
<span class='line'>1957</span> </script><pre>
|
|
1965
|
+
<span class='line'>1958</span> */</span><span class="WHIT">
|
|
1966
|
+
<span class='line'>1959</span> </span><span class="WHIT"> </span><span class="NAME">moveTo</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">where</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">time</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1967
|
+
<span class='line'>1960</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</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">
|
|
1968
|
+
<span class='line'>1961</span> </span><span class="WHIT"> </span><span class="NAME">where</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">Coords</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1969
|
+
<span class='line'>1962</span>
|
|
1970
|
+
<span class='line'>1963</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
|
|
1971
|
+
<span class='line'>1964</span> </span><span class="WHIT"> </span><span class="NAME">delay</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.attr.animationdelay</span><span class="PUNC">,</span><span class="WHIT">
|
|
1972
|
+
<span class='line'>1965</span> </span><span class="WHIT"> </span><span class="NAME">steps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">time</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">delay</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
1973
|
+
<span class='line'>1966</span> </span><span class="WHIT"> </span><span class="NAME">coords</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">
|
|
1974
|
+
<span class='line'>1967</span> </span><span class="WHIT"> </span><span class="NAME">X</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.coords.usrCoords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
1975
|
+
<span class='line'>1968</span> </span><span class="WHIT"> </span><span class="NAME">Y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.coords.usrCoords</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
1976
|
+
<span class='line'>1969</span> </span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">where.usrCoords</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">X</span><span class="PUNC">,</span><span class="WHIT">
|
|
1977
|
+
<span class='line'>1970</span> </span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">where.usrCoords</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">Y</span><span class="PUNC">,</span><span class="WHIT">
|
|
1978
|
+
<span class='line'>1971</span> </span><span class="WHIT"> </span><span class="COMM">/** @ignore */</span><span class="WHIT">
|
|
1979
|
+
<span class='line'>1972</span> </span><span class="WHIT"> </span><span class="NAME">stepFun</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">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1980
|
+
<span class='line'>1973</span> </span><span class="WHIT"> </span><span class="NAME">let</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// absolute progress of the animatin</span><span class="WHIT">
|
|
1981
|
+
<span class='line'>1974</span>
|
|
1982
|
+
<span class='line'>1975</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1983
|
+
<span class='line'>1976</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"<>"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1984
|
+
<span class='line'>1977</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.PI</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1985
|
+
<span class='line'>1978</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1986
|
+
<span class='line'>1979</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"<"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// cubic ease in</span><span class="WHIT">
|
|
1987
|
+
<span class='line'>1980</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">;</span><span class="WHIT">
|
|
1988
|
+
<span class='line'>1981</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1989
|
+
<span class='line'>1982</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">">"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// cubic ease out</span><span class="WHIT">
|
|
1990
|
+
<span class='line'>1983</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">x</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">
|
|
1991
|
+
<span class='line'>1984</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1992
|
+
<span class='line'>1985</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"=="</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1993
|
+
<span class='line'>1986</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// linear</span><span class="WHIT">
|
|
1994
|
+
<span class='line'>1987</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1995
|
+
<span class='line'>1988</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="STRN">"valid effects are '==', '<>', '>', and '<'."</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1996
|
+
<span class='line'>1989</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1997
|
+
<span class='line'>1990</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// default</span><span class="WHIT">
|
|
1998
|
+
<span class='line'>1991</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1999
|
+
<span class='line'>1992</span>
|
|
2000
|
+
<span class='line'>1993</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
|
2001
|
+
<span class='line'>1994</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">time</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
|
|
2002
|
+
<span class='line'>1995</span> </span><span class="WHIT"> </span><span class="NAME">time</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">
|
|
2003
|
+
<span class='line'>1996</span> </span><span class="WHIT"> </span><span class="NAME">Math.abs</span><span class="PUNC">(</span><span class="NAME">where.usrCoords</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">this.coords.usrCoords</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">Mat.eps</span><span class="WHIT">
|
|
2004
|
+
<span class='line'>1997</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2005
|
+
<span class='line'>1998</span> </span><span class="WHIT"> </span><span class="NAME">this.setPosition</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where.usrCoords</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2006
|
+
<span class='line'>1999</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.board.update</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2007
|
+
<span class='line'>2000</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2008
|
+
<span class='line'>2001</span>
|
|
2009
|
+
<span class='line'>2002</span> </span><span class="WHIT"> </span><span class="COMM">// In case there is no callback and we are already at the endpoint we can stop here</span><span class="WHIT">
|
|
2010
|
+
<span class='line'>2003</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
|
2011
|
+
<span class='line'>2004</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">options.callback</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
2012
|
+
<span class='line'>2005</span> </span><span class="WHIT"> </span><span class="NAME">Math.abs</span><span class="PUNC">(</span><span class="NAME">dX</span><span class="PUNC">)</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">
|
|
2013
|
+
<span class='line'>2006</span> </span><span class="WHIT"> </span><span class="NAME">Math.abs</span><span class="PUNC">(</span><span class="NAME">dY</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">Mat.eps</span><span class="WHIT">
|
|
2014
|
+
<span class='line'>2007</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2015
|
+
<span class='line'>2008</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">
|
|
2016
|
+
<span class='line'>2009</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2017
|
+
<span class='line'>2010</span>
|
|
2018
|
+
<span class='line'>2011</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="NAME">steps</span><span class="PUNC">;</span><span class="WHIT"> </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="PUNC">--</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2019
|
+
<span class='line'>2012</span> </span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NAME">steps</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
2020
|
+
<span class='line'>2013</span> </span><span class="WHIT"> </span><span class="NAME">where.usrCoords</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
2021
|
+
<span class='line'>2014</span> </span><span class="WHIT"> </span><span class="NAME">X</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">stepFun</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
2022
|
+
<span class='line'>2015</span> </span><span class="WHIT"> </span><span class="NAME">Y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">stepFun</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="WHIT">
|
|
2023
|
+
<span class='line'>2016</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
2024
|
+
<span class='line'>2017</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2025
2025
|
<span class='line'>2018</span>
|
|
2026
|
-
<span class='line'>2019</span> </span><span class="WHIT"> </span><span class="
|
|
2027
|
-
<span class='line'>2020</span> </span><span class="WHIT">
|
|
2028
|
-
<span class='line'>2021</span> </span><span class="WHIT">
|
|
2029
|
-
<span class='line'>2022</span>
|
|
2030
|
-
<span class='line'>2023</span> </span><span class="WHIT">
|
|
2031
|
-
<span class='line'>2024</span> </span><span class="WHIT">
|
|
2032
|
-
<span class='line'>2025</span>
|
|
2033
|
-
<span class='line'>2026</span> </span><span class="WHIT">
|
|
2034
|
-
<span class='line'>2027</span>
|
|
2035
|
-
<span class='line'>2028</span>
|
|
2036
|
-
<span class='line'>2029</span>
|
|
2037
|
-
<span class='line'>2030</span>
|
|
2038
|
-
<span class='line'>2031</span>
|
|
2039
|
-
<span class='line'>2032</span>
|
|
2040
|
-
<span class='line'>2033</span>
|
|
2041
|
-
<span class='line'>2034</span>
|
|
2042
|
-
<span class='line'>2035</span>
|
|
2043
|
-
<span class='line'>2036</span> *
|
|
2044
|
-
<span class='line'>2037</span> * @param {Number}
|
|
2045
|
-
<span class='line'>2038</span> * @
|
|
2046
|
-
<span class='line'>2039</span> *
|
|
2047
|
-
<span class='line'>2040</span> * @see #
|
|
2048
|
-
<span class='line'>2041</span> * @see #
|
|
2049
|
-
<span class='line'>2042</span> * @
|
|
2050
|
-
<span class='line'>2043</span> *
|
|
2051
|
-
<span class='line'>2044</span>
|
|
2052
|
-
<span class='line'>2045</span>
|
|
2053
|
-
<span class='line'>2046</span>
|
|
2054
|
-
<span class='line'>2047</span>
|
|
2055
|
-
<span class='line'>2048</span>
|
|
2056
|
-
<span class='line'>2049</span>
|
|
2057
|
-
<span class='line'>2050</span>
|
|
2058
|
-
<span class='line'>2051</span>
|
|
2059
|
-
<span class='line'>2052</span>
|
|
2060
|
-
<span class='line'>2053</span>
|
|
2061
|
-
<span class='line'>2054</span>
|
|
2062
|
-
<span class='line'>2055</span>
|
|
2063
|
-
<span class='line'>2056</span>
|
|
2064
|
-
<span class='line'>2057</span>
|
|
2065
|
-
<span class='line'>2058</span>
|
|
2066
|
-
<span class='line'>2059</span>
|
|
2067
|
-
<span class='line'>2060</span>
|
|
2068
|
-
<span class='line'>2061</span>
|
|
2069
|
-
<span class='line'>2062</span>
|
|
2070
|
-
<span class='line'>2063</span>
|
|
2071
|
-
<span class='line'>2064</span>
|
|
2072
|
-
<span class='line'>2065</span>
|
|
2026
|
+
<span class='line'>2019</span> </span><span class="WHIT"> </span><span class="NAME">this.animationPath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2027
|
+
<span class='line'>2020</span> </span><span class="WHIT"> </span><span class="NAME">this.animationCallback</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.callback</span><span class="PUNC">;</span><span class="WHIT">
|
|
2028
|
+
<span class='line'>2021</span> </span><span class="WHIT"> </span><span class="NAME">this.board.addAnimation</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2029
|
+
<span class='line'>2022</span>
|
|
2030
|
+
<span class='line'>2023</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">
|
|
2031
|
+
<span class='line'>2024</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2032
|
+
<span class='line'>2025</span>
|
|
2033
|
+
<span class='line'>2026</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2034
|
+
<span class='line'>2027</span> * Starts an animated point movement towards the given coordinates <tt>where</tt>. After arriving at
|
|
2035
|
+
<span class='line'>2028</span> * <tt>where</tt> the point moves back to where it started. The animation is done after <tt>time</tt>
|
|
2036
|
+
<span class='line'>2029</span> * milliseconds.
|
|
2037
|
+
<span class='line'>2030</span> * @param {Array} where Array containing the x and y coordinate of the target location.
|
|
2038
|
+
<span class='line'>2031</span> * @param {Number} time Number of milliseconds the animation should last.
|
|
2039
|
+
<span class='line'>2032</span> * @param {Object} [options] Optional settings for the animation
|
|
2040
|
+
<span class='line'>2033</span> * @param {function} [options.callback] A function that is called as soon as the animation is finished.
|
|
2041
|
+
<span class='line'>2034</span> * @param {String} [options.effect='<>'|'>'|'<'] animation effects like speed fade in and out. possible values are
|
|
2042
|
+
<span class='line'>2035</span> * '<>' for speed increase on start and slow down at the end (default), '<' for speed up, '>' for slow down, and '--' for constant speed during
|
|
2043
|
+
<span class='line'>2036</span> * the whole animation.
|
|
2044
|
+
<span class='line'>2037</span> * @param {Number} [options.repeat=1] How often this animation should be repeated.
|
|
2045
|
+
<span class='line'>2038</span> * @returns {JXG.CoordsElement} Reference to itself.
|
|
2046
|
+
<span class='line'>2039</span> * @see JXG.CoordsElement#moveAlong
|
|
2047
|
+
<span class='line'>2040</span> * @see JXG.CoordsElement#moveTo
|
|
2048
|
+
<span class='line'>2041</span> * @see JXG.GeometryElement#animate
|
|
2049
|
+
<span class='line'>2042</span> * @example
|
|
2050
|
+
<span class='line'>2043</span> * // visit() with different easing options
|
|
2051
|
+
<span class='line'>2044</span> * let yInit = 3
|
|
2052
|
+
<span class='line'>2045</span> * let [A, B, C, D] = ['==', '<>', '<', '>'].map((s) => board.create('point', [4, yInit--], { name: s, label: { fontSize: 24 } }))
|
|
2053
|
+
<span class='line'>2046</span> * let seg = board.create('segment', [A, [() => A.X(), 0]]) // shows linear
|
|
2054
|
+
<span class='line'>2047</span> *
|
|
2055
|
+
<span class='line'>2048</span> *let isLeftRight = true;
|
|
2056
|
+
<span class='line'>2049</span> *let buttonVisit = board.create('button', [0, 4, 'visit',
|
|
2057
|
+
<span class='line'>2050</span> * () => {
|
|
2058
|
+
<span class='line'>2051</span> * let x = isLeftRight ? 4 : -4
|
|
2059
|
+
<span class='line'>2052</span> *
|
|
2060
|
+
<span class='line'>2053</span> * A.visit([-x, 3], 4000, { effect: "==", repeat: 2 }) // linear
|
|
2061
|
+
<span class='line'>2054</span> * B.visit([-x, 2], 4000, { effect: "<>", repeat: 2 })
|
|
2062
|
+
<span class='line'>2055</span> * C.visit([-x, 1], 4000, { effect: "<", repeat: 2 })
|
|
2063
|
+
<span class='line'>2056</span> * D.visit([-x, 0], 4000, { effect: ">", repeat: 2 })
|
|
2064
|
+
<span class='line'>2057</span> * }])
|
|
2065
|
+
<span class='line'>2058</span> *
|
|
2066
|
+
<span class='line'>2059</span> </pre><div id="JXG0f35a50e-e99d-11e8-a1ca-04d3b0c2aad5" class="jxgbox" style="width: 300px; height: 300px;"></div>
|
|
2067
|
+
<span class='line'>2060</span> <script type="text/javascript">
|
|
2068
|
+
<span class='line'>2061</span> {
|
|
2069
|
+
<span class='line'>2062</span> * let board = JXG.JSXGraph.initBoard('JXG0f35a50e-e99d-11e8-a1ca-04d3b0c2aad5')
|
|
2070
|
+
<span class='line'>2063</span> let yInit = 3
|
|
2071
|
+
<span class='line'>2064</span> let [A, B, C, D] = ['==', '<>', '<', '>'].map((s) => board.create('point', [4, yInit--], { name: s, label: { fontSize: 24 } }))
|
|
2072
|
+
<span class='line'>2065</span> let seg = board.create('segment', [A, [() => A.X(), 0]]) // shows linear
|
|
2073
2073
|
<span class='line'>2066</span>
|
|
2074
|
-
<span class='line'>2067</span>
|
|
2075
|
-
<span class='line'>2068</span>
|
|
2076
|
-
<span class='line'>2069</span>
|
|
2077
|
-
<span class='line'>2070</span>
|
|
2078
|
-
<span class='line'>2071</span>
|
|
2079
|
-
<span class='line'>2072</span>
|
|
2080
|
-
<span class='line'>2073</span>
|
|
2081
|
-
<span class='line'>2074</span>
|
|
2082
|
-
<span class='line'>2075</span>
|
|
2083
|
-
<span class='line'>2076</span>
|
|
2084
|
-
<span class='line'>2077</span>
|
|
2085
|
-
<span class='line'>2078</span>
|
|
2086
|
-
<span class='line'>2079</span>
|
|
2087
|
-
<span class='line'>2080</span>
|
|
2088
|
-
<span class='line'>2081</span> </span><span class="WHIT">
|
|
2089
|
-
<span class='line'>2082</span> </span><span class="WHIT"> </span><span class="
|
|
2090
|
-
<span class='line'>2083</span>
|
|
2091
|
-
<span class='line'>2084</span> </span><span class="WHIT">
|
|
2092
|
-
<span class='line'>2085</span> </span><span class="WHIT">
|
|
2093
|
-
<span class='line'>2086</span> </span><span class="WHIT"> </span><span class="
|
|
2094
|
-
<span class='line'>2087</span> </span><span class="WHIT">
|
|
2095
|
-
<span class='line'>2088</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2096
|
-
<span class='line'>2089</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2097
|
-
<span class='line'>2090</span>
|
|
2098
|
-
<span class='line'>2091</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2099
|
-
<span class='line'>2092</span> </span><span class="WHIT">
|
|
2100
|
-
<span class='line'>2093</span> </span><span class="WHIT">
|
|
2101
|
-
<span class='line'>2094</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2102
|
-
<span class='line'>2095</span> </span><span class="WHIT">
|
|
2074
|
+
<span class='line'>2067</span> let isLeftRight = true;
|
|
2075
|
+
<span class='line'>2068</span> let buttonVisit = board.create('button', [0, 4, 'visit',
|
|
2076
|
+
<span class='line'>2069</span> () => {
|
|
2077
|
+
<span class='line'>2070</span> let x = isLeftRight ? 4 : -4
|
|
2078
|
+
<span class='line'>2071</span>
|
|
2079
|
+
<span class='line'>2072</span> A.visit([-x, 3], 4000, { effect: "==", repeat: 2 }) // linear
|
|
2080
|
+
<span class='line'>2073</span> B.visit([-x, 2], 4000, { effect: "<>", repeat: 2 })
|
|
2081
|
+
<span class='line'>2074</span> C.visit([-x, 1], 4000, { effect: "<", repeat: 2 })
|
|
2082
|
+
<span class='line'>2075</span> D.visit([-x, 0], 4000, { effect: ">", repeat: 2 })
|
|
2083
|
+
<span class='line'>2076</span> }])
|
|
2084
|
+
<span class='line'>2077</span> }
|
|
2085
|
+
<span class='line'>2078</span> </script><pre>
|
|
2086
|
+
<span class='line'>2079</span>
|
|
2087
|
+
<span class='line'>2080</span> */</span><span class="WHIT">
|
|
2088
|
+
<span class='line'>2081</span> </span><span class="WHIT"> </span><span class="NAME">visit</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">where</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">time</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2089
|
+
<span class='line'>2082</span> </span><span class="WHIT"> </span><span class="NAME">where</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">Coords</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2090
|
+
<span class='line'>2083</span>
|
|
2091
|
+
<span class='line'>2084</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
|
|
2092
|
+
<span class='line'>2085</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT">
|
|
2093
|
+
<span class='line'>2086</span> </span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">,</span><span class="WHIT">
|
|
2094
|
+
<span class='line'>2087</span> </span><span class="WHIT"> </span><span class="NAME">delay</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.attr.animationdelay</span><span class="PUNC">,</span><span class="WHIT">
|
|
2095
|
+
<span class='line'>2088</span> </span><span class="WHIT"> </span><span class="NAME">coords</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">
|
|
2096
|
+
<span class='line'>2089</span> </span><span class="WHIT"> </span><span class="NAME">X</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.coords.usrCoords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
2097
|
+
<span class='line'>2090</span> </span><span class="WHIT"> </span><span class="NAME">Y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.coords.usrCoords</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
2098
|
+
<span class='line'>2091</span> </span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">where.usrCoords</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">X</span><span class="PUNC">,</span><span class="WHIT">
|
|
2099
|
+
<span class='line'>2092</span> </span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">where.usrCoords</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">Y</span><span class="PUNC">,</span><span class="WHIT">
|
|
2100
|
+
<span class='line'>2093</span> </span><span class="WHIT"> </span><span class="COMM">/** @ignore */</span><span class="WHIT">
|
|
2101
|
+
<span class='line'>2094</span> </span><span class="WHIT"> </span><span class="NAME">stepFun</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">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2102
|
+
<span class='line'>2095</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">steps</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="PUNC">(</span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </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">steps</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">steps</span><span class="WHIT"> </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"> </span><span class="NAME">steps</span><span class="PUNC">;</span><span class="WHIT">
|
|
2103
2103
|
<span class='line'>2096</span>
|
|
2104
|
-
<span class='line'>2097</span> </span><span class="WHIT">
|
|
2105
|
-
<span class='line'>2098</span> </span><span class="WHIT">
|
|
2106
|
-
<span class='line'>2099</span> </span><span class="WHIT">
|
|
2107
|
-
<span class='line'>2100</span>
|
|
2108
|
-
<span class='line'>2101</span> </span><span class="WHIT">
|
|
2109
|
-
<span class='line'>2102</span> </span><span class="WHIT">
|
|
2110
|
-
<span class='line'>2103</span> </span><span class="WHIT">
|
|
2111
|
-
<span class='line'>2104</span> </span><span class="WHIT">
|
|
2112
|
-
<span class='line'>2105</span>
|
|
2113
|
-
<span class='line'>2106</span> </span><span class="WHIT">
|
|
2114
|
-
<span class='line'>2107</span> </span><span class="WHIT">
|
|
2115
|
-
<span class='line'>2108</span> </span><span class="WHIT">
|
|
2116
|
-
<span class='line'>2109</span> </span><span class="WHIT">
|
|
2117
|
-
<span class='line'>2110</span>
|
|
2118
|
-
<span class='line'>2111</span>
|
|
2119
|
-
<span class='line'>2112</span> </span><span class="WHIT">
|
|
2120
|
-
<span class='line'>2113</span> </span><span class="WHIT">
|
|
2121
|
-
<span class='line'>2114</span>
|
|
2122
|
-
<span class='line'>2115</span>
|
|
2123
|
-
<span class='line'>2116</span> </span><span class="WHIT">
|
|
2124
|
-
<span class='line'>2117</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2125
|
-
<span class='line'>2118</span>
|
|
2126
|
-
<span class='line'>2119</span> </span><span class="WHIT"> </span><span class="
|
|
2127
|
-
<span class='line'>2120</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2128
|
-
<span class='line'>2121</span> </span><span class="WHIT">
|
|
2129
|
-
<span class='line'>2122</span>
|
|
2130
|
-
<span class='line'>2123</span> </span><span class="WHIT">
|
|
2131
|
-
<span class='line'>2124</span> </span><span class="WHIT">
|
|
2132
|
-
<span class='line'>2125</span>
|
|
2133
|
-
<span class='line'>2126</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2104
|
+
<span class='line'>2097</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2105
|
+
<span class='line'>2098</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"<>"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// slow at beginning and end</span><span class="WHIT">
|
|
2106
|
+
<span class='line'>2099</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.PI</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2107
|
+
<span class='line'>2100</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2108
|
+
<span class='line'>2101</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"<"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// cubic ease in</span><span class="WHIT">
|
|
2109
|
+
<span class='line'>2102</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">;</span><span class="WHIT">
|
|
2110
|
+
<span class='line'>2103</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2111
|
+
<span class='line'>2104</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">">"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// cubic ease out</span><span class="WHIT">
|
|
2112
|
+
<span class='line'>2105</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">x</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">
|
|
2113
|
+
<span class='line'>2106</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2114
|
+
<span class='line'>2107</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.effect</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"=="</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2115
|
+
<span class='line'>2108</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// linear</span><span class="WHIT">
|
|
2116
|
+
<span class='line'>2109</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2117
|
+
<span class='line'>2110</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="STRN">"valid effects are '==', '<>', '>', and '<'."</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2118
|
+
<span class='line'>2111</span>
|
|
2119
|
+
<span class='line'>2112</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2120
|
+
<span class='line'>2113</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">;</span><span class="WHIT">
|
|
2121
|
+
<span class='line'>2114</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2122
|
+
<span class='line'>2115</span>
|
|
2123
|
+
<span class='line'>2116</span> </span><span class="WHIT"> </span><span class="COMM">// support legacy interface where the third parameter was the number of repeats</span><span class="WHIT">
|
|
2124
|
+
<span class='line'>2117</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isNumber</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2125
|
+
<span class='line'>2118</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">repeat</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2126
|
+
<span class='line'>2119</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">
|
|
2127
|
+
<span class='line'>2120</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</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">
|
|
2128
|
+
<span class='line'>2121</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">options.repeat</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2129
|
+
<span class='line'>2122</span> </span><span class="WHIT"> </span><span class="NAME">options.repeat</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">
|
|
2130
|
+
<span class='line'>2123</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2131
|
+
<span class='line'>2124</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2132
|
+
<span class='line'>2125</span>
|
|
2133
|
+
<span class='line'>2126</span> </span><span class="WHIT"> </span><span class="NAME">steps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.ceil</span><span class="PUNC">(</span><span class="NAME">time</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">delay</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">options.repeat</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2134
2134
|
<span class='line'>2127</span>
|
|
2135
|
-
<span class='line'>2128</span> </span><span class="
|
|
2136
|
-
<span class='line'>2129</span>
|
|
2137
|
-
<span class='line'>2130</span>
|
|
2138
|
-
<span class='line'>2131</span>
|
|
2139
|
-
<span class='line'>2132</span>
|
|
2140
|
-
<span class='line'>2133</span>
|
|
2141
|
-
<span class='line'>2134</span>
|
|
2142
|
-
<span class='line'>2135</span>
|
|
2143
|
-
<span class='line'>2136</span>
|
|
2144
|
-
<span class='line'>2137</span>
|
|
2145
|
-
<span class='line'>2138</span>
|
|
2146
|
-
<span class='line'>2139</span>
|
|
2147
|
-
<span class='line'>2140</span>
|
|
2148
|
-
<span class='line'>2141</span>
|
|
2149
|
-
<span class='line'>2142</span>
|
|
2150
|
-
<span class='line'>2143</span>
|
|
2151
|
-
<span class='line'>2144</span> </span><span class="
|
|
2152
|
-
<span class='line'>2145</span>
|
|
2153
|
-
<span class='line'>2146</span>
|
|
2154
|
-
<span class='line'>2147</span>
|
|
2155
|
-
<span class='line'>2148</span>
|
|
2156
|
-
<span class='line'>2149</span>
|
|
2157
|
-
<span class='line'>2150</span>
|
|
2158
|
-
<span class='line'>2151</span>
|
|
2159
|
-
<span class='line'>2152</span>
|
|
2160
|
-
<span class='line'>2153</span>
|
|
2161
|
-
<span class='line'>2154</span>
|
|
2162
|
-
<span class='line'>2155</span> </span><span class="WHIT">
|
|
2163
|
-
<span class='line'>2156</span>
|
|
2164
|
-
<span class='line'>2157</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2165
|
-
<span class='line'>2158</span>
|
|
2166
|
-
<span class='line'>2159</span> </span><span class="WHIT">
|
|
2167
|
-
<span class='line'>2160</span> </span><span class="WHIT">
|
|
2168
|
-
<span class='line'>2161</span>
|
|
2169
|
-
<span class='line'>2162</span> </span><span class="WHIT">
|
|
2170
|
-
<span class='line'>2163</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2171
|
-
<span class='line'>2164</span> </span><span class="WHIT">
|
|
2172
|
-
<span class='line'>2165</span>
|
|
2173
|
-
<span class='line'>2166</span> </span><span class="WHIT">
|
|
2174
|
-
<span class='line'>2167</span> </span><span class="WHIT">
|
|
2175
|
-
<span class='line'>2168</span> </span><span class="WHIT">
|
|
2176
|
-
<span class='line'>2169</span> </span><span class="WHIT">
|
|
2177
|
-
<span class='line'>2170</span> </span><span class="WHIT">
|
|
2178
|
-
<span class='line'>2171</span> </span><span class="WHIT">
|
|
2179
|
-
<span class='line'>2172</span> </span><span class="WHIT">
|
|
2180
|
-
<span class='line'>2173</span> </span><span class="WHIT">
|
|
2181
|
-
<span class='line'>2174</span> </span><span class="WHIT">
|
|
2182
|
-
<span class='line'>2175</span>
|
|
2183
|
-
<span class='line'>2176</span> </span><span class="WHIT">
|
|
2184
|
-
<span class='line'>2177</span> </span><span class="WHIT">
|
|
2185
|
-
<span class='line'>2178</span> </span><span class="WHIT">
|
|
2186
|
-
<span class='line'>2179</span>
|
|
2187
|
-
<span class='line'>2180</span> </span><span class="WHIT">
|
|
2188
|
-
<span class='line'>2181</span> </span><span class="WHIT">
|
|
2189
|
-
<span class='line'>2182</span> </span><span class="WHIT">
|
|
2190
|
-
<span class='line'>2183</span>
|
|
2191
|
-
<span class='line'>2184</span> </span><span class="WHIT">
|
|
2192
|
-
<span class='line'>2185</span> </span><span class="WHIT">
|
|
2193
|
-
<span class='line'>2186</span> </span><span class="PUNC">
|
|
2135
|
+
<span class='line'>2128</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"><</span><span class="WHIT"> </span><span class="NAME">options.repeat</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">
|
|
2136
|
+
<span class='line'>2129</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="NAME">steps</span><span class="PUNC">;</span><span class="WHIT"> </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="PUNC">--</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2137
|
+
<span class='line'>2130</span> </span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">steps</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="NAME">steps</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
2138
|
+
<span class='line'>2131</span> </span><span class="WHIT"> </span><span class="NAME">where.usrCoords</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
2139
|
+
<span class='line'>2132</span> </span><span class="WHIT"> </span><span class="NAME">X</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">stepFun</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
2140
|
+
<span class='line'>2133</span> </span><span class="WHIT"> </span><span class="NAME">Y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">stepFun</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="WHIT">
|
|
2141
|
+
<span class='line'>2134</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
2142
|
+
<span class='line'>2135</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2143
|
+
<span class='line'>2136</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2144
|
+
<span class='line'>2137</span> </span><span class="WHIT"> </span><span class="NAME">this.animationPath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2145
|
+
<span class='line'>2138</span> </span><span class="WHIT"> </span><span class="NAME">this.animationCallback</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.callback</span><span class="PUNC">;</span><span class="WHIT">
|
|
2146
|
+
<span class='line'>2139</span> </span><span class="WHIT"> </span><span class="NAME">this.board.addAnimation</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2147
|
+
<span class='line'>2140</span>
|
|
2148
|
+
<span class='line'>2141</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">
|
|
2149
|
+
<span class='line'>2142</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2150
|
+
<span class='line'>2143</span>
|
|
2151
|
+
<span class='line'>2144</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2152
|
+
<span class='line'>2145</span> * Animates a glider. Is called by the browser after startAnimation is called.
|
|
2153
|
+
<span class='line'>2146</span> * @param {Number} direction The direction the glider is animated.
|
|
2154
|
+
<span class='line'>2147</span> * @param {Number} stepCount The number of steps in which the parent element is divided.
|
|
2155
|
+
<span class='line'>2148</span> * Must be at least 1.
|
|
2156
|
+
<span class='line'>2149</span> * @see #startAnimation
|
|
2157
|
+
<span class='line'>2150</span> * @see #stopAnimation
|
|
2158
|
+
<span class='line'>2151</span> * @private
|
|
2159
|
+
<span class='line'>2152</span> * @returns {JXG.CoordsElement} Reference to itself.
|
|
2160
|
+
<span class='line'>2153</span> */</span><span class="WHIT">
|
|
2161
|
+
<span class='line'>2154</span> </span><span class="WHIT"> </span><span class="NAME">_anim</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">direction</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2162
|
+
<span class='line'>2155</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dY</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">startPoint</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">newX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">radius</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sp1c</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sp2c</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">res</span><span class="PUNC">;</span><span class="WHIT">
|
|
2163
|
+
<span class='line'>2156</span>
|
|
2164
|
+
<span class='line'>2157</span> </span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
|
2165
|
+
<span class='line'>2158</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.intervalCount</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2166
|
+
<span class='line'>2159</span> </span><span class="WHIT"> </span><span class="NAME">this.intervalCount</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">
|
|
2167
|
+
<span class='line'>2160</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2168
|
+
<span class='line'>2161</span>
|
|
2169
|
+
<span class='line'>2162</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.slideObject.elementClass</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">Const.OBJECT_CLASS_LINE</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2170
|
+
<span class='line'>2163</span> </span><span class="WHIT"> </span><span class="NAME">sp1c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slideObject.point1.coords.scrCoords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2171
|
+
<span class='line'>2164</span> </span><span class="WHIT"> </span><span class="NAME">sp2c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slideObject.point2.coords.scrCoords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2172
|
+
<span class='line'>2165</span>
|
|
2173
|
+
<span class='line'>2166</span> </span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.round</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">sp2c</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">sp1c</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"> </span><span class="NAME">this.intervalCount</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2174
|
+
<span class='line'>2167</span> </span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.round</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">sp2c</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">sp1c</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2175
|
+
<span class='line'>2168</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">direction</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">
|
|
2176
|
+
<span class='line'>2169</span> </span><span class="WHIT"> </span><span class="NAME">startPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slideObject.point1</span><span class="PUNC">;</span><span class="WHIT">
|
|
2177
|
+
<span class='line'>2170</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">
|
|
2178
|
+
<span class='line'>2171</span> </span><span class="WHIT"> </span><span class="NAME">startPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slideObject.point2</span><span class="PUNC">;</span><span class="WHIT">
|
|
2179
|
+
<span class='line'>2172</span> </span><span class="WHIT"> </span><span class="NAME">dX</span><span class="WHIT"> </span><span class="PUNC">*</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">
|
|
2180
|
+
<span class='line'>2173</span> </span><span class="WHIT"> </span><span class="NAME">dY</span><span class="WHIT"> </span><span class="PUNC">*</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">
|
|
2181
|
+
<span class='line'>2174</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2182
|
+
<span class='line'>2175</span>
|
|
2183
|
+
<span class='line'>2176</span> </span><span class="WHIT"> </span><span class="NAME">this.coords.setCoordinates</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_SCREEN</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
2184
|
+
<span class='line'>2177</span> </span><span class="WHIT"> </span><span class="NAME">startPoint.coords.scrCoords</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">dX</span><span class="PUNC">,</span><span class="WHIT">
|
|
2185
|
+
<span class='line'>2178</span> </span><span class="WHIT"> </span><span class="NAME">startPoint.coords.scrCoords</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">dY</span><span class="WHIT">
|
|
2186
|
+
<span class='line'>2179</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2187
|
+
<span class='line'>2180</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">this.slideObject.elementClass</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">Const.OBJECT_CLASS_CURVE</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2188
|
+
<span class='line'>2181</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">direction</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">
|
|
2189
|
+
<span class='line'>2182</span> </span><span class="WHIT"> </span><span class="NAME">newX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.slideObject.maxX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.slideObject.minX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.slideObject.minX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2190
|
+
<span class='line'>2183</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">
|
|
2191
|
+
<span class='line'>2184</span> </span><span class="WHIT"> </span><span class="NAME">newX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">(</span><span class="NAME">this.slideObject.maxX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.slideObject.minX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.slideObject.maxX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2192
|
+
<span class='line'>2185</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2193
|
+
<span class='line'>2186</span> </span><span class="WHIT"> </span><span class="NAME">this.coords.setCoordinates</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">this.slideObject.X</span><span class="PUNC">(</span><span class="NAME">newX</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.slideObject.Y</span><span class="PUNC">(</span><span class="NAME">newX</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2194
2194
|
<span class='line'>2187</span>
|
|
2195
|
-
<span class='line'>2188</span> </span><span class="NAME">
|
|
2196
|
-
<span class='line'>2189</span> </span
|
|
2195
|
+
<span class='line'>2188</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">Geometry.projectPointToCurve</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.slideObject</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2196
|
+
<span class='line'>2189</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">
|
|
2197
|
+
<span class='line'>2190</span> </span><span class="WHIT"> </span><span class="NAME">this.position</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">
|
|
2198
|
+
<span class='line'>2191</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">this.slideObject.elementClass</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">Const.OBJECT_CLASS_CIRCLE</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2199
|
+
<span class='line'>2192</span> </span><span class="WHIT"> </span><span class="NAME">alpha</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">Math.PI</span><span class="PUNC">;</span><span class="WHIT">
|
|
2200
|
+
<span class='line'>2193</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">direction</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">
|
|
2201
|
+
<span class='line'>2194</span> </span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">;</span><span class="WHIT">
|
|
2202
|
+
<span class='line'>2195</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">
|
|
2203
|
+
<span class='line'>2196</span> </span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">stepCount</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.intervalCount</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">stepCount</span><span class="PUNC">;</span><span class="WHIT">
|
|
2204
|
+
<span class='line'>2197</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2205
|
+
<span class='line'>2198</span> </span><span class="WHIT"> </span><span class="NAME">radius</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.slideObject.Radius</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2206
|
+
<span class='line'>2199</span>
|
|
2207
|
+
<span class='line'>2200</span> </span><span class="WHIT"> </span><span class="NAME">this.coords.setCoordinates</span><span class="PUNC">(</span><span class="NAME">Const.COORDS_BY_USER</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
2208
|
+
<span class='line'>2201</span> </span><span class="WHIT"> </span><span class="NAME">this.slideObject.center.coords.usrCoords</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">radius</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">alpha</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
2209
|
+
<span class='line'>2202</span> </span><span class="WHIT"> </span><span class="NAME">this.slideObject.center.coords.usrCoords</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">radius</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">alpha</span><span class="PUNC">)</span><span class="WHIT">
|
|
2210
|
+
<span class='line'>2203</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2211
|
+
<span class='line'>2204</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2212
|
+
<span class='line'>2205</span>
|
|
2213
|
+
<span class='line'>2206</span> </span><span class="WHIT"> </span><span class="NAME">this.board.update</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2214
|
+
<span class='line'>2207</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">
|
|
2215
|
+
<span class='line'>2208</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2216
|
+
<span class='line'>2209</span>
|
|
2217
|
+
<span class='line'>2210</span> </span><span class="WHIT"> </span><span class="COMM">// documented in GeometryElement</span><span class="WHIT">
|
|
2218
|
+
<span class='line'>2211</span> </span><span class="WHIT"> </span><span class="NAME">getTextAnchor</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">
|
|
2219
|
+
<span class='line'>2212</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2220
|
+
<span class='line'>2213</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2221
|
+
<span class='line'>2214</span>
|
|
2222
|
+
<span class='line'>2215</span> </span><span class="WHIT"> </span><span class="COMM">// documented in GeometryElement</span><span class="WHIT">
|
|
2223
|
+
<span class='line'>2216</span> </span><span class="WHIT"> </span><span class="NAME">getLabelAnchor</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">
|
|
2224
|
+
<span class='line'>2217</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
2225
|
+
<span class='line'>2218</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2226
|
+
<span class='line'>2219</span>
|
|
2227
|
+
<span class='line'>2220</span> </span><span class="WHIT"> </span><span class="COMM">// documented in element.js</span><span class="WHIT">
|
|
2228
|
+
<span class='line'>2221</span> </span><span class="WHIT"> </span><span class="NAME">getParents</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">
|
|
2229
|
+
<span class='line'>2222</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">this.Z</span><span class="PUNC">(</span><span class="PUNC">)</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="PUNC">;</span><span class="WHIT">
|
|
2230
|
+
<span class='line'>2223</span>
|
|
2231
|
+
<span class='line'>2224</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.parents.length</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">
|
|
2232
|
+
<span class='line'>2225</span> </span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parents</span><span class="PUNC">;</span><span class="WHIT">
|
|
2233
|
+
<span class='line'>2226</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2234
|
+
<span class='line'>2227</span>
|
|
2235
|
+
<span class='line'>2228</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">Const.OBJECT_TYPE_GLIDER</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2236
|
+
<span class='line'>2229</span> </span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</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.slideObject.id</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
2237
|
+
<span class='line'>2230</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2238
|
+
<span class='line'>2231</span>
|
|
2239
|
+
<span class='line'>2232</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">;</span><span class="WHIT">
|
|
2240
|
+
<span class='line'>2233</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2241
|
+
<span class='line'>2234</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2242
|
+
<span class='line'>2235</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2243
|
+
<span class='line'>2236</span>
|
|
2244
|
+
<span class='line'>2237</span> </span><span class="COMM">/**
|
|
2245
|
+
<span class='line'>2238</span> * Generic method to create point, text or image.
|
|
2246
|
+
<span class='line'>2239</span> * Determines the type of the construction, i.e. free, or constrained by function,
|
|
2247
|
+
<span class='line'>2240</span> * transformation or of glider type.
|
|
2248
|
+
<span class='line'>2241</span> * @param{Object} Callback Object type, e.g. JXG.Point, JXG.Text or JXG.Image
|
|
2249
|
+
<span class='line'>2242</span> * @param{Object} board Link to the board object
|
|
2250
|
+
<span class='line'>2243</span> * @param{Array} coords Array with coordinates. This may be: array of numbers, function
|
|
2251
|
+
<span class='line'>2244</span> * returning an array of numbers, array of functions returning a number, object and transformation.
|
|
2252
|
+
<span class='line'>2245</span> * If the attribute "slideObject" exists, a glider element is constructed.
|
|
2253
|
+
<span class='line'>2246</span> * @param{Object} attr Attributes object
|
|
2254
|
+
<span class='line'>2247</span> * @param{Object} arg1 Optional argument 1: in case of text this is the text content,
|
|
2255
|
+
<span class='line'>2248</span> * in case of an image this is the url.
|
|
2256
|
+
<span class='line'>2249</span> * @param{Array} arg2 Optional argument 2: in case of image this is an array containing the size of
|
|
2257
|
+
<span class='line'>2250</span> * the image.
|
|
2258
|
+
<span class='line'>2251</span> * @returns{Object} returns the created object or false.
|
|
2259
|
+
<span class='line'>2252</span> */</span><span class="WHIT">
|
|
2260
|
+
<span class='line'>2253</span> </span><span class="NAME">JXG.CoordsElement.create</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">Callback</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2261
|
+
<span class='line'>2254</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">,</span><span class="WHIT">
|
|
2262
|
+
<span class='line'>2255</span> </span><span class="WHIT"> </span><span class="NAME">isConstrained</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">
|
|
2263
|
+
<span class='line'>2256</span> </span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
2264
|
+
<span class='line'>2257</span>
|
|
2265
|
+
<span class='line'>2258</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"><</span><span class="WHIT"> </span><span class="NAME">coords.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">
|
|
2266
|
+
<span class='line'>2259</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">coords</span><span class="PUNC">[</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"> </span><span class="NAME">Type.isString</span><span class="PUNC">(</span><span class="NAME">coords</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"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2267
|
+
<span class='line'>2260</span> </span><span class="WHIT"> </span><span class="NAME">isConstrained</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
2268
|
+
<span class='line'>2261</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2269
|
+
<span class='line'>2262</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2270
|
+
<span class='line'>2263</span>
|
|
2271
|
+
<span class='line'>2264</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">isConstrained</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2272
|
+
<span class='line'>2265</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isNumber</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">Type.isNumber</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2273
|
+
<span class='line'>2266</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">Callback</span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2274
|
+
<span class='line'>2267</span>
|
|
2275
|
+
<span class='line'>2268</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">attr.slideobject</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2276
|
+
<span class='line'>2269</span> </span><span class="WHIT"> </span><span class="NAME">el.makeGlider</span><span class="PUNC">(</span><span class="NAME">attr.slideobject</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2277
|
+
<span class='line'>2270</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">
|
|
2278
|
+
<span class='line'>2271</span> </span><span class="WHIT"> </span><span class="COMM">// Free element</span><span class="WHIT">
|
|
2279
|
+
<span class='line'>2272</span> </span><span class="WHIT"> </span><span class="NAME">el.baseElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
|
|
2280
|
+
<span class='line'>2273</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2281
|
+
<span class='line'>2274</span> </span><span class="WHIT"> </span><span class="NAME">el.isDraggable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
2282
|
+
<span class='line'>2275</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">Type.isObject</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">Type.isTransformationOrArray</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2283
|
+
<span class='line'>2276</span> </span><span class="WHIT"> </span><span class="COMM">// Transformation</span><span class="WHIT">
|
|
2284
|
+
<span class='line'>2277</span> </span><span class="WHIT"> </span><span class="COMM">// TODO less general specification of isObject</span><span class="WHIT">
|
|
2285
|
+
<span class='line'>2278</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">Callback</span><span class="PUNC">(</span><span class="NAME">board</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="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2286
|
+
<span class='line'>2279</span> </span><span class="WHIT"> </span><span class="NAME">el.addTransform</span><span class="PUNC">(</span><span class="NAME">coords</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">coords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2287
|
+
<span class='line'>2280</span> </span><span class="WHIT"> </span><span class="NAME">el.isDraggable</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">
|
|
2288
|
+
<span class='line'>2281</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">
|
|
2289
|
+
<span class='line'>2282</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
2290
|
+
<span class='line'>2283</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2291
|
+
<span class='line'>2284</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">
|
|
2292
|
+
<span class='line'>2285</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">Callback</span><span class="PUNC">(</span><span class="NAME">board</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="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arg2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2293
|
+
<span class='line'>2286</span> </span><span class="WHIT"> </span><span class="NAME">el.addConstraint</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2294
|
+
<span class='line'>2287</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2295
|
+
<span class='line'>2288</span>
|
|
2296
|
+
<span class='line'>2289</span> </span><span class="WHIT"> </span><span class="NAME">el.handleSnapToGrid</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2297
|
+
<span class='line'>2290</span> </span><span class="WHIT"> </span><span class="NAME">el.handleSnapToPoints</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2298
|
+
<span class='line'>2291</span> </span><span class="WHIT"> </span><span class="NAME">el.handleAttractors</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2299
|
+
<span class='line'>2292</span>
|
|
2300
|
+
<span class='line'>2293</span> </span><span class="WHIT"> </span><span class="NAME">el.addParents</span><span class="PUNC">(</span><span class="NAME">coords</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2301
|
+
<span class='line'>2294</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">
|
|
2302
|
+
<span class='line'>2295</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2303
|
+
<span class='line'>2296</span>
|
|
2304
|
+
<span class='line'>2297</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG.CoordsElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
2305
|
+
<span class='line'>2298</span> </span></pre></body></html>
|