@visactor/vrender 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/common/polygon.d.ts +3 -3
- package/cjs/common/polygon.js +8 -4
- package/cjs/common/polygon.js.map +1 -1
- package/cjs/core/contributions/env/wx-contribution.d.ts +1 -1
- package/cjs/core/contributions/env/wx-contribution.js +3 -3
- package/cjs/core/contributions/env/wx-contribution.js.map +1 -1
- package/cjs/graphic/arc.d.ts +31 -0
- package/cjs/graphic/arc.js +6 -1
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.d.ts +31 -0
- package/cjs/graphic/arc3d.js +7 -2
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.d.ts +32 -0
- package/cjs/graphic/area.js +7 -1
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/circle.d.ts +30 -0
- package/cjs/graphic/circle.js +4 -1
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +2 -1
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/glyph.d.ts +30 -0
- package/cjs/graphic/glyph.js +4 -1
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +30 -0
- package/cjs/graphic/graphic.js +31 -1
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.d.ts +30 -0
- package/cjs/graphic/group.js +4 -1
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.d.ts +33 -0
- package/cjs/graphic/image.js +8 -1
- package/cjs/graphic/image.js.map +1 -1
- package/cjs/graphic/line.d.ts +32 -0
- package/cjs/graphic/line.js +7 -1
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/path.d.ts +32 -0
- package/cjs/graphic/path.js +7 -1
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.d.ts +30 -0
- package/cjs/graphic/polygon.js +4 -1
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.d.ts +30 -0
- package/cjs/graphic/pyramid3d.js +5 -2
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.d.ts +30 -0
- package/cjs/graphic/rect.js +4 -1
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/rect3d.d.ts +30 -0
- package/cjs/graphic/rect3d.js +5 -2
- package/cjs/graphic/rect3d.js.map +1 -1
- package/cjs/graphic/richtext.d.ts +37 -0
- package/cjs/graphic/richtext.js +12 -1
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/symbol.d.ts +31 -0
- package/cjs/graphic/symbol.js +6 -1
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.d.ts +37 -0
- package/cjs/graphic/text.js +13 -2
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/wrap-text.d.ts +1 -0
- package/cjs/graphic/wrap-text.js +3 -0
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/interface/graphic/polygon.d.ts +1 -0
- package/cjs/interface/graphic/polygon.js.map +1 -1
- package/cjs/interface/graphic.d.ts +1 -0
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/render/contributions/render/line-render.js +1 -1
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.js +3 -3
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/utils.js +4 -3
- package/cjs/render/contributions/render/utils.js.map +1 -1
- package/dist/index.js +133 -17
- package/dist/index.min.js +1 -1
- package/es/common/polygon.d.ts +3 -3
- package/es/common/polygon.js +8 -4
- package/es/common/polygon.js.map +1 -1
- package/es/core/contributions/env/wx-contribution.d.ts +1 -1
- package/es/core/contributions/env/wx-contribution.js +3 -3
- package/es/core/contributions/env/wx-contribution.js.map +1 -1
- package/es/graphic/arc.d.ts +31 -0
- package/es/graphic/arc.js +8 -1
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.d.ts +31 -0
- package/es/graphic/arc3d.js +9 -0
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.d.ts +32 -0
- package/es/graphic/area.js +9 -1
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/circle.d.ts +30 -0
- package/es/graphic/circle.js +6 -1
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +2 -1
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/glyph.d.ts +30 -0
- package/es/graphic/glyph.js +6 -1
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic.d.ts +30 -0
- package/es/graphic/graphic.js +30 -0
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.d.ts +30 -0
- package/es/graphic/group.js +6 -1
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.d.ts +33 -0
- package/es/graphic/image.js +10 -1
- package/es/graphic/image.js.map +1 -1
- package/es/graphic/line.d.ts +32 -0
- package/es/graphic/line.js +9 -1
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/path.d.ts +32 -0
- package/es/graphic/path.js +9 -1
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.d.ts +30 -0
- package/es/graphic/polygon.js +6 -1
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.d.ts +30 -0
- package/es/graphic/pyramid3d.js +7 -0
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.d.ts +30 -0
- package/es/graphic/rect.js +6 -1
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/rect3d.d.ts +30 -0
- package/es/graphic/rect3d.js +7 -0
- package/es/graphic/rect3d.js.map +1 -1
- package/es/graphic/richtext.d.ts +37 -0
- package/es/graphic/richtext.js +14 -1
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/symbol.d.ts +31 -0
- package/es/graphic/symbol.js +7 -2
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.d.ts +37 -0
- package/es/graphic/text.js +15 -2
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/wrap-text.d.ts +1 -0
- package/es/graphic/wrap-text.js +3 -0
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/interface/graphic/polygon.d.ts +1 -0
- package/es/interface/graphic/polygon.js.map +1 -1
- package/es/interface/graphic.d.ts +1 -0
- package/es/interface/graphic.js.map +1 -1
- package/es/render/contributions/render/line-render.js +1 -1
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.js +3 -3
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/utils.js +2 -2
- package/es/render/contributions/render/utils.js.map +1 -1
- package/package.json +4 -4
package/es/graphic/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/image.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/image.ts"],"names":[],"mappings":"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","file":"image.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport type { IImage, IImageGraphicAttribute, IRepeatType } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { DefaultImageAttribute } from './config';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { parsePadding } from '../common/utils';\nimport { IMAGE_NUMBER_TYPE } from './constants';\n\nconst IMAGE_UPDATE_TAG_KEY = ['width', 'height', 'image', ...GRAPHIC_UPDATE_TAG_KEY];\n\n/**\n * TODO image 需要考虑加载问题 等load模块\n * 同时需要在Graphic增加 图片填充 or 图片按形状clip功能\n */\nexport class Image extends Graphic<IImageGraphicAttribute> implements IImage {\n type: 'image' = 'image';\n // 资源加载完成后回调,外部通过回调获取图片资源尺寸\n successCallback?: () => void;\n failCallback?: () => void;\n\n static NOWORK_ANIMATE_ATTR = {\n image: 1,\n repeatX: 1,\n repeatY: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IImageGraphicAttribute) {\n super(params);\n this.numberType = IMAGE_NUMBER_TYPE;\n\n this.loadImage(this.attribute.image);\n }\n\n get width(): number {\n return this.attribute.width ?? 0;\n }\n set width(width: number) {\n if (this.attribute.width === width) {\n this.attribute.width = width;\n this.addUpdateShapeAndBoundsTag();\n }\n }\n\n get height(): number {\n return this.attribute.height ?? 0;\n }\n set height(height: number) {\n if (this.attribute.height === height) {\n this.attribute.height = height;\n this.addUpdateShapeAndBoundsTag();\n }\n }\n get repeatX(): IRepeatType {\n return this.attribute.repeatX ?? 'no-repeat';\n }\n set repeatX(repeatX: IRepeatType) {\n if (this.attribute.repeatX === repeatX) {\n this.attribute.repeatX = repeatX;\n }\n }\n get repeatY(): IRepeatType {\n return this.attribute.repeatY ?? 'no-repeat';\n }\n set repeatY(repeatY: IRepeatType) {\n if (this.attribute.repeatY === repeatY) {\n this.attribute.repeatY = repeatY;\n }\n }\n get image(): string | HTMLImageElement | HTMLCanvasElement {\n return this.attribute.image;\n }\n set image(image: string | HTMLImageElement | HTMLCanvasElement) {\n if (image !== this.attribute.image) {\n this.attribute.image = image;\n this.loadImage(this.attribute.image);\n // this.addUpdateShapeAndBoundsTag();\n }\n }\n\n imageLoadSuccess(url: string, image: HTMLImageElement, cb?: () => void): void {\n super.imageLoadSuccess(url, image, () => {\n if (this.successCallback) {\n this.successCallback();\n }\n });\n }\n\n imageLoadFail(url: string, cb?: () => void): void {\n super.imageLoadFail(url, () => {\n if (this.failCallback) {\n this.failCallback();\n }\n });\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const imageTheme = getTheme(this).image;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateImageAABBBounds(\n attribute,\n getTheme(this).image,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = imageTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n return DefaultImageAttribute[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < IMAGE_UPDATE_TAG_KEY.length; i++) {\n const attrKey = IMAGE_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < IMAGE_UPDATE_TAG_KEY.length; i++) {\n const attrKey = IMAGE_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n clone() {\n return new Image({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Image.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|
package/es/graphic/line.d.ts
CHANGED
|
@@ -5,6 +5,37 @@ import { CustomPath2D } from '../common/custom-path2d';
|
|
|
5
5
|
export declare class Line extends Graphic<ILineGraphicAttribute> implements ILine {
|
|
6
6
|
type: 'line';
|
|
7
7
|
constructor(params?: ILineGraphicAttribute);
|
|
8
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
9
|
+
strokeSeg: number;
|
|
10
|
+
boundsPadding: number;
|
|
11
|
+
pickMode: number;
|
|
12
|
+
boundsMode: number;
|
|
13
|
+
customPickShape: number;
|
|
14
|
+
pickable: number;
|
|
15
|
+
childrenPickable: number;
|
|
16
|
+
visible: number;
|
|
17
|
+
zIndex: number;
|
|
18
|
+
layout: number;
|
|
19
|
+
keepDirIn3d: number;
|
|
20
|
+
outerBorder: number;
|
|
21
|
+
innerBorder: number;
|
|
22
|
+
lineDash: number;
|
|
23
|
+
lineCap: number;
|
|
24
|
+
lineJoin: number;
|
|
25
|
+
miterLimit: number;
|
|
26
|
+
strokeBoundsBuffer: number;
|
|
27
|
+
scaleCenter: number;
|
|
28
|
+
anchor: number;
|
|
29
|
+
anchor3d: number;
|
|
30
|
+
postMatrix: number;
|
|
31
|
+
backgroundMode: number;
|
|
32
|
+
background: number;
|
|
33
|
+
texture: number;
|
|
34
|
+
cursor: number;
|
|
35
|
+
html: number;
|
|
36
|
+
segments: number;
|
|
37
|
+
curveType: number;
|
|
38
|
+
};
|
|
8
39
|
isValid(): boolean;
|
|
9
40
|
private _isValid;
|
|
10
41
|
protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void;
|
|
@@ -15,4 +46,5 @@ export declare class Line extends Graphic<ILineGraphicAttribute> implements ILin
|
|
|
15
46
|
needUpdateTag(key: string): boolean;
|
|
16
47
|
toCustomPath(): CustomPath2D;
|
|
17
48
|
clone(): Line;
|
|
49
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
18
50
|
}
|
package/es/graphic/line.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
|
|
1
|
+
import { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
2
2
|
|
|
3
3
|
import { getTheme } from "./theme";
|
|
4
4
|
|
|
@@ -69,5 +69,13 @@ export class Line extends Graphic {
|
|
|
69
69
|
clone() {
|
|
70
70
|
return new Line(Object.assign({}, this.attribute));
|
|
71
71
|
}
|
|
72
|
+
getNoWorkAnimateAttr() {
|
|
73
|
+
return Line.NOWORK_ANIMATE_ATTR;
|
|
74
|
+
}
|
|
72
75
|
}
|
|
76
|
+
|
|
77
|
+
Line.NOWORK_ANIMATE_ATTR = Object.assign({
|
|
78
|
+
segments: 1,
|
|
79
|
+
curveType: 1
|
|
80
|
+
}, NOWORK_ANIMATE_ATTR);
|
|
73
81
|
//# sourceMappingURL=line.js.map
|
package/es/graphic/line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/line.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import type { AABBBounds, OBBBounds, IPointLike } from '@visactor/vutils';\nimport type { ILine, ILineGraphicAttribute } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { parsePadding, pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { LINE_NUMBER_TYPE } from './constants';\n\nconst LINE_UPDATE_TAG_KEY = ['segments', 'points', 'curveType', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Line extends Graphic<ILineGraphicAttribute> implements ILine {\n type: 'line' = 'line';\n\n constructor(params: ILineGraphicAttribute = {}) {\n super(params);\n this.numberType = LINE_NUMBER_TYPE;\n }\n\n static NOWORK_ANIMATE_ATTR = {\n segments: 1,\n curveType: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { points, segments } = this.attribute;\n if (segments) {\n if (segments.length === 0) {\n return false;\n }\n return true;\n } else if (points) {\n if (points.length <= 1) {\n return false;\n }\n return true;\n }\n return false;\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const lineTheme = getTheme(this).line;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateLineAABBBounds(\n attribute,\n getTheme(this).line,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = lineTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const lineTheme = getTheme(this).line;\n return lineTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < LINE_UPDATE_TAG_KEY.length; i++) {\n const attrKey = LINE_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < LINE_UPDATE_TAG_KEY.length; i++) {\n const attrKey = LINE_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const attribute = this.attribute;\n const path = new CustomPath2D();\n const segments = attribute.segments;\n\n const parsePoints = (points: IPointLike[]) => {\n if (points && points.length) {\n let isFirst = true;\n points.forEach(point => {\n if (point.defined === false) {\n return;\n }\n if (isFirst) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n\n isFirst = false;\n });\n }\n };\n\n if (segments && segments.length) {\n segments.forEach(seg => {\n parsePoints(seg.points);\n });\n } else if (attribute.points) {\n parsePoints(attribute.points);\n }\n\n return path;\n }\n\n clone() {\n return new Line({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Line.NOWORK_ANIMATE_ATTR;\n }\n}\n\n// addAttributeToPrototype(DefaultLineStyle, Line, PURE_STYLE_KEY);\n"]}
|
package/es/graphic/path.d.ts
CHANGED
|
@@ -5,6 +5,37 @@ import { CustomPath2D } from '../common/custom-path2d';
|
|
|
5
5
|
export declare class Path extends Graphic<IPathGraphicAttribute> implements IPath {
|
|
6
6
|
type: 'path';
|
|
7
7
|
cache?: ICustomPath2D;
|
|
8
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
9
|
+
strokeSeg: number;
|
|
10
|
+
boundsPadding: number;
|
|
11
|
+
pickMode: number;
|
|
12
|
+
boundsMode: number;
|
|
13
|
+
customPickShape: number;
|
|
14
|
+
pickable: number;
|
|
15
|
+
childrenPickable: number;
|
|
16
|
+
visible: number;
|
|
17
|
+
zIndex: number;
|
|
18
|
+
layout: number;
|
|
19
|
+
keepDirIn3d: number;
|
|
20
|
+
outerBorder: number;
|
|
21
|
+
innerBorder: number;
|
|
22
|
+
lineDash: number;
|
|
23
|
+
lineCap: number;
|
|
24
|
+
lineJoin: number;
|
|
25
|
+
miterLimit: number;
|
|
26
|
+
strokeBoundsBuffer: number;
|
|
27
|
+
scaleCenter: number;
|
|
28
|
+
anchor: number;
|
|
29
|
+
anchor3d: number;
|
|
30
|
+
postMatrix: number;
|
|
31
|
+
backgroundMode: number;
|
|
32
|
+
background: number;
|
|
33
|
+
texture: number;
|
|
34
|
+
cursor: number;
|
|
35
|
+
html: number;
|
|
36
|
+
path: number;
|
|
37
|
+
customPath: number;
|
|
38
|
+
};
|
|
8
39
|
constructor(params: IPathGraphicAttribute);
|
|
9
40
|
get pathShape(): ICustomPath2D;
|
|
10
41
|
isValid(): boolean;
|
|
@@ -18,4 +49,5 @@ export declare class Path extends Graphic<IPathGraphicAttribute> implements IPat
|
|
|
18
49
|
needUpdateTag(key: string): boolean;
|
|
19
50
|
toCustomPath(): CustomPath2D;
|
|
20
51
|
clone(): Path;
|
|
52
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
21
53
|
}
|
package/es/graphic/path.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isString, isNil } from "@visactor/vutils";
|
|
2
2
|
|
|
3
|
-
import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
|
|
3
|
+
import { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
4
4
|
|
|
5
5
|
import { parsePadding } from "../common/utils";
|
|
6
6
|
|
|
@@ -72,5 +72,13 @@ export class Path extends Graphic {
|
|
|
72
72
|
clone() {
|
|
73
73
|
return new Path(Object.assign({}, this.attribute));
|
|
74
74
|
}
|
|
75
|
+
getNoWorkAnimateAttr() {
|
|
76
|
+
return Path.NOWORK_ANIMATE_ATTR;
|
|
77
|
+
}
|
|
75
78
|
}
|
|
79
|
+
|
|
80
|
+
Path.NOWORK_ANIMATE_ATTR = Object.assign({
|
|
81
|
+
path: 1,
|
|
82
|
+
customPath: 1
|
|
83
|
+
}, NOWORK_ANIMATE_ATTR);
|
|
76
84
|
//# sourceMappingURL=path.js.map
|
package/es/graphic/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/path.ts"],"names":[],"mappings":"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","file":"path.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { isString, isNil } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';\nimport { parsePadding } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { PATH_NUMBER_TYPE } from './constants';\n\nconst PATH_UPDATE_TAG_KEY = ['path', 'customPath', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Path extends Graphic<IPathGraphicAttribute> implements IPath {\n type: 'path' = 'path';\n cache?: ICustomPath2D;\n\n static NOWORK_ANIMATE_ATTR = {\n path: 1,\n customPath: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IPathGraphicAttribute) {\n super(params);\n this.numberType = PATH_NUMBER_TYPE;\n }\n\n get pathShape(): ICustomPath2D {\n this.tryUpdateAABBBounds();\n return this.getParsedPathShape();\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { path } = this.attribute;\n return path != null && path !== '';\n }\n\n getParsedPathShape(): CustomPath2D {\n const pathTheme = getTheme(this).path;\n if (!this.valid) {\n return pathTheme.path as CustomPath2D;\n }\n const attribute = this.attribute;\n if (attribute.path instanceof CustomPath2D) {\n return attribute.path;\n }\n\n if (isNil(this.cache)) {\n this.doUpdatePathShape();\n }\n\n if (this.cache instanceof CustomPath2D) {\n return this.cache;\n }\n return pathTheme.path as CustomPath2D;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const pathTheme = getTheme(this).path;\n this.doUpdatePathShape();\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePathAABBBounds(\n attribute,\n getTheme(this).path,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = pathTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected doUpdatePathShape() {\n const attribute = this.attribute;\n if (isString(attribute.path, true)) {\n this.cache = new CustomPath2D().fromString(attribute.path as string);\n } else if (attribute.customPath) {\n this.cache = new CustomPath2D();\n attribute.customPath(this.cache, this);\n }\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const pathTheme = getTheme(this).path;\n return pathTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < PATH_UPDATE_TAG_KEY.length; i++) {\n const attrKey = PATH_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < PATH_UPDATE_TAG_KEY.length; i++) {\n const attrKey = PATH_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n return new CustomPath2D().fromCustomPath2D(this.getParsedPathShape(), x, y);\n }\n\n clone() {\n return new Path({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Path.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|
package/es/graphic/polygon.d.ts
CHANGED
|
@@ -5,6 +5,35 @@ import { CustomPath2D } from '../common/custom-path2d';
|
|
|
5
5
|
import type { GraphicType } from '../interface';
|
|
6
6
|
export declare class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {
|
|
7
7
|
type: GraphicType;
|
|
8
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
9
|
+
strokeSeg: number;
|
|
10
|
+
boundsPadding: number;
|
|
11
|
+
pickMode: number;
|
|
12
|
+
boundsMode: number;
|
|
13
|
+
customPickShape: number;
|
|
14
|
+
pickable: number;
|
|
15
|
+
childrenPickable: number;
|
|
16
|
+
visible: number;
|
|
17
|
+
zIndex: number;
|
|
18
|
+
layout: number;
|
|
19
|
+
keepDirIn3d: number;
|
|
20
|
+
outerBorder: number;
|
|
21
|
+
innerBorder: number;
|
|
22
|
+
lineDash: number;
|
|
23
|
+
lineCap: number;
|
|
24
|
+
lineJoin: number;
|
|
25
|
+
miterLimit: number;
|
|
26
|
+
strokeBoundsBuffer: number;
|
|
27
|
+
scaleCenter: number;
|
|
28
|
+
anchor: number;
|
|
29
|
+
anchor3d: number;
|
|
30
|
+
postMatrix: number;
|
|
31
|
+
backgroundMode: number;
|
|
32
|
+
background: number;
|
|
33
|
+
texture: number;
|
|
34
|
+
cursor: number;
|
|
35
|
+
html: number;
|
|
36
|
+
};
|
|
8
37
|
constructor(params: IPolygonGraphicAttribute);
|
|
9
38
|
isValid(): boolean;
|
|
10
39
|
protected _isValid(): boolean;
|
|
@@ -16,4 +45,5 @@ export declare class Polygon extends Graphic<IPolygonGraphicAttribute> implement
|
|
|
16
45
|
needUpdateTag(key: string): boolean;
|
|
17
46
|
toCustomPath(): CustomPath2D;
|
|
18
47
|
clone(): Polygon;
|
|
48
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
19
49
|
}
|
package/es/graphic/polygon.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
|
|
1
|
+
import { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
2
2
|
|
|
3
3
|
import { getTheme } from "./theme";
|
|
4
4
|
|
|
@@ -61,5 +61,10 @@ export class Polygon extends Graphic {
|
|
|
61
61
|
clone() {
|
|
62
62
|
return new Polygon(Object.assign({}, this.attribute));
|
|
63
63
|
}
|
|
64
|
+
getNoWorkAnimateAttr() {
|
|
65
|
+
return Polygon.NOWORK_ANIMATE_ATTR;
|
|
66
|
+
}
|
|
64
67
|
}
|
|
68
|
+
|
|
69
|
+
Polygon.NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;
|
|
65
70
|
//# sourceMappingURL=polygon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/polygon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/polygon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,CAAC;AAErF,MAAM,OAAO,OAAQ,SAAQ,OAAiC;IAK5D,YAAY,MAAgC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;QALhB,SAAI,GAAgB,SAAS,CAAC;QAM5B,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACS,QAAQ;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,kBAAkB;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAC/D,SAAS,EACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EACtB,IAAI,CAAC,WAAW,EAChB,IAAI,CACS,CAAC;QAEhB,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;QACjE,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAES,kBAAkB;QAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAES,YAAY,CAAC,GAAW,EAAE,KAAa,EAAE,WAAgB,EAAE,WAAgB,EAAE,cAAmB;QACxG,IAAI,GAAG,KAAK,QAAQ,EAAE;YACnB,cAAsB,CAAC,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SACvF;IACH,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC5C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,IAAc;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,aAAa,CAAC,GAAW;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,mBAAM,IAAI,CAAC,SAAS,EAAG,CAAC;IAC5C,CAAC;IAED,oBAAoB;QAClB,OAAO,OAAO,CAAC,mBAAmB,CAAC;IACrC,CAAC;;AA9FM,2BAAmB,GAAG,mBAAmB,CAAC","file":"polygon.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';\nimport { getTheme } from './theme';\nimport { parsePadding, pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { application } from '../application';\nimport type { GraphicType } from '../interface';\nimport { POLYGON_NUMBER_TYPE } from './constants';\n\nconst POLYGON_UPDATE_TAG_KEY = ['points', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {\n type: GraphicType = 'polygon';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPolygonGraphicAttribute) {\n super(params);\n this.numberType = POLYGON_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n protected _isValid(): boolean {\n const { points } = this.attribute;\n return points && points.length >= 2;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).polygon;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePolygonAABBBounds(\n attribute,\n getTheme(this).polygon,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n getDefaultAttribute(name: string) {\n const polygonTheme = getTheme(this).polygon;\n return polygonTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const points = this.attribute.points;\n const path = new CustomPath2D();\n\n points.forEach((point, index) => {\n if (index === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n });\n path.closePath();\n\n return path;\n }\n\n clone() {\n return new Polygon({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Polygon.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|
|
@@ -5,8 +5,38 @@ import { Polygon } from './polygon';
|
|
|
5
5
|
export declare class Pyramid3d extends Polygon implements IPyramid3d {
|
|
6
6
|
type: GraphicType;
|
|
7
7
|
attribute: IPyramid3dGraphicAttribute;
|
|
8
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
9
|
+
strokeSeg: number;
|
|
10
|
+
boundsPadding: number;
|
|
11
|
+
pickMode: number;
|
|
12
|
+
boundsMode: number;
|
|
13
|
+
customPickShape: number;
|
|
14
|
+
pickable: number;
|
|
15
|
+
childrenPickable: number;
|
|
16
|
+
visible: number;
|
|
17
|
+
zIndex: number;
|
|
18
|
+
layout: number;
|
|
19
|
+
keepDirIn3d: number;
|
|
20
|
+
outerBorder: number;
|
|
21
|
+
innerBorder: number;
|
|
22
|
+
lineDash: number;
|
|
23
|
+
lineCap: number;
|
|
24
|
+
lineJoin: number;
|
|
25
|
+
miterLimit: number;
|
|
26
|
+
strokeBoundsBuffer: number;
|
|
27
|
+
scaleCenter: number;
|
|
28
|
+
anchor: number;
|
|
29
|
+
anchor3d: number;
|
|
30
|
+
postMatrix: number;
|
|
31
|
+
backgroundMode: number;
|
|
32
|
+
background: number;
|
|
33
|
+
texture: number;
|
|
34
|
+
cursor: number;
|
|
35
|
+
html: number;
|
|
36
|
+
};
|
|
8
37
|
constructor(params: IPyramid3dGraphicAttribute);
|
|
9
38
|
protected doUpdateAABBBounds(): AABBBounds;
|
|
10
39
|
findFace(): IFace3d;
|
|
11
40
|
protected _isValid(): boolean;
|
|
41
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
12
42
|
}
|
package/es/graphic/pyramid3d.js
CHANGED
|
@@ -10,6 +10,8 @@ import { getTheme } from "./theme";
|
|
|
10
10
|
|
|
11
11
|
import { PYRAMID3D_NUMBER_TYPE } from "./constants";
|
|
12
12
|
|
|
13
|
+
import { NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
14
|
+
|
|
13
15
|
export class Pyramid3d extends Polygon {
|
|
14
16
|
constructor(params) {
|
|
15
17
|
super(params), this.type = "pyramid3d", this.numberType = PYRAMID3D_NUMBER_TYPE;
|
|
@@ -85,5 +87,10 @@ export class Pyramid3d extends Polygon {
|
|
|
85
87
|
_isValid() {
|
|
86
88
|
return super._isValid() && 4 === this.attribute.points.length;
|
|
87
89
|
}
|
|
90
|
+
getNoWorkAnimateAttr() {
|
|
91
|
+
return Pyramid3d.NOWORK_ANIMATE_ATTR;
|
|
92
|
+
}
|
|
88
93
|
}
|
|
94
|
+
|
|
95
|
+
Pyramid3d.NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;
|
|
89
96
|
//# sourceMappingURL=pyramid3d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/pyramid3d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/pyramid3d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,OAAO,SAAU,SAAQ,OAAO;IAMpC,YAAY,MAAkC;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC;QANhB,SAAI,GAAgB,WAAW,CAAC;QAO9B,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC;IAC1C,CAAC;IAES,kBAAkB;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,yBAAyB,CACjE,SAAS,EACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAc,EAC7B,IAAI,CAAC,WAAW,EAChB,IAAI,CACS,CAAC;QAEhB,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;QACjE,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,CAAC,CAAC;aACV;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAmC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpB,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACxB,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrB,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpB,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACxB,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBACtB;gBACD,IAAI,IAAI,EAAE;oBACR,MAAM;iBACP;aACF;YACD,IAAI,IAAI,EAAE;gBACR,MAAM;aACP;SACF;QAED,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC;gBAChB,CAAC;gBACD,CAAC,EAAE,CAAC;aACL,CAAC,CAAC;SACJ;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1D,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACxB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;SACzC;QAED,MAAM,KAAK,GAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAEjE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAGH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAElE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAElE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAElE,KAAK,CAAC,KAAK,GAAG;YACZ,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC;SACP,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAES,QAAQ;QAChB,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,oBAAoB;QAClB,OAAO,SAAS,CAAC,mBAAmB,CAAC;IACvC,CAAC;;AA5HM,6BAAmB,GAAG,mBAAmB,CAAC","file":"pyramid3d.js","sourcesContent":["import type { AABBBounds, IPointLike } from '@visactor/vutils';\nimport { max, PointService } from '@visactor/vutils';\nimport { parsePadding } from '../common/utils';\nimport type { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';\nimport type { IFace3d } from '../interface/graphic/face3d';\nimport { application } from '../application';\nimport { Polygon } from './polygon';\nimport { getTheme } from './theme';\nimport { PYRAMID3D_NUMBER_TYPE } from './constants';\nimport { NOWORK_ANIMATE_ATTR } from './graphic';\n\nexport class Pyramid3d extends Polygon implements IPyramid3d {\n type: GraphicType = 'pyramid3d';\n declare attribute: IPyramid3dGraphicAttribute;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPyramid3dGraphicAttribute) {\n super(params);\n this.numberType = PYRAMID3D_NUMBER_TYPE;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).polygon;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePyramid3dAABBBounds(\n attribute,\n getTheme(this).polygon as any,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n\n findFace(): IFace3d {\n const { points } = this.attribute;\n // 找到斜率相同的两条边\n const kList = points.map((p, i) => {\n const p1 = i === 3 ? points[0] : points[i + 1];\n const dx = p.x - p1.x;\n if (dx === 0) {\n return 0;\n }\n return (p.y - p1.y) / dx;\n });\n\n const pointsMap: { p: IPointLike; d: number }[] = points.map(p => ({ p, d: 0 }));\n let find = false;\n let maxD = 0;\n for (let i = 0; i < kList.length - 1; i++) {\n for (let j = i + 1; j < kList.length; j++) {\n if (kList[i] === kList[j]) {\n find = true;\n const d1 = PointService.distancePP(pointsMap[i].p, pointsMap[i + 1].p);\n pointsMap[i].d = d1;\n pointsMap[i + 1].d = d1;\n maxD = max(maxD, d1);\n const d2 = PointService.distancePP(pointsMap[j].p, pointsMap[j + 1].p);\n pointsMap[j].d = d2;\n pointsMap[j + 1].d = d2;\n maxD = max(maxD, d2);\n }\n if (find) {\n break;\n }\n }\n if (find) {\n break;\n }\n }\n\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n pointsMap.unshift({\n p,\n d: 0\n });\n }\n\n for (let i = 0; i < points.length; i++) {\n const delta = (maxD - pointsMap[i + points.length].d) / 2;\n pointsMap[i].d += delta;\n pointsMap[i + points.length].d += delta;\n }\n\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n\n pointsMap.forEach(p => {\n faces.vertices.push([p.p.x, p.p.y, p.d]);\n });\n\n // 上\n faces.polygons.push({ polygon: [0, 4, 5, 1], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [7, 6, 2, 3], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [0, 4, 7, 3], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 5, 6, 2], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n\n protected _isValid(): boolean {\n return super._isValid() && this.attribute.points.length === 4;\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Pyramid3d.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|
package/es/graphic/rect.d.ts
CHANGED
|
@@ -4,6 +4,35 @@ import type { GraphicType, IRect, IRectGraphicAttribute } from '../interface';
|
|
|
4
4
|
import { CustomPath2D } from '../common/custom-path2d';
|
|
5
5
|
export declare class Rect extends Graphic<IRectGraphicAttribute> implements IRect {
|
|
6
6
|
type: GraphicType;
|
|
7
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
8
|
+
strokeSeg: number;
|
|
9
|
+
boundsPadding: number;
|
|
10
|
+
pickMode: number;
|
|
11
|
+
boundsMode: number;
|
|
12
|
+
customPickShape: number;
|
|
13
|
+
pickable: number;
|
|
14
|
+
childrenPickable: number;
|
|
15
|
+
visible: number;
|
|
16
|
+
zIndex: number;
|
|
17
|
+
layout: number;
|
|
18
|
+
keepDirIn3d: number;
|
|
19
|
+
outerBorder: number;
|
|
20
|
+
innerBorder: number;
|
|
21
|
+
lineDash: number;
|
|
22
|
+
lineCap: number;
|
|
23
|
+
lineJoin: number;
|
|
24
|
+
miterLimit: number;
|
|
25
|
+
strokeBoundsBuffer: number;
|
|
26
|
+
scaleCenter: number;
|
|
27
|
+
anchor: number;
|
|
28
|
+
anchor3d: number;
|
|
29
|
+
postMatrix: number;
|
|
30
|
+
backgroundMode: number;
|
|
31
|
+
background: number;
|
|
32
|
+
texture: number;
|
|
33
|
+
cursor: number;
|
|
34
|
+
html: number;
|
|
35
|
+
};
|
|
7
36
|
constructor(params: IRectGraphicAttribute);
|
|
8
37
|
isValid(): boolean;
|
|
9
38
|
private _isValid;
|
|
@@ -14,4 +43,5 @@ export declare class Rect extends Graphic<IRectGraphicAttribute> implements IRec
|
|
|
14
43
|
needUpdateTag(key: string): boolean;
|
|
15
44
|
toCustomPath(): CustomPath2D;
|
|
16
45
|
clone(): Rect;
|
|
46
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
17
47
|
}
|
package/es/graphic/rect.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
|
|
1
|
+
import { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
2
2
|
|
|
3
3
|
import { CustomPath2D } from "../common/custom-path2d";
|
|
4
4
|
|
|
@@ -56,5 +56,10 @@ export class Rect extends Graphic {
|
|
|
56
56
|
clone() {
|
|
57
57
|
return new Rect(Object.assign({}, this.attribute));
|
|
58
58
|
}
|
|
59
|
+
getNoWorkAnimateAttr() {
|
|
60
|
+
return Rect.NOWORK_ANIMATE_ATTR;
|
|
61
|
+
}
|
|
59
62
|
}
|
|
63
|
+
|
|
64
|
+
Rect.NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;
|
|
60
65
|
//# sourceMappingURL=rect.js.map
|
package/es/graphic/rect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { GraphicType, IRect, IRectGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { parsePadding } from '../common/utils';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { RECT_NUMBER_TYPE } from './constants';\n\nconst RECT_UPDATE_TAG_KEY = ['width', 'height', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Rect extends Graphic<IRectGraphicAttribute> implements IRect {\n type: GraphicType = 'rect';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IRectGraphicAttribute) {\n super(params);\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { width, height } = this.attribute;\n return this._validNumber(width) && this._validNumber(height);\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const rectTheme = getTheme(this).rect;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateRectAABBBounds(\n attribute,\n getTheme(this).rect,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = rectTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const rectTheme = getTheme(this).rect;\n return rectTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const attribute = this.attribute;\n const width = attribute.width;\n const height = attribute.height;\n const x = 0;\n const y = 0;\n\n const path = new CustomPath2D();\n path.moveTo(x, y);\n path.rect(x, y, width, height);\n\n return path;\n }\n\n clone() {\n return new Rect({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Rect.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|
package/es/graphic/rect3d.d.ts
CHANGED
|
@@ -3,6 +3,36 @@ import { Rect } from './rect';
|
|
|
3
3
|
export declare class Rect3d extends Rect implements IRect3d {
|
|
4
4
|
type: GraphicType;
|
|
5
5
|
attribute: IRect3dGraphicAttribute;
|
|
6
|
+
static NOWORK_ANIMATE_ATTR: {
|
|
7
|
+
strokeSeg: number;
|
|
8
|
+
boundsPadding: number;
|
|
9
|
+
pickMode: number;
|
|
10
|
+
boundsMode: number;
|
|
11
|
+
customPickShape: number;
|
|
12
|
+
pickable: number;
|
|
13
|
+
childrenPickable: number;
|
|
14
|
+
visible: number;
|
|
15
|
+
zIndex: number;
|
|
16
|
+
layout: number;
|
|
17
|
+
keepDirIn3d: number;
|
|
18
|
+
outerBorder: number;
|
|
19
|
+
innerBorder: number;
|
|
20
|
+
lineDash: number;
|
|
21
|
+
lineCap: number;
|
|
22
|
+
lineJoin: number;
|
|
23
|
+
miterLimit: number;
|
|
24
|
+
strokeBoundsBuffer: number;
|
|
25
|
+
scaleCenter: number;
|
|
26
|
+
anchor: number;
|
|
27
|
+
anchor3d: number;
|
|
28
|
+
postMatrix: number;
|
|
29
|
+
backgroundMode: number;
|
|
30
|
+
background: number;
|
|
31
|
+
texture: number;
|
|
32
|
+
cursor: number;
|
|
33
|
+
html: number;
|
|
34
|
+
};
|
|
6
35
|
constructor(params: IRect3dGraphicAttribute);
|
|
7
36
|
findFace(): IFace3d;
|
|
37
|
+
getNoWorkAnimateAttr(): Record<string, number>;
|
|
8
38
|
}
|
package/es/graphic/rect3d.js
CHANGED
|
@@ -6,6 +6,8 @@ import { getTheme } from "./theme";
|
|
|
6
6
|
|
|
7
7
|
import { RECT3D_NUMBER_TYPE } from "./constants";
|
|
8
8
|
|
|
9
|
+
import { NOWORK_ANIMATE_ATTR } from "./graphic";
|
|
10
|
+
|
|
9
11
|
const CUBE_VERTICES = [ [ 0, 0, 0 ], [ 1, 0, 0 ], [ 1, 1, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 1 ], [ 1, 1, 1 ], [ 0, 1, 1 ] ];
|
|
10
12
|
|
|
11
13
|
export class Rect3d extends Rect {
|
|
@@ -43,5 +45,10 @@ export class Rect3d extends Rect {
|
|
|
43
45
|
}), faces.edges = [ [ 0, 1 ], [ 1, 2 ], [ 2, 3 ], [ 3, 0 ], [ 4, 5 ], [ 5, 6 ], [ 6, 7 ], [ 7, 4 ], [ 0, 4 ], [ 3, 7 ], [ 1, 5 ], [ 2, 6 ] ],
|
|
44
46
|
faces;
|
|
45
47
|
}
|
|
48
|
+
getNoWorkAnimateAttr() {
|
|
49
|
+
return Rect3d.NOWORK_ANIMATE_ATTR;
|
|
50
|
+
}
|
|
46
51
|
}
|
|
52
|
+
|
|
53
|
+
Rect3d.NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;
|
|
47
54
|
//# sourceMappingURL=rect3d.js.map
|
package/es/graphic/rect3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/rect3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/graphic/rect3d.ts"],"names":[],"mappings":"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","file":"rect3d.js","sourcesContent":["import { min } from '@visactor/vutils';\nimport type { GraphicType, IFace3d, IRect3d, IRect3dGraphicAttribute } from '../interface';\nimport { Rect } from './rect';\nimport { getTheme } from './theme';\nimport { RECT3D_NUMBER_TYPE } from './constants';\nimport { NOWORK_ANIMATE_ATTR } from './graphic';\n\nconst CUBE_VERTICES = [\n [0, 0, 0],\n [1, 0, 0],\n [1, 1, 0],\n [0, 1, 0],\n [0, 0, 1],\n [1, 0, 1],\n [1, 1, 1],\n [0, 1, 1]\n];\n\nexport class Rect3d extends Rect implements IRect3d {\n type: GraphicType = 'rect3d';\n declare attribute: IRect3dGraphicAttribute;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IRect3dGraphicAttribute) {\n super(params);\n this.numberType = RECT3D_NUMBER_TYPE;\n }\n\n findFace(): IFace3d {\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n const rectTheme = getTheme(this).rect3d;\n const {\n width = rectTheme.width,\n height = rectTheme.width,\n length = min(rectTheme.width, rectTheme.height)\n } = this.attribute;\n for (let i = 0; i < CUBE_VERTICES.length; i++) {\n const v = CUBE_VERTICES[i];\n faces.vertices.push([v[0] * width, v[1] * height, v[2] * length]);\n }\n\n // 上\n faces.polygons.push({ polygon: [0, 1, 5, 4], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [2, 3, 7, 6], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [4, 7, 3, 0], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 2, 6, 5], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Rect3d.NOWORK_ANIMATE_ATTR;\n }\n}\n"]}
|