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.
- package/LICENSE +7 -0
- package/README.md +0 -0
- package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js +242 -0
- package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js.map +1 -0
- package/dist/lib/MxCore/MxFun/MxFun.js +408 -0
- package/dist/lib/MxCore/MxFun/MxFun.js.map +1 -0
- package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +93 -0
- package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -0
- package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +139 -0
- package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -0
- package/dist/lib/MxCore/MxJigCmdManager/index.js +8 -0
- package/dist/lib/MxCore/MxJigCmdManager/index.js.map +1 -0
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +205 -0
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -0
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +91 -0
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -0
- package/dist/lib/MxModule.js +31 -0
- package/dist/lib/MxModule.js.map +1 -0
- package/dist/lib/mxdraw.js +31 -0
- package/dist/lib/mxdraw.js.map +1 -0
- package/dist/lib/tools/algorithm/math.js +17 -0
- package/dist/lib/tools/algorithm/math.js.map +1 -0
- package/dist/lib/tools/algorithm/random.js +14 -0
- package/dist/lib/tools/algorithm/random.js.map +1 -0
- package/dist/lib/tools/dom/create.js +47 -0
- package/dist/lib/tools/dom/create.js.map +1 -0
- package/dist/lib/tools/formatting/index.js +21 -0
- package/dist/lib/tools/formatting/index.js.map +1 -0
- package/dist/lib/tools/three/index.js +27 -0
- package/dist/lib/tools/three/index.js.map +1 -0
- package/dist/mxdraw.es5.js +112943 -0
- package/dist/mxdraw.es5.js.map +1 -0
- package/dist/mxdraw.umd.js +112951 -0
- package/dist/mxdraw.umd.js.map +1 -0
- package/dist/types/MxCore/MxDrawObject/MxDrawObject.d.ts +195 -0
- package/dist/types/MxCore/MxFun/MxFun.d.ts +328 -0
- package/dist/types/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.d.ts +69 -0
- package/dist/types/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.d.ts +101 -0
- package/dist/types/MxCore/MxJigCmdManager/index.d.ts +3 -0
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +126 -0
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.mixin.d.ts +2 -0
- package/dist/types/MxModule.d.ts +13 -0
- package/dist/types/mxdraw.d.ts +8 -0
- package/dist/types/tools/algorithm/math.d.ts +10 -0
- package/dist/types/tools/algorithm/random.d.ts +6 -0
- package/dist/types/tools/dom/create.d.ts +22 -0
- package/dist/types/tools/formatting/index.d.ts +7 -0
- package/dist/types/tools/three/index.d.ts +11 -0
- 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,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,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,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
|
+
}
|