import McGiWorldDraw from '../McGiWorldDraw'; import MxDbEntity from '../MxDbEntity'; import MxDbSVGText from '../MxDbSVGText'; import MxDrawObject from '../MxDrawObject'; import drawMxDbSVG from './draw'; /** * MxDbSVG 绘制SVG图形. */ declare class MxDbSVG extends MxDbEntity { static cmd: string; static draw: typeof drawMxDbSVG; private svgPos; private svg; private svgPath; private svgSize; private svgAlignmentRatio; private imagePath; private isLoadMaterialFromPath; private material; /** 延z轴旋转的数值 */ svgRotate: number; /** 是否倒置SVG图形 */ svgReverse: boolean; svgMirror: boolean; private svgChildColor; svgMargin: THREE.Vector2; private isSvgDirtyLocation; private isLoadFromPath; private aryText; private svgBoxSize; /** 固定尺寸,图片和文字大小,取屏幕像素绘图单位。 */ fixedSize: boolean; /**使用svg的颜色 */ useSvgColor: boolean; setSvgChildColor(aryColor: number[]): void; getSvgChildColor(): number[]; private calcVewSize; calcSvgDrawRect(mxObj: MxDrawObject): any; private calcImageDrawRect; worldDraw(pWorldDraw: McGiWorldDraw): void; /** * 设置SVG的路径 * @param path 路径 * @param preload 是否提前加载SVG * */ setSvgPath(path: string, preload?: boolean): Promise; /** * 获取SVG的路径 * */ getSvgPath(): string; /** * 设置SVG显示位置 * @param pos THREE.Vector3 * */ setSvgPostion(pos: THREE.Vector3): void; /** 设置图片路径 * @param sPath 路径 * */ setImagePath(sPath: string, material?: THREE.MeshLambertMaterial): void; /** 获取图片路径 */ getImagePath(): string; /** * 获取SVG显示位置 * */ getSvgPostion(): THREE.Vector3; /** * 设置SVG大小 * @param size THREE.Vector2 x表示宽度y表示高度 * */ setSvgSize(size: THREE.Vector2): void; getSvgSize(): THREE.Vector2; /** 设置SVG 的调整比例 * @param alignmentRatio THREE.Vector2 * */ setSvgAlignmentRatio(alignmentRatio: THREE.Vector2): void; getSvgAlignmentRatio(): THREE.Vector2; /** 获取文字数组下标中的文字 * @param index 数组下标 * @return {@link MxDbSVGText} * */ getText(index: number): MxDbSVGText | null; /** 添加文字 * @param txt {@link MxDbSVGText} * */ addText(txt: MxDbSVGText): void; getGripPoints(): Array; moveGripPointsAt(index: number, offset: THREE.Vector3): boolean; private calcSvgPosition; dwgIn(obj: any): boolean; dwgOut(obj: any): object; create(): MxDbSVG; transformBy(mat: THREE.Matrix4): void; getTypeName(): string; /** * 设置颜色 * @param color 颜色值 * */ setColor(color: number | string | THREE.Color): this; /** * 设置svg对象 * */ setSvg(svg: any): void; private calcSvgBoxSize; reComputeSVG(): void; protected onViewChange(): boolean; } export default MxDbSVG;