Geometry$Typings extension

on

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