扩展 `mxRectangle` 以表示单元的几何形状。
```
function mxGeometry(x, y, width, height)
```
**变量**
- `TRANSLATE_CONTROL_POINTS` : Global switch to translate the points in translate. Default is `true`.
- `alternateBounds` : 将x,y,宽度和高度的备用值存储在矩形中。 请参阅交换以交换值。 默认为 `null`。
- `sourcePoint` : 定义边的源 `mxPoint`。 如果相应的边没有源顶点,则使用此选项。 否则将被忽略。 默认为 `null`。
- `targetPoint` : 定义边的目标 `mxPoint`。 如果相应的边没有目标顶点,则使用此选项。 否则将被忽略。 默认为 `null`。
- `points` : `mxPoints` 数组,指定沿边缘的控制点。 这些点是边缘上的中间点,对于端点,请使用 `targetPoint` 和 `sourcePoint` 或将边缘的终端设置为非 `null` 值。 默认为 `null`。
- `offset` : 对于边缘,这保留了边缘上 `<x>` 和 `<y>` 所定义位置的偏移量(以像素为单位)。 对于相对几何体(对于顶点),这定义了相对坐标所定义的点的绝对偏移量。 对于绝对几何(对于顶点),这定义了标签的偏移量。 默认为 `null`。
- `target` : 指定是否将几何中的坐标解释为相对坐标。 对于边缘,这用于定义边缘标签相对于显示在显示器上的边缘的位置。 对于顶点,这指定了父单元边界内的相对位置。
如果为 `false`,则坐标相对于父单元的原点,或者对于边缘,边缘标签的位置相对于在屏幕上呈现的边缘的中心。
默认为 `false`。
**函数**
- `swap()` : 用存储在 `alternateBounds` 中的值交换 `x`,`y`,宽度和高度,并将先前的值作为矩形放入 `alternateBounds`中。 该操作是就地执行的,即使用现有几何实例。 如果在图模型事务更改期间调用了此操作,则应在调用此方法并使用 `mxGraphModel.setGeometry` 设置单元格的几何图形之前克隆几何图形。
- `getTerminalPoint(isSource)` : 返回表示该边的源或目标点的 `mxPoint`。 仅当边没有源或目标顶点时才使用此选项。
- `setTerminalPoint(point: mxPoint, isSource)` : 将 `sourcePoint` 或 `targetPoint` 设置为给定的mxPoint并返回新点。