构造一个空的Geometry。 geometry 类型必须是以下值之一: Geometry.Line, Geometry.Ellipse, Geometry.Rectangle, Geometry.Path.
此只读属性返回一个矩形,其中包含Geometry中的所有点。结果将始终包含原点(0, 0)
获取或设置 Shape.geometryStretch 值为 GraphObject.None 时 Shape 默认使用的 Shape.geometryStretch 值。 默认值为 GraphObject.Fill 一些图形生成器会返回此属性设置为GraphObject.Uniform 的Geometry,以便在可能具有不同大小的Shape使用时保持其长宽比。
获取或设置 PathFigure List 该list表示 Path 类型的Geometrie的路径内容
获取或设置当 Shape.spot1 值为 Spot.Default 时, "Auto" Panel 将用于任何面板内容的左上角的位置。 默认值为 Spot.TopLeft, 位于Shape边界的左上角
获取或设置当 Shape.spot2 值为 Spot.Default 时, "Auto" Panel 将用于任何面板内容的右下角的位置。 默认值为 Spot.BottomRight, 位于Shape边界的右下角
获取或设置Geometry的类型, 默认类型为 Geometry.Path。 其他允许的值为 Geometry.Line, Geometry.Ellipse, 或 Geometry.Rectangle.
将 PathFigure 添加到 figures 列表
一个新分配的未共享PathFigure,它将由此Geometry拥有
this
在不添加原点的情况下计算几何的边界,并将这些边界作为rect返回。此方法不会修改几何图或其边界
使用相同的值和figures创建此Geometry副本
给定SVG或GoJS路径字符串,则返回一个完整的路径字符串,并填充每个路径图。例如 "M0 0 L22 22 L33 0" 将变成 "F M0 0 L22 22 L33 0".
以局部坐标返回沿此几何路径的分数距离(0-1)的角度表示的斜率
介于0到1之间,包含0和1的分数
返回沿着此几何图形的路径的近距离的分数距离(0-1)
在此几何图形附近的局部坐标点
介于0到1之间,包含0和1的分数
按给定的(x,y)偏移Geometry
X轴偏移条件
Y轴偏移条件
this
使用类似于SVG的路径几何语法的字符串生成 Geometry。 该语法接受所有SVG路径语法 (SVG路径语法(w3.org)), 以及三个特定与GOJS的令牌。具体来说,允许以下令牌:
M (x,y)+
- 移动命令L (x,y)+, H (x)+, V (y)+
线命令,包括水平和垂直线C (x1 y1 x2 y2 x y)+, S (x2 y2 x y)+
三次贝塞尔曲线Q (x1 y1 x y)+, T (x y)+
二次贝塞尔曲线A (rx ry x-axis-rotation large-arc-flag clockwise-flag x y)+
圆弧 (遵循SVG圆弧约定)Z
表示前一个子路径已经关闭此外,还有一些特定于GOJS的令牌:
B (startAngle, sweepAngle, centerX, centerY, radius)+
遵循GOJS canvas弧约定的弧X
在M命令之前用于表示单独的PathFigures而不是子路径F
表示当前PathFigur是否已填充 (如果存在F则为true)U
表示PathFigure没有阴影有关更多详细信息,请参见简介中的 几何解析 页面
是否应填充,如果为true,则无论是否存在"F"命令,都将填充字符串中的所有PathFigures。 如果为false,则所有PathFigures都将通过是否存在"F"命令来确定其自身的填充状态。默认为false
将几何图形旋转到指定角度,并带有可选的X和Y值来旋转几何图形。如果未给定X和Y值,则将(0,0)用作旋转点
旋转角度
旋转几何的可选X点,如果没有给定点,则该值为0
旋转几何的可选Y点,如果没有给定点,则该值为0
this
按照给定的(x,y)比例条件缩放几何
如果要水平翻转几何, 请调用 geo.scale(-1, 1)
。
如果要垂直翻转几何,请调用 geo.scale(1, -1)
。
X轴比例条件
Y轴比例条件
this
此静态函数可用于写出 Geometry 作为可以被 Geometry.parse 读取的字符串。
此方法产生的字符串是SVG路径字符串规则的超集,其中包含一些其他特定GOJS的令牌。 有关更多详细信息,请参见简介中的 几何解析 页面
用于在矩形内绘制椭圆拟合;Geometry.type 的值。 椭圆适合从点 (startX, startY) 到点 (endX, endY) 的矩形内
用于绘制一条简单的直线;Geometry.type 的值。 该线从点 (startX, startY) 到点 (endX, endY)
用于绘制由 PathFigure 列表组成的复杂路径; Geometry.type 的值
用于绘制矩形;Geometry.type 的值 矩形从点 (startX, startY) 到点 (endX, endY)
Geometry类用于定义Shape 的"形状" Geometry 可以是简单的直线,矩形或者椭圆形。 Geometry 也可以是任意复杂的路径,由 PathFigure 列表组成。
Shape 使用过Geometry后,不得对其进行修改。 但是, 一个Geometry可以被多个Shape共享。
使用几何路径字符串语法创建Geometry是很平常的:Geometry Path Strings 但是以编程方式创建几何图形的效率要高得多。 评估JavaScript的几个示例说明了一种实现方法,例如:
new go.Geometry() .add(new go.PathFigure(p.x, p.y) .add(new go.PathSegment(go.PathSegment.Arc, -sweep/2, sweep, 0, 0, radius+layerThickness, radius+layerThickness)) .add(new go.PathSegment(go.PathSegment.Line, q.x, q.y)) .add(new go.PathSegment(go.PathSegment.Arc, sweep/2, -sweep, 0, 0, radius, radius).close()));
请参阅示例索引中使用 Geometries 的示例