API Docs for: 0.99.4
Show:

JXG.Circle Class

Defined in: src/base/circle.js:62
Module: JXG

Creates a new circle object. Do not use this constructor to create a circle. Use JXG.Board#create with type Circle instead.

A circle consists of all points with a given distance from one point. This point is called center, the distance is called radius. A circle can be constructed by providing a center and a point on the circle or a center and a radius (given as a number, function, line, or circle).

Constructor

JXG.Circle

(
  • board
  • method
  • par1
  • par2
  • attributes
)

Parameters:

  • board JXG.Board

    The board the new circle is drawn on.

  • method String

    Can be

    • 'twoPoints' which means the circle is defined by its center and a point on the circle.
    • 'pointRadius' which means the circle is defined by its center and its radius in user units
    • 'pointLine' which means the circle is defined by its center and its radius given by the distance from the startpoint and the endpoint of the line
    • 'pointCircle' which means the circle is defined by its center and its radius given by the radius of another circle

    The parameters p1, p2 and radius must be set according to this method parameter.

  • par1 JXG.Point

    center of the circle.

  • par2 JXG.Point | JXG.Line | JXG.Circle

    Can be

    • a point on the circle if method is 'twoPoints'
    • a line if the method is 'pointLine'
    • a circle if the method is 'pointCircle'
  • attributes Object

See also:

Methods

_set

(
  • property
  • value
)
private chainable
Sets the value of property property to value.

Parameters:

  • property String
    The property's name.
  • value Object
    The new value

addChild

(
  • obj
)
chainable
Add an element as a child to the current element. Can be used to model dependencies between geometry elements.

Parameters:

addDescendants

(
  • obj
)
private chainable
Adds the given object to the descendants list of this object and all its child objects.

Parameters:

addParents

(
  • parents
)
JXG.Object chainable
Adds ids of elements to the array this.parents. This method needs to be called if some dependencies can not be detected automatically by JSXGraph. For example if a function graph is given by a function which referes to coordinates of a point, calling addParents() is necessary.

Parameters:

  • parents Array
    Array of elements or ids of elements. Alternatively, one can give a list of objects as parameters.

Returns:

JXG.Object: reference to the object itself.

Example:

// Movable function graph
                    var A = board.create('point', [1, 0], {name:'A'}),
                        B = board.create('point', [3, 1], {name:'B'}),
                        f = board.create('functiongraph', function(x) {
                                 var ax = A.X(),
                                     ay = A.Y(),
                                     bx = B.X(),
                                     by = B.Y(),
                                    a = (by - ay) / ( (bx - ax) * (bx - ax) );
                                 return a * (x - ax) * (x - ax) + ay;
                             }, {fixed: false});
                    f.addParents([A, B]);
                    

addRotation

(
  • angle
)
chainable
Rotate texts or images by a given degree. Works only for texts where JXG.Text#display equal to "internal".

Parameters:

  • angle Number
    The degree of the rotation (90 means vertical text).

See also:

  • JXG.GeometryElement#rotate

addTransform

(
  • transform
)
JXG.Circle chainable

Inherited from JXG.GeometryElement but overwritten in src/base/circle.js:610

Add transformations to this circle.

Parameters:

  • transform JXG.Transformation | Array

    Either one {@link JXG.Transformation} or an array of {@link JXG.Transformation}s.

Returns:

JXG.Circle:

Reference to this circle object.

animate

(
  • hash
  • time
  • [options]
)
JXG.GeometryElement chainable
Animates properties for that object like stroke or fill color, opacity and maybe even more later.

Parameters:

  • hash Object
    Object containing properties with target values for the animation.
  • time Number
    Number of milliseconds to complete the animation.
  • [options] Object optional
    Optional settings for the animation:
    • callback: A function that is called as soon as the animation is finished.

Returns:

JXG.GeometryElement: A reference to the object

Area

() Number

Circle area

Returns:

Number:

area of the circle.

bounds

() Array

Inherited from JXG.GeometryElement but overwritten in src/base/circle.js:723

Get bounding box of the circle.

Returns:

Array:

[x1, y1, x2, y2]

clearTrace

() chainable
Removes all objects generated by the trace function.

cloneToBackground

() chainable
Copy the element to background. This is used for tracing elements.

countChildren

() Number private
Counts the direct children of an object without counting labels.

Returns:

Number: Number of children

createGradient

() private chainable
Creates a gradient nodes in the renderer.

See also:

  • JXG.SVGRenderer#setGradient

createLabel

() chainable
Creates a label element for this geometry element.

See also:

  • #addLabelToElement

dash

(
  • d
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1703

Deprecated: Use {@link #setAttribute}

Set the dash type of an element

Parameters:

  • d Number
    Integer which determines the way of dashing an element's outline.

See also:

draggable

() Boolean private
Decides whether an element can be dragged. This is used in {{#crossLink "JXG.GeometryElement/setPositionDirectly:method"}}JXG.GeometryElement#setPositionDirectly{{/crossLink}} methods where all parent elements are checked if they may be dragged, too.

Returns:

fillColor

(
  • fColor
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1657

Deprecated: Use {@link #setAttribute}

Set the fillColor of an element

Parameters:

  • fColor String
    String which determines the fill color of an object.

See also:

generatePolynomial

(
  • p
)
Array private

Inherited from JXG.GeometryElement but overwritten in src/base/circle.js:244

Used to generate a polynomial for a point p that lies on this circle.

Parameters:

  • p JXG.Point

    The point for which the polynomial is generated.

Returns:

Array:

An array containing the generated polynomial.

generateRadiusSquared

() String private

Generate symbolic radius calculation for loci determination with Groebner basis algorithm.

Returns:

String:

String containing symbolic calculation of the circle's radius or an empty string if the radius can't be expressed in a polynomial equation.

getAttribute

(
  • key
)
Get the value of the property key.

Parameters:

  • key String
    The name of the property you are looking for

Returns:

The value of the property

getAttributes

() Object
Retrieve a copy of the current visProp.

Returns:

getLabelAnchor

() JXG.Coords
Returns the coords object where the label of the element shall be drawn. Differs in some cases from the values that getTextAnchor returns.

Returns:

JXG.Coords: JXG.Coords Place where the text shall be drawn.

See also:

getName

() String
Returns the elements name, used in JessieCode.

Returns:

getParents

() Array

Inherited from JXG.GeometryElement but overwritten in src/base/circle.js:736

Get data to construct this element. Data consists of the parent elements and static data like radius.

Returns:

Array:

data necessary to construct this element

getProperty

() deprecated

Inherited from JXG.GeometryElement: src/base/element.js:1237

Deprecated: Use {@link JXG.GeometryElement#getAttribute}.

Deprecated alias for {{#crossLink "JXG.GeometryElement/getAttribute:method"}}JXG.GeometryElement#getAttribute{{/crossLink}}.

getRadius

() deprecated

getTextAnchor

() JXG.Coords
Returns the coords object where a text that is bound to the element shall be drawn. Differs in some cases from the values that getLabelAnchor returns.

Returns:

JXG.Coords: JXG.Coords Place where the text shall be drawn.

See also:

getTpye

() String
The type of the element as used in {{#crossLink "JXG.Board/create:method"}}JXG.Board#create{{/crossLink}}.

Returns:

handleSnapToGrid

(
  • force
)
JXG.GeometryElement chainable
Move an element to its nearest grid point. The function uses the coords object of the element as its actual position. If there is no coords object, nothing is done.

Parameters:

  • force Boolean
    force snapping independent from what the snaptogrid attribute says

Returns:

JXG.GeometryElement: Reference to this element

hasPoint

(
  • x
  • y
)
Boolean private

Inherited from JXG.GeometryElement but overwritten in src/base/circle.js:220

Checks whether (x,y) is near the circle line or inside of the ellipse (in case JXG.Options.conic#hasInnerPoints is true).

Parameters:

  • x Number

    Coordinate in x direction, screen coordinates.

  • y Number

    Coordinate in y direction, screen coordinates.

Returns:

Boolean:

True if (x,y) is near the circle, False otherwise.

hideElement

() chainable
Hide the element. It will still exist but not visible on the board.

highlight

(
  • [force=false]
)
chainable
Highlights the element.

Parameters:

  • [force=false] Boolean optional
    Force the highlighting

highlightFillColor

(
  • fColor
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1673

Deprecated: Use {@link #setAttribute}

Set the highlightFillColor of an element

Parameters:

  • fColor String
    String which determines the fill color of an object when its highlighted.

See also:

highlightStrokeColor

(
  • sColor
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1611

Deprecated: Use {@link #setAttribute}

Set the highlightStrokeColor of an element

Parameters:

  • sColor String
    String which determines the stroke color of an object when its highlighted.

See also:

labelColor

(
  • lColor
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1688

Deprecated: Use {@link #setAttribute}

Set the labelColor of an element

Parameters:

  • lColor String
    String which determines the text color of an object's label.

See also:

maxX

() private

Returns 1.

minX

() private

Returns 0.

noHighlight

() chainable
Uses the "normal" properties of the element.

normalize

() private chainable
Normalize the element's standard form.

notifyParents

(
  • contentStr
)
private chainable

Finds dependencies in a given term and resolves them by adding the elements referenced in this string to the circle's list of ancestors.

Parameters:

prepareUpdate

() private chainable
Notify all child elements for updates.

Radius

(
  • [value]
)
Number

Calculates the radius of the circle or sets the radius.

Parameters:

Returns:

Number:

The radius of the circle

remove

() chainable
Removes the element from the construction. This only removes the SVG or VML node of the element and its label (if available) from the renderer, to remove the element completely you should use {{#crossLink "JXG.Board/removeObject:method"}}JXG.Board#removeObject{{/crossLink}}.

removeChild

(
  • obj
)
chainable
Remove an element as a child from the current element.

Parameters:

removeDescendants

(
  • obj
)
private chainable
Removes the given object from the descendants list of this object and all its child objects.

Parameters:

resolveShortcuts

(
  • properties
)
Object
Resolves property shortcuts like color and expands them, e.g. strokeColor and fillColor. Writes the expanded properties back to the given properties.

Parameters:

Returns:

Object: The given parameter with shortcuts expanded.

setArrow

(
  • firstArrow
  • lastArrow
)
chainable
Determines whether the element has arrows at start or end of the arc.

Parameters:

  • firstArrow Boolean
    True if there is an arrow at the start of the arc, false otherwise.
  • lastArrow Boolean
    True if there is an arrow at the end of the arc, false otherwise.

setAttribute

(
  • attributes
)
chainable
Sets an arbitrary number of attributes.

Parameters:

  • attributes Object
    An object with attributes.

Example:

// Set property directly on creation of an element using the attributes object parameter
                    var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 5, 5, 1]};
                    var p = board.create('point', [2, 2], {visible: false});
                    
                    // Now make this point visible and fixed:
                    p.setAttribute({
                        fixed: true,
                        visible: true
                    });

setDash

(
  • dash
)
private chainable
Set the dash style of an object. See undefined for a list of available dash styles. You should use undefined instead of this method.

Parameters:

  • dash Number
    Indicates the new dash style

setLabel

(
  • str
)
chainable
Sets a label and it's text If label doesn't exist, it creates one

Parameters:

setLabelText

(
  • str
)
chainable
Updates the element's label text, strips all html.

Parameters:

setName

(
  • str
)
chainable
Updates the element's label text and the element's attribute "name", strips all html.

Parameters:

setParents

(
  • parents
)
JXG.Object chainable
Sets ids of elements to the array this.parents. First, this.parents is cleared. See undefined.

Parameters:

  • parents Array
    Array of elements or ids of elements. Alternatively, one can give a list of objects as parameters.

Returns:

JXG.Object: reference to the object itself.

setPosition

(
  • method
  • coords
)
JXG.GeometryElement chainable
Translates the object by (x, y). In case the element is defined by points, the defining points are translated, e.g. a circle constructed by a center point and a point on the circle line.

Parameters:

  • method Number
    The type of coordinates used here. Possible values are {@link JXG.COORDS_BY_USER} and {@link JXG.COORDS_BY_SCREEN}.
  • coords Array
    array of translation vector.

Returns:

JXG.GeometryElement: Reference to the element object.

setPositionDirectly

(
  • method
  • coords
  • oldcoords
)
JXG.GeometryElement chainable
Moves an by the difference of two coordinates.

Parameters:

  • method Number
    The type of coordinates used here. Possible values are {@link JXG.COORDS_BY_USER} and {@link JXG.COORDS_BY_SCREEN}.
  • coords Array
    coordinates in screen/user units
  • oldcoords Array
    previous coordinates in screen/user units

Returns:

JXG.GeometryElement: this element

setProperty

() deprecated

Inherited from JXG.GeometryElement: src/base/element.js:1030

Deprecated: Use {@link JXG.GeometryElement#setAttribute}.

Deprecated alias for {{#crossLink "JXG.GeometryElement/setAttribute:method"}}JXG.GeometryElement#setAttribute{{/crossLink}}.

setRadius

(
  • r
)
JXG.Circle chainable

Set a new radius, then update the board.

Parameters:

Returns:

JXG.Circle:

Reference to this circle

shadow

(
  • s
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1733

Deprecated: Use {@link #setAttribute}

Set the shadow of an element

Parameters:

  • s Boolean
    Boolean which determines whether the element has a shadow or not.

See also:

showElement

() chainable
Make the element visible.

snapToGrid

() JXG.GeometryElement chainable
Snaps the element to the grid. Only works for points, lines and circles. Points will snap to the grid as defined in their properties undefined and undefined. Lines and circles will snap their parent points to the grid, if they have undefined set to true.

Returns:

JXG.GeometryElement: Reference to the element.

snapToPoints

() JXG.GeometryElement chainable
Snaps the element to points. Only works for points. Points will snap to the next point as defined in their properties undefined and undefined. Lines and circles will snap their parent points to points.

Returns:

JXG.GeometryElement: Reference to the element.

strokeColor

(
  • sColor
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1626

Deprecated: Use {@link #setAttribute}

Set the strokeColor of an element

Parameters:

  • sColor String
    String which determines the stroke color of an object.

See also:

strokeWidth

(
  • width
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1641

Deprecated: Use {@link #setAttribute}

Set the strokeWidth of an element

Parameters:

  • width Number
    Integer which determines the stroke width of an outline.

See also:

toJSON

() private
EXPERIMENTAL. Generate JSON object code of visProp and other properties.

Returns:

JSON string containing element's properties.

update

() chainable
Update method. Position and content of the element are updated. The element is redrawn by a subsequent call of {@see #updateRenderer}. Can be used sometimes to commit changes to the object.

updateQuadraticform

() private chainable

Updates this circle's undefined.

updateRenderer

() private chainable
Provide updateRenderer method.

updateStdform

() private chainable

Updates the stdform derived from the position of the center and the circle's radius.

visible

(
  • v
)
deprecated chainable

Inherited from JXG.GeometryElement: src/base/element.js:1718

Deprecated: Use {@link #setAttribute}

Set the visibility of an element

Parameters:

  • v Boolean
    Boolean which determines whether the element is drawn.

See also:

X

(
  • t
)
Number

Treats the circle as parametric curve running from 0 to 1 and calculates its X coordinate.

Parameters:

  • t Number

    Number between 0 and 1.

Returns:

Number:

X(t)= radius*cos(t)+centerX.

Y

(
  • t
)
Number

Treats the circle as parametric curve running from 0 to 1 and calculates its Y coordinate.

Parameters:

  • t Number

    Number between 0 and 1.

Returns:

Number:

X(t)= radius*sin(t)+centerY.

Z

(
  • t
)
Number

Treat the circle as parametric curve running from 0 to 1 and calculates its Z coordinate.

Parameters:

Returns:

Number:

1.0

Properties

_org_type

Number final
Original type of the element at construction time. Used for removing glider property.

_pos

Number private
The position of this element inside the undefined.

Default: -1

ancestors

Object
Elements on which this element depends on are stored here.

baseElement

JXG.GeometryElement private

Default: null

board

JXG.Board
Reference to the board associated with the element.

center

JXG.Point

The circles center. Do not set this parameter directly as it will break JSXGraph's update system.

childElements

Object
Stores all dependent objects to be updated when this point is moved.

circle

JXG.Circle

only set if method equals 'pointLine'. Do not set this parameter directly as it will break JSXGraph's update system.

Default: null

See also:

  • #method

descendants

Object
Elements depending on this element are stored here.

dump

Boolean
The element is saved with an explicit entry in the file (true) or implicitly via a composition.

Default: true

elementClass

Number final
The element's class.

elType

String
The string used with {{#crossLink "JXG.Board/create:method"}}JXG.Board#create{{/crossLink}}

hasLabel

Boolean
If element has a label subelement then this property will be set to true.

Default: false

highlighted

Boolean
True, if the element is currently highlighted.

Default: false

id

String
Unique identifier for the element. Equivalent to id-attribute of renderer element.

isDraggable

Boolean
Controls if this element can be dragged. In GEONExT only free points and gliders can be dragged.

Default: false

isReal

Boolean
If element is in two dimensional real space this is true, else false.

Default: true

lastDragTime

Date
Time stamp containing the last time this element has been dragged.

Default: creation time

line

JXG.Line

only set if method equals 'pointLine'. Do not set this parameter directly as it will break JSXGraph's update system.

Default: null

See also:

  • #method

method

String

Stores the given method. Can be

  • 'twoPoints' which means the circle is defined by its center and a point on the circle.
  • 'pointRadius' which means the circle is defined by its center and its radius given in user units or as term.
  • 'pointLine' which means the circle is defined by its center and its radius given by the distance from the startpoint and the endpoint of the line.
  • 'pointCircle' which means the circle is defined by its center and its radius given by the radius of another circle.

See also:

  • #center
  • #point2
  • #radius
  • #line
  • #circle

methodMap

Object
The methodMap determines which methods can be called from within JessieCode and under which name it can be used. The map is saved in an object, the name of a property is the name of the method used in JessieCode, the value of a property is the name of the method in JavaScript.

mouseover

Boolean
Is the mouse over this element?

Default: false

name

String
Not necessarily unique name for the element.

Default: Name generated by {@link JXG.Board#generateName}.

See also:

needsUpdate

Boolean
Controls if updates are necessary

Default: true

notExistingParents

Object
Stores all Intersection Objects which in this moment are not real and so hide this element.

numTraces

Number
Counts the number of objects drawn as part of the trace of the element.

See also:

parents

Object
Ids of elements on which this element depends directly are stored here.

point2

JXG.Point private

See also:

  • #method

quadraticform

Array
Quadratic form representation of circles (and conics)

Default: [[1,0,0],[0,1,0],[0,0,1]]

radius

Number

only set if method equals 'pointRadius'

Default: null

See also:

  • #method

rendNode

Object
Stores the rendering node for the element.

stdform

Array
[c,b0,b1,a,k,r,q0,q1] See A.E. Middleditch, T.W. Stacey, and S.B. Tor: "Intersection Algorithms for Lines and Circles", ACM Transactions on Graphics, Vol. 8, 1, 1989, pp 25-40. The meaning of the parameters is: Circle: points p=[p0,p1] on the circle fulfill a<p,p> + <b,p> + c = 0 For convenience we also store r: radius k: discriminant = sqrt(<b,b>-4ac) q=[q0,q1] center Points have radius = 0. Lines have radius = infinity. b: normalized vector, representing the direction of the line. Should be put into Coords, when all elements possess Coords.

Default: [1, 0, 0, 0, 1, 1, 0, 0]

subs

Object
Subs contains the subelements, created during the create method.

symbolic

Object
Stores variables for symbolic computations

traces

Object
Keeps track of all objects drawn as part of the trace of the element.

See also:

transformations

Array
Stores the transformations which are applied during update in an array

See also:

type

Number final
Type of the element.

visProp

Object
An associative array containing all visual properties.

Default: empty object

Events

attribute

Notify everytime an attribute is changed.

Event Payload:

  • o Object
    A list of changed attributes and their new value.
  • el Object
    Reference to the element

attribute:<attribute>

This is a generic event handler. It exists for every possible attribute that can be set for any element, e.g. if you want to be notified everytime an element's strokecolor is changed, is the event attribute:strokecolor.

Event Payload:

down

Whenever the user starts to touch or click an element.

Event Payload:

  • e Event
    The browser's event object.

drag

This event is fired whenever the user drags an element.

Event Payload:

  • e Event
    The browser's event object.

mousedown

Whenever the user starts to click an element.

Event Payload:

  • e Event
    The browser's event object.

mousedrag

This event is fired whenever the user drags the element with a mouse.

Event Payload:

  • e Event
    The browser's event object.

mousemove

This event is fired whenever the user is moving the mouse over an element.

Event Payload:

  • e Event
    The browser's event object.

mouseout

This event is fired whenever the user puts the mouse away from an element.

Event Payload:

  • e Event
    The browser's event object.

mouseover

This event is fired whenever the user puts the mouse over an element.

Event Payload:

  • e Event
    The browser's event object.

mouseup

Whenever the user releases the mousebutton over an element.

Event Payload:

  • e Event
    The browser's event object.

move

This event is fired whenever the user is moving over an element.

Event Payload:

  • e Event
    The browser's event object.

out

This event is fired whenever the user is leaving an element.

Event Payload:

  • e Event
    The browser's event object.

over

This event is fired whenever the user is hovering over an element.

Event Payload:

  • e Event
    The browser's event object.

touchdown

Whenever the user starts to touch an element.

Event Payload:

  • e Event
    The browser's event object.

touchdrag

This event is fired whenever the user drags the element on a touch device.

Event Payload:

  • e Event
    The browser's event object.

touchup

Whenever the user stops touching an element.

Event Payload:

  • e Event
    The browser's event object.

up

Whenever the user stops to touch or click an element.

Event Payload:

  • e Event
    The browser's event object.