three-stdlib 2.14.3 → 2.15.1
Sign up to get free protection for your applications and to get access to all the features.
- package/csm/CSM.cjs.js +1 -1
- package/csm/CSM.js +8 -8
- package/csm/CSMFrustum.cjs.js +1 -0
- package/csm/CSMFrustum.d.ts +19 -0
- package/csm/{Frustum.js → CSMFrustum.js} +8 -7
- package/csm/CSMShader.cjs.js +1 -0
- package/csm/CSMShader.d.ts +4 -0
- package/csm/{Shader.js → CSMShader.js} +52 -36
- package/curves/CurveExtras.d.ts +52 -54
- package/geometries/ConvexGeometry.cjs.js +1 -1
- package/geometries/ConvexGeometry.js +1 -1
- package/geometries/ParametricGeometries.cjs.js +1 -1
- package/geometries/ParametricGeometries.js +91 -99
- package/geometries/ParametricGeometry.cjs.js +1 -0
- package/geometries/ParametricGeometry.d.ts +18 -0
- package/geometries/ParametricGeometry.js +87 -0
- package/index.cjs.js +1 -1
- package/index.d.ts +57 -77
- package/index.js +55 -52
- package/interactive/InteractiveGroup.cjs.js +1 -0
- package/interactive/InteractiveGroup.d.ts +5 -0
- package/interactive/InteractiveGroup.js +87 -0
- package/loaders/GLTFLoader.d.ts +2 -9
- package/loaders/LUT3dlLoader.d.ts +2 -2
- package/loaders/LUTCubeLoader.d.ts +2 -2
- package/loaders/VOXLoader.d.ts +2 -2
- package/math/ConvexHull.cjs.js +1 -1
- package/math/ConvexHull.js +639 -603
- package/objects/Reflector.d.ts +1 -0
- package/objects/ReflectorForSSRPass.d.ts +4 -4
- package/objects/Refractor.d.ts +1 -0
- package/objects/Water2.d.ts +1 -1
- package/package.json +2 -1
- package/postprocessing/LUTPass.d.ts +3 -3
- package/postprocessing/SSAARenderPass.d.ts +1 -1
- package/postprocessing/SSRPass.d.ts +3 -3
- package/shaders/BokehShader2.d.ts +27 -72
- package/shaders/BokehShader2.js +0 -1
- package/csm/Frustum.cjs.js +0 -1
- package/csm/Shader.cjs.js +0 -1
- package/loaders/VRMLoader.d.ts +0 -19
- package/nodes/Nodes.d.ts +0 -106
- package/nodes/accessors/CameraNode.d.ts +0 -29
- package/nodes/accessors/NormalNode.d.ts +0 -13
- package/nodes/accessors/PositionNode.d.ts +0 -15
- package/nodes/accessors/ReflectNode.d.ts +0 -12
- package/nodes/accessors/UVNode.d.ts +0 -10
- package/nodes/core/AttributeNode.d.ts +0 -13
- package/nodes/core/ConstNode.d.ts +0 -22
- package/nodes/core/ExpressionNode.d.ts +0 -5
- package/nodes/core/FunctionCallNode.d.ts +0 -17
- package/nodes/core/FunctionNode.d.ts +0 -28
- package/nodes/core/InputNode.d.ts +0 -12
- package/nodes/core/Node.d.ts +0 -34
- package/nodes/core/NodeBuilder.d.ts +0 -149
- package/nodes/core/NodeFrame.d.ts +0 -17
- package/nodes/core/NodeUniform.d.ts +0 -17
- package/nodes/core/NodeUtils.d.ts +0 -7
- package/nodes/core/TempNode.d.ts +0 -23
- package/nodes/core/VarNode.d.ts +0 -12
- package/nodes/materials/MeshStandardNodeMaterial.d.ts +0 -21
- package/nodes/materials/NodeMaterial.d.ts +0 -28
- package/nodes/math/CondNode.d.ts +0 -26
- package/nodes/math/MathNode.d.ts +0 -57
- package/nodes/math/OperatorNode.d.ts +0 -17
- package/nodes/procedural/CheckerNode.d.ts +0 -17
- package/nodes/utils/JoinNode.d.ts +0 -15
- package/nodes/utils/TimerNode.d.ts +0 -19
- package/objects/ReflectorRTT.d.ts +0 -6
- package/shaders/index.cjs.js +0 -1
- package/shaders/index.d.ts +0 -53
- package/shaders/index.js +0 -53
package/index.d.ts
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
export * from './offscreen/scene';
|
2
|
-
export * from './offscreen/offscreen';
|
3
|
-
export * from './offscreen/jank';
|
4
1
|
export * from './misc/MD2CharacterComplex';
|
5
2
|
export * from './misc/ConvexObjectBreaker';
|
6
3
|
export * from './misc/MorphBlendMesh';
|
@@ -13,73 +10,14 @@ export * from './misc/MD2Character';
|
|
13
10
|
export * from './misc/VolumeSlice';
|
14
11
|
export * from './misc/TubePainter';
|
15
12
|
export * from './misc/Volume';
|
16
|
-
export * from './misc/ProgressiveLightmap';
|
17
13
|
export * from './renderers/CSS2DRenderer';
|
18
|
-
export * from './renderers/nodes/core/constants';
|
19
|
-
export * from './renderers/nodes/core/NodeBuilder';
|
20
|
-
export * from './renderers/nodes/core/InputNode';
|
21
|
-
export * from './renderers/nodes/core/NodeUniform';
|
22
|
-
export * from './renderers/nodes/core/NodeVary';
|
23
|
-
export * from './renderers/nodes/core/NodeFrame';
|
24
|
-
export * from './renderers/nodes/core/Node';
|
25
|
-
export * from './renderers/nodes/core/NodeSlot';
|
26
|
-
export * from './renderers/nodes/core/NodeAttribute';
|
27
|
-
export * from './renderers/nodes/core/VaryNode';
|
28
|
-
export * from './renderers/nodes/core/AttributeNode';
|
29
|
-
export * from './renderers/nodes/accessors/CameraNode';
|
30
|
-
export * from './renderers/nodes/accessors/UVNode';
|
31
|
-
export * from './renderers/nodes/accessors/ModelNode';
|
32
|
-
export * from './renderers/nodes/accessors/NormalNode';
|
33
|
-
export * from './renderers/nodes/accessors/PositionNode';
|
34
|
-
export * from './renderers/nodes/accessors/ModelViewProjectionNode';
|
35
|
-
export * from './renderers/nodes/utils/SwitchNode';
|
36
|
-
export * from './renderers/nodes/utils/TimerNode';
|
37
|
-
export * from './renderers/nodes/math/OperatorNode';
|
38
|
-
export * from './renderers/nodes/math/MathNode';
|
39
|
-
export * from './renderers/nodes/inputs/ColorNode';
|
40
|
-
export * from './renderers/nodes/inputs/Vector3Node';
|
41
|
-
export * from './renderers/nodes/inputs/Matrix4Node';
|
42
|
-
export * from './renderers/nodes/inputs/TextureNode';
|
43
|
-
export * from './renderers/nodes/inputs/FloatNode';
|
44
|
-
export * from './renderers/nodes/inputs/Vector2Node';
|
45
|
-
export * from './renderers/nodes/inputs/Vector4Node';
|
46
|
-
export * from './renderers/nodes/inputs/Matrix3Node';
|
47
|
-
export * from './renderers/webgpu/constants';
|
48
|
-
export * from './renderers/webgpu/WebGPUTextures';
|
49
|
-
export * from './renderers/webgpu/WebGPUInfo';
|
50
|
-
export * from './renderers/webgpu/WebGPURenderLists';
|
51
|
-
export * from './renderers/webgpu/WebGPUTextureRenderer';
|
52
|
-
export * from './renderers/webgpu/WebGPURenderPipelines';
|
53
|
-
export * from './renderers/webgpu/WebGPUGeometries';
|
54
|
-
export * from './renderers/webgpu/nodes/WebGPUNodeBuilder';
|
55
|
-
export * from './renderers/webgpu/nodes/WebGPUNodeUniform';
|
56
|
-
export * from './renderers/webgpu/nodes/WebGPUNodeUniformsGroup';
|
57
|
-
export * from './renderers/webgpu/nodes/ShaderLib';
|
58
|
-
export * from './renderers/webgpu/nodes/WebGPUNodes';
|
59
|
-
export * from './renderers/webgpu/WebGPUBindings';
|
60
|
-
export * from './renderers/webgpu/WebGPUSampledTexture';
|
61
|
-
export * from './renderers/webgpu/WebGPU';
|
62
|
-
export * from './renderers/webgpu/WebGPUUniformsGroup';
|
63
|
-
export * from './renderers/webgpu/WebGPURenderer';
|
64
|
-
export * from './renderers/webgpu/WebGPUComputePipelines';
|
65
|
-
export * from './renderers/webgpu/WebGPUUniform';
|
66
|
-
export * from './renderers/webgpu/WebGPUObjects';
|
67
|
-
export * from './renderers/webgpu/WebGPUSampler';
|
68
|
-
export * from './renderers/webgpu/WebGPUBackground';
|
69
|
-
export * from './renderers/webgpu/WebGPUBinding';
|
70
|
-
export * from './renderers/webgpu/WebGPUProperties';
|
71
|
-
export * from './renderers/webgpu/WebGPUAttributes';
|
72
|
-
export * from './renderers/webgpu/WebGPUStorageBuffer';
|
73
|
-
export * from './renderers/webgpu/WebGPUTextureUtils';
|
74
14
|
export * from './renderers/CSS3DRenderer';
|
75
15
|
export * from './renderers/Projector';
|
76
16
|
export * from './renderers/SVGRenderer';
|
77
|
-
export * from './textures/FlakesTexture';
|
78
17
|
export * from './modifiers/CurveModifier';
|
79
18
|
export * from './modifiers/SimplifyModifier';
|
80
19
|
export * from './modifiers/EdgeSplitModifier';
|
81
20
|
export * from './modifiers/TessellateModifier';
|
82
|
-
export * from './nodes/Nodes';
|
83
21
|
export * from './exporters/GLTFExporter';
|
84
22
|
export * from './exporters/USDZExporter';
|
85
23
|
export * from './exporters/PLYExporter';
|
@@ -100,7 +38,6 @@ export * from './objects/Lensflare';
|
|
100
38
|
export * from './objects/Water';
|
101
39
|
export * from './objects/MarchingCubes';
|
102
40
|
export * from './objects/LightningStorm';
|
103
|
-
export * from './objects/ReflectorRTT';
|
104
41
|
export * from './objects/ReflectorForSSRPass';
|
105
42
|
export * from './objects/Sky';
|
106
43
|
export * from './objects/Water2';
|
@@ -108,7 +45,6 @@ export * from './objects/GroundProjectedEnv';
|
|
108
45
|
export * from './utils/SceneUtils';
|
109
46
|
export * from './utils/UVsDebug';
|
110
47
|
export * from './utils/GeometryUtils';
|
111
|
-
export * from './utils/RoughnessMipmapper';
|
112
48
|
export * from './utils/SkeletonUtils';
|
113
49
|
export * from './utils/ShadowMapViewer';
|
114
50
|
export * from './utils/BufferGeometryUtils';
|
@@ -158,7 +94,6 @@ export * from './postprocessing/TAARenderPass';
|
|
158
94
|
export * from './postprocessing/ShaderPass';
|
159
95
|
export * from './postprocessing/SSAARenderPass';
|
160
96
|
export * from './postprocessing/RenderPass';
|
161
|
-
export * from './postprocessing/RenderPixelatedPass';
|
162
97
|
export * from './postprocessing/BloomPass';
|
163
98
|
export * from './webxr/ARButton';
|
164
99
|
export * from './webxr/OculusHandModel';
|
@@ -171,6 +106,7 @@ export * from './webxr/XRHandMeshModel';
|
|
171
106
|
export * from './webxr/XRHandModelFactory';
|
172
107
|
export * from './webxr/XRHandPrimitiveModel';
|
173
108
|
export * from './geometries/ParametricGeometries';
|
109
|
+
export * from './geometries/ParametricGeometry';
|
174
110
|
export * from './geometries/ConvexGeometry';
|
175
111
|
export * from './geometries/LightningStrike';
|
176
112
|
export * from './geometries/RoundedBoxGeometry';
|
@@ -179,10 +115,63 @@ export * from './geometries/DecalGeometry';
|
|
179
115
|
export * from './geometries/TeapotGeometry';
|
180
116
|
export * from './geometries/TextGeometry';
|
181
117
|
export * from './csm/CSM';
|
182
|
-
export * from './csm/
|
118
|
+
export * from './csm/CSMFrustum';
|
183
119
|
export * from './csm/CSMHelper';
|
184
|
-
export * from './csm/
|
185
|
-
export * from './shaders';
|
120
|
+
export * from './csm/CSMShader';
|
121
|
+
export * from './shaders/types';
|
122
|
+
export * from './shaders/ACESFilmicToneMappingShader';
|
123
|
+
export * from './shaders/AfterimageShader';
|
124
|
+
export * from './shaders/BasicShader';
|
125
|
+
export * from './shaders/BleachBypassShader';
|
126
|
+
export * from './shaders/BlendShader';
|
127
|
+
export * from './shaders/BokehShader';
|
128
|
+
export { BokehShader2 } from './shaders/BokehShader2';
|
129
|
+
export type { BokehShaderUniforms as BokehShader2Uniforms } from './shaders/BokehShader2';
|
130
|
+
export * from './shaders/BrightnessContrastShader';
|
131
|
+
export * from './shaders/ColorCorrectionShader';
|
132
|
+
export * from './shaders/ColorifyShader';
|
133
|
+
export * from './shaders/ConvolutionShader';
|
134
|
+
export * from './shaders/CopyShader';
|
135
|
+
export * from './shaders/DOFMipMapShader';
|
136
|
+
export * from './shaders/DepthLimitedBlurShader';
|
137
|
+
export * from './shaders/DigitalGlitch';
|
138
|
+
export * from './shaders/DotScreenShader';
|
139
|
+
export * from './shaders/FXAAShader';
|
140
|
+
export * from './shaders/FilmShader';
|
141
|
+
export * from './shaders/FocusShader';
|
142
|
+
export * from './shaders/FreiChenShader';
|
143
|
+
export * from './shaders/FresnelShader';
|
144
|
+
export * from './shaders/GammaCorrectionShader';
|
145
|
+
export * from './shaders/GodRaysShader';
|
146
|
+
export * from './shaders/HalftoneShader';
|
147
|
+
export * from './shaders/HorizontalBlurShader';
|
148
|
+
export * from './shaders/HorizontalTiltShiftShader';
|
149
|
+
export * from './shaders/HueSaturationShader';
|
150
|
+
export * from './shaders/KaleidoShader';
|
151
|
+
export * from './shaders/LuminosityHighPassShader';
|
152
|
+
export * from './shaders/LuminosityShader';
|
153
|
+
export * from './shaders/MirrorShader';
|
154
|
+
export * from './shaders/NormalMapShader';
|
155
|
+
export * from './shaders/ParallaxShader';
|
156
|
+
export * from './shaders/PixelShader';
|
157
|
+
export * from './shaders/RGBShiftShader';
|
158
|
+
export * from './shaders/SAOShader';
|
159
|
+
export * from './shaders/SMAAShader';
|
160
|
+
export * from './shaders/SSAOShader';
|
161
|
+
export * from './shaders/SSRShader';
|
162
|
+
export * from './shaders/SepiaShader';
|
163
|
+
export * from './shaders/SobelOperatorShader';
|
164
|
+
export * from './shaders/SubsurfaceScatteringShader';
|
165
|
+
export * from './shaders/TechnicolorShader';
|
166
|
+
export * from './shaders/ToneMapShader';
|
167
|
+
export * from './shaders/ToonShader';
|
168
|
+
export * from './shaders/TriangleBlurShader';
|
169
|
+
export * from './shaders/UnpackDepthRGBAShader';
|
170
|
+
export * from './shaders/VerticalBlurShader';
|
171
|
+
export * from './shaders/VerticalTiltShiftShader';
|
172
|
+
export * from './shaders/VignetteShader';
|
173
|
+
export * from './shaders/VolumeShader';
|
174
|
+
export * from './shaders/WaterRefractionShader';
|
186
175
|
export * from './interactive/SelectionHelper';
|
187
176
|
export * from './interactive/SelectionBox';
|
188
177
|
export * from './physics/AmmoPhysics';
|
@@ -199,16 +188,13 @@ export * from './loaders/LUTCubeLoader';
|
|
199
188
|
export * from './loaders/NRRDLoader';
|
200
189
|
export * from './loaders/STLLoader';
|
201
190
|
export * from './loaders/MTLLoader';
|
202
|
-
export * from './loaders/XLoader';
|
203
191
|
export * from './loaders/BVHLoader';
|
204
192
|
export * from './loaders/KMZLoader';
|
205
|
-
export * from './loaders/VRMLoader';
|
206
193
|
export * from './loaders/VRMLLoader';
|
207
194
|
export * from './loaders/KTX2Loader';
|
208
195
|
export * from './loaders/LottieLoader';
|
209
196
|
export * from './loaders/TTFLoader';
|
210
197
|
export * from './loaders/RGBELoader';
|
211
|
-
export * from './loaders/AssimpLoader';
|
212
198
|
export * from './loaders/ColladaLoader';
|
213
199
|
export * from './loaders/MDDLoader';
|
214
200
|
export * from './loaders/EXRLoader';
|
@@ -223,9 +209,6 @@ export * from './loaders/BasisTextureLoader';
|
|
223
209
|
export * from './loaders/TDSLoader';
|
224
210
|
export * from './loaders/LDrawLoader';
|
225
211
|
export * from './loaders/GLTFLoader';
|
226
|
-
export * from './loaders/lwo/LWO3Parser';
|
227
|
-
export * from './loaders/lwo/LWO2Parser';
|
228
|
-
export * from './loaders/lwo/IFFParser';
|
229
212
|
export * from './loaders/SVGLoader';
|
230
213
|
export * from './loaders/3DMLoader';
|
231
214
|
export * from './loaders/OBJLoader';
|
@@ -240,7 +223,6 @@ export * from './loaders/PDBLoader';
|
|
240
223
|
export * from './loaders/PRWMLoader';
|
241
224
|
export * from './loaders/RGBMLoader';
|
242
225
|
export * from './loaders/VOXLoader';
|
243
|
-
export * from './loaders/NodeMaterialLoader';
|
244
226
|
export * from './loaders/PCDLoader';
|
245
227
|
export * from './loaders/LWOLoader';
|
246
228
|
export * from './loaders/PLYLoader';
|
@@ -263,5 +245,3 @@ export * from './curves/NURBSCurve';
|
|
263
245
|
export * from './curves/NURBSSurface';
|
264
246
|
export * from './curves/CurveExtras';
|
265
247
|
export * from './deprecated/Geometry';
|
266
|
-
export * from './libs/MeshoptDecoder';
|
267
|
-
export * from './libs/MotionControllers';
|
package/index.js
CHANGED
@@ -117,6 +117,7 @@ export { XRHandMeshModel } from './webxr/XRHandMeshModel.js';
|
|
117
117
|
export { XRHandModelFactory } from './webxr/XRHandModelFactory.js';
|
118
118
|
export { XRHandPrimitiveModel } from './webxr/XRHandPrimitiveModel.js';
|
119
119
|
export { ParametricGeometries } from './geometries/ParametricGeometries.js';
|
120
|
+
export { ParametricGeometry } from './geometries/ParametricGeometry.js';
|
120
121
|
export { ConvexGeometry } from './geometries/ConvexGeometry.js';
|
121
122
|
export { LightningStrike } from './geometries/LightningStrike.js';
|
122
123
|
export { RoundedBoxGeometry } from './geometries/RoundedBoxGeometry.js';
|
@@ -125,7 +126,61 @@ export { DecalGeometry, DecalVertex } from './geometries/DecalGeometry.js';
|
|
125
126
|
export { TeapotGeometry } from './geometries/TeapotGeometry.js';
|
126
127
|
export { TextGeometry as TextBufferGeometry, TextGeometry } from './geometries/TextGeometry.js';
|
127
128
|
export { CSM } from './csm/CSM.js';
|
129
|
+
export { CSMFrustum } from './csm/CSMFrustum.js';
|
128
130
|
export { CSMHelper } from './csm/CSMHelper.js';
|
131
|
+
export { CSMShader } from './csm/CSMShader.js';
|
132
|
+
export { ACESFilmicToneMappingShader } from './shaders/ACESFilmicToneMappingShader.js';
|
133
|
+
export { AfterimageShader } from './shaders/AfterimageShader.js';
|
134
|
+
export { BasicShader } from './shaders/BasicShader.js';
|
135
|
+
export { BleachBypassShader } from './shaders/BleachBypassShader.js';
|
136
|
+
export { BlendShader } from './shaders/BlendShader.js';
|
137
|
+
export { BokehShader } from './shaders/BokehShader.js';
|
138
|
+
export { BokehShader2 } from './shaders/BokehShader2.js';
|
139
|
+
export { BrightnessContrastShader } from './shaders/BrightnessContrastShader.js';
|
140
|
+
export { ColorCorrectionShader } from './shaders/ColorCorrectionShader.js';
|
141
|
+
export { ColorifyShader } from './shaders/ColorifyShader.js';
|
142
|
+
export { ConvolutionShader } from './shaders/ConvolutionShader.js';
|
143
|
+
export { CopyShader } from './shaders/CopyShader.js';
|
144
|
+
export { DOFMipMapShader } from './shaders/DOFMipMapShader.js';
|
145
|
+
export { BlurShaderUtils, DepthLimitedBlurShader } from './shaders/DepthLimitedBlurShader.js';
|
146
|
+
export { DigitalGlitch } from './shaders/DigitalGlitch.js';
|
147
|
+
export { DotScreenShader } from './shaders/DotScreenShader.js';
|
148
|
+
export { FXAAShader } from './shaders/FXAAShader.js';
|
149
|
+
export { FilmShader } from './shaders/FilmShader.js';
|
150
|
+
export { FocusShader } from './shaders/FocusShader.js';
|
151
|
+
export { FreiChenShader } from './shaders/FreiChenShader.js';
|
152
|
+
export { FresnelShader } from './shaders/FresnelShader.js';
|
153
|
+
export { GammaCorrectionShader } from './shaders/GammaCorrectionShader.js';
|
154
|
+
export { GodRaysCombineShader, GodRaysDepthMaskShader, GodRaysFakeSunShader, GodRaysGenerateShader } from './shaders/GodRaysShader.js';
|
155
|
+
export { HalftoneShader } from './shaders/HalftoneShader.js';
|
156
|
+
export { HorizontalBlurShader } from './shaders/HorizontalBlurShader.js';
|
157
|
+
export { HorizontalTiltShiftShader } from './shaders/HorizontalTiltShiftShader.js';
|
158
|
+
export { HueSaturationShader } from './shaders/HueSaturationShader.js';
|
159
|
+
export { KaleidoShader } from './shaders/KaleidoShader.js';
|
160
|
+
export { LuminosityHighPassShader } from './shaders/LuminosityHighPassShader.js';
|
161
|
+
export { LuminosityShader } from './shaders/LuminosityShader.js';
|
162
|
+
export { MirrorShader } from './shaders/MirrorShader.js';
|
163
|
+
export { NormalMapShader } from './shaders/NormalMapShader.js';
|
164
|
+
export { ParallaxShader } from './shaders/ParallaxShader.js';
|
165
|
+
export { PixelShader } from './shaders/PixelShader.js';
|
166
|
+
export { RGBShiftShader } from './shaders/RGBShiftShader.js';
|
167
|
+
export { SAOShader } from './shaders/SAOShader.js';
|
168
|
+
export { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from './shaders/SMAAShader.js';
|
169
|
+
export { SSAOBlurShader, SSAODepthShader, SSAOShader } from './shaders/SSAOShader.js';
|
170
|
+
export { SSRBlurShader, SSRDepthShader, SSRShader } from './shaders/SSRShader.js';
|
171
|
+
export { SepiaShader } from './shaders/SepiaShader.js';
|
172
|
+
export { SobelOperatorShader } from './shaders/SobelOperatorShader.js';
|
173
|
+
export { SubsurfaceScatteringShader } from './shaders/SubsurfaceScatteringShader.js';
|
174
|
+
export { TechnicolorShader } from './shaders/TechnicolorShader.js';
|
175
|
+
export { ToneMapShader } from './shaders/ToneMapShader.js';
|
176
|
+
export { ToonShader1, ToonShader2, ToonShaderDotted, ToonShaderHatching } from './shaders/ToonShader.js';
|
177
|
+
export { TriangleBlurShader } from './shaders/TriangleBlurShader.js';
|
178
|
+
export { UnpackDepthRGBAShader } from './shaders/UnpackDepthRGBAShader.js';
|
179
|
+
export { VerticalBlurShader } from './shaders/VerticalBlurShader.js';
|
180
|
+
export { VerticalTiltShiftShader } from './shaders/VerticalTiltShiftShader.js';
|
181
|
+
export { VignetteShader } from './shaders/VignetteShader.js';
|
182
|
+
export { VolumeRenderShader1 } from './shaders/VolumeShader.js';
|
183
|
+
export { WaterRefractionShader } from './shaders/WaterRefractionShader.js';
|
129
184
|
export { SelectionHelper } from './interactive/SelectionHelper.js';
|
130
185
|
export { SelectionBox } from './interactive/SelectionBox.js';
|
131
186
|
export { AmmoPhysics } from './physics/AmmoPhysics.js';
|
@@ -276,55 +331,3 @@ export { default as NodeObjectLoader } from './nodes/loaders/NodeObjectLoader.js
|
|
276
331
|
export { default as NodeMaterialLoader } from './nodes/loaders/NodeMaterialLoader.js';
|
277
332
|
export { BRDF_GGX, BRDF_Lambert, D_GGX, F_Schlick, PhysicalLightingModel, RE_Direct_Physical, V_GGX_SmithCorrelated, getDistanceAttenuation } from './nodes/functions/BSDFs.js';
|
278
333
|
export { EPSILON, INFINITY, ShaderNode, abs, acos, add, addTo, alphaTest, and, asin, assign, atan, attribute, bitAnd, bitOr, bitXor, bmat3, bmat4, bool, buffer, bvec2, bvec3, bvec4, cameraPosition, ceil, clamp, color, cond, cos, cross, dFdx, dFdy, degrees, diffuseColor, distance, div, dot, element, equal, exp, exp2, faceforward, float, floor, fract, greaterThan, greaterThanEqual, imat3, imat4, int, inversesqrt, invert, ivec2, ivec3, ivec4, join, label, length, lessThan, lessThanEqual, log, log2, mat3, mat4, max, metalness, min, mix, mod, mul, negate, nodeObject, normalGeometry, normalLocal, normalView, normalWorld, normalize, or, positionLocal, positionView, positionViewDirection, positionWorld, pow, pow2, pow3, pow4, radians, reflect, refract, remainder, roughness, round, sampler, saturate, shiftLeft, shiftRight, sign, sin, smoothstep, specularColor, sqrt, step, sub, tan, temp, texture, transformDirection, transformedNormalView, uint, umat3, umat4, uniform, uv, uvec2, uvec3, uvec4, vec2, vec3, vec4, viewMatrix, xor } from './nodes/ShaderNode.js';
|
279
|
-
export { ACESFilmicToneMappingShader } from './shaders/ACESFilmicToneMappingShader.js';
|
280
|
-
export { AfterimageShader } from './shaders/AfterimageShader.js';
|
281
|
-
export { BasicShader } from './shaders/BasicShader.js';
|
282
|
-
export { BleachBypassShader } from './shaders/BleachBypassShader.js';
|
283
|
-
export { BlendShader } from './shaders/BlendShader.js';
|
284
|
-
export { BokehShader } from './shaders/BokehShader.js';
|
285
|
-
export { BokehDepthShader, BokehShader2 } from './shaders/BokehShader2.js';
|
286
|
-
export { BrightnessContrastShader } from './shaders/BrightnessContrastShader.js';
|
287
|
-
export { ColorCorrectionShader } from './shaders/ColorCorrectionShader.js';
|
288
|
-
export { ColorifyShader } from './shaders/ColorifyShader.js';
|
289
|
-
export { ConvolutionShader } from './shaders/ConvolutionShader.js';
|
290
|
-
export { CopyShader } from './shaders/CopyShader.js';
|
291
|
-
export { DOFMipMapShader } from './shaders/DOFMipMapShader.js';
|
292
|
-
export { BlurShaderUtils, DepthLimitedBlurShader } from './shaders/DepthLimitedBlurShader.js';
|
293
|
-
export { DigitalGlitch } from './shaders/DigitalGlitch.js';
|
294
|
-
export { DotScreenShader } from './shaders/DotScreenShader.js';
|
295
|
-
export { FXAAShader } from './shaders/FXAAShader.js';
|
296
|
-
export { FilmShader } from './shaders/FilmShader.js';
|
297
|
-
export { FocusShader } from './shaders/FocusShader.js';
|
298
|
-
export { FreiChenShader } from './shaders/FreiChenShader.js';
|
299
|
-
export { FresnelShader } from './shaders/FresnelShader.js';
|
300
|
-
export { GammaCorrectionShader } from './shaders/GammaCorrectionShader.js';
|
301
|
-
export { GodRaysCombineShader, GodRaysDepthMaskShader, GodRaysFakeSunShader, GodRaysGenerateShader } from './shaders/GodRaysShader.js';
|
302
|
-
export { HalftoneShader } from './shaders/HalftoneShader.js';
|
303
|
-
export { HorizontalBlurShader } from './shaders/HorizontalBlurShader.js';
|
304
|
-
export { HorizontalTiltShiftShader } from './shaders/HorizontalTiltShiftShader.js';
|
305
|
-
export { HueSaturationShader } from './shaders/HueSaturationShader.js';
|
306
|
-
export { KaleidoShader } from './shaders/KaleidoShader.js';
|
307
|
-
export { LuminosityHighPassShader } from './shaders/LuminosityHighPassShader.js';
|
308
|
-
export { LuminosityShader } from './shaders/LuminosityShader.js';
|
309
|
-
export { MirrorShader } from './shaders/MirrorShader.js';
|
310
|
-
export { NormalMapShader } from './shaders/NormalMapShader.js';
|
311
|
-
export { ParallaxShader } from './shaders/ParallaxShader.js';
|
312
|
-
export { PixelShader } from './shaders/PixelShader.js';
|
313
|
-
export { RGBShiftShader } from './shaders/RGBShiftShader.js';
|
314
|
-
export { SAOShader } from './shaders/SAOShader.js';
|
315
|
-
export { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from './shaders/SMAAShader.js';
|
316
|
-
export { SSAOBlurShader, SSAODepthShader, SSAOShader } from './shaders/SSAOShader.js';
|
317
|
-
export { SSRBlurShader, SSRDepthShader, SSRShader } from './shaders/SSRShader.js';
|
318
|
-
export { SepiaShader } from './shaders/SepiaShader.js';
|
319
|
-
export { SobelOperatorShader } from './shaders/SobelOperatorShader.js';
|
320
|
-
export { SubsurfaceScatteringShader } from './shaders/SubsurfaceScatteringShader.js';
|
321
|
-
export { TechnicolorShader } from './shaders/TechnicolorShader.js';
|
322
|
-
export { ToneMapShader } from './shaders/ToneMapShader.js';
|
323
|
-
export { ToonShader1, ToonShader2, ToonShaderDotted, ToonShaderHatching } from './shaders/ToonShader.js';
|
324
|
-
export { TriangleBlurShader } from './shaders/TriangleBlurShader.js';
|
325
|
-
export { UnpackDepthRGBAShader } from './shaders/UnpackDepthRGBAShader.js';
|
326
|
-
export { VerticalBlurShader } from './shaders/VerticalBlurShader.js';
|
327
|
-
export { VerticalTiltShiftShader } from './shaders/VerticalTiltShiftShader.js';
|
328
|
-
export { VignetteShader } from './shaders/VignetteShader.js';
|
329
|
-
export { VolumeRenderShader1 } from './shaders/VolumeShader.js';
|
330
|
-
export { WaterRefractionShader } from './shaders/WaterRefractionShader.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const t=new e.Vector2,n={type:"",data:t};class s extends e.Group{constructor(s,r){super();const o=this,i=new e.Raycaster,d=new e.Matrix4,c=s.domElement;function a(e){e.stopPropagation(),t.x=e.clientX/c.clientWidth*2-1,t.y=-e.clientY/c.clientHeight*2+1,i.setFromCamera(t,r);const s=i.intersectObjects(o.children,!1);if(s.length>0){const t=s[0],r=t.object,o=t.uv;n.type=e.type,n.data.set(o.x,1-o.y),r.dispatchEvent(n)}}c.addEventListener("pointerdown",a),c.addEventListener("pointerup",a),c.addEventListener("pointermove",a),c.addEventListener("mousedown",a),c.addEventListener("mouseup",a),c.addEventListener("mousemove",a),c.addEventListener("click",a);const l={move:"mousemove",select:"click",selectstart:"mousedown",selectend:"mouseup"};function v(e){const t=e.target;d.identity().extractRotation(t.matrixWorld),i.ray.origin.setFromMatrixPosition(t.matrixWorld),i.ray.direction.set(0,0,-1).applyMatrix4(d);const s=i.intersectObjects(o.children,!1);if(s.length>0){const t=s[0],r=t.object,o=t.uv;n.type=l[e.type],n.data.set(o.x,1-o.y),r.dispatchEvent(n)}}const p=s.xr.getController(0);p.addEventListener("move",v),p.addEventListener("select",v),p.addEventListener("selectstart",v),p.addEventListener("selectend",v);const u=s.xr.getController(1);u.addEventListener("move",v),u.addEventListener("select",v),u.addEventListener("selectstart",v),u.addEventListener("selectend",v)}}exports.InteractiveGroup=s;
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { Vector2, Group, Raycaster, Matrix4 } from 'three';
|
2
|
+
|
3
|
+
const _pointer = new Vector2();
|
4
|
+
|
5
|
+
const _event = {
|
6
|
+
type: '',
|
7
|
+
data: _pointer
|
8
|
+
};
|
9
|
+
|
10
|
+
class InteractiveGroup extends Group {
|
11
|
+
constructor(renderer, camera) {
|
12
|
+
super();
|
13
|
+
const scope = this;
|
14
|
+
const raycaster = new Raycaster();
|
15
|
+
const tempMatrix = new Matrix4(); // Pointer Events
|
16
|
+
|
17
|
+
const element = renderer.domElement;
|
18
|
+
|
19
|
+
function onPointerEvent(event) {
|
20
|
+
event.stopPropagation();
|
21
|
+
_pointer.x = event.clientX / element.clientWidth * 2 - 1;
|
22
|
+
_pointer.y = -(event.clientY / element.clientHeight) * 2 + 1;
|
23
|
+
raycaster.setFromCamera(_pointer, camera);
|
24
|
+
const intersects = raycaster.intersectObjects(scope.children, false);
|
25
|
+
|
26
|
+
if (intersects.length > 0) {
|
27
|
+
const intersection = intersects[0];
|
28
|
+
const object = intersection.object;
|
29
|
+
const uv = intersection.uv;
|
30
|
+
_event.type = event.type;
|
31
|
+
|
32
|
+
_event.data.set(uv.x, 1 - uv.y);
|
33
|
+
|
34
|
+
object.dispatchEvent(_event);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
element.addEventListener('pointerdown', onPointerEvent);
|
39
|
+
element.addEventListener('pointerup', onPointerEvent);
|
40
|
+
element.addEventListener('pointermove', onPointerEvent);
|
41
|
+
element.addEventListener('mousedown', onPointerEvent);
|
42
|
+
element.addEventListener('mouseup', onPointerEvent);
|
43
|
+
element.addEventListener('mousemove', onPointerEvent);
|
44
|
+
element.addEventListener('click', onPointerEvent); // WebXR Controller Events
|
45
|
+
// TODO: Dispatch pointerevents too
|
46
|
+
|
47
|
+
const events = {
|
48
|
+
move: 'mousemove',
|
49
|
+
select: 'click',
|
50
|
+
selectstart: 'mousedown',
|
51
|
+
selectend: 'mouseup'
|
52
|
+
};
|
53
|
+
|
54
|
+
function onXRControllerEvent(event) {
|
55
|
+
const controller = event.target;
|
56
|
+
tempMatrix.identity().extractRotation(controller.matrixWorld);
|
57
|
+
raycaster.ray.origin.setFromMatrixPosition(controller.matrixWorld);
|
58
|
+
raycaster.ray.direction.set(0, 0, -1).applyMatrix4(tempMatrix);
|
59
|
+
const intersections = raycaster.intersectObjects(scope.children, false);
|
60
|
+
|
61
|
+
if (intersections.length > 0) {
|
62
|
+
const intersection = intersections[0];
|
63
|
+
const object = intersection.object;
|
64
|
+
const uv = intersection.uv;
|
65
|
+
_event.type = events[event.type];
|
66
|
+
|
67
|
+
_event.data.set(uv.x, 1 - uv.y);
|
68
|
+
|
69
|
+
object.dispatchEvent(_event);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
const controller1 = renderer.xr.getController(0);
|
74
|
+
controller1.addEventListener('move', onXRControllerEvent);
|
75
|
+
controller1.addEventListener('select', onXRControllerEvent);
|
76
|
+
controller1.addEventListener('selectstart', onXRControllerEvent);
|
77
|
+
controller1.addEventListener('selectend', onXRControllerEvent);
|
78
|
+
const controller2 = renderer.xr.getController(1);
|
79
|
+
controller2.addEventListener('move', onXRControllerEvent);
|
80
|
+
controller2.addEventListener('select', onXRControllerEvent);
|
81
|
+
controller2.addEventListener('selectstart', onXRControllerEvent);
|
82
|
+
controller2.addEventListener('selectend', onXRControllerEvent);
|
83
|
+
}
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
export { InteractiveGroup };
|
package/loaders/GLTFLoader.d.ts
CHANGED
@@ -101,15 +101,8 @@ export class GLTFParser {
|
|
101
101
|
loadBufferView: (bufferViewIndex: number) => Promise<ArrayBuffer>;
|
102
102
|
loadAccessor: (accessorIndex: number) => Promise<BufferAttribute | InterleavedBufferAttribute>;
|
103
103
|
loadTexture: (textureIndex: number) => Promise<Texture>;
|
104
|
-
loadTextureImage: (
|
105
|
-
|
106
|
-
/**
|
107
|
-
* GLTF.Image
|
108
|
-
* See: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/schema/image.schema.json
|
109
|
-
*/
|
110
|
-
source: { [key: string]: any },
|
111
|
-
loader: Loader,
|
112
|
-
) => Promise<Texture>;
|
104
|
+
loadTextureImage: (textureIndex: number, sourceIndex: number, loader: Loader) => Promise<Texture>;
|
105
|
+
loadImageSource: (sourceIndex: number, loader: Loader) => Promise<Texture>;
|
113
106
|
assignTexture: (
|
114
107
|
materialParams: { [key: string]: any },
|
115
108
|
mapName: string,
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { Loader, LoadingManager, DataTexture,
|
1
|
+
import { Loader, LoadingManager, DataTexture, Data3DTexture } from 'three';
|
2
2
|
|
3
3
|
export interface LUT3dlResult {
|
4
4
|
size: number;
|
5
5
|
texture: DataTexture;
|
6
|
-
texture3D:
|
6
|
+
texture3D: Data3DTexture;
|
7
7
|
}
|
8
8
|
|
9
9
|
export class LUT3dlLoader extends Loader {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Loader, LoadingManager, Vector3, DataTexture,
|
1
|
+
import { Loader, LoadingManager, Vector3, DataTexture, Data3DTexture } from 'three';
|
2
2
|
|
3
3
|
export interface LUTCubeResult {
|
4
4
|
title: string;
|
@@ -6,7 +6,7 @@ export interface LUTCubeResult {
|
|
6
6
|
domainMin: Vector3;
|
7
7
|
domainMax: Vector3;
|
8
8
|
texture: DataTexture;
|
9
|
-
texture3D:
|
9
|
+
texture3D: Data3DTexture;
|
10
10
|
}
|
11
11
|
|
12
12
|
export class LUTCubeLoader extends Loader {
|
package/loaders/VOXLoader.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { Data3DTexture, Mesh, Loader, LoadingManager } from 'three';
|
2
2
|
|
3
3
|
export interface Chunk {
|
4
4
|
palette: number[];
|
@@ -23,6 +23,6 @@ export class VOXMesh extends Mesh {
|
|
23
23
|
constructor(chunk: Chunk);
|
24
24
|
}
|
25
25
|
|
26
|
-
export class
|
26
|
+
export class VOXData3DTexture extends Data3DTexture {
|
27
27
|
constructor(chunk: Chunk);
|
28
28
|
}
|
package/math/ConvexHull.cjs.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three")
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");const e=new t.Vector3,n=new t.Line3,s=new t.Plane,i=new t.Vector3,r=new t.Triangle;class o{constructor(){this.normal=new t.Vector3,this.midpoint=new t.Vector3,this.area=0,this.constant=0,this.outside=null,this.mark=0,this.edge=null}static create(t,e,n){const s=new o,i=new a(t,s),r=new a(e,s),l=new a(n,s);return i.next=l.prev=r,r.next=i.prev=l,l.next=r.prev=i,s.edge=i,s.compute()}getEdge(t){let e=this.edge;for(;t>0;)e=e.next,t--;for(;t<0;)e=e.prev,t++;return e}compute(){const t=this.edge.tail(),e=this.edge.head(),n=this.edge.next.head();return r.set(t.point,e.point,n.point),r.getNormal(this.normal),r.getMidpoint(this.midpoint),this.area=r.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(t){return this.normal.dot(t)-this.constant}}class a{constructor(t,e){this.vertex=t,this.prev=null,this.next=null,this.twin=null,this.face=e}head(){return this.vertex}tail(){return this.prev?this.prev.vertex:null}length(){const t=this.head(),e=this.tail();return null!==e?e.point.distanceTo(t.point):-1}lengthSquared(){const t=this.head(),e=this.tail();return null!==e?e.point.distanceToSquared(t.point):-1}setTwin(t){return this.twin=t,t.twin=this,this}}class l{constructor(t){this.point=t,this.prev=null,this.next=null,this.face=null}}class h{constructor(){this.head=null,this.tail=null}first(){return this.head}last(){return this.tail}clear(){return this.head=this.tail=null,this}insertBefore(t,e){return e.prev=t.prev,e.next=t,null===e.prev?this.head=e:e.prev.next=e,t.prev=e,this}insertAfter(t,e){return e.prev=t,e.next=t.next,null===e.next?this.tail=e:e.next.prev=e,t.next=e,this}append(t){return null===this.head?this.head=t:this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t,this}appendChain(t){for(null===this.head?this.head=t:this.tail.next=t,t.prev=this.tail;null!==t.next;)t=t.next;return this.tail=t,this}remove(t){return null===t.prev?this.head=t.next:t.prev.next=t.next,null===t.next?this.tail=t.prev:t.next.prev=t.prev,this}removeSubList(t,e){return null===t.prev?this.head=e.next:t.prev.next=e.next,null===e.next?this.tail=t.prev:e.next.prev=t.prev,this}isEmpty(){return null===this.head}}exports.ConvexHull=class{constructor(){this.tolerance=-1,this.faces=[],this.newFaces=[],this.assigned=new h,this.unassigned=new h,this.vertices=[]}setFromPoints(t){if(t.length>=4){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.vertices.push(new l(t[e]));this.compute()}return this}setFromObject(e){const n=[];return e.updateMatrixWorld(!0),e.traverse((function(e){const s=e.geometry;if(void 0!==s){if(s.isGeometry)return void console.error("THREE.ConvexHull no longer supports Geometry. Use THREE.BufferGeometry instead.");if(s.isBufferGeometry){const i=s.attributes.position;if(void 0!==i)for(let s=0,r=i.count;s<r;s++){const r=new t.Vector3;r.fromBufferAttribute(i,s).applyMatrix4(e.matrixWorld),n.push(r)}}}})),this.setFromPoints(n)}containsPoint(t){const e=this.faces;for(let n=0,s=e.length;n<s;n++){if(e[n].distanceToPoint(t)>this.tolerance)return!1}return!0}intersectRay(t,e){const n=this.faces;let s=-1/0,i=1/0;for(let e=0,r=n.length;e<r;e++){const r=n[e],o=r.distanceToPoint(t.origin),a=r.normal.dot(t.direction);if(o>0&&a>=0)return null;const l=0!==a?-o/a:0;if(!(l<=0)&&(a>0?i=Math.min(l,i):s=Math.max(l,s),s>i))return null}return s!==-1/0?t.at(s,e):t.at(i,e),e}intersectsRay(t){return null!==this.intersectRay(t,e)}makeEmpty(){return this.faces=[],this.vertices=[],this}addVertexToFace(t,e){return t.face=e,null===e.outside?this.assigned.append(t):this.assigned.insertBefore(e.outside,t),e.outside=t,this}removeVertexFromFace(t,e){return t===e.outside&&(null!==t.next&&t.next.face===e?e.outside=t.next:e.outside=null),this.assigned.remove(t),this}removeAllVerticesFromFace(t){if(null!==t.outside){const e=t.outside;let n=t.outside;for(;null!==n.next&&n.next.face===t;)n=n.next;return this.assigned.removeSubList(e,n),e.prev=n.next=null,t.outside=null,e}}deleteFaceVertices(t,e){const n=this.removeAllVerticesFromFace(t);if(void 0!==n)if(void 0===e)this.unassigned.appendChain(n);else{let t=n;do{const n=t.next;e.distanceToPoint(t.point)>this.tolerance?this.addVertexToFace(t,e):this.unassigned.append(t),t=n}while(null!==t)}return this}resolveUnassignedPoints(t){if(!1===this.unassigned.isEmpty()){let e=this.unassigned.first();do{const n=e.next;let s=this.tolerance,i=null;for(let n=0;n<t.length;n++){const r=t[n];if(0===r.mark){const t=r.distanceToPoint(e.point);if(t>s&&(s=t,i=r),s>1e3*this.tolerance)break}}null!==i&&this.addVertexToFace(e,i),e=n}while(null!==e)}return this}computeExtremes(){const e=new t.Vector3,n=new t.Vector3,s=[],i=[];for(let t=0;t<3;t++)s[t]=i[t]=this.vertices[0];e.copy(this.vertices[0].point),n.copy(this.vertices[0].point);for(let t=0,r=this.vertices.length;t<r;t++){const r=this.vertices[t],o=r.point;for(let t=0;t<3;t++)o.getComponent(t)<e.getComponent(t)&&(e.setComponent(t,o.getComponent(t)),s[t]=r);for(let t=0;t<3;t++)o.getComponent(t)>n.getComponent(t)&&(n.setComponent(t,o.getComponent(t)),i[t]=r)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(e.x),Math.abs(n.x))+Math.max(Math.abs(e.y),Math.abs(n.y))+Math.max(Math.abs(e.z),Math.abs(n.z))),{min:s,max:i}}computeInitialHull(){const t=this.vertices,e=this.computeExtremes(),r=e.min,a=e.max;let l=0,h=0;for(let t=0;t<3;t++){const e=a[t].point.getComponent(t)-r[t].point.getComponent(t);e>l&&(l=e,h=t)}const c=r[h],u=a[h];let d,p;l=0,n.set(c.point,u.point);for(let e=0,s=this.vertices.length;e<s;e++){const s=t[e];if(s!==c&&s!==u){n.closestPointToPoint(s.point,!0,i);const t=i.distanceToSquared(s.point);t>l&&(l=t,d=s)}}l=-1,s.setFromCoplanarPoints(c.point,u.point,d.point);for(let e=0,n=this.vertices.length;e<n;e++){const n=t[e];if(n!==c&&n!==u&&n!==d){const t=Math.abs(s.distanceToPoint(n.point));t>l&&(l=t,p=n)}}const f=[];if(s.distanceToPoint(p.point)<0){f.push(o.create(c,u,d),o.create(p,u,c),o.create(p,d,u),o.create(p,c,d));for(let t=0;t<3;t++){const e=(t+1)%3;f[t+1].getEdge(2).setTwin(f[0].getEdge(e)),f[t+1].getEdge(1).setTwin(f[e+1].getEdge(0))}}else{f.push(o.create(c,d,u),o.create(p,c,u),o.create(p,u,d),o.create(p,d,c));for(let t=0;t<3;t++){const e=(t+1)%3;f[t+1].getEdge(2).setTwin(f[0].getEdge((3-t)%3)),f[t+1].getEdge(0).setTwin(f[e+1].getEdge(1))}}for(let t=0;t<4;t++)this.faces.push(f[t]);for(let e=0,n=t.length;e<n;e++){const n=t[e];if(n!==c&&n!==u&&n!==d&&n!==p){l=this.tolerance;let t=null;for(let e=0;e<4;e++){const s=this.faces[e].distanceToPoint(n.point);s>l&&(l=s,t=this.faces[e])}null!==t&&this.addVertexToFace(n,t)}}return this}reindexFaces(){const t=[];for(let e=0;e<this.faces.length;e++){const n=this.faces[e];0===n.mark&&t.push(n)}return this.faces=t,this}nextVertexToAdd(){if(!1===this.assigned.isEmpty()){let t,e=0;const n=this.assigned.first().face;let s=n.outside;do{const i=n.distanceToPoint(s.point);i>e&&(e=i,t=s),s=s.next}while(null!==s&&s.face===n);return t}}computeHorizon(t,e,n,s){let i;this.deleteFaceVertices(n),n.mark=1,i=null===e?e=n.getEdge(0):e.next;do{const e=i.twin,n=e.face;0===n.mark&&(n.distanceToPoint(t)>this.tolerance?this.computeHorizon(t,e,n,s):s.push(i)),i=i.next}while(i!==e);return this}addAdjoiningFace(t,e){const n=o.create(t,e.tail(),e.head());return this.faces.push(n),n.getEdge(-1).setTwin(e.twin),n.getEdge(0)}addNewFaces(t,e){this.newFaces=[];let n=null,s=null;for(let i=0;i<e.length;i++){const r=e[i],o=this.addAdjoiningFace(t,r);null===n?n=o:o.next.setTwin(s),this.newFaces.push(o.face),s=o}return n.next.setTwin(s),this}addVertexToHull(t){const e=[];return this.unassigned.clear(),this.removeVertexFromFace(t,t.face),this.computeHorizon(t.point,null,t.face,e),this.addNewFaces(t,e),this.resolveUnassignedPoints(this.newFaces),this}cleanup(){return this.assigned.clear(),this.unassigned.clear(),this.newFaces=[],this}compute(){let t;for(this.computeInitialHull();void 0!==(t=this.nextVertexToAdd());)this.addVertexToHull(t);return this.reindexFaces(),this.cleanup(),this}};
|