three-stdlib 2.25.0 → 2.25.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (539) hide show
  1. package/index.cjs +116401 -611
  2. package/index.js +116037 -263
  3. package/package.json +17 -4
  4. package/_polyfill/CapsuleGeometry.cjs +0 -22
  5. package/_polyfill/CapsuleGeometry.js +0 -22
  6. package/_polyfill/CompressedArrayTexture.cjs +0 -12
  7. package/_polyfill/CompressedArrayTexture.js +0 -12
  8. package/_polyfill/Data3DTexture.cjs +0 -17
  9. package/_polyfill/Data3DTexture.js +0 -17
  10. package/animation/AnimationClipCreator.cjs +0 -56
  11. package/animation/AnimationClipCreator.js +0 -56
  12. package/animation/CCDIKSolver.cjs +0 -269
  13. package/animation/CCDIKSolver.js +0 -269
  14. package/animation/MMDAnimationHelper.cjs +0 -688
  15. package/animation/MMDAnimationHelper.js +0 -688
  16. package/animation/MMDPhysics.cjs +0 -830
  17. package/animation/MMDPhysics.js +0 -830
  18. package/cameras/CinematicCamera.cjs +0 -131
  19. package/cameras/CinematicCamera.js +0 -131
  20. package/controls/ArcballControls.cjs +0 -2033
  21. package/controls/ArcballControls.js +0 -2033
  22. package/controls/DeviceOrientationControls.cjs +0 -85
  23. package/controls/DeviceOrientationControls.js +0 -85
  24. package/controls/DragControls.cjs +0 -182
  25. package/controls/DragControls.js +0 -182
  26. package/controls/FirstPersonControls.cjs +0 -229
  27. package/controls/FirstPersonControls.js +0 -229
  28. package/controls/FlyControls.cjs +0 -248
  29. package/controls/FlyControls.js +0 -248
  30. package/controls/OrbitControls.cjs +0 -791
  31. package/controls/OrbitControls.js +0 -791
  32. package/controls/PointerLockControls.cjs +0 -103
  33. package/controls/PointerLockControls.js +0 -103
  34. package/controls/TrackballControls.cjs +0 -502
  35. package/controls/TrackballControls.js +0 -502
  36. package/controls/TransformControls.cjs +0 -1089
  37. package/controls/TransformControls.js +0 -1089
  38. package/controls/experimental/CameraControls.cjs +0 -736
  39. package/controls/experimental/CameraControls.js +0 -736
  40. package/csm/CSM.cjs +0 -244
  41. package/csm/CSM.js +0 -244
  42. package/csm/CSMFrustum.cjs +0 -75
  43. package/csm/CSMFrustum.js +0 -75
  44. package/csm/CSMHelper.cjs +0 -114
  45. package/csm/CSMHelper.js +0 -114
  46. package/csm/CSMShader.cjs +0 -261
  47. package/csm/CSMShader.js +0 -261
  48. package/curves/CurveExtras.cjs +0 -214
  49. package/curves/CurveExtras.js +0 -214
  50. package/curves/NURBSCurve.cjs +0 -35
  51. package/curves/NURBSCurve.js +0 -35
  52. package/curves/NURBSSurface.cjs +0 -28
  53. package/curves/NURBSSurface.js +0 -28
  54. package/curves/NURBSUtils.cjs +0 -226
  55. package/curves/NURBSUtils.js +0 -226
  56. package/deprecated/Geometry.cjs +0 -971
  57. package/deprecated/Geometry.js +0 -971
  58. package/effects/AnaglyphEffect.cjs +0 -102
  59. package/effects/AnaglyphEffect.js +0 -102
  60. package/effects/AsciiEffect.cjs +0 -155
  61. package/effects/AsciiEffect.js +0 -155
  62. package/effects/OutlineEffect.cjs +0 -275
  63. package/effects/OutlineEffect.js +0 -275
  64. package/effects/ParallaxBarrierEffect.cjs +0 -65
  65. package/effects/ParallaxBarrierEffect.js +0 -65
  66. package/effects/PeppersGhostEffect.cjs +0 -88
  67. package/effects/PeppersGhostEffect.js +0 -88
  68. package/effects/StereoEffect.cjs +0 -35
  69. package/effects/StereoEffect.js +0 -35
  70. package/environments/RoomEnvironment.cjs +0 -95
  71. package/environments/RoomEnvironment.js +0 -78
  72. package/exporters/ColladaExporter.cjs +0 -331
  73. package/exporters/ColladaExporter.js +0 -331
  74. package/exporters/DRACOExporter.cjs +0 -141
  75. package/exporters/DRACOExporter.js +0 -141
  76. package/exporters/GLTFExporter.cjs +0 -1909
  77. package/exporters/GLTFExporter.js +0 -1909
  78. package/exporters/MMDExporter.cjs +0 -131
  79. package/exporters/MMDExporter.js +0 -131
  80. package/exporters/OBJExporter.cjs +0 -181
  81. package/exporters/OBJExporter.js +0 -181
  82. package/exporters/PLYExporter.cjs +0 -280
  83. package/exporters/PLYExporter.js +0 -280
  84. package/exporters/STLExporter.cjs +0 -146
  85. package/exporters/STLExporter.js +0 -146
  86. package/exporters/USDZExporter.cjs +0 -340
  87. package/exporters/USDZExporter.js +0 -340
  88. package/geometries/BoxLineGeometry.cjs +0 -45
  89. package/geometries/BoxLineGeometry.js +0 -45
  90. package/geometries/ConvexGeometry.cjs +0 -26
  91. package/geometries/ConvexGeometry.js +0 -26
  92. package/geometries/DecalGeometry.cjs +0 -184
  93. package/geometries/DecalGeometry.js +0 -184
  94. package/geometries/LightningStrike.cjs +0 -553
  95. package/geometries/LightningStrike.js +0 -553
  96. package/geometries/ParametricGeometries.cjs +0 -130
  97. package/geometries/ParametricGeometries.js +0 -130
  98. package/geometries/ParametricGeometry.cjs +0 -63
  99. package/geometries/ParametricGeometry.js +0 -63
  100. package/geometries/RoundedBoxGeometry.cjs +0 -91
  101. package/geometries/RoundedBoxGeometry.js +0 -91
  102. package/geometries/TeapotGeometry.cjs +0 -1563
  103. package/geometries/TeapotGeometry.js +0 -1563
  104. package/geometries/TextGeometry.cjs +0 -27
  105. package/geometries/TextGeometry.js +0 -27
  106. package/helpers/LightProbeHelper.cjs +0 -73
  107. package/helpers/LightProbeHelper.js +0 -73
  108. package/helpers/PositionalAudioHelper.cjs +0 -68
  109. package/helpers/PositionalAudioHelper.js +0 -68
  110. package/helpers/RectAreaLightHelper.cjs +0 -44
  111. package/helpers/RectAreaLightHelper.js +0 -44
  112. package/helpers/VertexNormalsHelper.cjs +0 -47
  113. package/helpers/VertexNormalsHelper.js +0 -47
  114. package/helpers/VertexTangentsHelper.cjs +0 -43
  115. package/helpers/VertexTangentsHelper.js +0 -43
  116. package/interactive/HTMLMesh.cjs +0 -325
  117. package/interactive/HTMLMesh.js +0 -325
  118. package/interactive/InteractiveGroup.cjs +0 -68
  119. package/interactive/InteractiveGroup.js +0 -68
  120. package/interactive/SelectionBox.cjs +0 -134
  121. package/interactive/SelectionBox.js +0 -134
  122. package/interactive/SelectionHelper.cjs +0 -51
  123. package/interactive/SelectionHelper.js +0 -51
  124. package/libs/MeshoptDecoder.cjs +0 -221
  125. package/libs/MeshoptDecoder.js +0 -221
  126. package/libs/MotionControllers.cjs +0 -325
  127. package/libs/MotionControllers.js +0 -325
  128. package/lights/LightProbeGenerator.cjs +0 -145
  129. package/lights/LightProbeGenerator.js +0 -145
  130. package/lights/RectAreaLightUniformsLib.cjs +0 -32846
  131. package/lights/RectAreaLightUniformsLib.js +0 -32846
  132. package/lines/Line2.cjs +0 -13
  133. package/lines/Line2.js +0 -13
  134. package/lines/LineGeometry.cjs +0 -44
  135. package/lines/LineGeometry.js +0 -44
  136. package/lines/LineMaterial.cjs +0 -547
  137. package/lines/LineMaterial.js +0 -547
  138. package/lines/LineSegments2.cjs +0 -203
  139. package/lines/LineSegments2.js +0 -203
  140. package/lines/LineSegmentsGeometry.cjs +0 -124
  141. package/lines/LineSegmentsGeometry.js +0 -124
  142. package/lines/Wireframe.cjs +0 -32
  143. package/lines/Wireframe.js +0 -32
  144. package/lines/WireframeGeometry2.cjs +0 -13
  145. package/lines/WireframeGeometry2.js +0 -13
  146. package/loaders/3DMLoader.cjs +0 -803
  147. package/loaders/3DMLoader.js +0 -803
  148. package/loaders/3MFLoader.cjs +0 -854
  149. package/loaders/3MFLoader.js +0 -854
  150. package/loaders/AMFLoader.cjs +0 -284
  151. package/loaders/AMFLoader.js +0 -284
  152. package/loaders/AssimpLoader.cjs +0 -1434
  153. package/loaders/AssimpLoader.js +0 -1434
  154. package/loaders/BVHLoader.cjs +0 -207
  155. package/loaders/BVHLoader.js +0 -207
  156. package/loaders/BasisTextureLoader.cjs +0 -489
  157. package/loaders/BasisTextureLoader.js +0 -489
  158. package/loaders/ColladaLoader.cjs +0 -2405
  159. package/loaders/ColladaLoader.js +0 -2405
  160. package/loaders/DDSLoader.cjs +0 -148
  161. package/loaders/DDSLoader.js +0 -148
  162. package/loaders/DRACOLoader.cjs +0 -341
  163. package/loaders/DRACOLoader.js +0 -341
  164. package/loaders/EXRLoader.cjs +0 -1356
  165. package/loaders/EXRLoader.js +0 -1356
  166. package/loaders/FBXLoader.cjs +0 -2457
  167. package/loaders/FBXLoader.js +0 -2457
  168. package/loaders/FontLoader.cjs +0 -123
  169. package/loaders/FontLoader.js +0 -123
  170. package/loaders/GCodeLoader.cjs +0 -141
  171. package/loaders/GCodeLoader.js +0 -141
  172. package/loaders/GLTFLoader.cjs +0 -2504
  173. package/loaders/GLTFLoader.js +0 -2504
  174. package/loaders/HDRCubeTextureLoader.cjs +0 -75
  175. package/loaders/HDRCubeTextureLoader.js +0 -75
  176. package/loaders/KMZLoader.cjs +0 -75
  177. package/loaders/KMZLoader.js +0 -75
  178. package/loaders/KTX2Loader.cjs +0 -480
  179. package/loaders/KTX2Loader.js +0 -480
  180. package/loaders/KTXLoader.cjs +0 -93
  181. package/loaders/KTXLoader.js +0 -93
  182. package/loaders/LDrawLoader.cjs +0 -1424
  183. package/loaders/LDrawLoader.js +0 -1424
  184. package/loaders/LUT3dlLoader.cjs +0 -103
  185. package/loaders/LUT3dlLoader.js +0 -103
  186. package/loaders/LUTCubeLoader.cjs +0 -107
  187. package/loaders/LUTCubeLoader.js +0 -107
  188. package/loaders/LWOLoader.cjs +0 -645
  189. package/loaders/LWOLoader.js +0 -645
  190. package/loaders/LottieLoader.cjs +0 -47
  191. package/loaders/LottieLoader.js +0 -47
  192. package/loaders/MD2Loader.cjs +0 -359
  193. package/loaders/MD2Loader.js +0 -359
  194. package/loaders/MDDLoader.cjs +0 -58
  195. package/loaders/MDDLoader.js +0 -58
  196. package/loaders/MMDLoader.cjs +0 -1121
  197. package/loaders/MMDLoader.js +0 -1121
  198. package/loaders/MTLLoader.cjs +0 -304
  199. package/loaders/MTLLoader.js +0 -304
  200. package/loaders/NRRDLoader.cjs +0 -401
  201. package/loaders/NRRDLoader.js +0 -401
  202. package/loaders/OBJLoader.cjs +0 -487
  203. package/loaders/OBJLoader.js +0 -487
  204. package/loaders/PCDLoader.cjs +0 -248
  205. package/loaders/PCDLoader.js +0 -248
  206. package/loaders/PDBLoader.cjs +0 -247
  207. package/loaders/PDBLoader.js +0 -247
  208. package/loaders/PLYLoader.cjs +0 -317
  209. package/loaders/PLYLoader.js +0 -317
  210. package/loaders/PRWMLoader.cjs +0 -160
  211. package/loaders/PRWMLoader.js +0 -160
  212. package/loaders/PVRLoader.cjs +0 -131
  213. package/loaders/PVRLoader.js +0 -131
  214. package/loaders/RGBELoader.cjs +0 -252
  215. package/loaders/RGBELoader.js +0 -252
  216. package/loaders/RGBMLoader.cjs +0 -1004
  217. package/loaders/RGBMLoader.js +0 -1004
  218. package/loaders/STLLoader.cjs +0 -190
  219. package/loaders/STLLoader.js +0 -190
  220. package/loaders/SVGLoader.cjs +0 -1712
  221. package/loaders/SVGLoader.js +0 -1712
  222. package/loaders/TDSLoader.cjs +0 -650
  223. package/loaders/TDSLoader.js +0 -650
  224. package/loaders/TGALoader.cjs +0 -285
  225. package/loaders/TGALoader.js +0 -285
  226. package/loaders/TTFLoader.cjs +0 -131
  227. package/loaders/TTFLoader.js +0 -131
  228. package/loaders/TiltLoader.cjs +0 -375
  229. package/loaders/TiltLoader.js +0 -375
  230. package/loaders/VOXLoader.cjs +0 -432
  231. package/loaders/VOXLoader.js +0 -432
  232. package/loaders/VRMLLoader.cjs +0 -2105
  233. package/loaders/VRMLLoader.js +0 -2105
  234. package/loaders/VRMLoader.cjs +0 -38
  235. package/loaders/VRMLoader.js +0 -38
  236. package/loaders/VTKLoader.cjs +0 -648
  237. package/loaders/VTKLoader.js +0 -648
  238. package/loaders/XLoader.cjs +0 -1258
  239. package/loaders/XLoader.js +0 -1258
  240. package/loaders/XYZLoader.cjs +0 -60
  241. package/loaders/XYZLoader.js +0 -60
  242. package/loaders/lwo/IFFParser.cjs +0 -743
  243. package/loaders/lwo/IFFParser.js +0 -743
  244. package/loaders/lwo/LWO2Parser.cjs +0 -312
  245. package/loaders/lwo/LWO2Parser.js +0 -312
  246. package/loaders/lwo/LWO3Parser.cjs +0 -282
  247. package/loaders/lwo/LWO3Parser.js +0 -282
  248. package/math/Capsule.cjs +0 -98
  249. package/math/Capsule.js +0 -98
  250. package/math/ColorConverter.cjs +0 -42
  251. package/math/ColorConverter.js +0 -42
  252. package/math/ConvexHull.cjs +0 -596
  253. package/math/ConvexHull.js +0 -596
  254. package/math/ImprovedNoise.cjs +0 -304
  255. package/math/ImprovedNoise.js +0 -304
  256. package/math/Lut.cjs +0 -137
  257. package/math/Lut.js +0 -137
  258. package/math/MeshSurfaceSampler.cjs +0 -103
  259. package/math/MeshSurfaceSampler.js +0 -103
  260. package/math/OBB.cjs +0 -242
  261. package/math/OBB.js +0 -242
  262. package/math/Octree.cjs +0 -273
  263. package/math/Octree.js +0 -273
  264. package/math/SimplexNoise.cjs +0 -440
  265. package/math/SimplexNoise.js +0 -440
  266. package/misc/ConvexObjectBreaker.cjs +0 -292
  267. package/misc/ConvexObjectBreaker.js +0 -292
  268. package/misc/GPUComputationRenderer.cjs +0 -205
  269. package/misc/GPUComputationRenderer.js +0 -205
  270. package/misc/Gyroscope.cjs +0 -33
  271. package/misc/Gyroscope.js +0 -33
  272. package/misc/MD2Character.cjs +0 -167
  273. package/misc/MD2Character.js +0 -167
  274. package/misc/MD2CharacterComplex.cjs +0 -332
  275. package/misc/MD2CharacterComplex.js +0 -332
  276. package/misc/MorphAnimMesh.cjs +0 -40
  277. package/misc/MorphAnimMesh.js +0 -40
  278. package/misc/MorphBlendMesh.cjs +0 -179
  279. package/misc/MorphBlendMesh.js +0 -179
  280. package/misc/ProgressiveLightmap.cjs +0 -186
  281. package/misc/ProgressiveLightmap.js +0 -186
  282. package/misc/RollerCoaster.cjs +0 -353
  283. package/misc/RollerCoaster.js +0 -353
  284. package/misc/Timer.cjs +0 -101
  285. package/misc/Timer.js +0 -101
  286. package/misc/TubePainter.cjs +0 -123
  287. package/misc/TubePainter.js +0 -123
  288. package/misc/Volume.cjs +0 -305
  289. package/misc/Volume.js +0 -305
  290. package/misc/VolumeSlice.cjs +0 -114
  291. package/misc/VolumeSlice.js +0 -114
  292. package/misc/WebGL.cjs +0 -74
  293. package/misc/WebGL.js +0 -74
  294. package/modifiers/CurveModifier.cjs +0 -232
  295. package/modifiers/CurveModifier.js +0 -232
  296. package/modifiers/EdgeSplitModifier.cjs +0 -167
  297. package/modifiers/EdgeSplitModifier.js +0 -168
  298. package/modifiers/SimplifyModifier.cjs +0 -301
  299. package/modifiers/SimplifyModifier.js +0 -301
  300. package/modifiers/TessellateModifier.cjs +0 -214
  301. package/modifiers/TessellateModifier.js +0 -214
  302. package/objects/GroundProjectedEnv.cjs +0 -134
  303. package/objects/GroundProjectedEnv.js +0 -134
  304. package/objects/Lensflare.cjs +0 -291
  305. package/objects/Lensflare.js +0 -291
  306. package/objects/LightningStorm.cjs +0 -110
  307. package/objects/LightningStorm.js +0 -110
  308. package/objects/MarchingCubes.cjs +0 -4809
  309. package/objects/MarchingCubes.js +0 -4809
  310. package/objects/Reflector.cjs +0 -202
  311. package/objects/Reflector.js +0 -202
  312. package/objects/ReflectorForSSRPass.cjs +0 -260
  313. package/objects/ReflectorForSSRPass.js +0 -260
  314. package/objects/ReflectorRTT.cjs +0 -10
  315. package/objects/ReflectorRTT.js +0 -10
  316. package/objects/Refractor.cjs +0 -215
  317. package/objects/Refractor.js +0 -215
  318. package/objects/ShadowMesh.cjs +0 -45
  319. package/objects/ShadowMesh.js +0 -45
  320. package/objects/Sky.cjs +0 -200
  321. package/objects/Sky.js +0 -200
  322. package/objects/Water.cjs +0 -242
  323. package/objects/Water.js +0 -242
  324. package/objects/Water2.cjs +0 -256
  325. package/objects/Water2.js +0 -256
  326. package/physics/AmmoPhysics.cjs +0 -166
  327. package/physics/AmmoPhysics.js +0 -166
  328. package/postprocessing/AdaptiveToneMappingPass.cjs +0 -218
  329. package/postprocessing/AdaptiveToneMappingPass.js +0 -218
  330. package/postprocessing/AfterimagePass.cjs +0 -68
  331. package/postprocessing/AfterimagePass.js +0 -68
  332. package/postprocessing/BloomPass.cjs +0 -109
  333. package/postprocessing/BloomPass.js +0 -109
  334. package/postprocessing/BokehPass.cjs +0 -90
  335. package/postprocessing/BokehPass.js +0 -90
  336. package/postprocessing/ClearPass.cjs +0 -36
  337. package/postprocessing/ClearPass.js +0 -36
  338. package/postprocessing/CubeTexturePass.cjs +0 -53
  339. package/postprocessing/CubeTexturePass.js +0 -53
  340. package/postprocessing/DotScreenPass.cjs +0 -49
  341. package/postprocessing/DotScreenPass.js +0 -49
  342. package/postprocessing/EffectComposer.cjs +0 -157
  343. package/postprocessing/EffectComposer.js +0 -157
  344. package/postprocessing/FilmPass.cjs +0 -51
  345. package/postprocessing/FilmPass.js +0 -51
  346. package/postprocessing/GlitchPass.cjs +0 -84
  347. package/postprocessing/GlitchPass.js +0 -84
  348. package/postprocessing/HalftonePass.cjs +0 -53
  349. package/postprocessing/HalftonePass.js +0 -53
  350. package/postprocessing/LUTPass.cjs +0 -142
  351. package/postprocessing/LUTPass.js +0 -142
  352. package/postprocessing/MaskPass.cjs +0 -69
  353. package/postprocessing/MaskPass.js +0 -69
  354. package/postprocessing/OutlinePass.cjs +0 -479
  355. package/postprocessing/OutlinePass.js +0 -479
  356. package/postprocessing/Pass.cjs +0 -48
  357. package/postprocessing/Pass.js +0 -48
  358. package/postprocessing/RenderPass.cjs +0 -59
  359. package/postprocessing/RenderPass.js +0 -59
  360. package/postprocessing/RenderPixelatedPass.cjs +0 -199
  361. package/postprocessing/RenderPixelatedPass.js +0 -199
  362. package/postprocessing/SAOPass.cjs +0 -288
  363. package/postprocessing/SAOPass.js +0 -288
  364. package/postprocessing/SMAAPass.cjs +0 -112
  365. package/postprocessing/SMAAPass.js +0 -112
  366. package/postprocessing/SSAARenderPass.cjs +0 -189
  367. package/postprocessing/SSAARenderPass.js +0 -189
  368. package/postprocessing/SSAOPass.cjs +0 -272
  369. package/postprocessing/SSAOPass.js +0 -272
  370. package/postprocessing/SSRPass.cjs +0 -411
  371. package/postprocessing/SSRPass.js +0 -411
  372. package/postprocessing/SavePass.cjs +0 -38
  373. package/postprocessing/SavePass.js +0 -38
  374. package/postprocessing/ShaderPass.cjs +0 -49
  375. package/postprocessing/ShaderPass.js +0 -49
  376. package/postprocessing/TAARenderPass.cjs +0 -174
  377. package/postprocessing/TAARenderPass.js +0 -174
  378. package/postprocessing/TexturePass.cjs +0 -42
  379. package/postprocessing/TexturePass.js +0 -42
  380. package/postprocessing/UnrealBloomPass.cjs +0 -277
  381. package/postprocessing/UnrealBloomPass.js +0 -277
  382. package/postprocessing/WaterPass.cjs +0 -72
  383. package/postprocessing/WaterPass.js +0 -72
  384. package/renderers/CSS2DRenderer.cjs +0 -122
  385. package/renderers/CSS2DRenderer.js +0 -122
  386. package/renderers/CSS3DRenderer.cjs +0 -167
  387. package/renderers/CSS3DRenderer.js +0 -167
  388. package/renderers/Projector.cjs +0 -499
  389. package/renderers/Projector.js +0 -499
  390. package/renderers/SVGRenderer.cjs +0 -311
  391. package/renderers/SVGRenderer.js +0 -311
  392. package/shaders/ACESFilmicToneMappingShader.cjs +0 -55
  393. package/shaders/ACESFilmicToneMappingShader.js +0 -55
  394. package/shaders/AfterimageShader.cjs +0 -32
  395. package/shaders/AfterimageShader.js +0 -32
  396. package/shaders/BasicShader.cjs +0 -12
  397. package/shaders/BasicShader.js +0 -12
  398. package/shaders/BleachBypassShader.cjs +0 -35
  399. package/shaders/BleachBypassShader.js +0 -35
  400. package/shaders/BlendShader.cjs +0 -30
  401. package/shaders/BlendShader.js +0 -30
  402. package/shaders/BokehShader.cjs +0 -109
  403. package/shaders/BokehShader.js +0 -109
  404. package/shaders/BokehShader2.cjs +0 -269
  405. package/shaders/BokehShader2.js +0 -269
  406. package/shaders/BrightnessContrastShader.cjs +0 -32
  407. package/shaders/BrightnessContrastShader.js +0 -32
  408. package/shaders/ColorCorrectionShader.cjs +0 -30
  409. package/shaders/ColorCorrectionShader.js +0 -30
  410. package/shaders/ColorifyShader.cjs +0 -28
  411. package/shaders/ColorifyShader.js +0 -28
  412. package/shaders/ConvolutionShader.cjs +0 -55
  413. package/shaders/ConvolutionShader.js +0 -55
  414. package/shaders/CopyShader.cjs +0 -25
  415. package/shaders/CopyShader.js +0 -25
  416. package/shaders/DOFMipMapShader.cjs +0 -32
  417. package/shaders/DOFMipMapShader.js +0 -32
  418. package/shaders/DepthLimitedBlurShader.cjs +0 -114
  419. package/shaders/DepthLimitedBlurShader.js +0 -114
  420. package/shaders/DigitalGlitch.cjs +0 -85
  421. package/shaders/DigitalGlitch.js +0 -85
  422. package/shaders/DotScreenShader.cjs +0 -39
  423. package/shaders/DotScreenShader.js +0 -39
  424. package/shaders/FXAAShader.cjs +0 -1098
  425. package/shaders/FXAAShader.js +0 -1098
  426. package/shaders/FilmShader.cjs +0 -53
  427. package/shaders/FilmShader.js +0 -53
  428. package/shaders/FocusShader.cjs +0 -55
  429. package/shaders/FocusShader.js +0 -55
  430. package/shaders/FreiChenShader.cjs +0 -64
  431. package/shaders/FreiChenShader.js +0 -64
  432. package/shaders/FresnelShader.cjs +0 -47
  433. package/shaders/FresnelShader.js +0 -47
  434. package/shaders/GammaCorrectionShader.cjs +0 -23
  435. package/shaders/GammaCorrectionShader.js +0 -23
  436. package/shaders/GodRaysShader.cjs +0 -183
  437. package/shaders/GodRaysShader.js +0 -183
  438. package/shaders/HalftoneShader.cjs +0 -228
  439. package/shaders/HalftoneShader.js +0 -228
  440. package/shaders/HorizontalBlurShader.cjs +0 -49
  441. package/shaders/HorizontalBlurShader.js +0 -49
  442. package/shaders/HorizontalTiltShiftShader.cjs +0 -37
  443. package/shaders/HorizontalTiltShiftShader.js +0 -37
  444. package/shaders/HueSaturationShader.cjs +0 -43
  445. package/shaders/HueSaturationShader.js +0 -43
  446. package/shaders/KaleidoShader.cjs +0 -34
  447. package/shaders/KaleidoShader.js +0 -34
  448. package/shaders/LuminosityHighPassShader.cjs +0 -37
  449. package/shaders/LuminosityHighPassShader.js +0 -37
  450. package/shaders/LuminosityShader.cjs +0 -25
  451. package/shaders/LuminosityShader.js +0 -25
  452. package/shaders/MirrorShader.cjs +0 -35
  453. package/shaders/MirrorShader.js +0 -35
  454. package/shaders/NormalMapShader.cjs +0 -31
  455. package/shaders/NormalMapShader.js +0 -31
  456. package/shaders/ParallaxShader.cjs +0 -133
  457. package/shaders/ParallaxShader.js +0 -133
  458. package/shaders/PixelShader.cjs +0 -28
  459. package/shaders/PixelShader.js +0 -28
  460. package/shaders/RGBShiftShader.cjs +0 -30
  461. package/shaders/RGBShiftShader.js +0 -30
  462. package/shaders/SAOShader.cjs +0 -144
  463. package/shaders/SAOShader.js +0 -144
  464. package/shaders/SMAAShader.cjs +0 -358
  465. package/shaders/SMAAShader.js +0 -358
  466. package/shaders/SSAOShader.cjs +0 -182
  467. package/shaders/SSAOShader.js +0 -182
  468. package/shaders/SSRShader.cjs +0 -342
  469. package/shaders/SSRShader.js +0 -342
  470. package/shaders/SepiaShader.cjs +0 -29
  471. package/shaders/SepiaShader.js +0 -29
  472. package/shaders/SobelOperatorShader.cjs +0 -54
  473. package/shaders/SobelOperatorShader.js +0 -54
  474. package/shaders/SubsurfaceScatteringShader.cjs +0 -98
  475. package/shaders/SubsurfaceScatteringShader.js +0 -98
  476. package/shaders/TechnicolorShader.cjs +0 -24
  477. package/shaders/TechnicolorShader.js +0 -24
  478. package/shaders/ToneMapShader.cjs +0 -51
  479. package/shaders/ToneMapShader.js +0 -51
  480. package/shaders/ToonShader.cjs +0 -188
  481. package/shaders/ToonShader.js +0 -188
  482. package/shaders/TriangleBlurShader.cjs +0 -37
  483. package/shaders/TriangleBlurShader.js +0 -37
  484. package/shaders/UnpackDepthRGBAShader.cjs +0 -26
  485. package/shaders/UnpackDepthRGBAShader.js +0 -26
  486. package/shaders/VerticalBlurShader.cjs +0 -50
  487. package/shaders/VerticalBlurShader.js +0 -50
  488. package/shaders/VerticalTiltShiftShader.cjs +0 -37
  489. package/shaders/VerticalTiltShiftShader.js +0 -37
  490. package/shaders/VignetteShader.cjs +0 -38
  491. package/shaders/VignetteShader.js +0 -38
  492. package/shaders/VolumeShader.cjs +0 -225
  493. package/shaders/VolumeShader.js +0 -225
  494. package/shaders/WaterRefractionShader.cjs +0 -59
  495. package/shaders/WaterRefractionShader.js +0 -59
  496. package/shaders/types.cjs +0 -1
  497. package/shaders/types.js +0 -1
  498. package/textures/FlakesTexture.cjs +0 -30
  499. package/textures/FlakesTexture.js +0 -30
  500. package/types/helpers.cjs +0 -4
  501. package/types/helpers.js +0 -4
  502. package/utils/BufferGeometryUtils.cjs +0 -636
  503. package/utils/BufferGeometryUtils.js +0 -636
  504. package/utils/GeometryCompressionUtils.cjs +0 -573
  505. package/utils/GeometryCompressionUtils.js +0 -573
  506. package/utils/GeometryUtils.cjs +0 -109
  507. package/utils/GeometryUtils.js +0 -109
  508. package/utils/RoughnessMipmapper.cjs +0 -223
  509. package/utils/RoughnessMipmapper.js +0 -223
  510. package/utils/SceneUtils.cjs +0 -36
  511. package/utils/SceneUtils.js +0 -36
  512. package/utils/ShadowMapViewer.cjs +0 -111
  513. package/utils/ShadowMapViewer.js +0 -111
  514. package/utils/SkeletonUtils.cjs +0 -211
  515. package/utils/SkeletonUtils.js +0 -211
  516. package/utils/UVsDebug.cjs +0 -80
  517. package/utils/UVsDebug.js +0 -80
  518. package/utils/WorkerPool.cjs +0 -62
  519. package/utils/WorkerPool.js +0 -62
  520. package/webxr/ARButton.cjs +0 -119
  521. package/webxr/ARButton.js +0 -119
  522. package/webxr/OculusHandModel.cjs +0 -82
  523. package/webxr/OculusHandModel.js +0 -82
  524. package/webxr/OculusHandPointerModel.cjs +0 -241
  525. package/webxr/OculusHandPointerModel.js +0 -224
  526. package/webxr/Text2D.cjs +0 -48
  527. package/webxr/Text2D.js +0 -31
  528. package/webxr/VRButton.cjs +0 -111
  529. package/webxr/VRButton.js +0 -111
  530. package/webxr/XRControllerModelFactory.cjs +0 -174
  531. package/webxr/XRControllerModelFactory.js +0 -174
  532. package/webxr/XREstimatedLight.cjs +0 -126
  533. package/webxr/XREstimatedLight.js +0 -126
  534. package/webxr/XRHandMeshModel.cjs +0 -82
  535. package/webxr/XRHandMeshModel.js +0 -82
  536. package/webxr/XRHandModelFactory.cjs +0 -61
  537. package/webxr/XRHandModelFactory.js +0 -61
  538. package/webxr/XRHandPrimitiveModel.cjs +0 -68
  539. package/webxr/XRHandPrimitiveModel.js +0 -68
@@ -1,971 +0,0 @@
1
- import { Matrix4, Object3D, Vector3, EventDispatcher, BufferGeometry, Float32BufferAttribute, MathUtils, Matrix3, Color, Vector2, Box3, Sphere, BufferAttribute } from "three";
2
- const _m1 = /* @__PURE__ */ new Matrix4();
3
- const _obj = /* @__PURE__ */ new Object3D();
4
- const _offset = /* @__PURE__ */ new Vector3();
5
- class Geometry extends EventDispatcher {
6
- static createBufferGeometryFromObject(object) {
7
- let buffergeometry = new BufferGeometry();
8
- const geometry = object.geometry;
9
- if (object.isPoints || object.isLine) {
10
- const positions = new Float32BufferAttribute(geometry.vertices.length * 3, 3);
11
- const colors = new Float32BufferAttribute(geometry.colors.length * 3, 3);
12
- buffergeometry.setAttribute("position", positions.copyVector3sArray(geometry.vertices));
13
- buffergeometry.setAttribute("color", colors.copyColorsArray(geometry.colors));
14
- if (geometry.lineDistances && geometry.lineDistances.length === geometry.vertices.length) {
15
- const lineDistances = new Float32BufferAttribute(geometry.lineDistances.length, 1);
16
- buffergeometry.setAttribute("lineDistance", lineDistances.copyArray(geometry.lineDistances));
17
- }
18
- if (geometry.boundingSphere !== null) {
19
- buffergeometry.boundingSphere = geometry.boundingSphere.clone();
20
- }
21
- if (geometry.boundingBox !== null) {
22
- buffergeometry.boundingBox = geometry.boundingBox.clone();
23
- }
24
- } else if (object.isMesh) {
25
- buffergeometry = geometry.toBufferGeometry();
26
- }
27
- return buffergeometry;
28
- }
29
- constructor() {
30
- super();
31
- this.isGeometry = true;
32
- this.uuid = MathUtils.generateUUID();
33
- this.name = "";
34
- this.type = "Geometry";
35
- this.vertices = [];
36
- this.colors = [];
37
- this.faces = [];
38
- this.faceVertexUvs = [[]];
39
- this.morphTargets = [];
40
- this.morphNormals = [];
41
- this.skinWeights = [];
42
- this.skinIndices = [];
43
- this.lineDistances = [];
44
- this.boundingBox = null;
45
- this.boundingSphere = null;
46
- this.elementsNeedUpdate = false;
47
- this.verticesNeedUpdate = false;
48
- this.uvsNeedUpdate = false;
49
- this.normalsNeedUpdate = false;
50
- this.colorsNeedUpdate = false;
51
- this.lineDistancesNeedUpdate = false;
52
- this.groupsNeedUpdate = false;
53
- }
54
- applyMatrix4(matrix) {
55
- const normalMatrix = new Matrix3().getNormalMatrix(matrix);
56
- for (let i = 0, il = this.vertices.length; i < il; i++) {
57
- const vertex = this.vertices[i];
58
- vertex.applyMatrix4(matrix);
59
- }
60
- for (let i = 0, il = this.faces.length; i < il; i++) {
61
- const face = this.faces[i];
62
- face.normal.applyMatrix3(normalMatrix).normalize();
63
- for (let j = 0, jl = face.vertexNormals.length; j < jl; j++) {
64
- face.vertexNormals[j].applyMatrix3(normalMatrix).normalize();
65
- }
66
- }
67
- if (this.boundingBox !== null) {
68
- this.computeBoundingBox();
69
- }
70
- if (this.boundingSphere !== null) {
71
- this.computeBoundingSphere();
72
- }
73
- this.verticesNeedUpdate = true;
74
- this.normalsNeedUpdate = true;
75
- return this;
76
- }
77
- rotateX(angle) {
78
- _m1.makeRotationX(angle);
79
- this.applyMatrix4(_m1);
80
- return this;
81
- }
82
- rotateY(angle) {
83
- _m1.makeRotationY(angle);
84
- this.applyMatrix4(_m1);
85
- return this;
86
- }
87
- rotateZ(angle) {
88
- _m1.makeRotationZ(angle);
89
- this.applyMatrix4(_m1);
90
- return this;
91
- }
92
- translate(x, y, z) {
93
- _m1.makeTranslation(x, y, z);
94
- this.applyMatrix4(_m1);
95
- return this;
96
- }
97
- scale(x, y, z) {
98
- _m1.makeScale(x, y, z);
99
- this.applyMatrix4(_m1);
100
- return this;
101
- }
102
- lookAt(vector) {
103
- _obj.lookAt(vector);
104
- _obj.updateMatrix();
105
- this.applyMatrix4(_obj.matrix);
106
- return this;
107
- }
108
- fromBufferGeometry(geometry) {
109
- const scope = this;
110
- const index = geometry.index !== null ? geometry.index : void 0;
111
- const attributes = geometry.attributes;
112
- if (attributes.position === void 0) {
113
- console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.");
114
- return this;
115
- }
116
- const position = attributes.position;
117
- const normal = attributes.normal;
118
- const color = attributes.color;
119
- const uv = attributes.uv;
120
- const uv2 = attributes.uv2;
121
- if (uv2 !== void 0)
122
- this.faceVertexUvs[1] = [];
123
- for (let i = 0; i < position.count; i++) {
124
- scope.vertices.push(new Vector3().fromBufferAttribute(position, i));
125
- if (color !== void 0) {
126
- scope.colors.push(new Color().fromBufferAttribute(color, i));
127
- }
128
- }
129
- function addFace(a, b, c, materialIndex) {
130
- const vertexColors = color === void 0 ? [] : [scope.colors[a].clone(), scope.colors[b].clone(), scope.colors[c].clone()];
131
- const vertexNormals = normal === void 0 ? [] : [
132
- new Vector3().fromBufferAttribute(normal, a),
133
- new Vector3().fromBufferAttribute(normal, b),
134
- new Vector3().fromBufferAttribute(normal, c)
135
- ];
136
- const face = new Face3(a, b, c, vertexNormals, vertexColors, materialIndex);
137
- scope.faces.push(face);
138
- if (uv !== void 0) {
139
- scope.faceVertexUvs[0].push([
140
- new Vector2().fromBufferAttribute(uv, a),
141
- new Vector2().fromBufferAttribute(uv, b),
142
- new Vector2().fromBufferAttribute(uv, c)
143
- ]);
144
- }
145
- if (uv2 !== void 0) {
146
- scope.faceVertexUvs[1].push([
147
- new Vector2().fromBufferAttribute(uv2, a),
148
- new Vector2().fromBufferAttribute(uv2, b),
149
- new Vector2().fromBufferAttribute(uv2, c)
150
- ]);
151
- }
152
- }
153
- const groups = geometry.groups;
154
- if (groups.length > 0) {
155
- for (let i = 0; i < groups.length; i++) {
156
- const group = groups[i];
157
- const start = group.start;
158
- const count = group.count;
159
- for (let j = start, jl = start + count; j < jl; j += 3) {
160
- if (index !== void 0) {
161
- addFace(index.getX(j), index.getX(j + 1), index.getX(j + 2), group.materialIndex);
162
- } else {
163
- addFace(j, j + 1, j + 2, group.materialIndex);
164
- }
165
- }
166
- }
167
- } else {
168
- if (index !== void 0) {
169
- for (let i = 0; i < index.count; i += 3) {
170
- addFace(index.getX(i), index.getX(i + 1), index.getX(i + 2));
171
- }
172
- } else {
173
- for (let i = 0; i < position.count; i += 3) {
174
- addFace(i, i + 1, i + 2);
175
- }
176
- }
177
- }
178
- this.computeFaceNormals();
179
- if (geometry.boundingBox !== null) {
180
- this.boundingBox = geometry.boundingBox.clone();
181
- }
182
- if (geometry.boundingSphere !== null) {
183
- this.boundingSphere = geometry.boundingSphere.clone();
184
- }
185
- return this;
186
- }
187
- center() {
188
- this.computeBoundingBox();
189
- this.boundingBox.getCenter(_offset).negate();
190
- this.translate(_offset.x, _offset.y, _offset.z);
191
- return this;
192
- }
193
- normalize() {
194
- this.computeBoundingSphere();
195
- const center = this.boundingSphere.center;
196
- const radius = this.boundingSphere.radius;
197
- const s = radius === 0 ? 1 : 1 / radius;
198
- const matrix = new Matrix4();
199
- matrix.set(s, 0, 0, -s * center.x, 0, s, 0, -s * center.y, 0, 0, s, -s * center.z, 0, 0, 0, 1);
200
- this.applyMatrix4(matrix);
201
- return this;
202
- }
203
- computeFaceNormals() {
204
- const cb = new Vector3(), ab = new Vector3();
205
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
206
- const face = this.faces[f];
207
- const vA = this.vertices[face.a];
208
- const vB = this.vertices[face.b];
209
- const vC = this.vertices[face.c];
210
- cb.subVectors(vC, vB);
211
- ab.subVectors(vA, vB);
212
- cb.cross(ab);
213
- cb.normalize();
214
- face.normal.copy(cb);
215
- }
216
- }
217
- computeVertexNormals(areaWeighted = true) {
218
- const vertices = new Array(this.vertices.length);
219
- for (let v = 0, vl = this.vertices.length; v < vl; v++) {
220
- vertices[v] = new Vector3();
221
- }
222
- if (areaWeighted) {
223
- const cb = new Vector3(), ab = new Vector3();
224
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
225
- const face = this.faces[f];
226
- const vA = this.vertices[face.a];
227
- const vB = this.vertices[face.b];
228
- const vC = this.vertices[face.c];
229
- cb.subVectors(vC, vB);
230
- ab.subVectors(vA, vB);
231
- cb.cross(ab);
232
- vertices[face.a].add(cb);
233
- vertices[face.b].add(cb);
234
- vertices[face.c].add(cb);
235
- }
236
- } else {
237
- this.computeFaceNormals();
238
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
239
- const face = this.faces[f];
240
- vertices[face.a].add(face.normal);
241
- vertices[face.b].add(face.normal);
242
- vertices[face.c].add(face.normal);
243
- }
244
- }
245
- for (let v = 0, vl = this.vertices.length; v < vl; v++) {
246
- vertices[v].normalize();
247
- }
248
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
249
- const face = this.faces[f];
250
- const vertexNormals = face.vertexNormals;
251
- if (vertexNormals.length === 3) {
252
- vertexNormals[0].copy(vertices[face.a]);
253
- vertexNormals[1].copy(vertices[face.b]);
254
- vertexNormals[2].copy(vertices[face.c]);
255
- } else {
256
- vertexNormals[0] = vertices[face.a].clone();
257
- vertexNormals[1] = vertices[face.b].clone();
258
- vertexNormals[2] = vertices[face.c].clone();
259
- }
260
- }
261
- if (this.faces.length > 0) {
262
- this.normalsNeedUpdate = true;
263
- }
264
- }
265
- computeFlatVertexNormals() {
266
- this.computeFaceNormals();
267
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
268
- const face = this.faces[f];
269
- const vertexNormals = face.vertexNormals;
270
- if (vertexNormals.length === 3) {
271
- vertexNormals[0].copy(face.normal);
272
- vertexNormals[1].copy(face.normal);
273
- vertexNormals[2].copy(face.normal);
274
- } else {
275
- vertexNormals[0] = face.normal.clone();
276
- vertexNormals[1] = face.normal.clone();
277
- vertexNormals[2] = face.normal.clone();
278
- }
279
- }
280
- if (this.faces.length > 0) {
281
- this.normalsNeedUpdate = true;
282
- }
283
- }
284
- computeMorphNormals() {
285
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
286
- const face = this.faces[f];
287
- if (!face.__originalFaceNormal) {
288
- face.__originalFaceNormal = face.normal.clone();
289
- } else {
290
- face.__originalFaceNormal.copy(face.normal);
291
- }
292
- if (!face.__originalVertexNormals)
293
- face.__originalVertexNormals = [];
294
- for (let i = 0, il = face.vertexNormals.length; i < il; i++) {
295
- if (!face.__originalVertexNormals[i]) {
296
- face.__originalVertexNormals[i] = face.vertexNormals[i].clone();
297
- } else {
298
- face.__originalVertexNormals[i].copy(face.vertexNormals[i]);
299
- }
300
- }
301
- }
302
- const tmpGeo = new Geometry();
303
- tmpGeo.faces = this.faces;
304
- for (let i = 0, il = this.morphTargets.length; i < il; i++) {
305
- if (!this.morphNormals[i]) {
306
- this.morphNormals[i] = {};
307
- this.morphNormals[i].faceNormals = [];
308
- this.morphNormals[i].vertexNormals = [];
309
- const dstNormalsFace = this.morphNormals[i].faceNormals;
310
- const dstNormalsVertex = this.morphNormals[i].vertexNormals;
311
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
312
- const faceNormal = new Vector3();
313
- const vertexNormals = {
314
- a: new Vector3(),
315
- b: new Vector3(),
316
- c: new Vector3()
317
- };
318
- dstNormalsFace.push(faceNormal);
319
- dstNormalsVertex.push(vertexNormals);
320
- }
321
- }
322
- const morphNormals = this.morphNormals[i];
323
- tmpGeo.vertices = this.morphTargets[i].vertices;
324
- tmpGeo.computeFaceNormals();
325
- tmpGeo.computeVertexNormals();
326
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
327
- const face = this.faces[f];
328
- const faceNormal = morphNormals.faceNormals[f];
329
- const vertexNormals = morphNormals.vertexNormals[f];
330
- faceNormal.copy(face.normal);
331
- vertexNormals.a.copy(face.vertexNormals[0]);
332
- vertexNormals.b.copy(face.vertexNormals[1]);
333
- vertexNormals.c.copy(face.vertexNormals[2]);
334
- }
335
- }
336
- for (let f = 0, fl = this.faces.length; f < fl; f++) {
337
- const face = this.faces[f];
338
- face.normal = face.__originalFaceNormal;
339
- face.vertexNormals = face.__originalVertexNormals;
340
- }
341
- }
342
- computeBoundingBox() {
343
- if (this.boundingBox === null) {
344
- this.boundingBox = new Box3();
345
- }
346
- this.boundingBox.setFromPoints(this.vertices);
347
- }
348
- computeBoundingSphere() {
349
- if (this.boundingSphere === null) {
350
- this.boundingSphere = new Sphere();
351
- }
352
- this.boundingSphere.setFromPoints(this.vertices);
353
- }
354
- merge(geometry, matrix, materialIndexOffset = 0) {
355
- if (!(geometry && geometry.isGeometry)) {
356
- console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.", geometry);
357
- return;
358
- }
359
- let normalMatrix;
360
- const vertexOffset = this.vertices.length, vertices1 = this.vertices, vertices2 = geometry.vertices, faces1 = this.faces, faces2 = geometry.faces, colors1 = this.colors, colors2 = geometry.colors;
361
- if (matrix !== void 0) {
362
- normalMatrix = new Matrix3().getNormalMatrix(matrix);
363
- }
364
- for (let i = 0, il = vertices2.length; i < il; i++) {
365
- const vertex = vertices2[i];
366
- const vertexCopy = vertex.clone();
367
- if (matrix !== void 0)
368
- vertexCopy.applyMatrix4(matrix);
369
- vertices1.push(vertexCopy);
370
- }
371
- for (let i = 0, il = colors2.length; i < il; i++) {
372
- colors1.push(colors2[i].clone());
373
- }
374
- for (let i = 0, il = faces2.length; i < il; i++) {
375
- const face = faces2[i];
376
- let normal, color;
377
- const faceVertexNormals = face.vertexNormals, faceVertexColors = face.vertexColors;
378
- const faceCopy = new Face3(face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset);
379
- faceCopy.normal.copy(face.normal);
380
- if (normalMatrix !== void 0) {
381
- faceCopy.normal.applyMatrix3(normalMatrix).normalize();
382
- }
383
- for (let j = 0, jl = faceVertexNormals.length; j < jl; j++) {
384
- normal = faceVertexNormals[j].clone();
385
- if (normalMatrix !== void 0) {
386
- normal.applyMatrix3(normalMatrix).normalize();
387
- }
388
- faceCopy.vertexNormals.push(normal);
389
- }
390
- faceCopy.color.copy(face.color);
391
- for (let j = 0, jl = faceVertexColors.length; j < jl; j++) {
392
- color = faceVertexColors[j];
393
- faceCopy.vertexColors.push(color.clone());
394
- }
395
- faceCopy.materialIndex = face.materialIndex + materialIndexOffset;
396
- faces1.push(faceCopy);
397
- }
398
- for (let i = 0, il = geometry.faceVertexUvs.length; i < il; i++) {
399
- const faceVertexUvs2 = geometry.faceVertexUvs[i];
400
- if (this.faceVertexUvs[i] === void 0)
401
- this.faceVertexUvs[i] = [];
402
- for (let j = 0, jl = faceVertexUvs2.length; j < jl; j++) {
403
- const uvs2 = faceVertexUvs2[j], uvsCopy = [];
404
- for (let k = 0, kl = uvs2.length; k < kl; k++) {
405
- uvsCopy.push(uvs2[k].clone());
406
- }
407
- this.faceVertexUvs[i].push(uvsCopy);
408
- }
409
- }
410
- }
411
- mergeMesh(mesh) {
412
- if (!(mesh && mesh.isMesh)) {
413
- console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.", mesh);
414
- return;
415
- }
416
- if (mesh.matrixAutoUpdate)
417
- mesh.updateMatrix();
418
- this.merge(mesh.geometry, mesh.matrix);
419
- }
420
- /*
421
- * Checks for duplicate vertices with hashmap.
422
- * Duplicated vertices are removed
423
- * and faces' vertices are updated.
424
- */
425
- mergeVertices(precisionPoints = 4) {
426
- const verticesMap = {};
427
- const unique = [], changes = [];
428
- const precision = Math.pow(10, precisionPoints);
429
- for (let i = 0, il = this.vertices.length; i < il; i++) {
430
- const v = this.vertices[i];
431
- const key = `${Math.round(v.x * precision)}_${Math.round(v.y * precision)}_${Math.round(v.z * precision)}`;
432
- if (verticesMap[key] === void 0) {
433
- verticesMap[key] = i;
434
- unique.push(this.vertices[i]);
435
- changes[i] = unique.length - 1;
436
- } else {
437
- changes[i] = changes[verticesMap[key]];
438
- }
439
- }
440
- const faceIndicesToRemove = [];
441
- for (let i = 0, il = this.faces.length; i < il; i++) {
442
- const face = this.faces[i];
443
- face.a = changes[face.a];
444
- face.b = changes[face.b];
445
- face.c = changes[face.c];
446
- const indices = [face.a, face.b, face.c];
447
- for (let n = 0; n < 3; n++) {
448
- if (indices[n] === indices[(n + 1) % 3]) {
449
- faceIndicesToRemove.push(i);
450
- break;
451
- }
452
- }
453
- }
454
- for (let i = faceIndicesToRemove.length - 1; i >= 0; i--) {
455
- const idx = faceIndicesToRemove[i];
456
- this.faces.splice(idx, 1);
457
- for (let j = 0, jl = this.faceVertexUvs.length; j < jl; j++) {
458
- this.faceVertexUvs[j].splice(idx, 1);
459
- }
460
- }
461
- const diff = this.vertices.length - unique.length;
462
- this.vertices = unique;
463
- return diff;
464
- }
465
- setFromPoints(points) {
466
- this.vertices = [];
467
- for (let i = 0, l = points.length; i < l; i++) {
468
- const point = points[i];
469
- this.vertices.push(new Vector3(point.x, point.y, point.z || 0));
470
- }
471
- return this;
472
- }
473
- sortFacesByMaterialIndex() {
474
- const faces = this.faces;
475
- const length = faces.length;
476
- for (let i = 0; i < length; i++) {
477
- faces[i]._id = i;
478
- }
479
- function materialIndexSort(a, b) {
480
- return a.materialIndex - b.materialIndex;
481
- }
482
- faces.sort(materialIndexSort);
483
- const uvs1 = this.faceVertexUvs[0];
484
- const uvs2 = this.faceVertexUvs[1];
485
- let newUvs1, newUvs2;
486
- if (uvs1 && uvs1.length === length)
487
- newUvs1 = [];
488
- if (uvs2 && uvs2.length === length)
489
- newUvs2 = [];
490
- for (let i = 0; i < length; i++) {
491
- const id = faces[i]._id;
492
- if (newUvs1)
493
- newUvs1.push(uvs1[id]);
494
- if (newUvs2)
495
- newUvs2.push(uvs2[id]);
496
- }
497
- if (newUvs1)
498
- this.faceVertexUvs[0] = newUvs1;
499
- if (newUvs2)
500
- this.faceVertexUvs[1] = newUvs2;
501
- }
502
- toJSON() {
503
- const data = {
504
- metadata: {
505
- version: 4.5,
506
- type: "Geometry",
507
- generator: "Geometry.toJSON"
508
- }
509
- };
510
- data.uuid = this.uuid;
511
- data.type = this.type;
512
- if (this.name !== "")
513
- data.name = this.name;
514
- if (this.parameters !== void 0) {
515
- const parameters = this.parameters;
516
- for (let key in parameters) {
517
- if (parameters[key] !== void 0)
518
- data[key] = parameters[key];
519
- }
520
- return data;
521
- }
522
- const vertices = [];
523
- for (let i = 0; i < this.vertices.length; i++) {
524
- const vertex = this.vertices[i];
525
- vertices.push(vertex.x, vertex.y, vertex.z);
526
- }
527
- const faces = [];
528
- const normals = [];
529
- const normalsHash = {};
530
- const colors = [];
531
- const colorsHash = {};
532
- const uvs = [];
533
- const uvsHash = {};
534
- for (let i = 0; i < this.faces.length; i++) {
535
- const face = this.faces[i];
536
- const hasMaterial = true;
537
- const hasFaceUv = false;
538
- const hasFaceVertexUv = this.faceVertexUvs[0][i] !== void 0;
539
- const hasFaceNormal = face.normal.length() > 0;
540
- const hasFaceVertexNormal = face.vertexNormals.length > 0;
541
- const hasFaceColor = face.color.r !== 1 || face.color.g !== 1 || face.color.b !== 1;
542
- const hasFaceVertexColor = face.vertexColors.length > 0;
543
- let faceType = 0;
544
- faceType = setBit(faceType, 0, 0);
545
- faceType = setBit(faceType, 1, hasMaterial);
546
- faceType = setBit(faceType, 2, hasFaceUv);
547
- faceType = setBit(faceType, 3, hasFaceVertexUv);
548
- faceType = setBit(faceType, 4, hasFaceNormal);
549
- faceType = setBit(faceType, 5, hasFaceVertexNormal);
550
- faceType = setBit(faceType, 6, hasFaceColor);
551
- faceType = setBit(faceType, 7, hasFaceVertexColor);
552
- faces.push(faceType);
553
- faces.push(face.a, face.b, face.c);
554
- faces.push(face.materialIndex);
555
- if (hasFaceVertexUv) {
556
- const faceVertexUvs = this.faceVertexUvs[0][i];
557
- faces.push(getUvIndex(faceVertexUvs[0]), getUvIndex(faceVertexUvs[1]), getUvIndex(faceVertexUvs[2]));
558
- }
559
- if (hasFaceNormal) {
560
- faces.push(getNormalIndex(face.normal));
561
- }
562
- if (hasFaceVertexNormal) {
563
- const vertexNormals = face.vertexNormals;
564
- faces.push(getNormalIndex(vertexNormals[0]), getNormalIndex(vertexNormals[1]), getNormalIndex(vertexNormals[2]));
565
- }
566
- if (hasFaceColor) {
567
- faces.push(getColorIndex(face.color));
568
- }
569
- if (hasFaceVertexColor) {
570
- const vertexColors = face.vertexColors;
571
- faces.push(getColorIndex(vertexColors[0]), getColorIndex(vertexColors[1]), getColorIndex(vertexColors[2]));
572
- }
573
- }
574
- function setBit(value, position, enabled) {
575
- return enabled ? value | 1 << position : value & ~(1 << position);
576
- }
577
- function getNormalIndex(normal) {
578
- const hash = normal.x.toString() + normal.y.toString() + normal.z.toString();
579
- if (normalsHash[hash] !== void 0) {
580
- return normalsHash[hash];
581
- }
582
- normalsHash[hash] = normals.length / 3;
583
- normals.push(normal.x, normal.y, normal.z);
584
- return normalsHash[hash];
585
- }
586
- function getColorIndex(color) {
587
- const hash = color.r.toString() + color.g.toString() + color.b.toString();
588
- if (colorsHash[hash] !== void 0) {
589
- return colorsHash[hash];
590
- }
591
- colorsHash[hash] = colors.length;
592
- colors.push(color.getHex());
593
- return colorsHash[hash];
594
- }
595
- function getUvIndex(uv) {
596
- const hash = uv.x.toString() + uv.y.toString();
597
- if (uvsHash[hash] !== void 0) {
598
- return uvsHash[hash];
599
- }
600
- uvsHash[hash] = uvs.length / 2;
601
- uvs.push(uv.x, uv.y);
602
- return uvsHash[hash];
603
- }
604
- data.data = {};
605
- data.data.vertices = vertices;
606
- data.data.normals = normals;
607
- if (colors.length > 0)
608
- data.data.colors = colors;
609
- if (uvs.length > 0)
610
- data.data.uvs = [uvs];
611
- data.data.faces = faces;
612
- return data;
613
- }
614
- clone() {
615
- return new Geometry().copy(this);
616
- }
617
- copy(source) {
618
- this.vertices = [];
619
- this.colors = [];
620
- this.faces = [];
621
- this.faceVertexUvs = [[]];
622
- this.morphTargets = [];
623
- this.morphNormals = [];
624
- this.skinWeights = [];
625
- this.skinIndices = [];
626
- this.lineDistances = [];
627
- this.boundingBox = null;
628
- this.boundingSphere = null;
629
- this.name = source.name;
630
- const vertices = source.vertices;
631
- for (let i = 0, il = vertices.length; i < il; i++) {
632
- this.vertices.push(vertices[i].clone());
633
- }
634
- const colors = source.colors;
635
- for (let i = 0, il = colors.length; i < il; i++) {
636
- this.colors.push(colors[i].clone());
637
- }
638
- const faces = source.faces;
639
- for (let i = 0, il = faces.length; i < il; i++) {
640
- this.faces.push(faces[i].clone());
641
- }
642
- for (let i = 0, il = source.faceVertexUvs.length; i < il; i++) {
643
- const faceVertexUvs = source.faceVertexUvs[i];
644
- if (this.faceVertexUvs[i] === void 0) {
645
- this.faceVertexUvs[i] = [];
646
- }
647
- for (let j = 0, jl = faceVertexUvs.length; j < jl; j++) {
648
- const uvs = faceVertexUvs[j], uvsCopy = [];
649
- for (let k = 0, kl = uvs.length; k < kl; k++) {
650
- const uv = uvs[k];
651
- uvsCopy.push(uv.clone());
652
- }
653
- this.faceVertexUvs[i].push(uvsCopy);
654
- }
655
- }
656
- const morphTargets = source.morphTargets;
657
- for (let i = 0, il = morphTargets.length; i < il; i++) {
658
- const morphTarget = {};
659
- morphTarget.name = morphTargets[i].name;
660
- if (morphTargets[i].vertices !== void 0) {
661
- morphTarget.vertices = [];
662
- for (let j = 0, jl = morphTargets[i].vertices.length; j < jl; j++) {
663
- morphTarget.vertices.push(morphTargets[i].vertices[j].clone());
664
- }
665
- }
666
- if (morphTargets[i].normals !== void 0) {
667
- morphTarget.normals = [];
668
- for (let j = 0, jl = morphTargets[i].normals.length; j < jl; j++) {
669
- morphTarget.normals.push(morphTargets[i].normals[j].clone());
670
- }
671
- }
672
- this.morphTargets.push(morphTarget);
673
- }
674
- const morphNormals = source.morphNormals;
675
- for (let i = 0, il = morphNormals.length; i < il; i++) {
676
- const morphNormal = {};
677
- if (morphNormals[i].vertexNormals !== void 0) {
678
- morphNormal.vertexNormals = [];
679
- for (let j = 0, jl = morphNormals[i].vertexNormals.length; j < jl; j++) {
680
- const srcVertexNormal = morphNormals[i].vertexNormals[j];
681
- const destVertexNormal = {};
682
- destVertexNormal.a = srcVertexNormal.a.clone();
683
- destVertexNormal.b = srcVertexNormal.b.clone();
684
- destVertexNormal.c = srcVertexNormal.c.clone();
685
- morphNormal.vertexNormals.push(destVertexNormal);
686
- }
687
- }
688
- if (morphNormals[i].faceNormals !== void 0) {
689
- morphNormal.faceNormals = [];
690
- for (let j = 0, jl = morphNormals[i].faceNormals.length; j < jl; j++) {
691
- morphNormal.faceNormals.push(morphNormals[i].faceNormals[j].clone());
692
- }
693
- }
694
- this.morphNormals.push(morphNormal);
695
- }
696
- const skinWeights = source.skinWeights;
697
- for (let i = 0, il = skinWeights.length; i < il; i++) {
698
- this.skinWeights.push(skinWeights[i].clone());
699
- }
700
- const skinIndices = source.skinIndices;
701
- for (let i = 0, il = skinIndices.length; i < il; i++) {
702
- this.skinIndices.push(skinIndices[i].clone());
703
- }
704
- const lineDistances = source.lineDistances;
705
- for (let i = 0, il = lineDistances.length; i < il; i++) {
706
- this.lineDistances.push(lineDistances[i]);
707
- }
708
- const boundingBox = source.boundingBox;
709
- if (boundingBox !== null) {
710
- this.boundingBox = boundingBox.clone();
711
- }
712
- const boundingSphere = source.boundingSphere;
713
- if (boundingSphere !== null) {
714
- this.boundingSphere = boundingSphere.clone();
715
- }
716
- this.elementsNeedUpdate = source.elementsNeedUpdate;
717
- this.verticesNeedUpdate = source.verticesNeedUpdate;
718
- this.uvsNeedUpdate = source.uvsNeedUpdate;
719
- this.normalsNeedUpdate = source.normalsNeedUpdate;
720
- this.colorsNeedUpdate = source.colorsNeedUpdate;
721
- this.lineDistancesNeedUpdate = source.lineDistancesNeedUpdate;
722
- this.groupsNeedUpdate = source.groupsNeedUpdate;
723
- return this;
724
- }
725
- toBufferGeometry() {
726
- const geometry = new DirectGeometry().fromGeometry(this);
727
- const buffergeometry = new BufferGeometry();
728
- const positions = new Float32Array(geometry.vertices.length * 3);
729
- buffergeometry.setAttribute("position", new BufferAttribute(positions, 3).copyVector3sArray(geometry.vertices));
730
- if (geometry.normals.length > 0) {
731
- const normals = new Float32Array(geometry.normals.length * 3);
732
- buffergeometry.setAttribute("normal", new BufferAttribute(normals, 3).copyVector3sArray(geometry.normals));
733
- }
734
- if (geometry.colors.length > 0) {
735
- const colors = new Float32Array(geometry.colors.length * 3);
736
- buffergeometry.setAttribute("color", new BufferAttribute(colors, 3).copyColorsArray(geometry.colors));
737
- }
738
- if (geometry.uvs.length > 0) {
739
- const uvs = new Float32Array(geometry.uvs.length * 2);
740
- buffergeometry.setAttribute("uv", new BufferAttribute(uvs, 2).copyVector2sArray(geometry.uvs));
741
- }
742
- if (geometry.uvs2.length > 0) {
743
- const uvs2 = new Float32Array(geometry.uvs2.length * 2);
744
- buffergeometry.setAttribute("uv2", new BufferAttribute(uvs2, 2).copyVector2sArray(geometry.uvs2));
745
- }
746
- buffergeometry.groups = geometry.groups;
747
- for (let name in geometry.morphTargets) {
748
- const array = [];
749
- const morphTargets = geometry.morphTargets[name];
750
- for (let i = 0, l = morphTargets.length; i < l; i++) {
751
- const morphTarget = morphTargets[i];
752
- const attribute = new Float32BufferAttribute(morphTarget.data.length * 3, 3);
753
- attribute.name = morphTarget.name;
754
- array.push(attribute.copyVector3sArray(morphTarget.data));
755
- }
756
- buffergeometry.morphAttributes[name] = array;
757
- }
758
- if (geometry.skinIndices.length > 0) {
759
- const skinIndices = new Float32BufferAttribute(geometry.skinIndices.length * 4, 4);
760
- buffergeometry.setAttribute("skinIndex", skinIndices.copyVector4sArray(geometry.skinIndices));
761
- }
762
- if (geometry.skinWeights.length > 0) {
763
- const skinWeights = new Float32BufferAttribute(geometry.skinWeights.length * 4, 4);
764
- buffergeometry.setAttribute("skinWeight", skinWeights.copyVector4sArray(geometry.skinWeights));
765
- }
766
- if (geometry.boundingSphere !== null) {
767
- buffergeometry.boundingSphere = geometry.boundingSphere.clone();
768
- }
769
- if (geometry.boundingBox !== null) {
770
- buffergeometry.boundingBox = geometry.boundingBox.clone();
771
- }
772
- return buffergeometry;
773
- }
774
- computeTangents() {
775
- console.error("THREE.Geometry: .computeTangents() has been removed.");
776
- }
777
- computeLineDistances() {
778
- console.error(
779
- "THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead."
780
- );
781
- }
782
- applyMatrix(matrix) {
783
- console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");
784
- return this.applyMatrix4(matrix);
785
- }
786
- dispose() {
787
- this.dispatchEvent({ type: "dispose" });
788
- }
789
- }
790
- class DirectGeometry {
791
- constructor() {
792
- this.vertices = [];
793
- this.normals = [];
794
- this.colors = [];
795
- this.uvs = [];
796
- this.uvs2 = [];
797
- this.groups = [];
798
- this.morphTargets = {};
799
- this.skinWeights = [];
800
- this.skinIndices = [];
801
- this.boundingBox = null;
802
- this.boundingSphere = null;
803
- this.verticesNeedUpdate = false;
804
- this.normalsNeedUpdate = false;
805
- this.colorsNeedUpdate = false;
806
- this.uvsNeedUpdate = false;
807
- this.groupsNeedUpdate = false;
808
- }
809
- computeGroups(geometry) {
810
- const groups = [];
811
- let group, i;
812
- let materialIndex = void 0;
813
- const faces = geometry.faces;
814
- for (i = 0; i < faces.length; i++) {
815
- const face = faces[i];
816
- if (face.materialIndex !== materialIndex) {
817
- materialIndex = face.materialIndex;
818
- if (group !== void 0) {
819
- group.count = i * 3 - group.start;
820
- groups.push(group);
821
- }
822
- group = {
823
- start: i * 3,
824
- materialIndex
825
- };
826
- }
827
- }
828
- if (group !== void 0) {
829
- group.count = i * 3 - group.start;
830
- groups.push(group);
831
- }
832
- this.groups = groups;
833
- }
834
- fromGeometry(geometry) {
835
- const faces = geometry.faces;
836
- const vertices = geometry.vertices;
837
- const faceVertexUvs = geometry.faceVertexUvs;
838
- const hasFaceVertexUv = faceVertexUvs[0] && faceVertexUvs[0].length > 0;
839
- const hasFaceVertexUv2 = faceVertexUvs[1] && faceVertexUvs[1].length > 0;
840
- const morphTargets = geometry.morphTargets;
841
- const morphTargetsLength = morphTargets.length;
842
- let morphTargetsPosition;
843
- if (morphTargetsLength > 0) {
844
- morphTargetsPosition = [];
845
- for (let i = 0; i < morphTargetsLength; i++) {
846
- morphTargetsPosition[i] = {
847
- name: morphTargets[i].name,
848
- data: []
849
- };
850
- }
851
- this.morphTargets.position = morphTargetsPosition;
852
- }
853
- const morphNormals = geometry.morphNormals;
854
- const morphNormalsLength = morphNormals.length;
855
- let morphTargetsNormal;
856
- if (morphNormalsLength > 0) {
857
- morphTargetsNormal = [];
858
- for (let i = 0; i < morphNormalsLength; i++) {
859
- morphTargetsNormal[i] = {
860
- name: morphNormals[i].name,
861
- data: []
862
- };
863
- }
864
- this.morphTargets.normal = morphTargetsNormal;
865
- }
866
- const skinIndices = geometry.skinIndices;
867
- const skinWeights = geometry.skinWeights;
868
- const hasSkinIndices = skinIndices.length === vertices.length;
869
- const hasSkinWeights = skinWeights.length === vertices.length;
870
- if (vertices.length > 0 && faces.length === 0) {
871
- console.error("THREE.DirectGeometry: Faceless geometries are not supported.");
872
- }
873
- for (let i = 0; i < faces.length; i++) {
874
- const face = faces[i];
875
- this.vertices.push(vertices[face.a], vertices[face.b], vertices[face.c]);
876
- const vertexNormals = face.vertexNormals;
877
- if (vertexNormals.length === 3) {
878
- this.normals.push(vertexNormals[0], vertexNormals[1], vertexNormals[2]);
879
- } else {
880
- const normal = face.normal;
881
- this.normals.push(normal, normal, normal);
882
- }
883
- const vertexColors = face.vertexColors;
884
- if (vertexColors.length === 3) {
885
- this.colors.push(vertexColors[0], vertexColors[1], vertexColors[2]);
886
- } else {
887
- const color = face.color;
888
- this.colors.push(color, color, color);
889
- }
890
- if (hasFaceVertexUv === true) {
891
- const vertexUvs = faceVertexUvs[0][i];
892
- if (vertexUvs !== void 0) {
893
- this.uvs.push(vertexUvs[0], vertexUvs[1], vertexUvs[2]);
894
- } else {
895
- console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ", i);
896
- this.uvs.push(new Vector2(), new Vector2(), new Vector2());
897
- }
898
- }
899
- if (hasFaceVertexUv2 === true) {
900
- const vertexUvs = faceVertexUvs[1][i];
901
- if (vertexUvs !== void 0) {
902
- this.uvs2.push(vertexUvs[0], vertexUvs[1], vertexUvs[2]);
903
- } else {
904
- console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ", i);
905
- this.uvs2.push(new Vector2(), new Vector2(), new Vector2());
906
- }
907
- }
908
- for (let j = 0; j < morphTargetsLength; j++) {
909
- const morphTarget = morphTargets[j].vertices;
910
- morphTargetsPosition[j].data.push(morphTarget[face.a], morphTarget[face.b], morphTarget[face.c]);
911
- }
912
- for (let j = 0; j < morphNormalsLength; j++) {
913
- const morphNormal = morphNormals[j].vertexNormals[i];
914
- morphTargetsNormal[j].data.push(morphNormal.a, morphNormal.b, morphNormal.c);
915
- }
916
- if (hasSkinIndices) {
917
- this.skinIndices.push(skinIndices[face.a], skinIndices[face.b], skinIndices[face.c]);
918
- }
919
- if (hasSkinWeights) {
920
- this.skinWeights.push(skinWeights[face.a], skinWeights[face.b], skinWeights[face.c]);
921
- }
922
- }
923
- this.computeGroups(geometry);
924
- this.verticesNeedUpdate = geometry.verticesNeedUpdate;
925
- this.normalsNeedUpdate = geometry.normalsNeedUpdate;
926
- this.colorsNeedUpdate = geometry.colorsNeedUpdate;
927
- this.uvsNeedUpdate = geometry.uvsNeedUpdate;
928
- this.groupsNeedUpdate = geometry.groupsNeedUpdate;
929
- if (geometry.boundingSphere !== null) {
930
- this.boundingSphere = geometry.boundingSphere.clone();
931
- }
932
- if (geometry.boundingBox !== null) {
933
- this.boundingBox = geometry.boundingBox.clone();
934
- }
935
- return this;
936
- }
937
- }
938
- class Face3 {
939
- constructor(a, b, c, normal, color, materialIndex = 0) {
940
- this.a = a;
941
- this.b = b;
942
- this.c = c;
943
- this.normal = normal && normal.isVector3 ? normal : new Vector3();
944
- this.vertexNormals = Array.isArray(normal) ? normal : [];
945
- this.color = color && color.isColor ? color : new Color();
946
- this.vertexColors = Array.isArray(color) ? color : [];
947
- this.materialIndex = materialIndex;
948
- }
949
- clone() {
950
- return new this.constructor().copy(this);
951
- }
952
- copy(source) {
953
- this.a = source.a;
954
- this.b = source.b;
955
- this.c = source.c;
956
- this.normal.copy(source.normal);
957
- this.color.copy(source.color);
958
- this.materialIndex = source.materialIndex;
959
- for (let i = 0, il = source.vertexNormals.length; i < il; i++) {
960
- this.vertexNormals[i] = source.vertexNormals[i].clone();
961
- }
962
- for (let i = 0, il = source.vertexColors.length; i < il; i++) {
963
- this.vertexColors[i] = source.vertexColors[i].clone();
964
- }
965
- return this;
966
- }
967
- }
968
- export {
969
- Face3,
970
- Geometry
971
- };