50 lines
2.0 KiB
TypeScript
50 lines
2.0 KiB
TypeScript
import McGiWorldDraw from "../McGiWorldDraw";
|
|
import MxDbShape from "../MxDbShape";
|
|
/*** 椭圆(弧)形状 */
|
|
export default class MxDbEllipseShape extends MxDbShape {
|
|
constructor();
|
|
getTypeName(): string;
|
|
/** 弧中心点 */
|
|
center: import("three").Vector3;
|
|
setCenter(center: THREE.Vector3): this;
|
|
/** X轴椭圆弧半径 默认当前坐标转换下的10像素 */
|
|
xRadius: number;
|
|
setXRadius(xRadius: number): this;
|
|
/** Y轴椭圆弧半径 默认当前坐标转换下的10像素 */
|
|
yRadius: number;
|
|
setYRadius(yRadius: number): this;
|
|
/** 弧开始角度 默认0*/
|
|
startAngle: number;
|
|
setStartAngle(startAngle: number): this;
|
|
/** 弧结束角度 默认0*/
|
|
endAngle: number;
|
|
setEndAngle(endAngle: number): this;
|
|
/** 以顺时针方向创建(扫过)弧线 默认false */
|
|
clockwise: boolean;
|
|
setClockwise(clockwise: boolean): this;
|
|
/** 旋转角度 */
|
|
rotation: number;
|
|
setRotation(rotation: number): this;
|
|
/** 是否闭合到中心位置 */
|
|
isClosedToCenter: boolean;
|
|
setIsClosedToCenter(isClosedToCenter: boolean): this;
|
|
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
/** 绘制椭圆形状 */
|
|
drawEllipseShape(pWorldDraw: McGiWorldDraw): {
|
|
/** 圆心角 */
|
|
centralAngle: number;
|
|
/** 圆弧曲线 */
|
|
curve: import("three").EllipseCurve;
|
|
/** 构成圆弧的向量点 */
|
|
points: import("three").Vector3[];
|
|
};
|
|
/** 创建圆弧 */
|
|
createEllipseCurve(x?: number, y?: number, xRadius?: number, yRadius?: number, startAngle?: number, endAngle?: number, clockwise?: boolean, rotation?: number): import("three").EllipseCurve;
|
|
/** 获取圆角的点集合(椭圆不需要) */
|
|
getCornerRadiusPoints(points: THREE.Vector3[]): import("three").Vector3[];
|
|
getClosedPoints(points: THREE.Vector3[]): THREE.Vector3[];
|
|
getClosedLine(points: THREE.Vector3[]): import("three").CatmullRomCurve3;
|
|
getGripPoints(): import("three").Vector3[];
|
|
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
}
|