Geometry$Typings extension
Properties
-
bounds
↔ Rect
-
This read-only property returns a rectangle that contains all points within the Geometry.
The result will always contain the origin (0, 0).
getter/setter pair
-
defaultStretch
↔ EnumValue
-
Gets or sets the Shape#geometryStretch value the Shape should use by default
when the Shape#geometryStretch value is GraphObject.None.
The default value is GraphObject.Fill.
Some figure generators return a Geometry with this property set to GraphObject.Uniform,
in order to preserve its aspect ratio when used by a Shape that may have different sizes.
getter/setter pair
-
endX
↔ num
-
Gets or sets the ending X coordinate of the Geometry if it is of type
Geometry.Line|Line, Geometry.Rectangle|Rectangle, or Geometry.Ellipse|Ellipse.
The initial value is zero.
getter/setter pair
-
endY
↔ num
-
Gets or sets the ending Y coordinate of the Geometry if it is of type
Geometry.Line|Line, Geometry.Rectangle|Rectangle, or Geometry.Ellipse|Ellipse.
The initial value is zero.
getter/setter pair
-
figures
↔ List<PathFigure>
-
Gets or sets the List of PathFigures
that describes the content of the
path for Geometries of type Geometry.Path|Path.
getter/setter pair
-
flattenedLengths
↔ Array<Array<num>>
-
(undocumented)
Flattened lengths represents a series of lengths of the paths making up a Geometry.
The inner arrays consist of a sequence of PathSegment lengths making up a PathFigure,
while the outer array represents the whole Geometry of these PathFigures.
getter/setter pair
-
flattenedSegments
↔ Array<Array<num>>
-
(undocumented)
Flattened segments represents a series of points making up a Geometry.
The inner arrays consist of a sequence of PathSegment coordinates making up a PathFigure,
while the outer array represents the whole Geometry of these PathFigures.
getter/setter pair
-
flattenedTotalLength
↔ num
-
(undocumented)
This read-only property returns the approximate length of the path.
This is the overall distance of all the PathSegments that make up the geometry.
getter/setter pair
-
spot1
↔ Spot
-
Gets or sets the spot an "Auto" Panel will use for the top-left corner of any panel content
when the Shape#spot1 value is Spot.Default.
The default value is Spot.TopLeft, at the top-left point of the bounds of the Shape.
getter/setter pair
-
spot2
↔ Spot
-
Gets or sets the spot an "Auto" Panel will use for the bottom-right corner of any panel content
when the Shape#spot2 value is Spot.Default.
The default value is Spot.BottomRight, at the bottom-right point of the bounds of the Shape.
getter/setter pair
-
startX
↔ num
-
Gets or sets the starting X coordinate of the Geometry if it is of type
Geometry.Line|Line, Geometry.Rectangle|Rectangle, or Geometry.Ellipse|Ellipse.
The initial value is zero.
getter/setter pair
-
startY
↔ num
-
Gets or sets the starting Y coordinate of the Geometry if it is of type
Geometry.Line|Line, Geometry.Rectangle|Rectangle, or Geometry.Ellipse|Ellipse.
The initial value is zero.
getter/setter pair
-
type
↔ EnumValue
-
Gets or sets the type of the Geometry.
The default type is Geometry.Path.
Other permissible values are Geometry.Line, Geometry.Ellipse,
or Geometry.Rectangle.
getter/setter pair
Methods
-
add(PathFigure figure)
→ Geometry
-
Add a PathFigure to the #figures list.
@param {PathFigure} figure a newly allocated unshared PathFigure that will become owned by this Geometry
@return {Geometry} this
@since 1.5
-
computeBoundsWithoutOrigin()
→ Rect
-
Computes the Geometry's bounds without adding an origin point, and returns those bounds as a rect.
This method does not modify the Geometry or its bounds.
@return {Rect}
@since 1.1
-
containsPoint(Point p, [num? sw])
→ bool
-
Returns true if the Geometry contains the point.
@param {Point} p in local geometry coordinates
@param {number=} sw half the stroke width that a Shape has or that you want to pretend it has
@return {boolean}
@since 2.2
-
copy()
→ Geometry
-
Create a copy of this Geometry, with the same values and figures.
@expose
@return {Geometry}
-
equalsApprox(Geometry g)
→ bool
-
(undocumented)
@param {Geometry} g
@return {boolean}
-
getAngleAlongPath(num fraction)
→ num
-
Returns the slope expressed as an angle at the fractional distance (0-1) along this Geometry's path, in local coordinates.
@param {number} fraction A fractional amount between 0 and 1, inclusive.
@return {number}
@since 2.1
-
getFractionForPoint(Point pt)
→ num
-
Returns the fractional distance (0-1) along this Geometry's path for a nearby point.
@param {Point} pt A Point, in local coordinates, near this Geometry.
@return {number} A fractional amount between 0 and 1, inclusive.
@since 2.1
-
getPointAlongPath(num fraction, [Point? result])
→ Point
-
Returns the point at the fractional distance (0-1) along this Geometry's path.
@param {number} fraction A fractional amount between 0 and 1, inclusive.
@param {Point=} result an optional Point that is modified and returned; otherwise it allocates and returns a new Point.
@return {Point} the Point, in local coordinates, of the fractional distance along the path.
@since 2.1
-
normalize()
→ Point
-
Normalizes the Geometry points in place by ensuring the top-left bounds of the geometry lines up with (0, 0),
returning the Point (x, y) amount it was shifted.
After this method is called there will be no negative X or Y value for the Geometry's bounds,
and no empty space at the top-left of the Geometry.
@return {Point}
@since 1.1
-
offset(num x, num y)
→ Geometry
-
Offsets the Geometry in place by a given (x, y) amount
@param {number} x The x-axis offset factor.
@param {number} y The y-axis offset factor.
@return {Geometry} this
@since 1.1
-
rotate(num angle, [num? x, num? y])
→ Geometry
-
Rotates the Geometry in place by a given angle, with optional x and y values to rotate the geometry about.
If no x and y value are given, (0, 0) is used as the rotation point.
@param {number} angle The angle to rotate by.
@param {number=} x The optional X point to rotate the geometry about. If no point is given, this value is 0.
@param {number=} y The optional Y point to rotate the geometry about. If no point is given, this value is 0.
@return {Geometry} this
@since 1.1
-
scale(num x, num y)
→ Geometry
-
Scales the Geometry in place by a given (x, y) scale factor.
-
setSpots(num f1x, num f1y, num f2x, num f2y, [num? o1x, num? o1y, num? o2x, num? o2y])
→ Geometry
-
(undocumented)
Set #spot1 and #spot2 without allocating new Spots.
@param {number} f1x spot1.x
@param {number} f1y spot1.y
@param {number} f2x spot2.x
@param {number} f2y spot2.y
@param {number=} o1x offset1.x, default is zero
@param {number=} o1y offset1.y, default is zero
@param {number=} o2x offset2.x, default is zero
@param {number=} o2y offset2.y, default is zero
@return {Geometry} this