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;
 | |
| }
 |