bg2e-js 2.0.1 → 2.0.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/dist/bg2e-js.js +11001 -0
- package/dist/bg2e-js.js.map +1 -0
- package/package.json +17 -6
- package/app/AppController.d.ts +0 -37
- package/app/AppController.js +0 -32
- package/app/Canvas.d.ts +0 -42
- package/app/Canvas.js +0 -98
- package/app/EventBase.js +0 -8
- package/app/KeyboardEvent.js +0 -51
- package/app/MainLoop.d.ts +0 -245
- package/app/MainLoop.js +0 -251
- package/app/MouseEvent.js +0 -77
- package/app/TouchEvent.js +0 -15
- package/base/Color.js +0 -131
- package/base/Environment.js +0 -78
- package/base/Light.js +0 -176
- package/base/Material.js +0 -619
- package/base/PolyList.js +0 -336
- package/base/Texture.js +0 -545
- package/db/Bg2LoaderPlugin.js +0 -113
- package/db/DBPluginApi.js +0 -40
- package/db/Loader.js +0 -91
- package/db/LoaderPlugin.js +0 -26
- package/db/MtlParser.js +0 -7
- package/db/ObjLoaderPlugin.js +0 -51
- package/db/ObjParser.js +0 -233
- package/db/ObjWriterPlugin.js +0 -18
- package/db/VitscnjLoaderPlugin.js +0 -87
- package/db/Writer.js +0 -49
- package/db/WriterPlugin.js +0 -20
- package/debug/DebugRenderer.js +0 -138
- package/debug/WebGLTextureViewer.js +0 -67
- package/manipulation/SelectionBuffer.js +0 -65
- package/manipulation/SelectionHighlight.js +0 -69
- package/manipulation/SelectionIdAssignVisitor.js +0 -86
- package/manipulation/SelectionManager.js +0 -134
- package/manipulation/SelectionMode.js +0 -6
- package/math/Mat3.js +0 -248
- package/math/Mat4.js +0 -694
- package/math/MatrixStrategy.js +0 -23
- package/math/Quat.js +0 -60
- package/math/Vec.js +0 -728
- package/math/constants.js +0 -44
- package/math/functions.js +0 -104
- package/math/index.js +0 -74
- package/phsics/joint.js +0 -124
- package/primitives/arrow.js +0 -58
- package/primitives/cone.js +0 -137
- package/primitives/cube.js +0 -59
- package/primitives/cylinder.js +0 -215
- package/primitives/index.js +0 -13
- package/primitives/plane.js +0 -31
- package/primitives/sphere.js +0 -808
- package/render/BRDFIntegrationMap.js +0 -4
- package/render/Environment.js +0 -105
- package/render/EnvironmentRenderer.js +0 -12
- package/render/FrameBuffer.js +0 -26
- package/render/MaterialRenderer.js +0 -28
- package/render/Pipeline.js +0 -83
- package/render/PolyListRenderer.js +0 -42
- package/render/RenderBuffer.js +0 -189
- package/render/RenderQueue.js +0 -162
- package/render/RenderState.js +0 -82
- package/render/Renderer.js +0 -202
- package/render/SceneAppController.js +0 -208
- package/render/SceneRenderer.js +0 -310
- package/render/Shader.js +0 -21
- package/render/ShadowRenderer.js +0 -159
- package/render/SkyCube.js +0 -77
- package/render/SkySphere.js +0 -94
- package/render/TextureMergerRenderer.js +0 -58
- package/render/TextureRenderer.js +0 -29
- package/render/webgl/FrameBuffer.js +0 -9
- package/render/webgl/MaterialRenderer.js +0 -99
- package/render/webgl/Pipeline.js +0 -82
- package/render/webgl/PolyListRenderer.js +0 -224
- package/render/webgl/RenderBuffer.js +0 -244
- package/render/webgl/Renderer.js +0 -239
- package/render/webgl/SceneRenderer.js +0 -43
- package/render/webgl/ShaderProgram.js +0 -350
- package/render/webgl/ShadowRenderer.js +0 -6
- package/render/webgl/SkyCube.js +0 -15
- package/render/webgl/SkySphere.js +0 -14
- package/render/webgl/State.js +0 -149
- package/render/webgl/TextureRenderer.js +0 -167
- package/render/webgl/VertexBuffer.js +0 -128
- package/scene/Camera.js +0 -378
- package/scene/Chain.js +0 -43
- package/scene/ChainJoint.js +0 -55
- package/scene/Component.js +0 -146
- package/scene/ComponentMap.js +0 -99
- package/scene/Drawable.js +0 -130
- package/scene/EnvironmentComponent.js +0 -123
- package/scene/FindNodeVisitor.js +0 -55
- package/scene/LightComponent.js +0 -146
- package/scene/MatrixState.js +0 -39
- package/scene/Node.js +0 -300
- package/scene/NodeVisitor.js +0 -12
- package/scene/OrbitCameraController.js +0 -407
- package/scene/SmoothOrbitCameraController.js +0 -92
- package/scene/Transform.js +0 -74
- package/scene/index.js +0 -24
- package/shaders/BasicDiffuseColorShader.js +0 -91
- package/shaders/BasicPBRLightShader.js +0 -238
- package/shaders/DebugRenderShader.js +0 -79
- package/shaders/DepthRenderShader.js +0 -69
- package/shaders/IrradianceMapCubeShader.js +0 -99
- package/shaders/PBRLightIBLShader.js +0 -380
- package/shaders/PickSelectionShader.js +0 -75
- package/shaders/PresentDebugFramebufferShader.js +0 -90
- package/shaders/PresentTextureShader.js +0 -73
- package/shaders/SelectionHighlightShader.js +0 -98
- package/shaders/ShaderFunction.js +0 -72
- package/shaders/SkyCubeShader.js +0 -78
- package/shaders/SkySphereShader.js +0 -77
- package/shaders/SpecularMapCubeShader.js +0 -145
- package/shaders/TextureMergerShader.js +0 -127
- package/shaders/webgl_shader_lib.js +0 -187
- package/tools/BinaryResourceProvider.js +0 -15
- package/tools/ImageResourceProvider.js +0 -65
- package/tools/MaterialModifier.js +0 -228
- package/tools/Resource.js +0 -177
- package/tools/ResourceProvider.js +0 -56
- package/tools/TextResourceProvider.js +0 -24
- package/tools/TextureCache.js +0 -44
- package/tools/TextureResourceDatabase.js +0 -87
- package/tools/UserAgent.js +0 -294
- package/tools/VideoResourceProvider.js +0 -51
- package/tools/WriteStrategy.js +0 -22
- package/tools/base64.js +0 -15
- package/tools/crypto.js +0 -15
- package/tools/endiantess.js +0 -15
- package/tools/image.js +0 -15
- package/tools/index.js +0 -33
- package/tools/processType.js +0 -56
package/math/constants.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
export const Axis = {
|
|
3
|
-
NONE: 0,
|
|
4
|
-
X: 1,
|
|
5
|
-
Y: 2,
|
|
6
|
-
Z: 3,
|
|
7
|
-
name: (axis) => {
|
|
8
|
-
switch (axis) {
|
|
9
|
-
case Axis.NONE:
|
|
10
|
-
return "NONE";
|
|
11
|
-
case Axis.X:
|
|
12
|
-
return "X";
|
|
13
|
-
case Axis.Y:
|
|
14
|
-
return "Y";
|
|
15
|
-
case Axis.Z:
|
|
16
|
-
return "Z";
|
|
17
|
-
case Axis.W:
|
|
18
|
-
return "W";
|
|
19
|
-
default:
|
|
20
|
-
return "UNKNOWN"
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export const PI = 3.141592653589793;
|
|
26
|
-
export const DEG_TO_RAD = 0.01745329251994;
|
|
27
|
-
export const RAD_TO_DEG = 57.29577951308233;
|
|
28
|
-
export const PI_2 = 1.5707963267948966;
|
|
29
|
-
export const PI_4 = 0.785398163397448;
|
|
30
|
-
export const PI_8 = 0.392699081698724;
|
|
31
|
-
export const TWO_PI = 6.283185307179586;
|
|
32
|
-
export const EPSILON = 0.0000001;
|
|
33
|
-
|
|
34
|
-
// Default array: 32 bits
|
|
35
|
-
export const NumericArray = Float32Array;
|
|
36
|
-
export const NumericArrayHighP = Float64Array;
|
|
37
|
-
export const FLOAT_MAX = 3.402823e38;
|
|
38
|
-
|
|
39
|
-
export const checkArray = (array, length) => {
|
|
40
|
-
if (array.length >= length) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}
|
package/math/functions.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
EPSILON,
|
|
4
|
-
DEG_TO_RAD,
|
|
5
|
-
RAD_TO_DEG
|
|
6
|
-
} from './constants.js';
|
|
7
|
-
|
|
8
|
-
let s_bg_math_seed = Date.now();
|
|
9
|
-
|
|
10
|
-
export const checkPowerOfTwo = (n) => {
|
|
11
|
-
if (typeof n !== 'number') {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return n && (n & (n - 1)) === 0;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const checkZero = (v) => {
|
|
20
|
-
return v>-EPSILON && v<EPSILON ? 0:v;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export const isZero = (v) => {
|
|
24
|
-
return checkZero(v) === 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export const equals = (a,b) => {
|
|
28
|
-
return Math.abs(a - b) < EPSILON;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const degreesToRadians = (d) => {
|
|
32
|
-
return Math.fround(checkZero(d * DEG_TO_RAD));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export const radiansToDegrees = (r) => {
|
|
36
|
-
return Math.fround(checkZero(r * RAD_TO_DEG));
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export const sin = (val) => {
|
|
40
|
-
return Math.fround(checkZero(Math.sin(val)));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const cos = (val) => {
|
|
44
|
-
return Math.fround(checkZero(Math.cos(val)));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export const tan = (val) => {
|
|
48
|
-
return Math.fround(checkZero(Math.tan(val)));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export const cotan = (val) => {
|
|
52
|
-
return Math.fround(checkZero(1.0 / tan(val)));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export const atan = (val) => {
|
|
56
|
-
return Math.fround(checkZero(Math.atan(val)));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export const atan2 = (i, j) => {
|
|
60
|
-
return Math.fround(checkZero(Math.atan2f(i, j)));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export const random = () => {
|
|
64
|
-
return Math.random();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export const seededRandom = () => {
|
|
68
|
-
const max = 1;
|
|
69
|
-
const min = 0;
|
|
70
|
-
|
|
71
|
-
s_bg_math_seed = (s_bg_math_seed * 9301 + 49297) % 233280;
|
|
72
|
-
const rnd = s_bg_math_seed / 233280;
|
|
73
|
-
|
|
74
|
-
return min + rnd * (max - min);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export const max = (a,b) => {
|
|
78
|
-
return Math.fround(Math.max(a,b));
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export const min = (a,b) => {
|
|
82
|
-
return Math.fround(Math.min(a,b));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export const abs = (val) => {
|
|
86
|
-
return Math.fround(Math.abs(val));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export const sqrt = (val) => {
|
|
90
|
-
return Math.fround(Math.sqrt(val));
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export const lerp = (from, to, t) => {
|
|
94
|
-
t = t > 1 ? 1 : t;
|
|
95
|
-
return Math.fround((1.0 - t) * from + t * to);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export const square = (n) => {
|
|
99
|
-
return Math.fround(n * n);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export const clamp = (value, min, max) => {
|
|
103
|
-
return Math.fround(Math.max(min, Math.min(value, max)));
|
|
104
|
-
}
|
package/math/index.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
Axis,
|
|
4
|
-
PI,
|
|
5
|
-
DEG_TO_RAD,
|
|
6
|
-
RAD_TO_DEG,
|
|
7
|
-
PI_2,
|
|
8
|
-
PI_4,
|
|
9
|
-
PI_8,
|
|
10
|
-
TWO_PI,
|
|
11
|
-
EPSILON,
|
|
12
|
-
NumericArray,
|
|
13
|
-
NumericArrayHighP,
|
|
14
|
-
FLOAT_MAX
|
|
15
|
-
} from "./constants.js";
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
checkPowerOfTwo,
|
|
19
|
-
checkZero,
|
|
20
|
-
isZero,
|
|
21
|
-
equals,
|
|
22
|
-
degreesToRadians,
|
|
23
|
-
radiansToDegrees,
|
|
24
|
-
sin,
|
|
25
|
-
cos,
|
|
26
|
-
tan,
|
|
27
|
-
cotan,
|
|
28
|
-
atan,
|
|
29
|
-
atan2,
|
|
30
|
-
random,
|
|
31
|
-
seededRandom,
|
|
32
|
-
max,
|
|
33
|
-
min,
|
|
34
|
-
abs,
|
|
35
|
-
sqrt,
|
|
36
|
-
lerp,
|
|
37
|
-
square
|
|
38
|
-
} from "./functions.js";
|
|
39
|
-
|
|
40
|
-
export const math = {
|
|
41
|
-
Axis,
|
|
42
|
-
PI,
|
|
43
|
-
DEG_TO_RAD,
|
|
44
|
-
RAD_TO_DEG,
|
|
45
|
-
PI_2,
|
|
46
|
-
PI_4,
|
|
47
|
-
PI_8,
|
|
48
|
-
TWO_PI,
|
|
49
|
-
EPSILON,
|
|
50
|
-
NumericArray,
|
|
51
|
-
NumericArrayHighP,
|
|
52
|
-
FLOAT_MAX,
|
|
53
|
-
|
|
54
|
-
checkPowerOfTwo,
|
|
55
|
-
checkZero,
|
|
56
|
-
isZero,
|
|
57
|
-
equals,
|
|
58
|
-
degreesToRadians,
|
|
59
|
-
radiansToDegrees,
|
|
60
|
-
sin,
|
|
61
|
-
cos,
|
|
62
|
-
tan,
|
|
63
|
-
cotan,
|
|
64
|
-
atan,
|
|
65
|
-
atan2,
|
|
66
|
-
random,
|
|
67
|
-
seededRandom,
|
|
68
|
-
max,
|
|
69
|
-
min,
|
|
70
|
-
abs,
|
|
71
|
-
sqrt,
|
|
72
|
-
lerp,
|
|
73
|
-
square
|
|
74
|
-
};
|
package/phsics/joint.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import Vec from '../math/Vec';
|
|
2
|
-
import Mat4 from '../math/Mat4';
|
|
3
|
-
|
|
4
|
-
export default class Joint {
|
|
5
|
-
static Factory(linkData) {
|
|
6
|
-
let result = null;
|
|
7
|
-
switch (linkData.type) {
|
|
8
|
-
case 'LinkJoint':
|
|
9
|
-
result = new LinkJoint();
|
|
10
|
-
result.deserialize(linkData);
|
|
11
|
-
break;
|
|
12
|
-
}
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
constructor() {
|
|
17
|
-
this._transform = Mat4.MakeIdentity();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
get transform() { return this._transform; }
|
|
21
|
-
set transform(t) { this._transform.assign(t); }
|
|
22
|
-
|
|
23
|
-
applyTransform(matrix) {
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
calculateTransform() {
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export const LinkTransformOrder = {
|
|
33
|
-
TRANSLATE_ROTATE: 1,
|
|
34
|
-
ROTATE_TRANSLATE: 0
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export class LinkJoint extends Joint {
|
|
38
|
-
constructor() {
|
|
39
|
-
super();
|
|
40
|
-
this._offset = new Vec(0, 0, 0);
|
|
41
|
-
this._eulerRotation = new Vec(0, 0, 0);
|
|
42
|
-
this._transformOrder = LinkTransformOrder.TRANSLATE_ROTATE;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
get offset() { return this._offset; }
|
|
46
|
-
set offset(o) { this._offset = new Vec(o); this.calculateTransform(); }
|
|
47
|
-
|
|
48
|
-
get eulerRotation() { return this._eulerRotation; }
|
|
49
|
-
set eulerRotation(e) { this._eulerRotation = new Vec(e); this.calculateTransform(); }
|
|
50
|
-
|
|
51
|
-
get yaw() { return this._eulerRotation.x; }
|
|
52
|
-
get pitch() { return this._eulerRotation.y; }
|
|
53
|
-
get roll() { return this._eulerRotation.z; }
|
|
54
|
-
|
|
55
|
-
set yaw(y) { this._eulerRotation.x = y; this.calculateTransform(); }
|
|
56
|
-
set pitch(p) { this._eulerRotation.y = p; this.calculateTransform(); }
|
|
57
|
-
set roll(r) { this._eulerRotation.z = r; this.calculateTransform(); }
|
|
58
|
-
|
|
59
|
-
get transformOrder() { return this._transformOrder; }
|
|
60
|
-
set transformOrder(t) { this._transformOrder = t; this.calculateTransform(); }
|
|
61
|
-
|
|
62
|
-
applyTransform(matrix) {
|
|
63
|
-
matrix.mult(this.transform);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
multTransform(dst) {
|
|
67
|
-
const offset = this.offset;
|
|
68
|
-
switch (this.transformOrder) {
|
|
69
|
-
case LinkTransformOrder.TRANSLATE_ROTATE:
|
|
70
|
-
dst.translate(offset.x, offset.y, offset.z);
|
|
71
|
-
this.multRotation(dst);
|
|
72
|
-
break;
|
|
73
|
-
case LinkTransformOrder.ROTATE_TRANSLATE:
|
|
74
|
-
this.multRotation(dst);
|
|
75
|
-
dst.translate(offset.x, offset.y, offset.z);
|
|
76
|
-
break;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
multRotation(dst) {
|
|
81
|
-
dst .rotate(this.eulerRotation.z, 0, 0, 1)
|
|
82
|
-
.rotate(this.eulerRotation.y, 0, 1, 0)
|
|
83
|
-
.rotate(this.eulerRotation.x, 1, 0, 0);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
calculateTransform() {
|
|
87
|
-
this.transform.identity();
|
|
88
|
-
this.multTransform(this.transform);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
clone() {
|
|
92
|
-
const other = new LinkJoint();
|
|
93
|
-
other.assign(this);
|
|
94
|
-
return other;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
assign(other) {
|
|
98
|
-
this._offset = new Vec(other._offset);
|
|
99
|
-
this._eulerRotation = new Vec(other._eulerRotation);
|
|
100
|
-
this._transformOrder = other._transformOrder;
|
|
101
|
-
this.calculateTransform();
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
serialize(sceneData) {
|
|
105
|
-
if (sceneData.offset && sceneData.offset.length >= 3) {
|
|
106
|
-
this._offset = new Vec(sceneData.offset);
|
|
107
|
-
}
|
|
108
|
-
this._eulerRotation = new Vec(
|
|
109
|
-
sceneData.yaw || 0,
|
|
110
|
-
sceneData.pitch || 0,
|
|
111
|
-
sceneData.roll || 0
|
|
112
|
-
);
|
|
113
|
-
this._transformOrder = sceneData.order !== undefined ? sceneData.order : LinkTransformOrder.TRANSLATE_ROTATE;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
deserialize(sceneData) {
|
|
117
|
-
sceneData.type = 'LinkJoint';
|
|
118
|
-
sceneData.offset = Array.from(this._offset);
|
|
119
|
-
sceneData.yaw = this.yaw;
|
|
120
|
-
sceneData.pitch = this.pitch;
|
|
121
|
-
sceneData.roll = this.roll;
|
|
122
|
-
sceneData.order = this.transformOrder;
|
|
123
|
-
}
|
|
124
|
-
}
|
package/primitives/arrow.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import PolyList, { DrawMode } from "../base/PolyList";
|
|
2
|
-
import Mat4 from "../math/Mat4";
|
|
3
|
-
import Vec from "../math/Vec";
|
|
4
|
-
|
|
5
|
-
export default function arrow(length, arrowSize = 0.3, direction = new Vec(0, 0, 1), up = new Vec(0, 1, 0) ) {
|
|
6
|
-
const polyList = new PolyList();
|
|
7
|
-
direction.normalize();
|
|
8
|
-
|
|
9
|
-
polyList.drawMode = DrawMode.LINES;
|
|
10
|
-
|
|
11
|
-
const trx = Mat4.MakeRotationWithDirection(direction, up);
|
|
12
|
-
|
|
13
|
-
const arrowVector = trx.multVector(new Vec(0, 0, -1));
|
|
14
|
-
const arrowHeadDir1 = trx.multVector(new Vec( arrowSize, 0, -1 + arrowSize));
|
|
15
|
-
const arrowHeadDir2 = trx.multVector(new Vec(-arrowSize, 0, -1 + arrowSize));
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
polyList.vertex = [
|
|
19
|
-
0, 0, 0,
|
|
20
|
-
arrowVector.x * length, arrowVector.y * length, arrowVector.z * length,
|
|
21
|
-
|
|
22
|
-
arrowVector.x * length, arrowVector.y * length, arrowVector.z * length,
|
|
23
|
-
arrowHeadDir1.x * length, arrowHeadDir1.y * length, arrowHeadDir1.z * length,
|
|
24
|
-
|
|
25
|
-
arrowVector.x * length, arrowVector.y * length, arrowVector.z * length,
|
|
26
|
-
arrowHeadDir2.x * length, arrowHeadDir2.y * length, arrowHeadDir2.z * length
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
polyList.normal = [
|
|
30
|
-
0, 0, 1,
|
|
31
|
-
0, 0, 1,
|
|
32
|
-
|
|
33
|
-
0, 0, 1,
|
|
34
|
-
0, 0, 1,
|
|
35
|
-
|
|
36
|
-
0, 0, 1,
|
|
37
|
-
0, 0, 1
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
polyList.texCoord0 = [
|
|
41
|
-
0, 0,
|
|
42
|
-
0, 1,
|
|
43
|
-
|
|
44
|
-
0, 0,
|
|
45
|
-
0, 1,
|
|
46
|
-
|
|
47
|
-
0, 0,
|
|
48
|
-
0, 1
|
|
49
|
-
];
|
|
50
|
-
|
|
51
|
-
polyList.index = [
|
|
52
|
-
0, 1,
|
|
53
|
-
2, 3,
|
|
54
|
-
4, 5
|
|
55
|
-
];
|
|
56
|
-
|
|
57
|
-
return polyList;
|
|
58
|
-
}
|
package/primitives/cone.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import ObjParser from "../db/ObjParser";
|
|
2
|
-
|
|
3
|
-
const objData = (height,radius) => {
|
|
4
|
-
return `mtllib cone.mtl
|
|
5
|
-
o Cone
|
|
6
|
-
v ${radius * 0.000000} ${height * -0.500000} ${radius * -1.000000}
|
|
7
|
-
v ${radius * 0.309017} ${height * -0.500000} ${radius * -0.951057}
|
|
8
|
-
v ${radius * 0.587785} ${height * -0.500000} ${radius * -0.809017}
|
|
9
|
-
v ${radius * 0.809017} ${height * -0.500000} ${radius * -0.587785}
|
|
10
|
-
v ${radius * 0.951057} ${height * -0.500000} ${radius * -0.309017}
|
|
11
|
-
v ${radius * 1.000000} ${height * -0.500000} ${radius * 0.000000}
|
|
12
|
-
v ${radius * 0.951056} ${height * -0.500000} ${radius * 0.309017}
|
|
13
|
-
v ${radius * 0.809017} ${height * -0.500000} ${radius * 0.587785}
|
|
14
|
-
v ${radius * 0.587785} ${height * -0.500000} ${radius * 0.809017}
|
|
15
|
-
v ${radius * 0.309017} ${height * -0.500000} ${radius * 0.951056}
|
|
16
|
-
v ${radius * -0.000000} ${height * -0.500000} ${radius * 1.000000}
|
|
17
|
-
v ${radius * -0.309017} ${height * -0.500000} ${radius * 0.951057}
|
|
18
|
-
v ${radius * -0.587785} ${height * -0.500000} ${radius * 0.809017}
|
|
19
|
-
v ${radius * -0.809017} ${height * -0.500000} ${radius * 0.587785}
|
|
20
|
-
v ${radius * -0.951056} ${height * -0.500000} ${radius * 0.309017}
|
|
21
|
-
v ${radius * -1.000000} ${height * -0.500000} ${radius * -0.000000}
|
|
22
|
-
v ${radius * -0.951056} ${height * -0.500000} ${radius * -0.309017}
|
|
23
|
-
v ${radius * -0.809017} ${height * -0.500000} ${radius * -0.587785}
|
|
24
|
-
v ${radius * -0.587785} ${height * -0.500000} ${radius * -0.809017}
|
|
25
|
-
v ${radius * -0.309017} ${height * -0.500000} ${radius * -0.951057}
|
|
26
|
-
v ${radius * 0.000000} ${height * 0.500000} ${radius * 0.000000}
|
|
27
|
-
vn -0.0000 0.7071 -0.7071
|
|
28
|
-
vn -0.0000 1.0000 -0.0000
|
|
29
|
-
vn 0.2185 0.7071 -0.6725
|
|
30
|
-
vn 0.4156 0.7071 -0.5721
|
|
31
|
-
vn 0.5721 0.7071 -0.4156
|
|
32
|
-
vn 0.6725 0.7071 -0.2185
|
|
33
|
-
vn 0.7071 0.7071 -0.0000
|
|
34
|
-
vn 0.6725 0.7071 0.2185
|
|
35
|
-
vn 0.5721 0.7071 0.4156
|
|
36
|
-
vn 0.4156 0.7071 0.5721
|
|
37
|
-
vn 0.2185 0.7071 0.6725
|
|
38
|
-
vn -0.0000 0.7071 0.7071
|
|
39
|
-
vn -0.2185 0.7071 0.6725
|
|
40
|
-
vn -0.4156 0.7071 0.5721
|
|
41
|
-
vn -0.5721 0.7071 0.4156
|
|
42
|
-
vn -0.6725 0.7071 0.2185
|
|
43
|
-
vn -0.7071 0.7071 -0.0000
|
|
44
|
-
vn -0.6725 0.7071 -0.2185
|
|
45
|
-
vn -0.5721 0.7071 -0.4156
|
|
46
|
-
vn -0.4156 0.7071 -0.5721
|
|
47
|
-
vn -0.0000 -1.0000 -0.0000
|
|
48
|
-
vn -0.2185 0.7071 -0.6725
|
|
49
|
-
vt 0.250000 0.490000
|
|
50
|
-
vt 0.750000 0.490000
|
|
51
|
-
vt 0.324164 0.478254
|
|
52
|
-
vt 0.824164 0.478254
|
|
53
|
-
vt 0.391068 0.444164
|
|
54
|
-
vt 0.891068 0.444164
|
|
55
|
-
vt 0.444164 0.391068
|
|
56
|
-
vt 0.944164 0.391068
|
|
57
|
-
vt 0.478254 0.324164
|
|
58
|
-
vt 0.978254 0.324164
|
|
59
|
-
vt 0.490000 0.250000
|
|
60
|
-
vt 0.990000 0.250000
|
|
61
|
-
vt 0.478254 0.175836
|
|
62
|
-
vt 0.978254 0.175836
|
|
63
|
-
vt 0.444164 0.108932
|
|
64
|
-
vt 0.944164 0.108932
|
|
65
|
-
vt 0.391068 0.055836
|
|
66
|
-
vt 0.891068 0.055836
|
|
67
|
-
vt 0.324164 0.021746
|
|
68
|
-
vt 0.824164 0.021746
|
|
69
|
-
vt 0.250000 0.010000
|
|
70
|
-
vt 0.750000 0.010000
|
|
71
|
-
vt 0.175836 0.021746
|
|
72
|
-
vt 0.675836 0.021746
|
|
73
|
-
vt 0.108932 0.055836
|
|
74
|
-
vt 0.608932 0.055836
|
|
75
|
-
vt 0.055836 0.108932
|
|
76
|
-
vt 0.555836 0.108932
|
|
77
|
-
vt 0.021746 0.175836
|
|
78
|
-
vt 0.521746 0.175836
|
|
79
|
-
vt 0.010000 0.250000
|
|
80
|
-
vt 0.510000 0.250000
|
|
81
|
-
vt 0.021746 0.324164
|
|
82
|
-
vt 0.521746 0.324164
|
|
83
|
-
vt 0.055836 0.391068
|
|
84
|
-
vt 0.555836 0.391068
|
|
85
|
-
vt 0.108932 0.444164
|
|
86
|
-
vt 0.608932 0.444164
|
|
87
|
-
vt 0.175836 0.478254
|
|
88
|
-
vt 0.675836 0.478254
|
|
89
|
-
vt 0.250000 0.250000
|
|
90
|
-
s 1
|
|
91
|
-
usemtl Cone
|
|
92
|
-
f 1/1/1 21/41/2 2/3/3
|
|
93
|
-
f 2/3/3 21/41/2 3/5/4
|
|
94
|
-
f 3/5/4 21/41/2 4/7/5
|
|
95
|
-
f 4/7/5 21/41/2 5/9/6
|
|
96
|
-
f 5/9/6 21/41/2 6/11/7
|
|
97
|
-
f 6/11/7 21/41/2 7/13/8
|
|
98
|
-
f 7/13/8 21/41/2 8/15/9
|
|
99
|
-
f 8/15/9 21/41/2 9/17/10
|
|
100
|
-
f 9/17/10 21/41/2 10/19/11
|
|
101
|
-
f 10/19/11 21/41/2 11/21/12
|
|
102
|
-
f 11/21/12 21/41/2 12/23/13
|
|
103
|
-
f 12/23/13 21/41/2 13/25/14
|
|
104
|
-
f 13/25/14 21/41/2 14/27/15
|
|
105
|
-
f 14/27/15 21/41/2 15/29/16
|
|
106
|
-
f 15/29/16 21/41/2 16/31/17
|
|
107
|
-
f 16/31/17 21/41/2 17/33/18
|
|
108
|
-
f 17/33/18 21/41/2 18/35/19
|
|
109
|
-
f 18/35/19 21/41/2 19/37/20
|
|
110
|
-
f 4/8/21 8/16/21 16/32/21
|
|
111
|
-
f 19/37/20 21/41/2 20/39/22
|
|
112
|
-
f 20/39/22 21/41/2 1/1/1
|
|
113
|
-
f 20/40/21 1/2/21 2/4/21
|
|
114
|
-
f 2/4/21 3/6/21 20/40/21
|
|
115
|
-
f 3/6/21 4/8/21 20/40/21
|
|
116
|
-
f 4/8/21 5/10/21 8/16/21
|
|
117
|
-
f 5/10/21 6/12/21 8/16/21
|
|
118
|
-
f 6/12/21 7/14/21 8/16/21
|
|
119
|
-
f 8/16/21 9/18/21 12/24/21
|
|
120
|
-
f 9/18/21 10/20/21 12/24/21
|
|
121
|
-
f 10/20/21 11/22/21 12/24/21
|
|
122
|
-
f 12/24/21 13/26/21 14/28/21
|
|
123
|
-
f 14/28/21 15/30/21 16/32/21
|
|
124
|
-
f 16/32/21 17/34/21 18/36/21
|
|
125
|
-
f 18/36/21 19/38/21 16/32/21
|
|
126
|
-
f 19/38/21 20/40/21 16/32/21
|
|
127
|
-
f 12/24/21 14/28/21 8/16/21
|
|
128
|
-
f 14/28/21 16/32/21 8/16/21
|
|
129
|
-
f 20/40/21 4/8/21 16/32/21
|
|
130
|
-
`;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export default function cone(height, radius) {
|
|
134
|
-
const objTextData = objData(height, radius);
|
|
135
|
-
const parser = new ObjParser(objTextData);
|
|
136
|
-
return parser.polyListArray[0];
|
|
137
|
-
}
|
package/primitives/cube.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import ObjParser from "../db/ObjParser";
|
|
3
|
-
|
|
4
|
-
const objData = (width,height,depth) => {
|
|
5
|
-
const w = width / 2;
|
|
6
|
-
const h = height / 2;
|
|
7
|
-
const d = depth / 2;
|
|
8
|
-
|
|
9
|
-
return `mtllib cube.mtl
|
|
10
|
-
o Cube
|
|
11
|
-
v ${w} ${h} -${d}
|
|
12
|
-
v ${w} -${h} -${d}
|
|
13
|
-
v ${w} ${h} ${d}
|
|
14
|
-
v ${w} -${h} ${d}
|
|
15
|
-
v -${w} ${h} -${d}
|
|
16
|
-
v -${w} -${h} -${d}
|
|
17
|
-
v -${w} ${h} ${d}
|
|
18
|
-
v -${w} -${h} ${d}
|
|
19
|
-
vt 0.007582 0.995648
|
|
20
|
-
vt 0.007582 0.005685
|
|
21
|
-
vt 0.992623 0.005685
|
|
22
|
-
vt 0.992623 0.995648
|
|
23
|
-
vt 0.992623 0.995648
|
|
24
|
-
vt 0.007582 0.995648
|
|
25
|
-
vt 0.007582 0.005685
|
|
26
|
-
vt 0.992623 0.005685
|
|
27
|
-
vt 0.992623 0.995648
|
|
28
|
-
vt 0.007582 0.995648
|
|
29
|
-
vt 0.007582 0.005685
|
|
30
|
-
vt 0.007582 0.995648
|
|
31
|
-
vt 0.007582 0.005685
|
|
32
|
-
vt 0.992623 0.005685
|
|
33
|
-
vt 0.992623 0.995648
|
|
34
|
-
vt 0.992623 0.995648
|
|
35
|
-
vt 0.007582 0.005685
|
|
36
|
-
vt 0.992623 0.005685
|
|
37
|
-
vt 0.992623 0.995648
|
|
38
|
-
vn 0.0000 1.0000 0.0000
|
|
39
|
-
vn 0.0000 0.0000 1.0000
|
|
40
|
-
vn -1.0000 0.0000 0.0000
|
|
41
|
-
vn 0.0000 -1.0000 0.0000
|
|
42
|
-
vn 1.0000 0.0000 0.0000
|
|
43
|
-
vn 0.0000 0.0000 -1.0000
|
|
44
|
-
usemtl Cube
|
|
45
|
-
s off
|
|
46
|
-
f 1/1/1 5/2/1 7/3/1 3/4/1
|
|
47
|
-
f 4/5/2 3/6/2 7/7/2 8/8/2
|
|
48
|
-
f 8/8/3 7/9/3 5/10/3 6/11/3
|
|
49
|
-
f 6/12/4 2/13/4 4/14/4 8/15/4
|
|
50
|
-
f 2/16/5 1/1/5 3/17/5 4/14/5
|
|
51
|
-
f 6/18/6 5/19/6 1/1/6 2/13/6
|
|
52
|
-
`
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export default function cube(w,h,d) {
|
|
56
|
-
const objTextData = objData(w,h,d);
|
|
57
|
-
const parser = new ObjParser(objTextData);
|
|
58
|
-
return parser.polyListArray[0];
|
|
59
|
-
};
|