# 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
- Button
- Checkbox
- Circle
- Circumcenter
- Circumcircle
- CircumcircleArc
- CircumcircleSector
- Conic
- Curve
- Ellipse
- 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.Circle
- JXG.Complex
- JXG.Composition
- JXG.Coords
- JXG.CoordsElement
- JXG.Curve
- JXG.Dump
- JXG.EventEmitter
- JXG.GeometryElement
- JXG.GeonextParser
- JXG.Group
- JXG.Image
- JXG.JessieCode
- JXG.JSXGraph
- JXG.Line
- JXG.Math
- JXG.Math.Geometry
- JXG.Math.Numerics
- JXG.Math.Poly
- JXG.Math.Poly.Monomial
- JXG.Math.Poly.Polynomial
- JXG.Math.Poly.Ring
- 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
- Line
- Locus
- MajorArc
- MajorSector
- Midpoint
- MinorArc
- MinorSector
- Mirrorpoint
- NonReflexAngle
- Normal
- Orthogonalprojection
- OtherIntersection
- Parabola
- Parallel
- Parallelpoint
- Perpendicular
- PerpendicularPoint
- PerpendicularSegment
- Point
- PolarLine
- PolePoint
- Polygon
- Quadtree
- RadicalAxis
- Reflection
- ReflexAngle
- RegularPolygon
- Riemannsum
- Sector
- Segment
- Semicircle
- Slider
- Slopetriangle
- Spline
- Stepfunction
- Tangent
- Tapemeasure
- Text
- Ticks
- Tracecurve
- Transformation
- Turtle

# Class JXG.Coords

↳ JXG.Coords

This is the Coordinates class. All members a coordinate has to provide are defined here.
Defined in: coords.js.

Class Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| JXG.Coords(method, coordinates, board, emitter) Constructs a new Coordinates object.

Field Summary
Field Attributes | Field Name and Description
--- | ---
| board Stores the board the object is used on.
| emitter If true, this coordinates object will emit update events every time the coordinates are set.
| scrCoords Stores coordinates for screen view as homogeneous coordinates.
| usrCoords Stores coordinates for user view as homogeneous coordinates.

Method Summary
Method Attributes | Method Name and Description
--- | ---
<private> | copy(obj, offset) Copy array, either srcCoords or usrCoords Uses slice() in case of standard arrays and set() in case of typed arrays.
| distance(coord_type, coordinates) Calculate distance of one point to another.
<private> | normalizeUsrCoords() Normalize homogeneous coordinates
<private> | screen2usr() Compute user coordinates out of given screen coordinates.
| setCoordinates(coord_type, coordinates, doRound, noevent) Set coordinates by either user coordinates or screen coordinates and recalculate the other one.
<private> | usr2screen(doRound) Compute screen coordinates out of given user coordinates.

Event Summary
Event Attributes | Event Name and Description
--- | ---
| update(ou, os) Triggered whenever the coordinates change.

Class Detail
JXG.Coords(method, coordinates, board, emitter)
Constructs a new Coordinates object.

Parameters:
{Number} method
  The type of coordinates given by the user. Accepted values are COORDS_BY_SCREEN and COORDS_BY_USER.
{Array} coordinates
  An array of affine coordinates.
{JXG.Board} board
  A reference to a board.
emitter

Field Detail
{JXG.Board} board
Stores the board the object is used on.

emitter
If true, this coordinates object will emit update events every time the coordinates are set.

Default Value:
  true

{Array} scrCoords
Stores coordinates for screen view as homogeneous coordinates.

{Array} usrCoords
Stores coordinates for user view as homogeneous coordinates.
Method Detail
<private> {Array} copy(obj, offset)
Copy array, either srcCoords or usrCoords Uses slice() in case of standard arrays and set() in case of typed arrays.

Parameters:
{String} obj
  Either 'srcCoords' or 'usrCoords'
{Number} offset
  Offset, defaults to 0 if not given

Returns:
  {Array} Returns copy of the coords array either as standard array or as typed array.

{Number} distance(coord_type, coordinates)
Calculate distance of one point to another.

Parameters:
{Number} coord_type
  The type of coordinates used here. Possible values are JXG.COORDS_BY_USER and JXG.COORDS_BY_SCREEN.
{JXG.Coords} coordinates
  The Coords object to which the distance is calculated.

Returns:
  {Number} The distance

<private> normalizeUsrCoords()
Normalize homogeneous coordinates

<private> screen2usr()
Compute user coordinates out of given screen coordinates.

{JXG.Coords} setCoordinates(coord_type, coordinates, doRound, noevent)
Set coordinates by either user coordinates or screen coordinates and recalculate the other one.

Parameters:
{Number} coord_type
  The type of coordinates used here. Possible values are COORDS_BY_USER and COORDS_BY_SCREEN.
{Array} coordinates
  An array of affine coordinates the Coords object is set to.
{Boolean} doRound Optional, Default: true
  flag If true or null round the coordinates in usr2screen. This is used in smooth curve plotting. The IE needs rounded coordinates. Id doRound==false we have to round in updatePathString.
{Boolean} noevent Optional, Default: false

Returns:
  {JXG.Coords} Reference to the coords object.

<private> usr2screen(doRound)
Compute screen coordinates out of given user coordinates.

Parameters:
doRound

Event Detail
update(ou, os)
Triggered whenever the coordinates change.

Parameters:
{Array} ou
  Old user coordinates
{Array} os
  Old screen coordinates

Documentation generated by JsDoc Toolkit 2.4.0 on Wed Aug 23 2017 17:12:47 GMT-0000 (UTC)