@ccpc/platform 0.1.3

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.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/index.js +793 -0
  3. package/package.json +14 -0
  4. package/types/app/app.d.ts +27 -0
  5. package/types/app/app.d.ts.map +1 -0
  6. package/types/cmd/action.d.ts +8 -0
  7. package/types/cmd/action.d.ts.map +1 -0
  8. package/types/cmd/action_result.d.ts +10 -0
  9. package/types/cmd/action_result.d.ts.map +1 -0
  10. package/types/cmd/build_in_action/default_action.d.ts +14 -0
  11. package/types/cmd/build_in_action/default_action.d.ts.map +1 -0
  12. package/types/cmd/build_in_action/i_picked_result.d.ts +30 -0
  13. package/types/cmd/build_in_action/i_picked_result.d.ts.map +1 -0
  14. package/types/cmd/build_in_action/pick_filter.d.ts +38 -0
  15. package/types/cmd/build_in_action/pick_filter.d.ts.map +1 -0
  16. package/types/cmd/build_in_action/pick_point_action.d.ts +53 -0
  17. package/types/cmd/build_in_action/pick_point_action.d.ts.map +1 -0
  18. package/types/cmd/build_in_action/pick_util.d.ts +13 -0
  19. package/types/cmd/build_in_action/pick_util.d.ts.map +1 -0
  20. package/types/cmd/build_in_action/run_snap_util.d.ts +19 -0
  21. package/types/cmd/build_in_action/run_snap_util.d.ts.map +1 -0
  22. package/types/cmd/build_in_action/snap_helper_curve.d.ts +21 -0
  23. package/types/cmd/build_in_action/snap_helper_curve.d.ts.map +1 -0
  24. package/types/cmd/cmd.d.ts +8 -0
  25. package/types/cmd/cmd.d.ts.map +1 -0
  26. package/types/cmd/cmd_action_controller.d.ts +89 -0
  27. package/types/cmd/cmd_action_controller.d.ts.map +1 -0
  28. package/types/cmd/cmd_decorator.d.ts +7 -0
  29. package/types/cmd/cmd_decorator.d.ts.map +1 -0
  30. package/types/cmd/cmd_mgr.d.ts +26 -0
  31. package/types/cmd/cmd_mgr.d.ts.map +1 -0
  32. package/types/cmd/editor_mgr.d.ts +15 -0
  33. package/types/cmd/editor_mgr.d.ts.map +1 -0
  34. package/types/index.d.ts +16 -0
  35. package/types/index.d.ts.map +1 -0
  36. package/types/model/snap_helper_manager.d.ts +30 -0
  37. package/types/model/snap_helper_manager.d.ts.map +1 -0
  38. package/types/selection/high_light.d.ts +33 -0
  39. package/types/selection/high_light.d.ts.map +1 -0
  40. package/types/selection/selection.d.ts +48 -0
  41. package/types/selection/selection.d.ts.map +1 -0
  42. package/types/types/type_define.d.ts +8 -0
  43. package/types/types/type_define.d.ts.map +1 -0
package/package.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "@ccpc/platform",
3
+ "version": "0.1.3",
4
+ "description": "Platform command interaction layer for editor",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./index.js",
8
+ "peerDependencies": {
9
+ "@ccpc/canvas": "^0.1.3",
10
+ "@ccpc/core": "^0.1.6",
11
+ "@ccpc/math": "^0.1.7",
12
+ "@ccpc/snap": "^0.1.3"
13
+ }
14
+ }
@@ -0,0 +1,27 @@
1
+ import { CCanvas } from '@ccpc/canvas';
2
+ import { IDocument } from '@ccpc/core';
3
+ import { Selection } from '../selection/selection';
4
+ import { HighLight } from '../selection/high_light';
5
+ export declare class App {
6
+ private static _instance;
7
+ private _curDoc?;
8
+ private _curCanvas?;
9
+ private _cmdMgr;
10
+ selection: Selection;
11
+ highLight: HighLight;
12
+ constructor();
13
+ static instance(): App;
14
+ get doc(): IDocument;
15
+ start(doc: IDocument): void;
16
+ stop(): void;
17
+ /**
18
+ * 获取画布
19
+ */
20
+ getCanvas(): CCanvas;
21
+ /**
22
+ * 创建画布
23
+ */
24
+ createCanvas(container: HTMLElement): CCanvas;
25
+ }
26
+ export declare const app: App;
27
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AACtD,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAE7B,OAAO,CAAC,OAAO,CAAC,CAAW;IAE3B,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,OAAO,CAAS;IAEjB,SAAS,EAAE,SAAS,CAAA;IAEpB,SAAS,EAAE,SAAS,CAAA;;WAOb,QAAQ;IAOtB,IAAW,GAAG,cAGb;IAEM,KAAK,CAAC,GAAG,EAAE,SAAS;IAOpB,IAAI;IASX;;OAEG;IACI,SAAS;IAIhB;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,WAAW;CAQ7C;AAED,eAAO,MAAM,GAAG,KAAiB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ActionResult } from './action_result';
2
+ import { CmdActionController } from './cmd_action_controller';
3
+ export declare class Action<T> extends CmdActionController<ActionResult<T>> {
4
+ protected _markSuccess(data: T): void;
5
+ protected _markCanceled(): void;
6
+ cancel(): void;
7
+ }
8
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/cmd/action.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,MAAM,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAI9B,SAAS,CAAC,aAAa;IAIhB,MAAM;CAGhB"}
@@ -0,0 +1,10 @@
1
+ import { EN_ActionStatus } from '../types/type_define';
2
+ export declare class ActionResult<T> {
3
+ private _status;
4
+ private _data?;
5
+ constructor(_status: EN_ActionStatus, _data?: T | undefined);
6
+ get data(): T | undefined;
7
+ get isSuccess(): boolean;
8
+ get isCanceled(): boolean;
9
+ }
10
+ //# sourceMappingURL=action_result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action_result.d.ts","sourceRoot":"","sources":["../../../src/cmd/action_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,YAAY,CAAC,CAAC;IAEnB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK,CAAC;gBADN,OAAO,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,CAAC,YAAA;IAGrB,IAAW,IAAI,kBAEd;IAED,IAAW,SAAS,YAEnB;IAED,IAAW,UAAU,YAEpB;CACJ"}
@@ -0,0 +1,14 @@
1
+ import { IKeyboardEvent, IMouseEvent } from '@ccpc/canvas';
2
+ import { CmdActionController } from '../cmd_action_controller';
3
+ /**
4
+ * 默认空闲态交互
5
+ * - move 时更新高亮
6
+ * - click 时更新选中
7
+ */
8
+ export declare class DefaultAction extends CmdActionController {
9
+ onMouseMove(evt: IMouseEvent): boolean;
10
+ onClick(evt: IMouseEvent): boolean;
11
+ onRButtonDown(_evt: IMouseEvent): boolean;
12
+ onKeyDown(evt: IKeyboardEvent): boolean;
13
+ }
14
+ //# sourceMappingURL=default_action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default_action.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/default_action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAG9D;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,mBAAmB;IAC3C,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IActC,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAyBlC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAOzC,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO;CAUjD"}
@@ -0,0 +1,30 @@
1
+ import { GNode } from '@ccpc/core';
2
+ import { EN_SNAP_TYPE } from '@ccpc/snap';
3
+ import { Curve2, Plane, Vec2, Vec3 } from '@ccpc/math';
4
+ /**
5
+ * 拾取结果类型
6
+ */
7
+ export type IPickedResult = {
8
+ /** pick到的点 */
9
+ point: Vec3;
10
+ /** 屏幕坐标 */
11
+ screenPt?: Vec2;
12
+ /** pick到的平面 */
13
+ pickedPlane?: Plane;
14
+ /** pick到的GNode */
15
+ pickedGNodes?: Array<GNode>;
16
+ /** pick到的参考对象 */
17
+ pickedRefObject?: (Curve2 | Vec2)[];
18
+ /** 吸附类型 */
19
+ snapType?: EN_SNAP_TYPE;
20
+ };
21
+ export declare enum EN_SNAP_PT_COLOR {
22
+ POINT_ON_FACE = 1842204,
23
+ END_POINT = 4063173,
24
+ POINT_ON_CURVE = 1842204,
25
+ MIDDLE_POINT = 4063173,
26
+ PARALLEL_TO_AXIS = 4063173,
27
+ INTERSECT_POINT = 4063173,
28
+ VERTICAL_PARALLEL = 4063173
29
+ }
30
+ //# sourceMappingURL=i_picked_result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i_picked_result.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/i_picked_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,cAAc;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW;IACX,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,eAAe;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,kBAAkB;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3B,iBAAiB;IACjB,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IACnC,WAAW;IACX,QAAQ,CAAC,EAAE,YAAY,CAAA;CAC1B,CAAA;AAED,oBAAY,gBAAgB;IACxB,aAAa,UAAW;IACxB,SAAS,UAAW;IACpB,cAAc,UAAW;IACzB,YAAY,UAAW;IACvB,gBAAgB,UAAW;IAC3B,eAAe,UAAW;IAC1B,iBAAiB,UAAW;CAC/B"}
@@ -0,0 +1,38 @@
1
+ import type { GNode } from '@ccpc/core';
2
+ import { GNODE_TYPE } from '@ccpc/core';
3
+ import type { Vec2 } from '@ccpc/math';
4
+ /**
5
+ * pick 过滤器。
6
+ *
7
+ * 用于约束哪些 GNode 类型可以参与当前这次拾取。
8
+ * 先通过 GNODE_TYPE 做类型过滤,再按需叠加自定义过滤逻辑。
9
+ */
10
+ export declare class PickFilter {
11
+ private _filteredTypes;
12
+ private _customizedFilter?;
13
+ /**
14
+ * 允许当前已登记的全部图元类型参与拾取。
15
+ */
16
+ allowAll(): this;
17
+ /**
18
+ * 禁止所有图元类型参与拾取。
19
+ */
20
+ disallowAll(): this;
21
+ /**
22
+ * 允许某一种图元类型参与拾取。
23
+ */
24
+ allow(gnodeType: GNODE_TYPE): this;
25
+ /**
26
+ * 禁止某一种图元类型参与拾取。
27
+ */
28
+ disallow(gnodeType: GNODE_TYPE): this;
29
+ /**
30
+ * 设置自定义过滤函数。
31
+ */
32
+ setCustomizedFilter(filter: (gnode: GNode, screenPos: Vec2) => boolean): this;
33
+ /**
34
+ * 判断某个 gnode 在当前屏幕位置下是否允许被拾取。
35
+ */
36
+ isEnable(gnode: GNode, screenPos: Vec2): boolean;
37
+ }
38
+ //# sourceMappingURL=pick_filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick_filter.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/pick_filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAYtC;;;;;GAKG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,iBAAiB,CAAC,CAA4C;IAEtE;;OAEG;IACI,QAAQ,IAAI,IAAI;IAOvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAKzC;;OAEG;IACI,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK5C;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,KAAK,OAAO,GAAG,IAAI;IAKpF;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO;CAU1D"}
@@ -0,0 +1,53 @@
1
+ import { Vec2, Vec3 } from '@ccpc/math';
2
+ import { SnapContext } from '@ccpc/snap';
3
+ import { Action } from '../action';
4
+ import { FnKey, IMouseEvent } from '@ccpc/canvas';
5
+ import type { PickFilter } from './pick_filter';
6
+ import type { IPickedResult } from './i_picked_result';
7
+ export type IPickContextParam = {
8
+ movingCallBack?: (pos: IPickedResult, fnKey: FnKey) => void;
9
+ clickCallBack?: (pos: IPickedResult, fnKey: FnKey) => void;
10
+ pickFilter?: PickFilter;
11
+ snapContext?: SnapContext;
12
+ };
13
+ /**
14
+ * 取点的Action
15
+ */
16
+ export declare class PickPointAction extends Action<IPickedResult> {
17
+ private _context;
18
+ private _currentPickResult?;
19
+ private _currentMousePos;
20
+ private _hoverSnappedPtTime;
21
+ private _hoverPickedGNodeTime;
22
+ private _lastPickedResult?;
23
+ constructor(context?: PickPointContext);
24
+ getSnapContext(): SnapContext;
25
+ setSnapContext(snapContext: SnapContext): void;
26
+ getCurrentResult(): IPickedResult | undefined;
27
+ getCurrentMousePos(): Vec2;
28
+ getPickContext(): PickPointContext;
29
+ onDestroy(): void;
30
+ onClick(evt: IMouseEvent): boolean;
31
+ onMouseMove(evt: IMouseEvent): boolean;
32
+ protected _getPickPointResult(screenPos: Vec2): IPickedResult;
33
+ }
34
+ /**
35
+ * 取点上下文
36
+ */
37
+ export declare class PickPointContext {
38
+ snapContext?: SnapContext;
39
+ protected _currentPos: Vec3;
40
+ protected _movingCallBack?: (pos: IPickedResult, fnKey: FnKey) => void;
41
+ protected _clickCallBack?: (pos: IPickedResult, fnKey: FnKey) => void;
42
+ protected _pickFilter?: PickFilter;
43
+ private _highlightPickedGNodes?;
44
+ constructor(param?: IPickContextParam);
45
+ movePoint(p: IPickedResult, fnKey: FnKey): void;
46
+ setClickCallBack(clickCallBack: (pos: IPickedResult, fnKey: FnKey) => void): void;
47
+ getClickCallback(): ((pos: IPickedResult, fnKey: FnKey) => void) | undefined;
48
+ getPickFilter(): PickFilter | undefined;
49
+ setPickFilter(filter?: PickFilter): this;
50
+ get highlightPickedGNodes(): boolean | undefined;
51
+ set highlightPickedGNodes(val: boolean | undefined);
52
+ }
53
+ //# sourceMappingURL=pick_point_action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick_point_action.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/pick_point_action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMvD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC3D,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC1D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAM,CAAC,aAAa,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAE1C,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,qBAAqB,CAAa;IAE1C,OAAO,CAAC,iBAAiB,CAAC,CAAe;gBAE7B,OAAO,mBAAyB;IAWrC,cAAc,IAAI,WAAW;IAI7B,cAAc,CAAC,WAAW,EAAE,WAAW;IAIvC,gBAAgB;IAIhB,kBAAkB;IAIlB,cAAc;IAId,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,GAAG,EAAE,WAAW;IAcxB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAY7C,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI;CA+BhD;AAED;;GAEG;AAEH,qBAAa,gBAAgB;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IAEhC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAA;IAE3B,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAEtE,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAErE,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAA;IAElC,OAAO,CAAC,sBAAsB,CAAC,CAAS;gBAE5B,KAAK,CAAC,EAAE,iBAAiB;IAQ9B,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;IAOxC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI;IAI1E,gBAAgB,WAzBU,aAAa,SAAS,KAAK,KAAK,IAAI;IA6B9D,aAAa;IAIb,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU;IAKxC,IAAW,qBAAqB,IAAI,OAAO,GAAG,SAAS,CAEtD;IAED,IAAW,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,EAExD;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { CCanvas } from '@ccpc/canvas';
2
+ import { GNode } from '@ccpc/core';
3
+ import { Vec2 } from '@ccpc/math';
4
+ import type { PickFilter } from './pick_filter';
5
+ export declare class PickUtil {
6
+ /**
7
+ * 返回pick结果,是否从场景中拾取[gnode]
8
+ */
9
+ static pickGNode(ccanvas: CCanvas, screenPos: Vec2, pickFilter?: PickFilter, forSnap?: boolean): GNode;
10
+ static pickGNodes(ccanvas: CCanvas, screenPos: Vec2, pickFilter?: PickFilter, forSnap?: boolean): GNode[];
11
+ private static _getPickPriority;
12
+ }
13
+ //# sourceMappingURL=pick_util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick_util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/pick_util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAY,KAAK,EAA2C,MAAM,YAAY,CAAA;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,qBAAa,QAAQ;IACjB;;OAEG;WAEW,SAAS,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,EACf,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,OAAO;WAKP,UAAU,CACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,EACf,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,OAAO;IAgCrB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAelC"}
@@ -0,0 +1,19 @@
1
+ import { CCanvas } from '@ccpc/canvas';
2
+ import { Vec2 } from '@ccpc/math';
3
+ import { SnapContext } from '@ccpc/snap';
4
+ import { type IPickedResult } from './i_picked_result';
5
+ import type { PickPointContext } from './pick_point_action';
6
+ /**
7
+ * 平台侧吸附调用入口
8
+ */
9
+ export declare class RunSnapUtil {
10
+ /**
11
+ * 计算当前鼠标位置的吸附结果
12
+ * @param ccanvas 画布
13
+ * @param screenPos 鼠标屏幕坐标
14
+ * @param pickFilter 拾取过滤器
15
+ */
16
+ static snapPoint(screenPos: Vec2, snapContext: SnapContext, ccanvas: CCanvas, context: PickPointContext): IPickedResult;
17
+ private static _drawSnapPrompt;
18
+ }
19
+ //# sourceMappingURL=run_snap_util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_snap_util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/run_snap_util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAA0D,WAAW,EAA2B,MAAM,YAAY,CAAA;AAEzH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAO3D;;GAEG;AACH,qBAAa,WAAW;IACpB;;;;;OAKG;WACW,SAAS,CACnB,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,GAC1B,aAAa;IA4BhB,OAAO,CAAC,MAAM,CAAC,eAAe;CA6DjC"}
@@ -0,0 +1,21 @@
1
+ import { GRep } from '@ccpc/core';
2
+ import { Vec2 } from '@ccpc/math';
3
+ import { PtSnap } from '@ccpc/snap';
4
+ import { type IPickedResult } from './i_picked_result';
5
+ /**
6
+ * 吸附结果上悬停一段时间后,生成平行坐标系的辅助线
7
+ */
8
+ export declare function createReferenceCurves(lastPickedResult: IPickedResult | undefined, lastTime: number): void;
9
+ /**
10
+ * 生成参考方向
11
+ */
12
+ export declare function createReferenceDirs(lastPickedResult: IPickedResult | undefined, lastTime: number, previousSnapPt?: Vec2): void;
13
+ /**
14
+ * 生成参考点
15
+ */
16
+ export declare function createReferencePoint(lastPickedResult: IPickedResult | undefined, lastTime: number): number;
17
+ /**
18
+ * 绘制捕捉辅助对象
19
+ */
20
+ export declare function drawSnapHelperPrompt(ptSnap: PtSnap, grep: GRep): void;
21
+ //# sourceMappingURL=snap_helper_curve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap_helper_curve.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build_in_action/snap_helper_curve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAoC,MAAM,YAAY,CAAA;AACvF,OAAO,EAAoB,IAAI,EAAO,MAAM,YAAY,CAAA;AACxD,OAAO,EAAgB,MAAM,EAAe,MAAM,YAAY,CAAA;AAI9D,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAIxE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,aAAa,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,QAsBlG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,gBAAgB,EAAE,aAAa,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,IAAI,QA6CxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,aAAa,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,UAyBjG;AAuBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,QA6C9D"}
@@ -0,0 +1,8 @@
1
+ import { CmdActionController } from './cmd_action_controller';
2
+ export declare class Cmd extends CmdActionController {
3
+ /**
4
+ * cmd是否立马结束
5
+ */
6
+ executeImmediately: boolean;
7
+ }
8
+ //# sourceMappingURL=cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../../src/cmd/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,GAAI,SAAQ,mBAAmB;IACxC;;OAEG;IACI,kBAAkB,UAAO;CAEnC"}
@@ -0,0 +1,89 @@
1
+ import { DefaultController, IKeyboardEvent, IMouseEvent } from '@ccpc/canvas';
2
+ import { GRep, IDocument, TmpElementPainter } from '@ccpc/core';
3
+ import { ActionResult } from './action_result';
4
+ export type ICmdStatus<T = unknown> = {
5
+ promise: Promise<T | undefined>;
6
+ resolve: (result?: T) => void;
7
+ finish?: boolean;
8
+ };
9
+ export declare class CmdActionController<T = unknown> extends DefaultController {
10
+ /**
11
+ * promise结束,cmd才结束
12
+ */
13
+ private _status;
14
+ /**
15
+ * 启动的action
16
+ */
17
+ action?: CmdActionController<unknown>;
18
+ /**
19
+ * 临时元素绘制器
20
+ */
21
+ private _tmpElementPainters;
22
+ /**
23
+ * !!仅由CmdMgr调用
24
+ */
25
+ initStatus(): ICmdStatus<T>;
26
+ /**
27
+ * 获取画布
28
+ */
29
+ getCanvas(): import("@ccpc/canvas").CCanvas;
30
+ /**
31
+ * 获取文档
32
+ */
33
+ getDoc(): IDocument;
34
+ /**
35
+ * 执行动作
36
+ */
37
+ runAction<T>(action: CmdActionController<ActionResult<T>>): Promise<ActionResult<T> | undefined>;
38
+ /**
39
+ * 命令执行
40
+ */
41
+ execute(..._params: unknown[]): Promise<void>;
42
+ /**
43
+ * 命令取消
44
+ */
45
+ cancel(): void;
46
+ /**
47
+ * cmd被销毁
48
+ */
49
+ onDestroy(): void;
50
+ /**
51
+ * 获取所有临时元素绘制器
52
+ */
53
+ getTmpElementPainters(): TmpElementPainter[];
54
+ /**
55
+ * 获取默认临时元素绘制器
56
+ */
57
+ getBuildInTmpElementPainter(): TmpElementPainter;
58
+ /**
59
+ * 获取指定的临时元素绘制器
60
+ */
61
+ getTmpElementPainterByIndex(index: number): TmpElementPainter | undefined;
62
+ /**
63
+ * 用户创建临时元素绘制器
64
+ */
65
+ applyNewTmpElementPainter(): TmpElementPainter;
66
+ /**
67
+ * 销毁用户创建的临时元素绘制器
68
+ */
69
+ clearUsersTmpElementPainters(): void;
70
+ /**
71
+ * 在指定临时元素绘制器上绘制临时元素
72
+ */
73
+ drawTmpGRep(grep: GRep, index?: number): void;
74
+ /**
75
+ * 清除所有绘制的临时元素
76
+ */
77
+ clearTmp(): void;
78
+ /**
79
+ * 刷新视图
80
+ */
81
+ protected _updateView(): void;
82
+ /**
83
+ * 结束cmd
84
+ */
85
+ protected _resolve(data?: T): void;
86
+ onKeyDown(evt: IKeyboardEvent): boolean;
87
+ onMouseEnter(_evt: IMouseEvent): boolean;
88
+ }
89
+ //# sourceMappingURL=cmd_action_controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd_action_controller.d.ts","sourceRoot":"","sources":["../../../src/cmd/cmd_action_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC7E,OAAO,EAAa,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI;IAClC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,iBAAiB;IAEnE;;OAEG;IACH,OAAO,CAAC,OAAO,CAGd;IAED;;OAEG;IACI,MAAM,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAE5C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAA+B;IAE1D;;OAEG;IACI,UAAU;IAQjB;;OAEG;IACI,SAAS;IAIhB;;OAEG;IACI,MAAM,IAAI,SAAS;IAI1B;;OAEG;IACU,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAQtE;;OAEG;IACU,OAAO,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE;IAE1C;;OAEG;IACI,MAAM;IAIb;;OAEG;IACI,SAAS;IAEhB;;OAEG;IACI,qBAAqB;IAI5B;;OAEG;IACI,2BAA2B;IAIlC;;OAEG;IACI,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAQhD;;OAEG;IACI,yBAAyB;IAMhC;;OAEG;IACI,4BAA4B;IAOnC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAE,MAAU;IAQhD;;OAEG;IACI,QAAQ;IAQf;;OAEG;IACH,SAAS,CAAC,WAAW;IAIrB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAOpB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO;IAQvC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAKlD"}
@@ -0,0 +1,7 @@
1
+ import { Cmd } from './cmd';
2
+ import { IConstructor } from '@ccpc/core';
3
+ /**
4
+ * 注册命令
5
+ */
6
+ export declare function registerCmd(cmdId: string): (ctor: IConstructor<Cmd>) => void;
7
+ //# sourceMappingURL=cmd_decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd_decorator.d.ts","sourceRoot":"","sources":["../../../src/cmd/cmd_decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,IAC7B,MAAM,YAAY,CAAC,GAAG,CAAC,UAGlC"}
@@ -0,0 +1,26 @@
1
+ import { IKeyboardEvent, IMouseEvent, IProcessEvent } from '@ccpc/canvas';
2
+ import { IConstructor } from '@ccpc/core';
3
+ import { Cmd } from './cmd';
4
+ import { CmdActionController } from './cmd_action_controller';
5
+ export declare class CmdMgr implements IProcessEvent {
6
+ private static _instance?;
7
+ private _busy?;
8
+ private _currentCmd?;
9
+ private _clsMgr;
10
+ static instance(): CmdMgr;
11
+ /**
12
+ * 注册cmd
13
+ */
14
+ registerCmd(cmdId: string, cmd: IConstructor<Cmd>): boolean;
15
+ /**
16
+ * 发起一个命令
17
+ */
18
+ sendCmd<C extends Cmd>(Ctor: IConstructor<C>, ...cmdParams: Parameters<C['execute']>): Promise<boolean>;
19
+ getCurrentAction(): CmdActionController<unknown> | undefined;
20
+ getCurrentCmd(): Cmd | undefined;
21
+ resetAllActions(): void;
22
+ processMouseEvent(evt: IMouseEvent): boolean;
23
+ processKeyboardEvent(evt: IKeyboardEvent): boolean;
24
+ }
25
+ export declare const cmdMgr: CmdMgr;
26
+ //# sourceMappingURL=cmd_mgr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd_mgr.d.ts","sourceRoot":"","sources":["../../../src/cmd/cmd_mgr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAA2B,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,MAAO,YAAW,aAAa;IACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAQ;IAEjC,OAAO,CAAC,KAAK,CAAC,CAAkB;IAEhC,OAAO,CAAC,WAAW,CAAC,CAAK;IAEzB,OAAO,CAAC,OAAO,CAAgD;WAEjD,QAAQ;IAOtB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO;IAOlE;;OAEG;IACU,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B7G,gBAAgB;IAQhB,aAAa;IAIb,eAAe;IAYf,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAK5C,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO;CAI5D;AAED,eAAO,MAAM,MAAM,QAAoB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { IKeyboardEvent, IMouseEvent, IProcessEvent } from '@ccpc/canvas';
2
+ /**
3
+ * 精简版 EditorMgr:
4
+ * 当前只负责把未被 cmd 消费的输入转给默认交互控制器。
5
+ */
6
+ export declare class EditorMgr implements IProcessEvent {
7
+ private static _instance?;
8
+ defaultController: IProcessEvent;
9
+ private constructor();
10
+ static instance(): EditorMgr;
11
+ processMouseEvent(evt: IMouseEvent): boolean;
12
+ processKeyboardEvent(evt: IKeyboardEvent): boolean;
13
+ }
14
+ export declare const editorMgr: EditorMgr;
15
+ //# sourceMappingURL=editor_mgr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor_mgr.d.ts","sourceRoot":"","sources":["../../../src/cmd/editor_mgr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGzE;;;GAGG;AACH,qBAAa,SAAU,YAAW,aAAa;IAC3C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAW;IAE7B,iBAAiB,EAAE,aAAa,CAAA;IAEvC,OAAO;WAIO,QAAQ;IAOf,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAI5C,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO;CAG5D;AAED,eAAO,MAAM,SAAS,WAAuB,CAAA"}
@@ -0,0 +1,16 @@
1
+ export { App, app } from './app/app';
2
+ export { Action } from './cmd/action';
3
+ export { Cmd } from './cmd/cmd';
4
+ export { CmdActionController } from './cmd/cmd_action_controller';
5
+ export { PickPointAction, PickPointContext } from './cmd/build_in_action/pick_point_action';
6
+ export { RunSnapUtil } from './cmd/build_in_action/run_snap_util';
7
+ export { createReferenceCurves, createReferenceDirs, createReferencePoint } from './cmd/build_in_action/snap_helper_curve';
8
+ export { registerCmd } from './cmd/cmd_decorator';
9
+ export { CmdMgr, cmdMgr } from './cmd/cmd_mgr';
10
+ export { SnapHelpMgr, EN_SNAP_HELPER_TYPE } from './model/snap_helper_manager';
11
+ export { HighLight } from './selection/high_light';
12
+ export { Selection } from './selection/selection';
13
+ export type { ICmdStatus } from './cmd/cmd_action_controller';
14
+ export type { IPickedResult } from './cmd/build_in_action/i_picked_result';
15
+ export type { IPickContextParam } from './cmd/build_in_action/pick_point_action';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAC1H,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA"}
@@ -0,0 +1,30 @@
1
+ import type { Curve2, Vec2 } from '@ccpc/math';
2
+ export declare enum EN_SNAP_HELPER_TYPE {
3
+ UNKENOW = -1,
4
+ BRIEF = 0,// 短期的, 一般一次取点结束后清空,清空时机业务定
5
+ PERMANENT = 2
6
+ }
7
+ export declare class SnapHelpMgr {
8
+ private static _instance;
9
+ static instance(): SnapHelpMgr;
10
+ private _snapHelperCvs;
11
+ private _snapHelperDirs;
12
+ private _snapHelperPts;
13
+ private _keyToSnapHelperCvs;
14
+ private _keyToSnapHelperDirs;
15
+ private _keyToSnapHelperPts;
16
+ private constructor();
17
+ addSnapHelperCurves(snapHelperType: EN_SNAP_HELPER_TYPE, curves: Curve2[]): void;
18
+ addSnapHelperDirs(snapHelperType: EN_SNAP_HELPER_TYPE, dir: Vec2): void;
19
+ addSnapHelperPoints(snapHelperType: EN_SNAP_HELPER_TYPE, point: Vec2): void;
20
+ deleteSnapHelperPoints(snapHelperType: EN_SNAP_HELPER_TYPE, points: Vec2[]): void;
21
+ clearSnapHelperObjects(snapHelperType: EN_SNAP_HELPER_TYPE): void;
22
+ deleteAllSnapHelperCurves(): void;
23
+ deleteAllSnapHelperDirs(): void;
24
+ deleteAllSnapHelperPoints(): void;
25
+ getAllSnapHelperCurves(): Curve2[][];
26
+ getAllSnapHelperDirs(): Vec2[];
27
+ getAllSnapHelperPoints(): Vec2[];
28
+ getSnapHelperPoints(type: EN_SNAP_HELPER_TYPE): Vec2[];
29
+ }
30
+ //# sourceMappingURL=snap_helper_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap_helper_manager.d.ts","sourceRoot":"","sources":["../../../src/model/snap_helper_manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAE9C,oBAAY,mBAAmB;IAC3B,OAAO,KAAK;IACZ,KAAK,IAAI,CAAE,2BAA2B;IACtC,SAAS,IAAI;CAChB;AAID,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;WAEvB,QAAQ,IAAI,WAAW;IAQrC,OAAO,CAAC,cAAc,CAA2C;IAGjE,OAAO,CAAC,eAAe,CAA2C;IAGlE,OAAO,CAAC,cAAc,CAA2C;IAEjE,OAAO,CAAC,mBAAmB,CAA8B;IAEzD,OAAO,CAAC,oBAAoB,CAA0B;IAEtD,OAAO,CAAC,mBAAmB,CAA0B;IAErD,OAAO;IASA,mBAAmB,CAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;IAezE,iBAAiB,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,EAAE,IAAI;IAgBhE,mBAAmB,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI;IAapE,sBAAsB,CAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE;IAe1E,sBAAsB,CAAC,cAAc,EAAE,mBAAmB;IAU1D,yBAAyB;IAKzB,uBAAuB;IAKvB,yBAAyB;IAKzB,sBAAsB,IAAI,MAAM,EAAE,EAAE;IAapC,oBAAoB,IAAI,IAAI,EAAE;IAa9B,sBAAsB,IAAI,IAAI,EAAE;IAahC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE;CAUhE"}
@@ -0,0 +1,33 @@
1
+ import { GNode, IDocument } from '@ccpc/core';
2
+ /**
3
+ * 高亮集
4
+ */
5
+ export declare class HighLight {
6
+ private _doc;
7
+ private static _instance;
8
+ private _selectedIds;
9
+ static instance(): HighLight;
10
+ setDoc(doc: IDocument): void;
11
+ getDoc(): IDocument;
12
+ /**
13
+ * 获取高亮的GNode
14
+ */
15
+ getActiveGNodes(): GNode[];
16
+ /**
17
+ * 获取高亮的ElementId
18
+ */
19
+ getActiveElementIds(): number[];
20
+ /**
21
+ * 获取高亮的Element
22
+ */
23
+ getActiveElements(): import("@ccpc/core").IElement[];
24
+ /**
25
+ * 清空高亮集合
26
+ */
27
+ clear(): void;
28
+ /**
29
+ * 重置当前高亮集合,并在内容变化时触发视图刷新。
30
+ */
31
+ reset(gnodes: Array<GNode | number>): void;
32
+ }
33
+ //# sourceMappingURL=high_light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"high_light.d.ts","sourceRoot":"","sources":["../../../src/selection/high_light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAY;IAEpC,OAAO,CAAC,YAAY,CAAkC;WAExC,QAAQ;IAOf,MAAM,CAAC,GAAG,EAAE,SAAS;IAIrB,MAAM;IAIb;;OAEG;IACI,eAAe,IAAI,KAAK,EAAE;IAQjC;;OAEG;IACI,mBAAmB;IAQ1B;;OAEG;IACI,iBAAiB;IAMxB;;OAEG;IACI,KAAK;IASZ;;OAEG;IACI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;CAc7C"}
@@ -0,0 +1,48 @@
1
+ import { ElementId, GNode, IDocument, IElement } from '@ccpc/core';
2
+ /**
3
+ * 选择集
4
+ */
5
+ export declare class Selection {
6
+ private static _instance;
7
+ private _doc;
8
+ private _selectedIds;
9
+ private _selectedGNodes;
10
+ static instance(): Selection;
11
+ constructor();
12
+ setDoc(doc: IDocument): void;
13
+ getDoc(): IDocument;
14
+ /**
15
+ * 获取选中的GNodes
16
+ */
17
+ getSelectedGNodes(): GNode[];
18
+ /**
19
+ * 获取所有选中的ElementId
20
+ */
21
+ getAllSelectedEIds(): number[];
22
+ /**
23
+ * 获取所有选中的Element
24
+ */
25
+ getAllSelectedElements(): IElement[];
26
+ /**
27
+ * 获取不包括GNode的ElementId
28
+ */
29
+ getSelectedEIds(): Array<ElementId>;
30
+ /**
31
+ * 获取不包括GNode的Element
32
+ */
33
+ getSelectedElements(): Array<IElement>;
34
+ /**
35
+ * 清空高亮集合
36
+ */
37
+ clear(): void;
38
+ /**
39
+ * 将GNode或者ElementId假如选择集
40
+ */
41
+ add(ids: number[] | GNode[]): void;
42
+ /**
43
+ * 将对象从选择集去除
44
+ */
45
+ delete(ids: number[] | GNode[]): void;
46
+ reset(ids: number[] | GNode[]): void;
47
+ }
48
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/selection/selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAW;IAEnC,OAAO,CAAC,IAAI,CAAY;IAExB,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,eAAe,CAAe;WAExB,QAAQ;;IAWf,MAAM,CAAC,GAAG,EAAE,SAAS;IAIrB,MAAM,IAAI,SAAS;IAI1B;;OAEG;IACI,iBAAiB,IAAI,KAAK,EAAE;IAInC;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IASrC;;OAEG;IACI,sBAAsB,IAAI,QAAQ,EAAE;IAK3C;;OAEG;IACI,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC;IAK1C;;OAEG;IACI,mBAAmB,IAAI,KAAK,CAAC,QAAQ,CAAC;IAI7C;;OAEG;IACI,KAAK;IAUZ;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;IAmBlC;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;IA8B9B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;CAavC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Action状态枚举
3
+ */
4
+ export declare enum EN_ActionStatus {
5
+ OK = 0,
6
+ CANCEL = 1
7
+ }
8
+ //# sourceMappingURL=type_define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type_define.d.ts","sourceRoot":"","sources":["../../../src/types/type_define.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACvB,EAAE,IAAA;IACF,MAAM,IAAA;CACT"}