!!!###!!!title=Polygon——VisActor/VGraph tutorial documents!!!###!!!!!!###!!!description=A Polygon is a graphic object used to create a polygon graphic instance, containing information such as the polygon's coordinates, number of sides, and size, for the rendering engine to draw and interact with.!!!###!!!

Polygon

A Polygon is a graphic object used to create a polygon graphic instance, containing information such as the polygon's coordinates, number of sides, and size, for the rendering engine to draw and interact with.

Example

import { Polygon } from '@visactor/vgraph';

// Regular hexagon
const polygon = new Polygon({
    type: "regular",
    n: 6,
    edgeLength: 20,
    cx: 400,
    cy: 200,
    lineWidth: 2,
    fillStyle: "#eee",
    strokeStyle: "#666",
});
// Six-pointed star
const pentagram = new Polygon({
    type: "star",
    n: 6,
    outerRadius: 20,
    cx: 300,
    cy: 200,
    lineWidth: 2,
    fillStyle: "#eee",
    strokeStyle: "#666",
});

Polygon Configuration

FieldTypeDescription
pointsnumber[][]An n x 2 two-dimensional array specifying the polygon's vertex coordinates. If this parameter is given, all other parameters below will be ignored.
typeregular | starThe type of polygon. regular represents a regular N-sided polygon, and star represents an N-pointed star.
nnumberDescribes the N of the polygon.
cxnumberThe x-coordinate of the polygon's center.
cynumberThe y-coordinate of the polygon's center.
edgeLengthnumberThe length of the polygon's edges. This is only valid for the regular type. If this is specified, outerRadius will be ignored.
outerRadiusnumberThe radius of the polygon's circumscribed circle.
innerRadiusnumberThe radius of the polygon's inscribed circle. This is only valid for the star type.

Common Configurations

The following are common configurations for all graphic objects:

FieldTypeDescription
opacitynumberOpacity
fillStylestringFill color
strokeStylestringStroke color
lineWidthnumberStroke width
lineDashnumber | number[]Dash pattern, refer to CanvasRenderingContext2D.setLineDash()
lineDashOffsetnumber | number[]Dash line starting offset, refer to CanvasRenderingContext2D.lineDashOffset
shadowBlurnumberShadow blur amount, refer to CanvasRenderingContext2D.shadowBlur
shadowColorstringShadow color
shadowOffsetXnumberHorizontal shadow offset, refer to CanvasRenderingContext2D.shadowOffsetX
shadowOffsetYnumberVertical shadow offset, refer to CanvasRenderingContext2D.shadowOffsetY
clipShapeBaseClipping shape. Sets the specified shape as the clipping path. The part within the clipping shape's path will be retained, and the rest will be culled. Refer to CanvasRenderingContext2D.clip()
cursorstringThe type of cursor when this shape gains focus. For details, refer to CSS Cursor

Note: Color strings currently support the following formats:

TypeExampleDescription
rgbrgb(255, 255, 255)White represented in RGB mode
rgbargba(255, 255, 255, 1.0)White represented in RGBA mode
hslhsl(13, 100%, 10%)Color represented in HSL mode, equivalent to rgb(56, 12, 0)
hslahsla(13, 100%, 10%, 0.4)Color represented in HSL mode, equivalent to rgba(56, 12, 0, 0.4)
hex#fffPure color represented by a three-digit hexadecimal number, case-insensitive
hex#FF00FFPure color represented by a six-digit hexadecimal number, case-insensitive
hex#3037ffffColor with transparency represented by an eight-digit hexadecimal number, case-insensitive
namecyanColor represented by its name
linear gradientl(0) 0:#fff 0.5:#7ec2f3 1:#1890ffLinear gradient, the expression is l(deg) step1:color1 step2:color2 ..., which means a linear gradient with a linear tilt angle of deg, and the colors are interpolated at step1, step2... with color1, color2...
radial gradientr(0.5,0.5,0) 0:#fff 0.5:#7ec2f3 1:#1890ffRadial gradient, the expression is r(cx, cy, r0) r1:color1 r2:color2 ..., which means a radial gradient centered at the relative coordinate (cx, cy) within the bounding box, with a starting radius r0, and the colors are interpolated at radii r1, r2... with color1, color2...
picturep(a)./pattern.pngImage, the expression is p(repeat)url. When repeat is a, it means the background repeat mode is repeat; when it is x, it means repeat-x; when it is y, it means repeat-y; when it is n, it means no-repeat. The parameter url represents the image path. Refer to CSS background-repeat

Accessible Properties

PropertyTypeDescription
type'polygon'Shape type
capturebooleanWhether it is captured by focus
animatingbooleanWhether it is an animation
destroyedbooleanWhether it has been destroyed
parentanyParent shape node

Instance Methods

Instance MethodReturn ValueDescription
getBBox()BBoxGets the bounding box position and size
translate(x: number, y: number)voidTranslates
scale(xRatio: number, yRatio?: number)voidScales
rotate(deg: number, radian: boolean)voidRotates around the center. radian is used to specify whether the parameter deg is in radians. If it is true, it is in radians; otherwise, it is in degrees. The default is false.
rawRotate(deg: number, radian: boolean)voidRotates based on the matrix origin, with the same definition as rotate
clone()IShapeGets a copy of a shape
show()voidShows the shape
hide()voidHides the shape
get(k: string)anyGets the property named k of this shape
set(k: string, v: any)IShapeSets the value of the property named k of this shape to v
set(data: Record<string, any>)IShapePasses an object to set properties in bulk
on(eventName: string, callback: () => void)voidSets a trigger for when an event occurs
off(eventName: string, callback: () => void)voidSets a trigger for when an event stops
emit(eventName: string, data: Record<string, any>)voidTriggers the specified event