bg2e-js 2.3.11 → 2.3.13

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 (148) hide show
  1. package/dist/bg2e-js.js +356 -326
  2. package/dist/bg2e-js.js.map +1 -1
  3. package/package.json +56 -56
  4. package/src/app/AppController.ts +39 -39
  5. package/src/app/Bg2KeyboardEvent.ts +54 -54
  6. package/src/app/Bg2MouseEvent.ts +82 -82
  7. package/src/app/Bg2TouchEvent.ts +18 -18
  8. package/src/app/Canvas.ts +108 -108
  9. package/src/app/EventBase.ts +10 -10
  10. package/src/app/MainLoop.ts +273 -273
  11. package/src/app/index.ts +24 -24
  12. package/src/base/Color.ts +134 -134
  13. package/src/base/Environment.ts +183 -183
  14. package/src/base/Light.ts +192 -192
  15. package/src/base/Material.ts +620 -620
  16. package/src/base/PolyList.ts +365 -365
  17. package/src/base/Texture.ts +620 -620
  18. package/src/base/index.ts +81 -81
  19. package/src/db/Bg2LoaderPlugin.ts +143 -143
  20. package/src/db/DBPluginApi.ts +48 -48
  21. package/src/db/Loader.ts +116 -116
  22. package/src/db/LoaderPlugin.ts +34 -34
  23. package/src/db/MtlParser.ts +7 -7
  24. package/src/db/ObjLoaderPlugin.ts +54 -54
  25. package/src/db/ObjParser.ts +252 -252
  26. package/src/db/ObjWriterPlugin.ts +18 -18
  27. package/src/db/VitscnjLoaderPlugin.ts +112 -112
  28. package/src/db/Writer.ts +52 -52
  29. package/src/db/WriterPlugin.ts +22 -22
  30. package/src/db/index.ts +44 -44
  31. package/src/debug/DebugRenderer.ts +173 -173
  32. package/src/debug/WebGLTextureViewer.ts +75 -75
  33. package/src/debug/index.ts +6 -6
  34. package/src/index.html +11 -11
  35. package/src/index.ts +33 -33
  36. package/src/manipulation/SelectionBuffer.ts +81 -81
  37. package/src/manipulation/SelectionHighlight.ts +105 -84
  38. package/src/manipulation/SelectionIdAssignVisitor.ts +96 -96
  39. package/src/manipulation/SelectionManager.ts +196 -188
  40. package/src/manipulation/SelectionMode.ts +6 -6
  41. package/src/math/Mat3.ts +259 -259
  42. package/src/math/Mat4.ts +710 -710
  43. package/src/math/MatrixStrategy.ts +25 -25
  44. package/src/math/Quat.ts +65 -65
  45. package/src/math/Vec.ts +753 -753
  46. package/src/math/constants.ts +46 -46
  47. package/src/math/functions.ts +103 -103
  48. package/src/math/index.ts +74 -74
  49. package/src/phsics/joint.ts +137 -137
  50. package/src/primitives/arrow.ts +57 -57
  51. package/src/primitives/cone.ts +138 -138
  52. package/src/primitives/cube.ts +60 -60
  53. package/src/primitives/cylinder.ts +216 -216
  54. package/src/primitives/index.ts +13 -13
  55. package/src/primitives/plane.ts +31 -31
  56. package/src/primitives/sphere.ts +809 -809
  57. package/src/react/useBg2e.ts +69 -69
  58. package/src/render/BRDFIntegrationMap.ts +4 -4
  59. package/src/render/Environment.ts +135 -135
  60. package/src/render/FrameBuffer.ts +35 -35
  61. package/src/render/MaterialRenderer.ts +34 -34
  62. package/src/render/Pipeline.ts +108 -108
  63. package/src/render/PolyListRenderer.ts +47 -47
  64. package/src/render/RenderBuffer.ts +197 -197
  65. package/src/render/RenderQueue.ts +198 -198
  66. package/src/render/RenderState.ts +116 -116
  67. package/src/render/Renderer.ts +248 -248
  68. package/src/render/SceneAppController.ts +250 -250
  69. package/src/render/SceneRenderer.ts +387 -387
  70. package/src/render/Shader.ts +32 -32
  71. package/src/render/ShadowRenderer.ts +176 -176
  72. package/src/render/SkyCube.ts +105 -105
  73. package/src/render/SkySphere.ts +117 -117
  74. package/src/render/TextureMergerRenderer.ts +70 -70
  75. package/src/render/TextureRenderer.ts +34 -34
  76. package/src/render/index.ts +67 -67
  77. package/src/render/webgl/FrameBuffer.ts +9 -9
  78. package/src/render/webgl/MaterialRenderer.ts +112 -112
  79. package/src/render/webgl/Pipeline.ts +88 -88
  80. package/src/render/webgl/PolyListRenderer.ts +260 -260
  81. package/src/render/webgl/RenderBuffer.ts +226 -226
  82. package/src/render/webgl/Renderer.ts +262 -262
  83. package/src/render/webgl/SceneRenderer.ts +67 -67
  84. package/src/render/webgl/ShaderProgram.ts +424 -424
  85. package/src/render/webgl/ShadowRenderer.ts +6 -6
  86. package/src/render/webgl/SkyCube.ts +15 -15
  87. package/src/render/webgl/SkySphere.ts +15 -15
  88. package/src/render/webgl/State.ts +152 -152
  89. package/src/render/webgl/TextureRenderer.ts +167 -167
  90. package/src/render/webgl/VertexBuffer.ts +137 -137
  91. package/src/render/webgl/index.ts +35 -35
  92. package/src/scene/Camera.ts +458 -458
  93. package/src/scene/Chain.ts +44 -44
  94. package/src/scene/ChainJoint.ts +58 -58
  95. package/src/scene/Component.ts +177 -177
  96. package/src/scene/ComponentMap.ts +106 -106
  97. package/src/scene/Drawable.ts +154 -154
  98. package/src/scene/EnvironmentComponent.ts +141 -141
  99. package/src/scene/FindNodeVisitor.ts +59 -59
  100. package/src/scene/LightComponent.ts +154 -154
  101. package/src/scene/MatrixState.ts +46 -46
  102. package/src/scene/Node.ts +328 -328
  103. package/src/scene/NodeVisitor.ts +15 -15
  104. package/src/scene/OrbitCameraController.ts +450 -450
  105. package/src/scene/SmoothOrbitCameraController.ts +99 -99
  106. package/src/scene/Transform.ts +73 -73
  107. package/src/scene/index.ts +60 -60
  108. package/src/shaders/BasicDiffuseColorShader.ts +111 -111
  109. package/src/shaders/BasicPBRLightShader.ts +276 -276
  110. package/src/shaders/DebugRenderShader.ts +97 -97
  111. package/src/shaders/DepthRenderShader.ts +127 -127
  112. package/src/shaders/IrradianceMapCubeShader.ts +115 -115
  113. package/src/shaders/PBRLightIBLShader.ts +486 -486
  114. package/src/shaders/PickSelectionShader.ts +101 -101
  115. package/src/shaders/PresentDebugFramebufferShader.ts +118 -118
  116. package/src/shaders/PresentTextureShader.ts +99 -99
  117. package/src/shaders/SelectionHighlightShader.ts +143 -127
  118. package/src/shaders/ShaderFunction.ts +318 -318
  119. package/src/shaders/SkyCubeShader.ts +93 -93
  120. package/src/shaders/SkySphereShader.ts +102 -102
  121. package/src/shaders/SpecularMapCubeShader.ts +164 -164
  122. package/src/shaders/TextureMergerShader.ts +171 -171
  123. package/src/shaders/index.ts +36 -36
  124. package/src/shaders/webgl/color_correction.glsl +47 -47
  125. package/src/shaders/webgl/constants.glsl +6 -6
  126. package/src/shaders/webgl/index.ts +70 -70
  127. package/src/shaders/webgl/normal_map.glsl +9 -9
  128. package/src/shaders/webgl/pbr.glsl +173 -173
  129. package/src/shaders/webgl/uniforms.glsl +91 -91
  130. package/src/shaders/webgl_shader_lib.ts +213 -213
  131. package/src/tools/BinaryResourceProvider.ts +14 -14
  132. package/src/tools/ImageResourceProvider.ts +66 -66
  133. package/src/tools/MaterialModifier.ts +446 -446
  134. package/src/tools/Resource.ts +203 -203
  135. package/src/tools/ResourceProvider.ts +69 -69
  136. package/src/tools/TextResourceProvider.ts +24 -24
  137. package/src/tools/TextureCache.ts +51 -51
  138. package/src/tools/TextureResourceDatabase.ts +100 -100
  139. package/src/tools/UserAgent.ts +362 -362
  140. package/src/tools/VideoResourceProvider.ts +50 -50
  141. package/src/tools/WriteStrategy.ts +22 -22
  142. package/src/tools/base64.ts +11 -11
  143. package/src/tools/crypto.ts +19 -19
  144. package/src/tools/endiantess.ts +13 -13
  145. package/src/tools/image.ts +18 -18
  146. package/src/tools/index.ts +41 -41
  147. package/src/tools/processType.ts +39 -39
  148. package/src/vite-env.d.ts +12 -12
@@ -1,60 +1,60 @@
1
-
2
- import ObjParser from "../db/ObjParser";
3
- import PolyList from "../base/PolyList";
4
-
5
- const objData = (width: number, height: number, depth: number): string => {
6
- const w = width / 2;
7
- const h = height / 2;
8
- const d = depth / 2;
9
-
10
- return `mtllib cube.mtl
11
- o Cube
12
- v ${w} ${h} -${d} // 1
13
- v ${w} -${h} -${d} // 2
14
- v ${w} ${h} ${d} // 3
15
- v ${w} -${h} ${d} // 4
16
- v -${w} ${h} -${d} // 5
17
- v -${w} -${h} -${d} // 6
18
- v -${w} ${h} ${d} // 7
19
- v -${w} -${h} ${d} // 8
20
- vt 0.007582 0.995648
21
- vt 0.007582 0.005685
22
- vt 0.992623 0.005685
23
- vt 0.992623 0.995648
24
- vt 0.992623 0.995648
25
- vt 0.007582 0.995648
26
- vt 0.007582 0.005685
27
- vt 0.992623 0.005685
28
- vt 0.992623 0.995648
29
- vt 0.007582 0.995648
30
- vt 0.007582 0.005685
31
- vt 0.007582 0.995648
32
- vt 0.007582 0.005685
33
- vt 0.992623 0.005685
34
- vt 0.992623 0.995648
35
- vt 0.992623 0.995648
36
- vt 0.007582 0.005685
37
- vt 0.992623 0.005685
38
- vt 0.992623 0.995648
39
- vn 0.0000 1.0000 0.0000
40
- vn 0.0000 0.0000 1.0000
41
- vn -1.0000 0.0000 0.0000
42
- vn 0.0000 -1.0000 0.0000
43
- vn 1.0000 0.0000 0.0000
44
- vn 0.0000 0.0000 -1.0000
45
- usemtl Cube
46
- s off
47
- f 1/1/1 5/2/1 7/3/1 3/4/1
48
- f 4/5/2 3/6/2 7/7/2 8/8/2
49
- f 8/8/3 7/9/3 5/10/3 6/11/3
50
- f 6/12/4 2/13/4 4/14/4 8/15/4
51
- f 2/16/5 1/1/5 3/17/5 4/14/5
52
- f 6/18/6 5/19/6 1/1/6 2/13/6
53
- `
54
- }
55
-
56
- export default function cube(w: number, h: number, d: number): PolyList {
57
- const objTextData = objData(w,h,d);
58
- const parser = new ObjParser(objTextData);
59
- return parser.polyListArray[0];
60
- };
1
+
2
+ import ObjParser from "../db/ObjParser";
3
+ import PolyList from "../base/PolyList";
4
+
5
+ const objData = (width: number, height: number, depth: number): string => {
6
+ const w = width / 2;
7
+ const h = height / 2;
8
+ const d = depth / 2;
9
+
10
+ return `mtllib cube.mtl
11
+ o Cube
12
+ v ${w} ${h} -${d} // 1
13
+ v ${w} -${h} -${d} // 2
14
+ v ${w} ${h} ${d} // 3
15
+ v ${w} -${h} ${d} // 4
16
+ v -${w} ${h} -${d} // 5
17
+ v -${w} -${h} -${d} // 6
18
+ v -${w} ${h} ${d} // 7
19
+ v -${w} -${h} ${d} // 8
20
+ vt 0.007582 0.995648
21
+ vt 0.007582 0.005685
22
+ vt 0.992623 0.005685
23
+ vt 0.992623 0.995648
24
+ vt 0.992623 0.995648
25
+ vt 0.007582 0.995648
26
+ vt 0.007582 0.005685
27
+ vt 0.992623 0.005685
28
+ vt 0.992623 0.995648
29
+ vt 0.007582 0.995648
30
+ vt 0.007582 0.005685
31
+ vt 0.007582 0.995648
32
+ vt 0.007582 0.005685
33
+ vt 0.992623 0.005685
34
+ vt 0.992623 0.995648
35
+ vt 0.992623 0.995648
36
+ vt 0.007582 0.005685
37
+ vt 0.992623 0.005685
38
+ vt 0.992623 0.995648
39
+ vn 0.0000 1.0000 0.0000
40
+ vn 0.0000 0.0000 1.0000
41
+ vn -1.0000 0.0000 0.0000
42
+ vn 0.0000 -1.0000 0.0000
43
+ vn 1.0000 0.0000 0.0000
44
+ vn 0.0000 0.0000 -1.0000
45
+ usemtl Cube
46
+ s off
47
+ f 1/1/1 5/2/1 7/3/1 3/4/1
48
+ f 4/5/2 3/6/2 7/7/2 8/8/2
49
+ f 8/8/3 7/9/3 5/10/3 6/11/3
50
+ f 6/12/4 2/13/4 4/14/4 8/15/4
51
+ f 2/16/5 1/1/5 3/17/5 4/14/5
52
+ f 6/18/6 5/19/6 1/1/6 2/13/6
53
+ `
54
+ }
55
+
56
+ export default function cube(w: number, h: number, d: number): PolyList {
57
+ const objTextData = objData(w,h,d);
58
+ const parser = new ObjParser(objTextData);
59
+ return parser.polyListArray[0];
60
+ };
@@ -1,216 +1,216 @@
1
- import ObjParser from "../db/ObjParser";
2
- import PolyList from "../base/PolyList";
3
-
4
- const objData = (height: number, radius: number) => {
5
- return `mtllib cylinder.mtl
6
- o Cylinder
7
- v ${radius * 0.000000} ${height * -0.500000} ${radius * -1.000000}
8
- v ${radius * 0.000000} ${height * 0.500000} ${radius * -1.000000}
9
- v ${radius * 0.309017} ${height * -0.500000} ${radius * -0.951057}
10
- v ${radius * 0.309017} ${height * 0.500000} ${radius * -0.951057}
11
- v ${radius * 0.587785} ${height * -0.500000} ${radius * -0.809017}
12
- v ${radius * 0.587785} ${height * 0.500000} ${radius * -0.809017}
13
- v ${radius * 0.809017} ${height * -0.500000} ${radius * -0.587785}
14
- v ${radius * 0.809017} ${height * 0.500000} ${radius * -0.587785}
15
- v ${radius * 0.951057} ${height * -0.500000} ${radius * -0.309017}
16
- v ${radius * 0.951057} ${height * 0.500000} ${radius * -0.309017}
17
- v ${radius * 1.000000} ${height * -0.500000} ${radius * 0.000000}
18
- v ${radius * 1.000000} ${height * 0.500000} ${radius * 0.000000}
19
- v ${radius * 0.951056} ${height * -0.500000} ${radius * 0.309017}
20
- v ${radius * 0.951056} ${height * 0.500000} ${radius * 0.309017}
21
- v ${radius * 0.809017} ${height * -0.500000} ${radius * 0.587785}
22
- v ${radius * 0.809017} ${height * 0.500000} ${radius * 0.587785}
23
- v ${radius * 0.587785} ${height * -0.500000} ${radius * 0.809017}
24
- v ${radius * 0.587785} ${height * 0.500000} ${radius * 0.809017}
25
- v ${radius * 0.309017} ${height * -0.500000} ${radius * 0.951056}
26
- v ${radius * 0.309017} ${height * 0.500000} ${radius * 0.951056}
27
- v ${radius * -0.000000} ${height * -0.500000} ${radius * 1.000000}
28
- v ${radius * -0.000000} ${height * 0.500000} ${radius * 1.000000}
29
- v ${radius * -0.309017} ${height * -0.500000} ${radius * 0.951057}
30
- v ${radius * -0.309017} ${height * 0.500000} ${radius * 0.951057}
31
- v ${radius * -0.587785} ${height * -0.500000} ${radius * 0.809017}
32
- v ${radius * -0.587785} ${height * 0.500000} ${radius * 0.809017}
33
- v ${radius * -0.809017} ${height * -0.500000} ${radius * 0.587785}
34
- v ${radius * -0.809017} ${height * 0.500000} ${radius * 0.587785}
35
- v ${radius * -0.951056} ${height * -0.500000} ${radius * 0.309017}
36
- v ${radius * -0.951056} ${height * 0.500000} ${radius * 0.309017}
37
- v ${radius * -1.000000} ${height * -0.500000} ${radius * -0.000000}
38
- v ${radius * -1.000000} ${height * 0.500000} ${radius * -0.000000}
39
- v ${radius * -0.951056} ${height * -0.500000} ${radius * -0.309017}
40
- v ${radius * -0.951056} ${height * 0.500000} ${radius * -0.309017}
41
- v ${radius * -0.809017} ${height * -0.500000} ${radius * -0.587785}
42
- v ${radius * -0.809017} ${height * 0.500000} ${radius * -0.587785}
43
- v ${radius * -0.587785} ${height * -0.500000} ${radius * -0.809017}
44
- v ${radius * -0.587785} ${height * 0.500000} ${radius * -0.809017}
45
- v ${radius * -0.309017} ${height * -0.500000} ${radius * -0.951057}
46
- v ${radius * -0.309017} ${height * 0.500000} ${radius * -0.951057}
47
- vn -0.0000 -0.0000 -1.0000
48
- vn 0.3090 -0.0000 -0.9511
49
- vn 0.5878 -0.0000 -0.8090
50
- vn 0.8090 -0.0000 -0.5878
51
- vn 0.9511 -0.0000 -0.3090
52
- vn 1.0000 -0.0000 -0.0000
53
- vn 0.9511 -0.0000 0.3090
54
- vn 0.8090 -0.0000 0.5878
55
- vn 0.5878 -0.0000 0.8090
56
- vn 0.3090 -0.0000 0.9511
57
- vn -0.0000 -0.0000 1.0000
58
- vn -0.3090 -0.0000 0.9511
59
- vn -0.5878 -0.0000 0.8090
60
- vn -0.8090 -0.0000 0.5878
61
- vn -0.9511 -0.0000 0.3090
62
- vn -1.0000 -0.0000 -0.0000
63
- vn -0.9511 -0.0000 -0.3090
64
- vn -0.8090 -0.0000 -0.5878
65
- vn -0.5878 -0.0000 -0.8090
66
- vn -0.0000 1.0000 -0.0000
67
- vn -0.3090 -0.0000 -0.9511
68
- vn -0.0000 -1.0000 -0.0000
69
- vt 1.000000 0.500000
70
- vt -0.000000 0.500000
71
- vt 0.750000 0.490000
72
- vt 1.000000 1.000000
73
- vt -0.000000 1.000000
74
- vt 0.250000 0.490000
75
- vt 0.950000 0.500000
76
- vt 0.824164 0.478254
77
- vt 0.950000 1.000000
78
- vt 0.324164 0.478254
79
- vt 0.900000 0.500000
80
- vt 0.891068 0.444164
81
- vt 0.900000 1.000000
82
- vt 0.391068 0.444164
83
- vt 0.850000 0.500000
84
- vt 0.944164 0.391068
85
- vt 0.850000 1.000000
86
- vt 0.444164 0.391068
87
- vt 0.800000 0.500000
88
- vt 0.978254 0.324164
89
- vt 0.800000 1.000000
90
- vt 0.478254 0.324164
91
- vt 0.750000 0.500000
92
- vt 0.990000 0.250000
93
- vt 0.750000 1.000000
94
- vt 0.490000 0.250000
95
- vt 0.700000 0.500000
96
- vt 0.978254 0.175836
97
- vt 0.700000 1.000000
98
- vt 0.478254 0.175836
99
- vt 0.650000 0.500000
100
- vt 0.944164 0.108932
101
- vt 0.650000 1.000000
102
- vt 0.444164 0.108932
103
- vt 0.600000 0.500000
104
- vt 0.891068 0.055836
105
- vt 0.600000 1.000000
106
- vt 0.391068 0.055836
107
- vt 0.550000 0.500000
108
- vt 0.824164 0.021746
109
- vt 0.550000 1.000000
110
- vt 0.324164 0.021746
111
- vt 0.500000 0.500000
112
- vt 0.750000 0.010000
113
- vt 0.500000 1.000000
114
- vt 0.250000 0.010000
115
- vt 0.450000 0.500000
116
- vt 0.675836 0.021746
117
- vt 0.450000 1.000000
118
- vt 0.175836 0.021746
119
- vt 0.400000 0.500000
120
- vt 0.608932 0.055836
121
- vt 0.400000 1.000000
122
- vt 0.108932 0.055836
123
- vt 0.350000 0.500000
124
- vt 0.555836 0.108932
125
- vt 0.350000 1.000000
126
- vt 0.055836 0.108932
127
- vt 0.300000 0.500000
128
- vt 0.521746 0.175836
129
- vt 0.300000 1.000000
130
- vt 0.021746 0.175836
131
- vt 0.250000 0.500000
132
- vt 0.510000 0.250000
133
- vt 0.250000 1.000000
134
- vt 0.010000 0.250000
135
- vt 0.200000 0.500000
136
- vt 0.521746 0.324164
137
- vt 0.200000 1.000000
138
- vt 0.021746 0.324164
139
- vt 0.150000 0.500000
140
- vt 0.555836 0.391068
141
- vt 0.150000 1.000000
142
- vt 0.055836 0.391068
143
- vt 0.100000 0.500000
144
- vt 0.608932 0.444164
145
- vt 0.100000 1.000000
146
- vt 0.108932 0.444164
147
- vt 0.050000 0.500000
148
- vt 0.675836 0.478254
149
- vt 0.050000 1.000000
150
- vt 0.175836 0.478254
151
- s 1
152
- usemtl Cylinder
153
- f 1/1/1 2/4/1 4/9/2 3/7/2
154
- f 3/7/2 4/9/2 6/13/3 5/11/3
155
- f 5/11/3 6/13/3 8/17/4 7/15/4
156
- f 7/15/4 8/17/4 10/21/5 9/19/5
157
- f 9/19/5 10/21/5 12/25/6 11/23/6
158
- f 11/23/6 12/25/6 14/29/7 13/27/7
159
- f 13/27/7 14/29/7 16/33/8 15/31/8
160
- f 15/31/8 16/33/8 18/37/9 17/35/9
161
- f 17/35/9 18/37/9 20/41/10 19/39/10
162
- f 19/39/10 20/41/10 22/45/11 21/43/11
163
- f 21/43/11 22/45/11 24/49/12 23/47/12
164
- f 23/47/12 24/49/12 26/53/13 25/51/13
165
- f 25/51/13 26/53/13 28/57/14 27/55/14
166
- f 27/55/14 28/57/14 30/61/15 29/59/15
167
- f 29/59/15 30/61/15 32/65/16 31/63/16
168
- f 31/63/16 32/65/16 34/69/17 33/67/17
169
- f 33/67/17 34/69/17 36/73/18 35/71/18
170
- f 35/71/18 36/73/18 38/77/19 37/75/19
171
- f 30/62/20 14/30/20 6/14/20
172
- f 37/75/19 38/77/19 40/81/21 39/79/21
173
- f 39/79/21 40/81/21 2/5/1 1/2/1
174
- f 7/16/22 15/32/22 31/64/22
175
- f 6/14/20 4/10/20 2/6/20
176
- f 2/6/20 40/82/20 38/78/20
177
- f 38/78/20 36/74/20 34/70/20
178
- f 34/70/20 32/66/20 30/62/20
179
- f 30/62/20 28/58/20 22/46/20
180
- f 28/58/20 26/54/20 22/46/20
181
- f 26/54/20 24/50/20 22/46/20
182
- f 22/46/20 20/42/20 14/30/20
183
- f 20/42/20 18/38/20 14/30/20
184
- f 18/38/20 16/34/20 14/30/20
185
- f 14/30/20 12/26/20 10/22/20
186
- f 10/22/20 8/18/20 14/30/20
187
- f 8/18/20 6/14/20 14/30/20
188
- f 6/14/20 2/6/20 38/78/20
189
- f 38/78/20 34/70/20 6/14/20
190
- f 34/70/20 30/62/20 6/14/20
191
- f 30/62/20 22/46/20 14/30/20
192
- f 39/80/22 1/3/22 3/8/22
193
- f 3/8/22 5/12/22 39/80/22
194
- f 5/12/22 7/16/22 39/80/22
195
- f 7/16/22 9/20/22 15/32/22
196
- f 9/20/22 11/24/22 15/32/22
197
- f 11/24/22 13/28/22 15/32/22
198
- f 15/32/22 17/36/22 23/48/22
199
- f 17/36/22 19/40/22 23/48/22
200
- f 19/40/22 21/44/22 23/48/22
201
- f 23/48/22 25/52/22 27/56/22
202
- f 27/56/22 29/60/22 31/64/22
203
- f 31/64/22 33/68/22 35/72/22
204
- f 35/72/22 37/76/22 31/64/22
205
- f 37/76/22 39/80/22 31/64/22
206
- f 23/48/22 27/56/22 15/32/22
207
- f 27/56/22 31/64/22 15/32/22
208
- f 39/80/22 7/16/22 31/64/22
209
- `;
210
- };
211
-
212
- export default function cylinder(height: number, radius: number): PolyList {
213
- const objTextData = objData(height,radius);
214
- const parser = new ObjParser(objTextData);
215
- return parser.polyListArray[0];
216
- }
1
+ import ObjParser from "../db/ObjParser";
2
+ import PolyList from "../base/PolyList";
3
+
4
+ const objData = (height: number, radius: number) => {
5
+ return `mtllib cylinder.mtl
6
+ o Cylinder
7
+ v ${radius * 0.000000} ${height * -0.500000} ${radius * -1.000000}
8
+ v ${radius * 0.000000} ${height * 0.500000} ${radius * -1.000000}
9
+ v ${radius * 0.309017} ${height * -0.500000} ${radius * -0.951057}
10
+ v ${radius * 0.309017} ${height * 0.500000} ${radius * -0.951057}
11
+ v ${radius * 0.587785} ${height * -0.500000} ${radius * -0.809017}
12
+ v ${radius * 0.587785} ${height * 0.500000} ${radius * -0.809017}
13
+ v ${radius * 0.809017} ${height * -0.500000} ${radius * -0.587785}
14
+ v ${radius * 0.809017} ${height * 0.500000} ${radius * -0.587785}
15
+ v ${radius * 0.951057} ${height * -0.500000} ${radius * -0.309017}
16
+ v ${radius * 0.951057} ${height * 0.500000} ${radius * -0.309017}
17
+ v ${radius * 1.000000} ${height * -0.500000} ${radius * 0.000000}
18
+ v ${radius * 1.000000} ${height * 0.500000} ${radius * 0.000000}
19
+ v ${radius * 0.951056} ${height * -0.500000} ${radius * 0.309017}
20
+ v ${radius * 0.951056} ${height * 0.500000} ${radius * 0.309017}
21
+ v ${radius * 0.809017} ${height * -0.500000} ${radius * 0.587785}
22
+ v ${radius * 0.809017} ${height * 0.500000} ${radius * 0.587785}
23
+ v ${radius * 0.587785} ${height * -0.500000} ${radius * 0.809017}
24
+ v ${radius * 0.587785} ${height * 0.500000} ${radius * 0.809017}
25
+ v ${radius * 0.309017} ${height * -0.500000} ${radius * 0.951056}
26
+ v ${radius * 0.309017} ${height * 0.500000} ${radius * 0.951056}
27
+ v ${radius * -0.000000} ${height * -0.500000} ${radius * 1.000000}
28
+ v ${radius * -0.000000} ${height * 0.500000} ${radius * 1.000000}
29
+ v ${radius * -0.309017} ${height * -0.500000} ${radius * 0.951057}
30
+ v ${radius * -0.309017} ${height * 0.500000} ${radius * 0.951057}
31
+ v ${radius * -0.587785} ${height * -0.500000} ${radius * 0.809017}
32
+ v ${radius * -0.587785} ${height * 0.500000} ${radius * 0.809017}
33
+ v ${radius * -0.809017} ${height * -0.500000} ${radius * 0.587785}
34
+ v ${radius * -0.809017} ${height * 0.500000} ${radius * 0.587785}
35
+ v ${radius * -0.951056} ${height * -0.500000} ${radius * 0.309017}
36
+ v ${radius * -0.951056} ${height * 0.500000} ${radius * 0.309017}
37
+ v ${radius * -1.000000} ${height * -0.500000} ${radius * -0.000000}
38
+ v ${radius * -1.000000} ${height * 0.500000} ${radius * -0.000000}
39
+ v ${radius * -0.951056} ${height * -0.500000} ${radius * -0.309017}
40
+ v ${radius * -0.951056} ${height * 0.500000} ${radius * -0.309017}
41
+ v ${radius * -0.809017} ${height * -0.500000} ${radius * -0.587785}
42
+ v ${radius * -0.809017} ${height * 0.500000} ${radius * -0.587785}
43
+ v ${radius * -0.587785} ${height * -0.500000} ${radius * -0.809017}
44
+ v ${radius * -0.587785} ${height * 0.500000} ${radius * -0.809017}
45
+ v ${radius * -0.309017} ${height * -0.500000} ${radius * -0.951057}
46
+ v ${radius * -0.309017} ${height * 0.500000} ${radius * -0.951057}
47
+ vn -0.0000 -0.0000 -1.0000
48
+ vn 0.3090 -0.0000 -0.9511
49
+ vn 0.5878 -0.0000 -0.8090
50
+ vn 0.8090 -0.0000 -0.5878
51
+ vn 0.9511 -0.0000 -0.3090
52
+ vn 1.0000 -0.0000 -0.0000
53
+ vn 0.9511 -0.0000 0.3090
54
+ vn 0.8090 -0.0000 0.5878
55
+ vn 0.5878 -0.0000 0.8090
56
+ vn 0.3090 -0.0000 0.9511
57
+ vn -0.0000 -0.0000 1.0000
58
+ vn -0.3090 -0.0000 0.9511
59
+ vn -0.5878 -0.0000 0.8090
60
+ vn -0.8090 -0.0000 0.5878
61
+ vn -0.9511 -0.0000 0.3090
62
+ vn -1.0000 -0.0000 -0.0000
63
+ vn -0.9511 -0.0000 -0.3090
64
+ vn -0.8090 -0.0000 -0.5878
65
+ vn -0.5878 -0.0000 -0.8090
66
+ vn -0.0000 1.0000 -0.0000
67
+ vn -0.3090 -0.0000 -0.9511
68
+ vn -0.0000 -1.0000 -0.0000
69
+ vt 1.000000 0.500000
70
+ vt -0.000000 0.500000
71
+ vt 0.750000 0.490000
72
+ vt 1.000000 1.000000
73
+ vt -0.000000 1.000000
74
+ vt 0.250000 0.490000
75
+ vt 0.950000 0.500000
76
+ vt 0.824164 0.478254
77
+ vt 0.950000 1.000000
78
+ vt 0.324164 0.478254
79
+ vt 0.900000 0.500000
80
+ vt 0.891068 0.444164
81
+ vt 0.900000 1.000000
82
+ vt 0.391068 0.444164
83
+ vt 0.850000 0.500000
84
+ vt 0.944164 0.391068
85
+ vt 0.850000 1.000000
86
+ vt 0.444164 0.391068
87
+ vt 0.800000 0.500000
88
+ vt 0.978254 0.324164
89
+ vt 0.800000 1.000000
90
+ vt 0.478254 0.324164
91
+ vt 0.750000 0.500000
92
+ vt 0.990000 0.250000
93
+ vt 0.750000 1.000000
94
+ vt 0.490000 0.250000
95
+ vt 0.700000 0.500000
96
+ vt 0.978254 0.175836
97
+ vt 0.700000 1.000000
98
+ vt 0.478254 0.175836
99
+ vt 0.650000 0.500000
100
+ vt 0.944164 0.108932
101
+ vt 0.650000 1.000000
102
+ vt 0.444164 0.108932
103
+ vt 0.600000 0.500000
104
+ vt 0.891068 0.055836
105
+ vt 0.600000 1.000000
106
+ vt 0.391068 0.055836
107
+ vt 0.550000 0.500000
108
+ vt 0.824164 0.021746
109
+ vt 0.550000 1.000000
110
+ vt 0.324164 0.021746
111
+ vt 0.500000 0.500000
112
+ vt 0.750000 0.010000
113
+ vt 0.500000 1.000000
114
+ vt 0.250000 0.010000
115
+ vt 0.450000 0.500000
116
+ vt 0.675836 0.021746
117
+ vt 0.450000 1.000000
118
+ vt 0.175836 0.021746
119
+ vt 0.400000 0.500000
120
+ vt 0.608932 0.055836
121
+ vt 0.400000 1.000000
122
+ vt 0.108932 0.055836
123
+ vt 0.350000 0.500000
124
+ vt 0.555836 0.108932
125
+ vt 0.350000 1.000000
126
+ vt 0.055836 0.108932
127
+ vt 0.300000 0.500000
128
+ vt 0.521746 0.175836
129
+ vt 0.300000 1.000000
130
+ vt 0.021746 0.175836
131
+ vt 0.250000 0.500000
132
+ vt 0.510000 0.250000
133
+ vt 0.250000 1.000000
134
+ vt 0.010000 0.250000
135
+ vt 0.200000 0.500000
136
+ vt 0.521746 0.324164
137
+ vt 0.200000 1.000000
138
+ vt 0.021746 0.324164
139
+ vt 0.150000 0.500000
140
+ vt 0.555836 0.391068
141
+ vt 0.150000 1.000000
142
+ vt 0.055836 0.391068
143
+ vt 0.100000 0.500000
144
+ vt 0.608932 0.444164
145
+ vt 0.100000 1.000000
146
+ vt 0.108932 0.444164
147
+ vt 0.050000 0.500000
148
+ vt 0.675836 0.478254
149
+ vt 0.050000 1.000000
150
+ vt 0.175836 0.478254
151
+ s 1
152
+ usemtl Cylinder
153
+ f 1/1/1 2/4/1 4/9/2 3/7/2
154
+ f 3/7/2 4/9/2 6/13/3 5/11/3
155
+ f 5/11/3 6/13/3 8/17/4 7/15/4
156
+ f 7/15/4 8/17/4 10/21/5 9/19/5
157
+ f 9/19/5 10/21/5 12/25/6 11/23/6
158
+ f 11/23/6 12/25/6 14/29/7 13/27/7
159
+ f 13/27/7 14/29/7 16/33/8 15/31/8
160
+ f 15/31/8 16/33/8 18/37/9 17/35/9
161
+ f 17/35/9 18/37/9 20/41/10 19/39/10
162
+ f 19/39/10 20/41/10 22/45/11 21/43/11
163
+ f 21/43/11 22/45/11 24/49/12 23/47/12
164
+ f 23/47/12 24/49/12 26/53/13 25/51/13
165
+ f 25/51/13 26/53/13 28/57/14 27/55/14
166
+ f 27/55/14 28/57/14 30/61/15 29/59/15
167
+ f 29/59/15 30/61/15 32/65/16 31/63/16
168
+ f 31/63/16 32/65/16 34/69/17 33/67/17
169
+ f 33/67/17 34/69/17 36/73/18 35/71/18
170
+ f 35/71/18 36/73/18 38/77/19 37/75/19
171
+ f 30/62/20 14/30/20 6/14/20
172
+ f 37/75/19 38/77/19 40/81/21 39/79/21
173
+ f 39/79/21 40/81/21 2/5/1 1/2/1
174
+ f 7/16/22 15/32/22 31/64/22
175
+ f 6/14/20 4/10/20 2/6/20
176
+ f 2/6/20 40/82/20 38/78/20
177
+ f 38/78/20 36/74/20 34/70/20
178
+ f 34/70/20 32/66/20 30/62/20
179
+ f 30/62/20 28/58/20 22/46/20
180
+ f 28/58/20 26/54/20 22/46/20
181
+ f 26/54/20 24/50/20 22/46/20
182
+ f 22/46/20 20/42/20 14/30/20
183
+ f 20/42/20 18/38/20 14/30/20
184
+ f 18/38/20 16/34/20 14/30/20
185
+ f 14/30/20 12/26/20 10/22/20
186
+ f 10/22/20 8/18/20 14/30/20
187
+ f 8/18/20 6/14/20 14/30/20
188
+ f 6/14/20 2/6/20 38/78/20
189
+ f 38/78/20 34/70/20 6/14/20
190
+ f 34/70/20 30/62/20 6/14/20
191
+ f 30/62/20 22/46/20 14/30/20
192
+ f 39/80/22 1/3/22 3/8/22
193
+ f 3/8/22 5/12/22 39/80/22
194
+ f 5/12/22 7/16/22 39/80/22
195
+ f 7/16/22 9/20/22 15/32/22
196
+ f 9/20/22 11/24/22 15/32/22
197
+ f 11/24/22 13/28/22 15/32/22
198
+ f 15/32/22 17/36/22 23/48/22
199
+ f 17/36/22 19/40/22 23/48/22
200
+ f 19/40/22 21/44/22 23/48/22
201
+ f 23/48/22 25/52/22 27/56/22
202
+ f 27/56/22 29/60/22 31/64/22
203
+ f 31/64/22 33/68/22 35/72/22
204
+ f 35/72/22 37/76/22 31/64/22
205
+ f 37/76/22 39/80/22 31/64/22
206
+ f 23/48/22 27/56/22 15/32/22
207
+ f 27/56/22 31/64/22 15/32/22
208
+ f 39/80/22 7/16/22 31/64/22
209
+ `;
210
+ };
211
+
212
+ export default function cylinder(height: number, radius: number): PolyList {
213
+ const objTextData = objData(height,radius);
214
+ const parser = new ObjParser(objTextData);
215
+ return parser.polyListArray[0];
216
+ }
@@ -1,13 +1,13 @@
1
- import cube from './cube';
2
- import sphere from './sphere';
3
- import cylinder from './cylinder';
4
- import cone from './cone';
5
- import plane from './plane';
6
- import arrow from './arrow';
7
-
8
- export const createCube = cube;
9
- export const createSphere = sphere;
10
- export const createCylinder = cylinder;
11
- export const createCone = cone;
12
- export const createPlane = plane;
13
- export const createArrow = arrow;
1
+ import cube from './cube';
2
+ import sphere from './sphere';
3
+ import cylinder from './cylinder';
4
+ import cone from './cone';
5
+ import plane from './plane';
6
+ import arrow from './arrow';
7
+
8
+ export const createCube = cube;
9
+ export const createSphere = sphere;
10
+ export const createCylinder = cylinder;
11
+ export const createCone = cone;
12
+ export const createPlane = plane;
13
+ export const createArrow = arrow;
@@ -1,31 +1,31 @@
1
- import PolyList, { DrawMode } from "../base/PolyList";
2
-
3
- export default function plane(w: number, d: number): PolyList {
4
- const plist = new PolyList();
5
- const w2 = w / 2;
6
- const d2 = d / 2;
7
- plist.vertex = [
8
- -w2, 0, -d2,
9
- w2, 0, -d2,
10
- w2, 0, d2,
11
- -w2, 0, d2
12
- ];
13
- plist.normal = [
14
- 0, 1, 0,
15
- 0, 1, 0,
16
- 0, 1, 0,
17
- 0, 1, 0
18
- ];
19
- plist.texCoord0 = [
20
- 0, 1,
21
- 1, 1,
22
- 1, 0,
23
- 0, 0
24
- ];
25
- plist.index = [
26
- 0, 3, 2,
27
- 2, 1, 0
28
- ];
29
- plist.drawMode = DrawMode.TRIANGLES;
30
- return plist;
31
- }
1
+ import PolyList, { DrawMode } from "../base/PolyList";
2
+
3
+ export default function plane(w: number, d: number): PolyList {
4
+ const plist = new PolyList();
5
+ const w2 = w / 2;
6
+ const d2 = d / 2;
7
+ plist.vertex = [
8
+ -w2, 0, -d2,
9
+ w2, 0, -d2,
10
+ w2, 0, d2,
11
+ -w2, 0, d2
12
+ ];
13
+ plist.normal = [
14
+ 0, 1, 0,
15
+ 0, 1, 0,
16
+ 0, 1, 0,
17
+ 0, 1, 0
18
+ ];
19
+ plist.texCoord0 = [
20
+ 0, 1,
21
+ 1, 1,
22
+ 1, 0,
23
+ 0, 0
24
+ ];
25
+ plist.index = [
26
+ 0, 3, 2,
27
+ 2, 1, 0
28
+ ];
29
+ plist.drawMode = DrawMode.TRIANGLES;
30
+ return plist;
31
+ }