Element Measurement
JXG.CoordsElement,JXG.GeometryElement
↳ JXG.Text
↳ Text
↳ Measurement
Measurement element. Under the hood this is a text element which has a method Value. The text to be displayed is the result of the evaluation of a prefix expression, see JXG.PrefixParser.
The purpose of this element is to display values of measurements of geometric objects, like the radius of a circle,
as well as expressions consisting of measurements.
Defined in: measure.js.
Extends
Text.
Constructor Attributes | Constructor Name and Description |
---|---|
Field Attributes | Field Name and Description |
---|---|
This specifies the unit of measurement in dimension 1 (e.g.
|
|
Dimension of the measured data.
|
|
Function to format coordinates.
|
|
Function to format direction vector.
|
|
Function to format the prefix.
|
|
Function to format the suffix.
|
|
String that is displayed before the measurement and its unit.
|
|
Determines whether a prefix is displayed before the measurement value and unit.
|
|
Determines whether a suffix is displayed after the measurement value and unit.
|
|
String that is displayed after the measurement and its unit.
|
|
This attribute expects an object that has the dimension numbers as keys (as integer or in the form of "dimxx")
and assigns a string to each dimension.
|
- Methods borrowed from class JXG.Text:
- _createFctUpdateText, _setText, bounds, checkForSizeUpdate, convertGeonext2CSS, convertGeonextAndSketchometry2CSS, convertSketchometry2CSS, crudeSizeEstimate, escapeTicks, expandShortMath, generateTerm, getAnchorX, getAnchorY, getNumberOfConflicts, getSize, hasPoint, notifyParents, poorMansTeX, replaceSub, replaceSup, setAutoPosition, setCoords, setText, setTextJessieCode, unescapeTicks, update, updateRenderer, updateSize, updateText, utf8_decode, valueTagToJessieCode
- Methods borrowed from class JXG.GeometryElement:
- _set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getTextAnchor, getType, handleSnapToGrid, hide, hideElement, noHighlight, normalize, prepareUpdate, remove, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, show, showElement, snapToPoints, updateVisibility, useLocale
- Methods borrowed from class JXG.CoordsElement:
- _anim, addAnchor, addConstraint, Coords, Dist, findClosestSnapValue, free, handleAttractors, handleSnapToPoints, makeGlider, moveAlong, moveTo, popSlideObject, setGliderPosition, setPositionByTransform, updateConstraint, updateCoords, updateGlider, updateGliderFromParent, updateTransform, visit, X, XEval, Y, YEval, Z, ZEval
- Events borrowed from class JXG.GeometryElement:
- attribute, attribute:key, down, drag, keydrag, mousedown, mousedrag, mousemove, mouseout, mouseover, mouseup, move, out, over, pendown, pendrag, penup, touchdown, touchdrag, touchup, up
Element Detail
Measurement
-
This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create
with type "measurement".
- Possible parent array combinations are:
-
{Point|Array} x
{Point|Array} y
{Array} expression
- Here, expression is a prefix expression, see JXG.PrefixParser.
- Throws:
- {Exception}
- If the element cannot be constructed with the given parent objects an exception is thrown.
- Examples:
var p1 = board.create('point', [1, 1]); var p2 = board.create('point', [1, 3]); var ci1 = board.create('circle', [p1, p2]); var m1 = board.create('measurement', [1, -2, ['Area', ci1]], { visible: true, prefix: 'area: ', baseUnit: 'cm' }); var m2 = board.create('measurement', [1, -4, ['Radius', ci1]], { prefix: 'radius: ', baseUnit: 'cm' });
var p1 = board.create('point', [1, 1]); var p2 = board.create('point', [1, 3]); var ci1 = board.create('circle', [p1, p2]); var seg = board.create('segment', [[-2,-3], [-2, 3]], { firstArrow: true, lastArrow: true}); var sli = board.create('slider', [[-4, 4], [-1.5, 4], [-10, 1, 10]], {name:'a'}); var m1 = board.create('measurement', [-6, -2, ['Radius', ci1]], { prefix: 'm1: ', baseUnit: 'cm' }); var m2 = board.create('measurement', [-6, -4, ['L', seg]], { prefix: 'm2: ', baseUnit: 'cm' }); var m3 = board.create('measurement', [-6, -6, ['V', sli]], { prefix: 'm3: ', baseUnit: 'cm', dim: 1 }); var m4 = board.create('measurement', [2, -6, ['+', ['V', m1], ['V', m2], ['V', m3]] ], { prefix: 'm4: ', baseUnit: 'cm' });
Attribute Detail
{String}
baseUnit
This specifies the unit of measurement in dimension 1 (e.g. length).
A power is automatically added to the string.
If you want to use different units for each dimension, see Measurement#units.
Defined in: options.js.
Defined in: options.js.
var p1 = board.create("point", [0,1]), p2 = board.create("point", [3,1]), c = board.create("circle", [p1, p2]); board.create("measurement", [-2, -3, ["Perimeter", c]], { baseUnit: " m" }); board.create("measurement", [1, -3, ["Area", c]], { baseUnit: " m" });
- See:
- Measurement#units
- Default Value:
- ''
{Number|'coords'|'direction'}
dim
Dimension of the measured data. This measurement can only be combined with a measurement of a suitable dimension.
Overwrites the dimension returned by the Dimension() method.
Normally, the default value null is used here to automatically determine the dimension.
However, if the coordinates or a direction vector are measured, the value is usually returned as an array.
To tell the measurement that the function Measurement#formatCoords or Measurement#formatDirection should be used
to display the array properly, 'coords' or 'direction' must be specified here.
Defined in: options.js.
Defined in: options.js.
- Default Value:
- null
{Function}
formatCoords
Function to format coordinates. Does only have an effect, if Measurement#dim is set to 'coords'.
Defined in: options.js.
Defined in: options.js.
var p = board.create("point", [-2, 0]); board.create("measurement", [0, -3, ["Coords", p]], { dim: 'coords', formatCoords: function (_,x,y,z) { if (parseFloat(z) !== 1) return 'Infinit coords'; else return '(' + x + ' | ' + y + ')'; } });
- See:
- Measurement#dim
{Function}
formatDirection
Function to format direction vector. Does only have an effect, if Measurement#dim is set to 'direction'.
Defined in: options.js.
Defined in: options.js.
var p1 = board.create("point", [0,1]), p2 = board.create("point", [3,1]), s = board.create("segment", [p1, p2]); board.create("measurement", [0, -2, ["Direction", s]], { dim: 'direction', formatDirection: function (self,x,y) { return '\\[\\frac{' + x + '}{' + y + '} = ' + (!isFinite(x/y) ? '\\infty' : JXG.toFixed(x/y, self.visProp.digits)) + '\\]'; }, useMathJax: true });
formatPrefix
Function to format the prefix.
Defined in: options.js.
Defined in: options.js.
formatSuffix
Function to format the suffix.
Defined in: options.js.
Defined in: options.js.
{String}
prefix
String that is displayed before the measurement and its unit.
Defined in: options.js.
Defined in: options.js.
- Default Value:
- ''
{Boolean}
showPrefix
Determines whether a prefix is displayed before the measurement value and unit.
Defined in: options.js.
Defined in: options.js.
- See:
- Measurement#prefix
- Default Value:
- true
{Boolean}
showSuffix
Determines whether a suffix is displayed after the measurement value and unit.
Defined in: options.js.
Defined in: options.js.
- See:
- Measurement#suffix
- Default Value:
- true
{String}
suffix
String that is displayed after the measurement and its unit.
Defined in: options.js.
Defined in: options.js.
- Default Value:
- ''
{Object}
units
This attribute expects an object that has the dimension numbers as keys (as integer or in the form of "dimxx")
and assigns a string to each dimension.
If a dimension has no specification, Measurement#baseUnit is used.
Defined in: options.js.
Defined in: options.js.
var p1 = board.create("point", [0,1]), p2 = board.create("point", [3,1]), c = board.create("circle", [p1, p2]); board.create("measurement", [-3, -3, ["Perimeter", c]], { baseUnit: " m", units: { 1: " length unit", 2: " area unit" }, }); board.create("measurement", [1, -3, ["Area", c]], { baseUnit: " m", units: { dim1: " length unit", dim2: " area unit" }, });
- See:
- Measurement#baseUnit
Attributes borrowed from other Elements
- Attributes borrowed from class Text:
- anchor, anchorX, anchorY, attractors, cssClass, cssDefaultStyle, cssStyle, digits, display, dragArea, fontSize, fontUnit, formatNumber, highlightCssClass, highlightCssDefaultStyle, highlightCssStyle, intl, isLabel, katexMacros, parse, rotate, snapSizeX, snapSizeY, toFraction, useASCIIMathML, useCaja, useKatex, useMathJax, visible
- Attributes borrowed from class JXG.GeometryElement:
- aria, dash, dashScale, draft, dragToTopOfLayer, element3D, fillColor, fillOpacity, fixed, frozen, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, highlight, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, layer, lineCap, needsRegularUpdate, nonnegativeOnly, precision, priv, rotatable, scalable, shadow, snapToGrid, strokeColor, strokeOpacity, strokeWidth, tabindex, trace, traceAttributes, transitionDuration, transitionProperties, withLabel
Fields borrowed from other Elements
- Fields borrowed from class JXG.Text:
- size
- Fields borrowed from class JXG.GeometryElement:
- _org_type, _pos, ancestors, baseElement, board, childElements, descendants, dump, elementClass, elType, hasLabel, highlighted, id, inherits, isDraggable, isReal, lastDragTime, methodMap, mouseover, name, needsUpdate, notExistingParents, numTraces, parents, quadraticform, rendNode, stdform, subs, symbolic, traces, transformations, type, visProp, visPropCalc
- Fields borrowed from class JXG.CoordsElement:
- coords, groups, isConstrained, needsUpdateFromParent, onPolygon, position, slideObject, slideObjects
Methods borrowed from other Elements
- Methods borrowed from class JXG.Text:
- _createFctUpdateText, _setText, bounds, checkForSizeUpdate, convertGeonext2CSS, convertGeonextAndSketchometry2CSS, convertSketchometry2CSS, crudeSizeEstimate, escapeTicks, expandShortMath, generateTerm, getAnchorX, getAnchorY, getNumberOfConflicts, getSize, hasPoint, notifyParents, poorMansTeX, replaceSub, replaceSup, setAutoPosition, setCoords, setText, setTextJessieCode, unescapeTicks, update, updateRenderer, updateSize, updateText, utf8_decode, valueTagToJessieCode
- Methods borrowed from class JXG.GeometryElement:
- _set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getTextAnchor, getType, handleSnapToGrid, hide, hideElement, noHighlight, normalize, prepareUpdate, remove, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, show, showElement, snapToPoints, updateVisibility, useLocale
- Methods borrowed from class JXG.CoordsElement:
- _anim, addAnchor, addConstraint, Coords, Dist, findClosestSnapValue, free, handleAttractors, handleSnapToPoints, makeGlider, moveAlong, moveTo, popSlideObject, setGliderPosition, setPositionByTransform, updateConstraint, updateCoords, updateGlider, updateGliderFromParent, updateTransform, visit, X, XEval, Y, YEval, Z, ZEval
Events borrowed from other Elements