mxdraw 0.0.1

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 (49) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +0 -0
  3. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js +242 -0
  4. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js.map +1 -0
  5. package/dist/lib/MxCore/MxFun/MxFun.js +408 -0
  6. package/dist/lib/MxCore/MxFun/MxFun.js.map +1 -0
  7. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +93 -0
  8. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -0
  9. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +139 -0
  10. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -0
  11. package/dist/lib/MxCore/MxJigCmdManager/index.js +8 -0
  12. package/dist/lib/MxCore/MxJigCmdManager/index.js.map +1 -0
  13. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +205 -0
  14. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -0
  15. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +91 -0
  16. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -0
  17. package/dist/lib/MxModule.js +31 -0
  18. package/dist/lib/MxModule.js.map +1 -0
  19. package/dist/lib/mxdraw.js +31 -0
  20. package/dist/lib/mxdraw.js.map +1 -0
  21. package/dist/lib/tools/algorithm/math.js +17 -0
  22. package/dist/lib/tools/algorithm/math.js.map +1 -0
  23. package/dist/lib/tools/algorithm/random.js +14 -0
  24. package/dist/lib/tools/algorithm/random.js.map +1 -0
  25. package/dist/lib/tools/dom/create.js +47 -0
  26. package/dist/lib/tools/dom/create.js.map +1 -0
  27. package/dist/lib/tools/formatting/index.js +21 -0
  28. package/dist/lib/tools/formatting/index.js.map +1 -0
  29. package/dist/lib/tools/three/index.js +27 -0
  30. package/dist/lib/tools/three/index.js.map +1 -0
  31. package/dist/mxdraw.es5.js +112943 -0
  32. package/dist/mxdraw.es5.js.map +1 -0
  33. package/dist/mxdraw.umd.js +112951 -0
  34. package/dist/mxdraw.umd.js.map +1 -0
  35. package/dist/types/MxCore/MxDrawObject/MxDrawObject.d.ts +195 -0
  36. package/dist/types/MxCore/MxFun/MxFun.d.ts +328 -0
  37. package/dist/types/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.d.ts +69 -0
  38. package/dist/types/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.d.ts +101 -0
  39. package/dist/types/MxCore/MxJigCmdManager/index.d.ts +3 -0
  40. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +126 -0
  41. package/dist/types/MxModule/MxThreeJS/MxThreeJS.mixin.d.ts +2 -0
  42. package/dist/types/MxModule.d.ts +13 -0
  43. package/dist/types/mxdraw.d.ts +8 -0
  44. package/dist/types/tools/algorithm/math.d.ts +10 -0
  45. package/dist/types/tools/algorithm/random.d.ts +6 -0
  46. package/dist/types/tools/dom/create.d.ts +22 -0
  47. package/dist/types/tools/formatting/index.d.ts +7 -0
  48. package/dist/types/tools/three/index.d.ts +11 -0
  49. package/package.json +127 -0
@@ -0,0 +1,126 @@
1
+ import { Vector3, Line, Object3D, Points, Sprite, Mesh, MeshBasicMaterial, Color } from 'three';
2
+ declare class MxThreeJS {
3
+ /**
4
+ * 创建Three.js直线对象。
5
+ * @param vPt1 THREE.Vector3 点1
6
+ * @param vPt1 THREE.Vector3 点2
7
+ * @param iColor 颜色
8
+ * @returns THREE.Line
9
+ * @example
10
+ * ```typescript
11
+ * Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
12
+ * ```
13
+ */
14
+ createLine(vPt1: Vector3, vPt2: Vector3, iColor: number): Line;
15
+ /**
16
+ * 创建Three.js圆对象。
17
+ * @param mCenterPt 圆中心点
18
+ * @param dRadius 圆半径
19
+ * @param iColor 颜色
20
+ * @returns THREE.Object3D
21
+ * @example
22
+ * ```typescript
23
+ * Mx.MxThreeJS.createCircle(new Three.Vector3(1,10,0), 10, 0)
24
+ * ```
25
+ */
26
+ createCircle(mCenterPt: Vector3, dRadius: number, iColor: number): Object3D;
27
+ /**
28
+ * 创建Three.js点对象。
29
+ * @param mPt 点位置
30
+ * @param iColor 颜色
31
+ * @returns THREE.Points
32
+ * @example
33
+ * ```typescript
34
+ * Mx.MxThreeJS.createPoint(new Three.Vector3(1,10,0), 0)
35
+ * ```
36
+ */
37
+ createPoint(mPt: Vector3, iColor: number): Points;
38
+ /**
39
+ * 创建Three.js 文字
40
+ * @param message 文字信息
41
+ * @param pt 位置
42
+ * @param iSize 文字大小
43
+ * @param fAngle 旋转角度
44
+ * @param iColor 颜色
45
+ * @returns THREE.Sprite
46
+ * @example
47
+ * ```typescript
48
+ * Mx.MxThreeJS.creatTextSprite("hello",new Three.Vector3(1,10,0), 90, 60, 0)
49
+ * ```
50
+ */
51
+ creatTextSprite(message: string, pt: Vector3, iSize: number, fAngle: number, iColor: number): Sprite | null;
52
+ /**
53
+ * 根据三角形数组,创建Three.js Mesh
54
+ * @param points 由三个点组成的数组
55
+ * @param iColor 颜色
56
+ * @param opacity 透明度
57
+ * @returns THREE.Mesh
58
+ * @example
59
+ * ```typescript
60
+ * Mx.MxThreeJS.createTriangle(
61
+ * [new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)],
62
+ * 0,
63
+ * 1
64
+ * )
65
+ * ```
66
+ */
67
+ createTriangle(points: Array<Vector3>, iColor: number, opacity?: number): Mesh | null;
68
+ /**
69
+ * 创建连续直线
70
+ * @param points 由多个点组成的数组
71
+ * @param iColor 颜色
72
+ * @returns THREE.Line
73
+ * @example
74
+ * ```typescript
75
+ * Mx.MxThreeJS.createLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 0)
76
+ * ```
77
+ */
78
+ createLines(points: Array<Vector3>, iColor: number): Line;
79
+ /**
80
+ * 创建虚线
81
+ * @param points 由多个点组成的数组
82
+ * @param iColor 颜色
83
+ * @param dashSize 短划线的大小
84
+ * @param gapSize 短划线之间的距离
85
+ * @returns THREE.Line
86
+ * @example
87
+ * ```typescript
88
+ * Mx.MxThreeJS.createDashedLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 10, 20, 2)
89
+ * ```
90
+ */
91
+ createDashedLines(points: Array<Vector3>, iColor: number, dashSize: number, gapSize: number): Line;
92
+ /**
93
+ * 创建Image
94
+ * @param pos 图片位置
95
+ * @param w 图片宽度
96
+ * @param h 图片高度
97
+ * @param imageUrlPath 图片URl地址
98
+ * @param callResult 图片加载完成的回调 回调参数:THREE.Mesh
99
+ * @returns void
100
+ * @example
101
+ * ```typescript
102
+ * Mx.MxThreeJS.createImage(new THREE.Vector3(12,2,2), 10, 20, "../img/icon.png", (mesh)=> {
103
+ * console.log(mesh)
104
+ * })
105
+ * ```
106
+ */
107
+ createImage: ((pos: Vector3, w: number, h: number, imageUrlPath: string, callResult: (mesh: Mesh | null) => void) => void) | undefined;
108
+ /**
109
+ * 加载SVG
110
+ * @param url SVG路径地址
111
+ * @param x X轴位置
112
+ * @param y Y轴位置
113
+ * @param scale 缩放比
114
+ * @param color 颜色
115
+ * @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
116
+ * @returns void
117
+ * @example
118
+ * ```typescript
119
+ * Mx.MxThreeJS.loadSVG("../img/icon.svg", 10, 20, 1.5, new THREE.Color(0xff0000), (threeobj, aryMeterial)=> {
120
+ * console.log(threeobj, aryMeterial)
121
+ * })
122
+ * ```
123
+ */
124
+ loadSVG: ((url: string, x: number, y: number, scale: number, color: Color, callResult: (threeobj: Object3D, aryMeterial: Array<MeshBasicMaterial>) => void) => void) | undefined;
125
+ }
126
+ export default MxThreeJS;
@@ -0,0 +1,2 @@
1
+ import MxThreeJSType from './MxThreeJS';
2
+ export default function (MxThreeJS: MxThreeJSType): void;
@@ -0,0 +1,13 @@
1
+ /// <reference types="jquery" />
2
+ import MxFunModule from './MxCore/MxFun/MxFun';
3
+ import MxThreeJSModule from './MxModule/MxThreeJS/MxThreeJS';
4
+ import { McEdGetPointWorldDrawObjectClass, MrxDbgUiPrPointClass } from './MxCore/MxJigCmdManager';
5
+ export declare let _MxFun: MxFunType;
6
+ declare class MxModule {
7
+ MxFun: MxFunModule;
8
+ MxThreeJS: MxThreeJSModule;
9
+ McEdGetPointWorldDrawObjectClass: typeof McEdGetPointWorldDrawObjectClass;
10
+ MrxDbgUiPrPointClass: typeof MrxDbgUiPrPointClass;
11
+ constructor(Jquery: JQueryStatic);
12
+ }
13
+ export default MxModule;
@@ -0,0 +1,8 @@
1
+ import 'element-resize-event-polyfill';
2
+ import MxModule from "./MxModule";
3
+ import './lib/mxfun.min.js';
4
+ declare class Mx extends MxModule {
5
+ constructor();
6
+ }
7
+ declare const _default: Mx;
8
+ export default _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 计算纹理的尺寸,保证纹理的尺寸是2次方。
3
+ * @param value 纹理的尺寸
4
+ * @returns number 纹理的尺寸是2次方
5
+ * @example
6
+ * ```
7
+ * floorPowerOfTwo(36)
8
+ * ```
9
+ * */
10
+ export declare function floorPowerOfTwo(value: number): number;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 创建一个唯一ID
3
+ * @param length 生成ID的长度
4
+ * @returns 返回唯一ID
5
+ */
6
+ export declare function createReandomId(length?: number): string;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 创建canvas 元素
3
+ * @param id 提供一个canvas的ID
4
+ * @paramType string
5
+ * @return HTMLCanvasElement
6
+ * @example
7
+ * ``` typescript
8
+ * const canvas:HTMLCanvasElement = createCanvas()
9
+ * ```
10
+ */
11
+ export declare function createCanvas(id?: string): HTMLCanvasElement;
12
+ /**
13
+ * 创建canvas 的父级元素
14
+ * @param canvas 提供一个canvas元素
15
+ * @paramType HTMLCanvasElement
16
+ * @return HTMLDivElement
17
+ * @example
18
+ * ``` typescript
19
+ * const canvas:HTMLDivElement = createCavansParent()
20
+ * ```
21
+ */
22
+ export declare function createCavansParent(canvas?: HTMLCanvasElement | null): HTMLElement;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 格式化字符串
3
+ * @param str 字符串 {1} 替换为 ...val对应坐标下的值
4
+ * @param ...val 剩余参数 对应坐标值
5
+ * @returns 格式化后的字符串
6
+ */
7
+ export declare function formatString(str: string, ...val: string[]): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 移动geometry坐标。
3
+ * @param geometry Three的Geometry对象
4
+ * @param pos 移动后的坐标
5
+ * @example
6
+ * ```typescript
7
+ * setGeometryPostion(new THREE.Geometry(), new THREE.Vector3(3,10,0))
8
+ * ```
9
+ *
10
+ */
11
+ export declare function setGeometryPostion(geometry: THREE.Geometry, pos: THREE.Vector3): void;
package/package.json ADDED
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "mxdraw",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "keywords": [],
6
+ "main": "dist/mxdraw.umd.js",
7
+ "module": "dist/mxdraw.es5.js",
8
+ "typings": "dist/types/mxdraw.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "author": "--username-- <--usermail-->",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": ""
16
+ },
17
+ "license": "MIT",
18
+ "engines": {
19
+ "node": ">=6.0.0"
20
+ },
21
+ "scripts": {
22
+ "prepub": "npm run test:prod && npm run build",
23
+ "pub": "node release.js",
24
+ "dev": "node examples/server.js",
25
+ "lint": "tslint --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'",
26
+ "prebuild": "rimraf dist",
27
+ "build": "tsc --module commonjs && rollup -c rollup.config.ts && typedoc --out docs",
28
+ "oldDocs": "typedoc --out docs --target es6 --theme minimal --mode file src",
29
+ "docs": "typedoc --out docs",
30
+ "start": "rollup -c rollup.config.ts -w",
31
+ "test": "jest --coverage",
32
+ "test:watch": "jest --coverage --watch",
33
+ "test:prod": "npm run lint && npm run test -- --no-cache",
34
+ "deploy-docs": "ts-node tools/gh-pages-publish",
35
+ "report-coverage": "cat ./coverage/lcov.info | coveralls",
36
+ "commit": "git-cz",
37
+ "semantic-release": "semantic-release",
38
+ "semantic-release-prepare": "ts-node tools/semantic-release-prepare",
39
+ "precommit": "lint-staged",
40
+ "postinstall": "ts-node tools/init",
41
+ "travis-deploy-once": "travis-deploy-once"
42
+ },
43
+ "lint-staged": {
44
+ "{src,test}/**/*.ts": [
45
+ "prettier --write",
46
+ "git add"
47
+ ]
48
+ },
49
+ "config": {
50
+ "commitizen": {
51
+ "path": "node_modules/cz-conventional-changelog"
52
+ }
53
+ },
54
+ "prettier": {
55
+ "semi": false,
56
+ "singleQuote": true
57
+ },
58
+ "commitlint": {
59
+ "extends": [
60
+ "@commitlint/config-conventional"
61
+ ]
62
+ },
63
+ "devDependencies": {
64
+ "@babel/core": "^7.16.0",
65
+ "@babel/preset-env": "^7.16.4",
66
+ "@commitlint/cli": "^7.1.2",
67
+ "@commitlint/config-conventional": "^7.1.2",
68
+ "@types/jest": "^23.3.2",
69
+ "@types/jquery": "^3.5.9",
70
+ "@types/node": "^10.11.0",
71
+ "@types/offscreencanvas": "^2019.6.4",
72
+ "babel-jest": "^27.4.2",
73
+ "babel-loader": "^8.2.3",
74
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
75
+ "babel-polyfill": "^6.26.0",
76
+ "colors": "^1.3.2",
77
+ "commitizen": "^3.0.0",
78
+ "coveralls": "^3.0.2",
79
+ "cross-env": "^5.2.0",
80
+ "css-loader": "^6.5.1",
81
+ "cz-conventional-changelog": "^2.1.0",
82
+ "express": "^4.17.1",
83
+ "extract-text-webpack-plugin": "^3.0.2",
84
+ "file-loader": "^6.2.0",
85
+ "husky": "^1.0.1",
86
+ "jest": "^23.6.0",
87
+ "jest-canvas-mock": "^2.3.1",
88
+ "jest-config": "^23.6.0",
89
+ "lint-staged": "^8.0.0",
90
+ "lodash.camelcase": "^4.3.0",
91
+ "prettier": "^1.14.3",
92
+ "prompt": "^1.0.0",
93
+ "replace-in-file": "^3.4.2",
94
+ "rimraf": "^2.6.2",
95
+ "rollup": "^0.67.0",
96
+ "rollup-plugin-commonjs": "^9.1.8",
97
+ "rollup-plugin-json": "^3.1.0",
98
+ "rollup-plugin-node-resolve": "^3.4.0",
99
+ "rollup-plugin-sourcemaps": "^0.4.2",
100
+ "rollup-plugin-terser": "^7.0.2",
101
+ "rollup-plugin-typescript2": "^0.18.0",
102
+ "semantic-release": "^15.9.16",
103
+ "shelljs": "^0.8.3",
104
+ "travis-deploy-once": "^5.0.9",
105
+ "ts-jest": "^23.10.2",
106
+ "ts-loader": "^9.2.6",
107
+ "ts-node": "^7.0.1",
108
+ "tslint": "^5.11.0",
109
+ "tslint-config-prettier": "^1.15.0",
110
+ "tslint-config-standard": "^8.0.1",
111
+ "tslint-loader": "^3.5.4",
112
+ "typedoc": "^0.22.10",
113
+ "typescript": "^4.5.2",
114
+ "vue": "^2.6.14",
115
+ "vue-loader": "^15.9.8",
116
+ "vue-style-loader": "^4.1.3",
117
+ "vue-template-compiler": "^2.6.14",
118
+ "webpack": "^5.64.4",
119
+ "webpack-dev-middleware": "^5.2.2",
120
+ "webpack-hot-middleware": "^2.25.1"
121
+ },
122
+ "dependencies": {
123
+ "element-resize-event-polyfill": "^1.0.5",
124
+ "jquery": "^3.6.0",
125
+ "three": "0.113.2"
126
+ }
127
+ }