Rect

位置。

属性

interface Rect {
  x?: number;
  y?: number;
  ex?: number; // x + width
  ey?: number; // y + height
  width?: number;
  height?: number;
  rotate?: number;
  center?: Point; // {x, y}
}

函数

这里的函数为相关函数

pointInRect

点是否在 Rect 上。会计算旋转因素

参数:

  • pt: Point

  • rect: Rect

返回:
boolean

示例:

import { pointInRect } from '@meta2d/core';

// 点(世界坐标)是否在pen上
pointInRect(point, pen.calculative.worldRect);

pointInSimpleRect

点是否在 Rect 上,不计算旋转因素。

参数:

  • pt: Point

  • rect: Rect

  • r: number
    偏移半径。默认 0

返回:
boolean

示例:

import { pointInSimpleRect } from '@meta2d/core';

// 点(世界坐标)是否在pen上
pointInSimpleRect(point, pen.calculative.worldRect);

calcCenter

计算中心点。

参数:

  • rect: Rect

返回:
void

示例:

import { calcCenter } from '@meta2d/core';

calcCenter({ x, y, width, height });

rectInRect

判断一个 rect 是否在另外一个 rect 内。

参数:

  • source: Rect

  • target: Rect

  • allIn: boolean
    是否需要 source 完全在 target 内。默认部分

返回:
boolean

示例:

import { rectInRect } from '@meta2d/core';

rectInRect({ x, y, width, height }, { x, y, width, height });

translateRect

平移 Rect。

参数:

  • rect: Rect

  • x: number

  • y: number

返回:
void

示例:

import { translateRect } from '@meta2d/core';

translateRect({ x, y, width, height }, 10, 10);

scaleRect

缩放 Rect。

参数:

  • rect: Rect

  • scale: number

  • center: Point

返回:
void

示例:

import { scaleRect } from '@meta2d/core';

scaleRect({ x, y, width, height }, 1.2, { x: 0, y: 0 });

calcRelativeRect

计算一个 rect 相对另外一个 worldRect 的相对坐标。通常用于计算子元素位置

参数:

  • rect: Rect

  • worldRect: Rect

返回:
Rect: 相对坐标

示例:

import { calcRelativeRect } from '@meta2d/core';

const relRect = calcRelativeRect({ x, y, width, height }, { x, y, width, height });

calcRelativePoint

计算点 相对 worldRect 的相对坐标。通常用于计算锚点位置

参数:

  • pt: Point

  • worldRect: Rect

返回:
Point: 相对坐标

示例:

import { calcRelativePoint } from '@meta2d/core';

const relPoint = calcRelativePoint({ x, y }, { x, y, width, height });