gl-draw 0.6.2 → 0.6.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.
- package/dist/constants.d.ts +4 -0
- package/dist/core/BaseObject.d.ts +45 -0
- package/dist/core/CSSRenderer/CSS2DRenderer.d.ts +17 -0
- package/dist/core/CSSRenderer/index.d.ts +19 -0
- package/dist/core/Camera.d.ts +30 -0
- package/dist/core/Composer.d.ts +60 -0
- package/dist/core/Control.d.ts +28 -0
- package/dist/core/GUIObject.d.ts +24 -0
- package/dist/core/Pencil.d.ts +146 -0
- package/dist/core/Renderer.d.ts +51 -0
- package/dist/core/Scene.d.ts +19 -0
- package/dist/core/pass/bloom/UnrealBloomPass.d.ts +46 -0
- package/dist/core/pass/bloom/index.d.ts +33 -0
- package/dist/core/pass/outline/index.d.ts +37 -0
- package/dist/core/pass/ssr/index.d.ts +38 -0
- package/dist/effect/bloom.d.ts +14 -0
- package/dist/effect/index.d.ts +5 -0
- package/dist/effect/index.js +3205 -0
- package/dist/effect/index.module.js +3205 -0
- package/dist/effect/outline.d.ts +15 -0
- package/dist/effect/scan.d.ts +39 -0
- package/dist/effect/scan2.d.ts +28 -0
- package/dist/effect/ssr.d.ts +15 -0
- package/dist/geojson/china.json +103310 -0
- package/dist/geojson/countries.json +27483 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3102 -0
- package/dist/index.module.js +3102 -0
- package/dist/objects/conicPolygon/geometry/index.d.ts +32 -0
- package/dist/objects/conicPolygon/geometry/triangulate.d.ts +11 -0
- package/dist/objects/conicPolygon/index.d.ts +19 -0
- package/dist/objects/extrudePolygon/coords2Vector.d.ts +7 -0
- package/dist/objects/extrudePolygon/createGeometry.d.ts +8 -0
- package/dist/objects/extrudePolygon/getWorkerGeometry.d.ts +16 -0
- package/dist/objects/extrudePolygon/index.d.ts +37 -0
- package/dist/objects/extrudePolygon/w.d.ts +1 -0
- package/dist/objects/fix.d.ts +2 -0
- package/dist/objects/image/index.d.ts +24 -0
- package/dist/objects/index.d.ts +10 -0
- package/dist/objects/index.js +3177 -0
- package/dist/objects/index.module.js +3177 -0
- package/dist/objects/line/coords2Vector.d.ts +7 -0
- package/dist/objects/line/createGeometry.d.ts +8 -0
- package/dist/objects/line/getWorkerGeometry.d.ts +15 -0
- package/dist/objects/line/index.d.ts +44 -0
- package/dist/objects/line/meshLine/index.d.ts +89 -0
- package/dist/objects/line/meshLine/shader/fragment.d.ts +2 -0
- package/dist/objects/line/meshLine/shader/vertex.d.ts +2 -0
- package/dist/objects/line/w.d.ts +1 -0
- package/dist/objects/node/index.d.ts +30 -0
- package/dist/objects/text/index.d.ts +23 -0
- package/dist/objects/video/index.d.ts +31 -0
- package/dist/plugins/Cache.d.ts +8 -0
- package/dist/plugins/Data.d.ts +8 -0
- package/dist/plugins/Draw.d.ts +35 -0
- package/dist/plugins/Worker.d.ts +31 -0
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/index.js +3046 -0
- package/dist/plugins/index.module.js +3046 -0
- package/dist/shims.d.ts +5 -0
- package/dist/utils/chain.d.ts +23 -0
- package/dist/utils/colorCorrection.d.ts +2 -0
- package/dist/utils/disposeMesh.d.ts +2 -0
- package/dist/utils/exception.d.ts +26 -0
- package/dist/utils/getCache.d.ts +13 -0
- package/dist/utils/getElementView.d.ts +2 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +3046 -0
- package/dist/utils/index.module.js +3046 -0
- package/dist/utils/isPlainObject.d.ts +1 -0
- package/dist/utils/makePromiseCreator.d.ts +6 -0
- package/dist/utils/polar2Cartesian.d.ts +1 -0
- package/dist/utils/timer.d.ts +9 -0
- package/dist/utils/to.d.ts +8 -0
- package/dist/utils/uvGenerator.d.ts +9 -0
- package/dist/workers/extrudePolygon.js +3046 -0
- package/dist/workers/line.js +3177 -0
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GeoProjection } from 'd3-geo';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export declare const getProjection: (options: {
|
|
4
|
+
center: [number, number];
|
|
5
|
+
scale: number;
|
|
6
|
+
}) => GeoProjection;
|
|
7
|
+
export declare const coords2Vector: (projection: GeoProjection, coords: [number, number][]) => THREE.Vector3[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type WorkerController from '../../plugins/Worker';
|
|
3
|
+
declare type Coordinate = [number, number];
|
|
4
|
+
declare const _default: (options: {
|
|
5
|
+
worker: WorkerController;
|
|
6
|
+
workerKey?: string | undefined;
|
|
7
|
+
coordinatesArr: Coordinate[][];
|
|
8
|
+
lineWidth: number[];
|
|
9
|
+
projection: {
|
|
10
|
+
center: [number, number];
|
|
11
|
+
scale: number;
|
|
12
|
+
};
|
|
13
|
+
cacheVersion?: string | undefined;
|
|
14
|
+
}) => Promise<THREE.BufferGeometry>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { PlaybackControls } from 'popmotion';
|
|
3
|
+
import BaseObject from '../../core/BaseObject';
|
|
4
|
+
import { MeshLineMaterial } from './meshLine';
|
|
5
|
+
interface Options {
|
|
6
|
+
nodes?: THREE.Vector3[];
|
|
7
|
+
nodesArr?: THREE.Vector3[][];
|
|
8
|
+
geometry?: THREE.BufferGeometry;
|
|
9
|
+
geometryArr?: THREE.BufferGeometry[];
|
|
10
|
+
key?: string;
|
|
11
|
+
useGroups?: boolean;
|
|
12
|
+
duration?: number;
|
|
13
|
+
delay?: number;
|
|
14
|
+
onComplete?: (...args: any[]) => void;
|
|
15
|
+
color?: string | THREE.Color | number;
|
|
16
|
+
lineWidth?: number;
|
|
17
|
+
sizeAttenuation?: number;
|
|
18
|
+
map?: THREE.Texture;
|
|
19
|
+
useMap?: number;
|
|
20
|
+
alphaMap?: THREE.Texture;
|
|
21
|
+
useAlphaMap?: number;
|
|
22
|
+
opacity?: number;
|
|
23
|
+
dashArray?: number;
|
|
24
|
+
dashOffset?: number;
|
|
25
|
+
dashRatio?: number;
|
|
26
|
+
useDash?: number;
|
|
27
|
+
visibility?: number;
|
|
28
|
+
alphaTest?: number;
|
|
29
|
+
repeat?: THREE.Vector2;
|
|
30
|
+
transparent?: boolean;
|
|
31
|
+
depthTest?: boolean;
|
|
32
|
+
setPointWidth?: (p: number) => number;
|
|
33
|
+
}
|
|
34
|
+
export default class Line extends BaseObject {
|
|
35
|
+
options: Options;
|
|
36
|
+
tween: PlaybackControls;
|
|
37
|
+
constructor(options?: Partial<Options>);
|
|
38
|
+
material: MeshLineMaterial;
|
|
39
|
+
create(): void;
|
|
40
|
+
resize(w: number, h: number): void;
|
|
41
|
+
animate(): void;
|
|
42
|
+
dispose(): void;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
|
|
3
|
+
export class MeshLine extends THREE.BufferGeometry {
|
|
4
|
+
constructor();
|
|
5
|
+
|
|
6
|
+
geometry: MeshLine;
|
|
7
|
+
|
|
8
|
+
points: Float32Array | Array<number>;
|
|
9
|
+
|
|
10
|
+
isMeshLine: boolean;
|
|
11
|
+
|
|
12
|
+
setPoints(
|
|
13
|
+
points: Float32Array | Array<number>,
|
|
14
|
+
wcb?: (p: number) => any
|
|
15
|
+
): void;
|
|
16
|
+
|
|
17
|
+
setMatrixWorld(matrixWorld: THREE.Matrix4): void;
|
|
18
|
+
|
|
19
|
+
setGeometry(g: THREE.BufferGeometry, c?: (p: number) => any): void;
|
|
20
|
+
|
|
21
|
+
raycast: (
|
|
22
|
+
raycaster: THREE.Raycaster,
|
|
23
|
+
intersects: THREE.Intersection[]
|
|
24
|
+
) => void;
|
|
25
|
+
|
|
26
|
+
compareV3(a: number, b: number): number;
|
|
27
|
+
|
|
28
|
+
copyV3(a: number): [number, number, number];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class MeshLineMaterial extends THREE.ShaderMaterial {
|
|
32
|
+
constructor(parameters?: {
|
|
33
|
+
resolution: THREE.Vector2; // required
|
|
34
|
+
lineWidth?: number;
|
|
35
|
+
map?: THREE.Texture;
|
|
36
|
+
useMap?: number;
|
|
37
|
+
alphaMap?: THREE.Texture;
|
|
38
|
+
useAlphaMap?: number;
|
|
39
|
+
color?: string | THREE.Color | number;
|
|
40
|
+
opacity?: number;
|
|
41
|
+
sizeAttenuation?: number;
|
|
42
|
+
dashArray?: number;
|
|
43
|
+
dashOffset?: number;
|
|
44
|
+
dashRatio?: number;
|
|
45
|
+
useDash?: number;
|
|
46
|
+
visibility?: number;
|
|
47
|
+
alphaTest?: number;
|
|
48
|
+
repeat?: THREE.Vector2;
|
|
49
|
+
transparent?: boolean;
|
|
50
|
+
depthTest?: boolean;
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
lineWidth: number;
|
|
54
|
+
|
|
55
|
+
map: THREE.Texture;
|
|
56
|
+
|
|
57
|
+
useMap: number;
|
|
58
|
+
|
|
59
|
+
alphaMap: THREE.Texture;
|
|
60
|
+
|
|
61
|
+
useAlphaMap: number;
|
|
62
|
+
|
|
63
|
+
color: THREE.Color | string | number;
|
|
64
|
+
|
|
65
|
+
opacity: number;
|
|
66
|
+
|
|
67
|
+
resolution: THREE.Vector2;
|
|
68
|
+
|
|
69
|
+
sizeAttenuation: number;
|
|
70
|
+
|
|
71
|
+
dashArray: number;
|
|
72
|
+
|
|
73
|
+
dashOffset: number;
|
|
74
|
+
|
|
75
|
+
dashRatio: number;
|
|
76
|
+
|
|
77
|
+
useDesh: number;
|
|
78
|
+
|
|
79
|
+
visibility: number;
|
|
80
|
+
|
|
81
|
+
alphaTest: number;
|
|
82
|
+
|
|
83
|
+
repeat: THREE.Vector2;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function MeshLineRaycast(
|
|
87
|
+
raycaster: THREE.Raycaster,
|
|
88
|
+
intersects: THREE.Intersection[]
|
|
89
|
+
): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import BaseObject from '../../core/BaseObject';
|
|
3
|
+
import Cache from '../../plugins/Cache';
|
|
4
|
+
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
5
|
+
interface Options {
|
|
6
|
+
children: HTMLElement;
|
|
7
|
+
position?: THREE.Vector3;
|
|
8
|
+
event?: string;
|
|
9
|
+
eventTarge?: string[];
|
|
10
|
+
handler?: (event: Event) => void;
|
|
11
|
+
zIndexFix?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class Node extends BaseObject {
|
|
14
|
+
options: Options;
|
|
15
|
+
pickObject?: THREE.Sprite;
|
|
16
|
+
object3d: CSS2DObject;
|
|
17
|
+
element: HTMLDivElement;
|
|
18
|
+
constructor(options: Options);
|
|
19
|
+
get clickTarge(): HTMLDivElement[];
|
|
20
|
+
create(): void;
|
|
21
|
+
getMaterial(show: boolean): Promise<THREE.SpriteMaterial>;
|
|
22
|
+
createPickObject({ show, scale, position, cache, }: {
|
|
23
|
+
show?: boolean;
|
|
24
|
+
scale?: THREE.Vector3;
|
|
25
|
+
position?: THREE.Vector3;
|
|
26
|
+
cache?: Cache;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
dispose(): void;
|
|
29
|
+
}
|
|
30
|
+
export default Node;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import BaseObject from '../../core/BaseObject';
|
|
3
|
+
interface Options {
|
|
4
|
+
position: THREE.Vector3;
|
|
5
|
+
text: string;
|
|
6
|
+
fontSize?: number;
|
|
7
|
+
scale?: number;
|
|
8
|
+
fontFamily?: string;
|
|
9
|
+
fontWeight?: string;
|
|
10
|
+
flipX?: boolean;
|
|
11
|
+
lookAt?: THREE.Vector3;
|
|
12
|
+
sprite?: boolean;
|
|
13
|
+
sizeAttenuation?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export default class extends BaseObject {
|
|
16
|
+
options: Omit<Required<Options>, 'lookAt'> & Pick<Options, 'lookAt'>;
|
|
17
|
+
width: number;
|
|
18
|
+
canvas: HTMLCanvasElement;
|
|
19
|
+
constructor(options: Options);
|
|
20
|
+
create(): void;
|
|
21
|
+
setText(t: string, options?: Pick<Options, 'fontSize' | 'fontFamily' | 'flipX'>): void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import BaseObject from '../../core/BaseObject';
|
|
3
|
+
import Cache from '../../plugins/Cache';
|
|
4
|
+
interface Options {
|
|
5
|
+
src: string;
|
|
6
|
+
scale?: number;
|
|
7
|
+
position?: THREE.Vector3;
|
|
8
|
+
cache?: Cache;
|
|
9
|
+
transparent?: boolean;
|
|
10
|
+
blending?: THREE.Blending;
|
|
11
|
+
depthWrite?: boolean;
|
|
12
|
+
alphaTest?: number;
|
|
13
|
+
autoPlay?: boolean;
|
|
14
|
+
loop?: boolean;
|
|
15
|
+
format?: THREE.PixelFormat;
|
|
16
|
+
sprite?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export default class extends BaseObject {
|
|
19
|
+
options: Options & {
|
|
20
|
+
autoPlay: boolean;
|
|
21
|
+
loop: boolean;
|
|
22
|
+
};
|
|
23
|
+
video: HTMLVideoElement;
|
|
24
|
+
constructor(options: Options);
|
|
25
|
+
getMaterial(): Promise<any>;
|
|
26
|
+
create(): Promise<void>;
|
|
27
|
+
setScale(n: number): void;
|
|
28
|
+
render(): void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IBaseObject } from '../core/BaseObject';
|
|
2
|
+
import Pencil from '../core/Pencil';
|
|
3
|
+
declare type KeyOf<T extends object> = Extract<keyof T, string>;
|
|
4
|
+
export default class Draw<T extends {
|
|
5
|
+
[key: string]: new (...args: any[]) => IBaseObject;
|
|
6
|
+
}> {
|
|
7
|
+
pencil: Pencil;
|
|
8
|
+
private objects_;
|
|
9
|
+
private objectNamesToFactories;
|
|
10
|
+
private objects;
|
|
11
|
+
get objectsPromise(): Promise<any>[];
|
|
12
|
+
constructor(objects: T);
|
|
13
|
+
install(pencil: Pencil): void;
|
|
14
|
+
initObjectFactories(): void;
|
|
15
|
+
getObject<Y extends KeyOf<T>>(nameOrigin: Y, options?: {
|
|
16
|
+
key: string;
|
|
17
|
+
}): InstanceType<T[Y]> | undefined;
|
|
18
|
+
getAllObject<Y extends KeyOf<T>>(nameOrigin: Y, options?: {
|
|
19
|
+
key: string;
|
|
20
|
+
}): InstanceType<T[Y]>[];
|
|
21
|
+
draw<Y extends KeyOf<T>, U extends KeyOf<T> | `${KeyOf<T>}#${string}` | IBaseObject>(nameOrigin: Y, options?: ConstructorParameters<T[Y]>[0] extends undefined ? {
|
|
22
|
+
key?: string;
|
|
23
|
+
target?: U;
|
|
24
|
+
} : ConstructorParameters<T[Y]>[0] & {
|
|
25
|
+
key?: string;
|
|
26
|
+
target?: U;
|
|
27
|
+
}, target?: U): Promise<InstanceType<T[Y]>>;
|
|
28
|
+
private addMesh;
|
|
29
|
+
erase(...args: (KeyOf<T> | `${KeyOf<T>}#${string}` | InstanceType<T[keyof T]>)[]): void;
|
|
30
|
+
private removeMesh;
|
|
31
|
+
update(delta: number, elapsed: number): void;
|
|
32
|
+
setSize(width: number, height: number): void;
|
|
33
|
+
dispose(): void;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
declare type GetWk = () => Worker;
|
|
2
|
+
interface Options {
|
|
3
|
+
cache?: boolean;
|
|
4
|
+
cacheVersion?: string;
|
|
5
|
+
}
|
|
6
|
+
export default class {
|
|
7
|
+
workerList: {
|
|
8
|
+
worker: Worker;
|
|
9
|
+
inUse: boolean;
|
|
10
|
+
}[];
|
|
11
|
+
options: Required<Options>;
|
|
12
|
+
constructor(options?: Options);
|
|
13
|
+
install(): void;
|
|
14
|
+
init(scriptURL: string | GetWk, length: number): void;
|
|
15
|
+
messageList: {
|
|
16
|
+
req: Record<string, any>;
|
|
17
|
+
options: {
|
|
18
|
+
cb: any;
|
|
19
|
+
cacheVersion?: string;
|
|
20
|
+
};
|
|
21
|
+
uuid: string;
|
|
22
|
+
inUse: boolean;
|
|
23
|
+
}[];
|
|
24
|
+
postMessage(req: Record<string, any>, options: {
|
|
25
|
+
cb: any;
|
|
26
|
+
cacheVersion?: string;
|
|
27
|
+
}): void;
|
|
28
|
+
checkMessage(): void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
}
|
|
31
|
+
export {};
|