# JSXGraph Reference

## JavaScript must be enabled in order for you to use JSXGraph and JSXGraph reference. However, it seems JavaScript is either disabled or not supported by your browser.

Class Index | File Index

## Elements

## Classes

- _global_
- Angle
- Arc
- Arrow
- Arrowparallel
- Axis
- Bisector
- Bisectorlines
- Boxplot
- Button
- Cardinalspline
- Chart
- Checkbox
- Circle
- Circumcenter
- Circumcircle
- CircumcircleArc
- CircumcircleSector
- Comb
- Conic
- Constants
- Curve
- CurveDifference
- CurveIntersection
- CurveUnion
- Derivative
- Ellipse
- ForeignObject
- Functiongraph
- Glider
- Grid
- Group
- Hatch
- Hyperbola
- Image
- Incenter
- Incircle
- Inequality
- Input
- Integral
- Intersection
- JXG
- JXG.AbstractRenderer
- JXG.Board
- JXG.C
- JXG.CA
- JXG.CanvasRenderer
- JXG.Chart
- JXG.Circle
- JXG.Complex
- JXG.Composition
- JXG.Coords
- JXG.CoordsElement
- JXG.Curve
- JXG.Dump
- JXG.EventEmitter
- JXG.ForeignObject
- JXG.GeometryElement
- JXG.GeonextParser
- JXG.Group
- JXG.Image
- JXG.JessieCode
- JXG.JSXGraph
- JXG.Legend
- JXG.Line
- JXG.Math
- JXG.Math.Clip
- JXG.Math.Extrapolate
- JXG.Math.Geometry
- JXG.Math.IntervalArithmetic
- JXG.Math.Metapost
- JXG.Math.Nlp
- JXG.Math.Numerics
- JXG.Math.Plot
- JXG.Math.Poly
- JXG.Math.Poly.Monomial
- JXG.Math.Poly.Polynomial
- JXG.Math.Poly.Ring
- JXG.Math.ProbFuncs
- JXG.Math.Quadtree
- JXG.Math.Statistics
- JXG.Math.Symbolic
- JXG.NoRenderer
- JXG.Options
- JXG.Point
- JXG.Polygon
- JXG.Server
- JXG.Server.modules
- JXG.SVGRenderer
- JXG.Text
- JXG.Ticks
- JXG.Transformation
- JXG.Turtle
- JXG.Util
- JXG.Util.Base64
- JXG.Util.Unzip
- JXG.Util.UTF8
- JXG.VMLRenderer
- JXG.XML
- Label
- Legend
- Line
- Locus
- MajorArc
- MajorSector
- Metapostspline
- Midpoint
- MinorArc
- MinorSector
- Mirrorelement
- Mirrorpoint
- NonReflexAngle
- Normal
- Orthogonalprojection
- OtherIntersection
- Parabola
- Parallel
- Parallelpoint
- Perpendicular
- PerpendicularPoint
- PerpendicularSegment
- Point
- PolarLine
- PolePoint
- Polygon
- PolygonalChain
- RadicalAxis
- Reflection
- ReflexAngle
- RegularPolygon
- Riemannsum
- Sector
- Segment
- Semicircle
- Slider
- Slopetriangle
- Spline
- Stepfunction
- Tangent
- Tapemeasure
- Text
- Ticks
- Tracecurve
- Transformation
- Turtle

# File Index

## jsxgraph.js

The JSXGraph object is defined in this file. JXG.JSXGraph controls all boards. It has methods to create, save, load and free boards. Additionally some helper functions are defined in this file directly in the JXG namespace.

Version:
  0.99

## coordselement.js

The geometry object CoordsElement is defined in this file. This object provides the coordinate handling of points, images and texts.

## coords.js

In this file the Coords object is defined, a class to manage all properties and methods coordinates usually have.

## point.js

The geometry object Point is defined in this file. Point stores all style and functional properties that are required to draw and move a point on a board.

## line.js

The geometry object Line is defined in this file. Line stores all style and functional properties that are required to draw and move a line on a board.

## group.js

In this file the class Group is defined, a class for managing grouping of points.

## circle.js

The geometry object Circle is defined in this file. Circle stores all style and functional properties that are required to draw and move a circle on a board.

## conic.js

In this file the conic sections defined.

## curve.js

In this file the geometry element Curve is defined.

## arc.js

In this file the geometry object Arc is defined. Arc stores all style and functional properties that are required to draw an arc on a board.

## composition.js

This file contains our composition elements, i.e. these elements are mostly put together from one or more JXG.GeometryElement but with a special meaning. E.g. the midpoint element is contained here and this is just a JXG.Point with coordinates dependent from two other points. Currently in this file the following compositions can be found:

- Arrowparallel (currently private)
- Bisector
- Msector
- Circumcircle
- Circumcirclemidpoint
- Integral
- Midpoint
- Mirrorpoint
- Normal
- Orthogonalprojection
- Parallel
- Perpendicular
- Perpendicularpoint
- Perpendicularsegment
- Reflection

## text.js

In this file the Text element is defined.

## image.js

In this file the geometry element Image is defined.

## slider.js

The geometry object slider is defined in this file. Slider stores all style and functional properties that are required to draw and use a slider on a board.

## measure.js

Geometry objects for measurements are defined in this file. This file stores all style and functional properties that are required to use a tape measure on a board.

## transformation.js

This file contains code for transformations of geometrical objects.

## turtle.js

The JSXGraph object Turtle is defined. It acts like "turtle graphics".

Author:
  A.W.

## ticks.js

In this file the geometry object Ticks is defined. Ticks provides methods for creation and management of ticks on an axis.

Author:
  graphjs
Version:
  0.1

## zip.js

Utilities for uncompressing and base64 decoding

## server.js

The JXG.Server is a wrapper for a smoother integration of server side calculations. on the server side a python plugin system is used.

## datasource.js

The JXG.DataSource is a helper class for data organization. Currently supported data sources are javascript arrays and HTML tables.

## ca.js

Here, the computer algebra algorithms are implemented.

## jessiecode.js

JessieCode is a scripting language designed to provide a simple scripting language to build constructions with JSXGraph. It is similar to JavaScript, but prevents access to the DOM. Hence, it can be used in community driven math portals which want to use JSXGraph to display interactive math graphics.

## dump.js

The JXG.Dump namespace provides methods to save a board to javascript.

## comb.js

In this file the Comb element is defined.

## slopetriangle.js

Example file for a triangle implemented as a extension to JSXGraph.

## checkbox.js

In this file the Text element is defined.

## input.js

In this file the Text element is defined.

## button.js

In this file the Text element is defined.

## foreignobject.js

In this file the ForeignObject element is defined.

## expect.js

expect.js provides utilities for parameter magic by normalizing multi-type parameters.

## numerics.js

In this file the namespace Math.Numerics is defined, which holds numerical algorithms for solving linear equations etc.

## event.js

In this file the EventEmitter interface is defined.

## env.js

The functions in this file help with the detection of the environment JSXGraph runs in. We can distinguish between node.js, windows 8 app and browser, what rendering techniques are supported and (most of the time) if the device the browser runs on is a tablet/cell or a desktop computer.

## metapost.js

In this file the namespace Math.Metapost is defined which holds algorithms translated from Metapost by D.E. Knuth and J.D. Hobby.

## type.js

type.js contains several functions to help deal with javascript's weak types. This file mainly consists of detector functions which verify if a variable is or is not of a specific type and converter functions that convert variables to another type or normalize the type of a variable.

## symbolic.js

In this file the namespace Math.Symbolic is defined, which holds methods and algorithms for symbolic computations.

Author:
  graphjs

## geometry.js

This file contains the Math.Geometry namespace for calculating algebraic/geometric stuff like intersection points, angles, midpoint, and so on.

## clip.js

This file contains the Math.Clip namespace for clipping and computing boolean operations on polygons and curves // TODO: * Check if input polygons are closed. If not, handle this case.

## poly.js

In this file the namespace Math.Poly is defined, which holds algorithms to create and manipulate polynomials.

## complex.js

A class for complex arithmetics JXG.Complex is defined in this file. Also a namespace JXG.C is included to provide instance-independent arithmetic functions.

## abstract.js

JSXGraph can use various technologies to render the contents of a construction, e.g. SVG, VML, and HTML5 Canvas. To accomplish this, The rendering and the logic and control mechanisms are completely separated from each other. Every rendering technology has it's own class, called Renderer, e.g. SVGRenderer for SVG, the same for VML and Canvas. The common base for all available renderers is the class AbstractRenderer defined in this file.

## no.js

JSXGraph can use various technologies to render the contents of a construction, e.g. SVG, VML, and HTML5 Canvas. To accomplish this, The rendering and the logic and control mechanisms are completely separated from each other. Every rendering technology has it's own class, called Renderer, e.g. SVGRenderer for SVG, the same for VML and Canvas. The common base for all available renderers is the class AbstractRenderer.

## jxg.js

The JSXGraph object is defined in this file. JXG.JSXGraph controls all boards. It has methods to create, save, load and free boards. Additionally some helper functions are defined in this file directly in the JXG namespace.

## board.js

The JXG.Board class is defined in this file. JXG.Board controls all properties and methods used to manage a geonext board like managing geometric elements, managing mouse and touch events, etc.

## math.js

In this file the namespace JXG.Math is defined, which is the base namespace for namespaces like Math.Numerics, Math.Algebra, Math.Statistics etc.

## src/base/chart.js

## src/base/composition.js

## src/base/constants.js

## src/base/element.js

## src/base/polygon.js

## src/element/locus.js

## src/element/sector.js

## src/loadjsxgraph.js

## src/math/extrapolate.js

## src/math/ia.js

## src/math/nlp.js

## src/math/plot.js

## src/math/probfuncs.js

## src/math/qdt.js

## src/math/statistics.js

## src/options.js

## src/parser/geonext.js

## src/reader/file.js

## src/renderer/canvas.js

## src/renderer/no.js

## src/renderer/svg.js

## src/renderer/vml.js

## src/utils/base64.js

## src/utils/color.js

## src/utils/encoding.js

## src/utils/uuid.js

## src/utils/xml.js