three-stdlib 2.15.1 → 2.15.2
Sign up to get free protection for your applications and to get access to all the features.
- package/animation/AnimationClipCreator.js +32 -52
- package/animation/AnimationClipCreator.mjs +57 -0
- package/animation/CCDIKSolver.js +66 -161
- package/animation/CCDIKSolver.mjs +234 -0
- package/animation/MMDAnimationHelper.js +150 -341
- package/animation/MMDAnimationHelper.mjs +514 -0
- package/animation/MMDPhysics.js +154 -361
- package/animation/MMDPhysics.mjs +769 -0
- package/cameras/CinematicCamera.js +67 -77
- package/cameras/CinematicCamera.mjs +129 -0
- package/controls/ArcballControls.js +544 -1449
- package/controls/ArcballControls.mjs +1737 -0
- package/controls/DeviceOrientationControls.js +52 -97
- package/controls/DeviceOrientationControls.mjs +74 -0
- package/controls/DragControls.js +85 -187
- package/controls/DragControls.mjs +172 -0
- package/controls/FirstPersonControls.js +123 -193
- package/controls/FirstPersonControls.mjs +220 -0
- package/controls/FlyControls.js +82 -152
- package/controls/FlyControls.mjs +239 -0
- package/controls/OrbitControls.js +232 -481
- package/controls/OrbitControls.mjs +731 -0
- package/controls/PointerLockControls.js +63 -99
- package/controls/PointerLockControls.mjs +88 -0
- package/controls/TrackballControls.js +211 -383
- package/controls/TrackballControls.mjs +481 -0
- package/controls/TransformControls.js +575 -782
- package/controls/TransformControls.mjs +1068 -0
- package/controls/experimental/CameraControls.js +329 -609
- package/controls/experimental/CameraControls.mjs +673 -0
- package/csm/CSM.js +47 -108
- package/csm/CSM.mjs +244 -0
- package/csm/CSMFrustum.js +14 -29
- package/csm/CSMFrustum.mjs +75 -0
- package/csm/CSMHelper.js +20 -34
- package/csm/CSMHelper.mjs +114 -0
- package/csm/CSMShader.js +7 -11
- package/csm/CSMShader.mjs +251 -0
- package/curves/CurveExtras.js +73 -115
- package/curves/CurveExtras.mjs +224 -0
- package/curves/NURBSCurve.js +15 -43
- package/curves/NURBSCurve.mjs +35 -0
- package/curves/NURBSSurface.js +11 -27
- package/curves/NURBSSurface.mjs +28 -0
- package/curves/NURBSUtils.js +54 -203
- package/curves/NURBSUtils.mjs +226 -0
- package/deprecated/Geometry.js +191 -486
- package/deprecated/Geometry.mjs +966 -0
- package/effects/AnaglyphEffect.js +95 -60
- package/effects/AnaglyphEffect.mjs +120 -0
- package/effects/AsciiEffect.js +80 -110
- package/effects/AsciiEffect.mjs +173 -0
- package/effects/OutlineEffect.js +121 -204
- package/effects/OutlineEffect.mjs +295 -0
- package/effects/ParallaxBarrierEffect.js +39 -38
- package/effects/ParallaxBarrierEffect.mjs +64 -0
- package/effects/PeppersGhostEffect.js +19 -68
- package/effects/PeppersGhostEffect.mjs +85 -0
- package/effects/StereoEffect.js +12 -16
- package/effects/StereoEffect.mjs +32 -0
- package/environments/RoomEnvironment.js +52 -47
- package/environments/RoomEnvironment.mjs +78 -0
- package/exporters/ColladaExporter.js +115 -241
- package/exporters/ColladaExporter.mjs +299 -0
- package/exporters/DRACOExporter.js +67 -121
- package/exporters/DRACOExporter.mjs +132 -0
- package/exporters/GLTFExporter.js +463 -1014
- package/exporters/GLTFExporter.mjs +1381 -0
- package/exporters/MMDExporter.js +44 -102
- package/exporters/MMDExporter.mjs +102 -0
- package/exporters/OBJExporter.js +78 -140
- package/exporters/OBJExporter.mjs +166 -0
- package/exporters/PLYExporter.js +93 -154
- package/exporters/PLYExporter.mjs +278 -0
- package/exporters/STLExporter.js +30 -81
- package/exporters/STLExporter.mjs +129 -0
- package/exporters/USDZExporter.js +84 -144
- package/exporters/USDZExporter.mjs +328 -0
- package/geometries/BoxLineGeometry.js +7 -14
- package/geometries/BoxLineGeometry.mjs +45 -0
- package/geometries/ConvexGeometry.js +14 -23
- package/geometries/ConvexGeometry.mjs +29 -0
- package/geometries/DecalGeometry.js +108 -162
- package/geometries/DecalGeometry.mjs +184 -0
- package/geometries/LightningStrike.js +101 -294
- package/geometries/LightningStrike.mjs +547 -0
- package/geometries/ParametricGeometries.js +26 -76
- package/geometries/ParametricGeometries.mjs +129 -0
- package/geometries/ParametricGeometry.js +24 -48
- package/geometries/ParametricGeometry.mjs +63 -0
- package/geometries/RoundedBoxGeometry.js +33 -64
- package/geometries/RoundedBoxGeometry.mjs +91 -0
- package/geometries/TeapotGeometry.js +1434 -174
- package/geometries/TeapotGeometry.mjs +1557 -0
- package/geometries/TextGeometry.js +9 -17
- package/geometries/TextGeometry.mjs +23 -0
- package/helpers/LightProbeHelper.js +53 -21
- package/helpers/LightProbeHelper.mjs +72 -0
- package/helpers/PositionalAudioHelper.js +23 -30
- package/helpers/PositionalAudioHelper.mjs +68 -0
- package/helpers/RectAreaLightHelper.js +17 -33
- package/helpers/RectAreaLightHelper.mjs +44 -0
- package/helpers/VertexNormalsHelper.js +20 -41
- package/helpers/VertexNormalsHelper.mjs +54 -0
- package/helpers/VertexTangentsHelper.js +18 -36
- package/helpers/VertexTangentsHelper.mjs +45 -0
- package/index.js +968 -333
- package/index.mjs +968 -0
- package/interactive/SelectionBox.js +31 -46
- package/interactive/SelectionBox.mjs +137 -0
- package/interactive/SelectionHelper.js +16 -21
- package/interactive/SelectionHelper.mjs +54 -0
- package/libs/MeshoptDecoder.js +147 -58
- package/libs/MeshoptDecoder.mjs +210 -0
- package/libs/MotionControllers.js +66 -208
- package/libs/MotionControllers.mjs +261 -0
- package/lights/LightProbeGenerator.js +40 -96
- package/lights/LightProbeGenerator.mjs +145 -0
- package/lights/RectAreaLightUniformsLib.js +32842 -9
- package/lights/RectAreaLightUniformsLib.mjs +32842 -0
- package/lines/Line2.js +9 -12
- package/lines/Line2.mjs +13 -0
- package/lines/LineGeometry.js +7 -19
- package/lines/LineGeometry.mjs +44 -0
- package/lines/LineMaterial.js +51 -89
- package/lines/LineMaterial.mjs +539 -0
- package/lines/LineSegments2.js +56 -165
- package/lines/LineSegments2.mjs +202 -0
- package/lines/LineSegmentsGeometry.js +29 -71
- package/lines/LineSegmentsGeometry.mjs +124 -0
- package/lines/Wireframe.js +15 -29
- package/lines/Wireframe.mjs +31 -0
- package/lines/WireframeGeometry2.js +8 -9
- package/lines/WireframeGeometry2.mjs +13 -0
- package/loaders/3DMLoader.js +234 -469
- package/loaders/3DMLoader.mjs +802 -0
- package/loaders/3MFLoader.js +340 -555
- package/loaders/3MFLoader.mjs +837 -0
- package/loaders/AMFLoader.js +114 -219
- package/loaders/AMFLoader.mjs +284 -0
- package/loaders/AssimpLoader.js +328 -725
- package/loaders/AssimpLoader.mjs +1396 -0
- package/loaders/BVHLoader.js +94 -200
- package/loaders/BVHLoader.mjs +207 -0
- package/loaders/BasisTextureLoader.js +229 -357
- package/loaders/BasisTextureLoader.mjs +474 -0
- package/loaders/ColladaLoader.js +932 -1522
- package/loaders/ColladaLoader.mjs +2403 -0
- package/loaders/DDSLoader.js +42 -108
- package/loaders/DDSLoader.mjs +148 -0
- package/loaders/DRACOLoader.js +103 -210
- package/loaders/DRACOLoader.mjs +340 -0
- package/loaders/EXRLoader.js +461 -809
- package/loaders/EXRLoader.mjs +1351 -0
- package/loaders/FBXLoader.js +842 -1397
- package/loaders/FBXLoader.mjs +2362 -0
- package/loaders/FontLoader.js +33 -66
- package/loaders/FontLoader.mjs +111 -0
- package/loaders/GCodeLoader.js +63 -111
- package/loaders/GCodeLoader.mjs +141 -0
- package/loaders/GLTFLoader.js +771 -1484
- package/loaders/GLTFLoader.mjs +2316 -0
- package/loaders/HDRCubeTextureLoader.js +45 -50
- package/loaders/HDRCubeTextureLoader.mjs +77 -0
- package/loaders/KMZLoader.js +42 -55
- package/loaders/KMZLoader.mjs +75 -0
- package/loaders/KTX2Loader.js +229 -362
- package/loaders/KTX2Loader.mjs +427 -0
- package/loaders/KTXLoader.js +37 -99
- package/loaders/KTXLoader.mjs +87 -0
- package/loaders/LDrawLoader.js +313 -746
- package/loaders/LDrawLoader.mjs +1409 -0
- package/loaders/LUT3dlLoader.js +50 -62
- package/loaders/LUT3dlLoader.mjs +100 -0
- package/loaders/LUTCubeLoader.js +45 -56
- package/loaders/LUTCubeLoader.mjs +104 -0
- package/loaders/LWOLoader.js +227 -339
- package/loaders/LWOLoader.mjs +625 -0
- package/loaders/LottieLoader.js +36 -38
- package/loaders/LottieLoader.mjs +47 -0
- package/loaders/MD2Loader.js +248 -91
- package/loaders/MD2Loader.mjs +359 -0
- package/loaders/MDDLoader.js +25 -45
- package/loaders/MDDLoader.mjs +58 -0
- package/loaders/MMDLoader.js +359 -795
- package/loaders/MMDLoader.mjs +998 -0
- package/loaders/MTLLoader.js +91 -201
- package/loaders/MTLLoader.mjs +280 -0
- package/loaders/NRRDLoader.js +182 -263
- package/loaders/NRRDLoader.mjs +401 -0
- package/loaders/NodeMaterialLoader.js +121 -14
- package/loaders/NodeMaterialLoader.mjs +146 -0
- package/loaders/OBJLoader.js +161 -283
- package/loaders/OBJLoader.mjs +487 -0
- package/loaders/PCDLoader.js +145 -164
- package/loaders/PCDLoader.mjs +248 -0
- package/loaders/PDBLoader.js +45 -63
- package/loaders/PDBLoader.mjs +246 -0
- package/loaders/PLYLoader.js +106 -203
- package/loaders/PLYLoader.mjs +317 -0
- package/loaders/PRWMLoader.js +73 -110
- package/loaders/PRWMLoader.mjs +160 -0
- package/loaders/PVRLoader.js +32 -93
- package/loaders/PVRLoader.mjs +131 -0
- package/loaders/RGBELoader.js +96 -233
- package/loaders/RGBELoader.mjs +244 -0
- package/loaders/RGBMLoader.js +344 -514
- package/loaders/RGBMLoader.mjs +998 -0
- package/loaders/STLLoader.js +59 -165
- package/loaders/STLLoader.mjs +190 -0
- package/loaders/SVGLoader.js +481 -851
- package/loaders/SVGLoader.mjs +1709 -0
- package/loaders/TDSLoader.js +137 -527
- package/loaders/TDSLoader.mjs +480 -0
- package/loaders/TGALoader.js +94 -205
- package/loaders/TGALoader.mjs +285 -0
- package/loaders/TTFLoader.js +58 -79
- package/loaders/TTFLoader.mjs +131 -0
- package/loaders/TiltLoader.js +129 -167
- package/loaders/TiltLoader.mjs +373 -0
- package/loaders/VOXLoader.js +320 -84
- package/loaders/VOXLoader.mjs +431 -0
- package/loaders/VRMLLoader.js +786 -1268
- package/loaders/VRMLLoader.mjs +2093 -0
- package/loaders/VRMLoader.js +23 -31
- package/loaders/VRMLoader.mjs +38 -0
- package/loaders/VTKLoader.js +219 -407
- package/loaders/VTKLoader.mjs +646 -0
- package/loaders/XLoader.js +1083 -1259
- package/loaders/XLoader.mjs +1258 -0
- package/loaders/XYZLoader.js +28 -34
- package/loaders/XYZLoader.mjs +60 -0
- package/loaders/lwo/IFFParser.js +238 -492
- package/loaders/lwo/IFFParser.mjs +697 -0
- package/loaders/lwo/LWO2Parser.js +176 -279
- package/loaders/lwo/LWO2Parser.mjs +327 -0
- package/loaders/lwo/LWO3Parser.js +160 -247
- package/loaders/lwo/LWO3Parser.mjs +298 -0
- package/math/Capsule.js +56 -43
- package/math/Capsule.mjs +100 -0
- package/math/ColorConverter.js +18 -32
- package/math/ColorConverter.mjs +51 -0
- package/math/ConvexHull.js +97 -357
- package/math/ConvexHull.mjs +574 -0
- package/math/ImprovedNoise.js +282 -32
- package/math/ImprovedNoise.mjs +302 -0
- package/math/Lut.js +51 -35
- package/math/Lut.mjs +135 -0
- package/math/MeshSurfaceSampler.js +25 -68
- package/math/MeshSurfaceSampler.mjs +107 -0
- package/math/OBB.js +91 -152
- package/math/OBB.mjs +235 -0
- package/math/Octree.js +76 -139
- package/math/Octree.mjs +278 -0
- package/math/SimplexNoise.js +217 -238
- package/math/SimplexNoise.mjs +425 -0
- package/misc/ConvexObjectBreaker.js +79 -185
- package/misc/ConvexObjectBreaker.mjs +292 -0
- package/misc/GPUComputationRenderer.js +69 -194
- package/misc/GPUComputationRenderer.mjs +171 -0
- package/misc/Gyroscope.js +16 -22
- package/misc/Gyroscope.mjs +35 -0
- package/misc/MD2Character.js +52 -74
- package/misc/MD2Character.mjs +162 -0
- package/misc/MD2CharacterComplex.js +112 -163
- package/misc/MD2CharacterComplex.mjs +328 -0
- package/misc/MorphAnimMesh.js +20 -28
- package/misc/MorphAnimMesh.mjs +40 -0
- package/misc/MorphBlendMesh.js +45 -69
- package/misc/MorphBlendMesh.mjs +179 -0
- package/misc/ProgressiveLightmap.js +70 -187
- package/misc/ProgressiveLightmap.mjs +166 -0
- package/misc/RollerCoaster.js +106 -135
- package/misc/RollerCoaster.mjs +346 -0
- package/misc/TubePainter.js +74 -92
- package/misc/TubePainter.mjs +123 -0
- package/misc/Volume.js +108 -270
- package/misc/Volume.mjs +244 -0
- package/misc/VolumeSlice.js +34 -122
- package/misc/VolumeSlice.mjs +106 -0
- package/misc/WebGL.js +37 -34
- package/misc/WebGL.mjs +74 -0
- package/modifiers/CurveModifier.js +46 -151
- package/modifiers/CurveModifier.mjs +182 -0
- package/modifiers/EdgeSplitModifier.js +46 -90
- package/modifiers/EdgeSplitModifier.mjs +162 -0
- package/modifiers/SimplifyModifier.js +77 -202
- package/modifiers/SimplifyModifier.mjs +282 -0
- package/modifiers/TessellateModifier.js +65 -90
- package/modifiers/TessellateModifier.mjs +206 -0
- package/nodes/Nodes.js +274 -140
- package/nodes/Nodes.mjs +400 -0
- package/nodes/ShaderNode.js +296 -196
- package/nodes/ShaderNode.mjs +408 -0
- package/nodes/accessors/BufferNode.js +4 -8
- package/nodes/accessors/BufferNode.mjs +15 -0
- package/nodes/accessors/CameraNode.js +20 -25
- package/nodes/accessors/CameraNode.mjs +44 -0
- package/nodes/accessors/CubeTextureNode.js +14 -26
- package/nodes/accessors/CubeTextureNode.mjs +42 -0
- package/nodes/accessors/MaterialNode.js +43 -53
- package/nodes/accessors/MaterialNode.mjs +71 -0
- package/nodes/accessors/MaterialReferenceNode.js +3 -6
- package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
- package/nodes/accessors/ModelNode.js +3 -5
- package/nodes/accessors/ModelNode.mjs +9 -0
- package/nodes/accessors/ModelViewProjectionNode.js +14 -13
- package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
- package/nodes/accessors/NormalNode.js +40 -39
- package/nodes/accessors/NormalNode.mjs +62 -0
- package/nodes/accessors/Object3DNode.js +40 -50
- package/nodes/accessors/Object3DNode.mjs +76 -0
- package/nodes/accessors/PointUVNode.js +5 -9
- package/nodes/accessors/PointUVNode.mjs +13 -0
- package/nodes/accessors/PositionNode.js +42 -41
- package/nodes/accessors/PositionNode.mjs +65 -0
- package/nodes/accessors/ReferenceNode.js +10 -17
- package/nodes/accessors/ReferenceNode.mjs +37 -0
- package/nodes/accessors/ReflectNode.js +23 -26
- package/nodes/accessors/ReflectNode.mjs +43 -0
- package/nodes/accessors/SkinningNode.js +46 -48
- package/nodes/accessors/SkinningNode.mjs +58 -0
- package/nodes/accessors/TextureNode.js +14 -29
- package/nodes/accessors/TextureNode.mjs +54 -0
- package/nodes/accessors/UVNode.js +5 -11
- package/nodes/accessors/UVNode.mjs +23 -0
- package/nodes/core/ArrayUniformNode.js +3 -7
- package/nodes/core/ArrayUniformNode.mjs +14 -0
- package/nodes/core/AttributeNode.js +5 -12
- package/nodes/core/AttributeNode.mjs +30 -0
- package/nodes/core/BypassNode.js +5 -12
- package/nodes/core/BypassNode.mjs +22 -0
- package/nodes/core/CodeNode.js +4 -12
- package/nodes/core/CodeNode.mjs +28 -0
- package/nodes/core/ConstNode.js +3 -7
- package/nodes/core/ConstNode.mjs +14 -0
- package/nodes/core/ContextNode.js +3 -8
- package/nodes/core/ContextNode.mjs +22 -0
- package/nodes/core/ExpressionNode.js +5 -9
- package/nodes/core/ExpressionNode.mjs +19 -0
- package/nodes/core/FunctionCallNode.js +6 -15
- package/nodes/core/FunctionCallNode.mjs +37 -0
- package/nodes/core/FunctionNode.js +10 -25
- package/nodes/core/FunctionNode.mjs +56 -0
- package/nodes/core/InputNode.js +12 -23
- package/nodes/core/InputNode.mjs +38 -0
- package/nodes/core/Node.js +35 -75
- package/nodes/core/Node.mjs +139 -0
- package/nodes/core/NodeAttribute.js +2 -4
- package/nodes/core/NodeAttribute.mjs +10 -0
- package/nodes/core/NodeBuilder.js +110 -224
- package/nodes/core/NodeBuilder.mjs +395 -0
- package/nodes/core/NodeCode.js +4 -7
- package/nodes/core/NodeCode.mjs +11 -0
- package/nodes/core/NodeFrame.js +9 -12
- package/nodes/core/NodeFrame.mjs +35 -0
- package/nodes/core/NodeFunctionInput.js +3 -5
- package/nodes/core/NodeFunctionInput.mjs +13 -0
- package/nodes/core/NodeKeywords.js +5 -16
- package/nodes/core/NodeKeywords.mjs +44 -0
- package/nodes/core/NodeUniform.js +3 -7
- package/nodes/core/NodeUniform.mjs +18 -0
- package/nodes/core/NodeUtils.js +39 -43
- package/nodes/core/NodeUtils.mjs +57 -0
- package/nodes/core/NodeVar.js +2 -4
- package/nodes/core/NodeVar.mjs +10 -0
- package/nodes/core/NodeVary.js +2 -4
- package/nodes/core/NodeVary.mjs +10 -0
- package/nodes/core/PropertyNode.js +4 -10
- package/nodes/core/PropertyNode.mjs +21 -0
- package/nodes/core/TempNode.js +5 -11
- package/nodes/core/TempNode.mjs +25 -0
- package/nodes/core/UniformNode.js +4 -10
- package/nodes/core/UniformNode.mjs +23 -0
- package/nodes/core/VarNode.js +3 -11
- package/nodes/core/VarNode.mjs +31 -0
- package/nodes/core/VaryNode.js +6 -15
- package/nodes/core/VaryNode.mjs +30 -0
- package/nodes/core/constants.js +20 -7
- package/nodes/core/constants.mjs +24 -0
- package/nodes/display/ColorSpaceNode.js +34 -38
- package/nodes/display/ColorSpaceNode.mjs +63 -0
- package/nodes/display/NormalMapNode.js +35 -53
- package/nodes/display/NormalMapNode.mjs +54 -0
- package/nodes/fog/FogNode.js +5 -9
- package/nodes/fog/FogNode.mjs +15 -0
- package/nodes/fog/FogRangeNode.js +5 -9
- package/nodes/fog/FogRangeNode.mjs +17 -0
- package/nodes/functions/BSDFs.js +61 -118
- package/nodes/functions/BSDFs.mjs +64 -0
- package/nodes/lights/LightContextNode.js +14 -23
- package/nodes/lights/LightContextNode.mjs +35 -0
- package/nodes/lights/LightNode.js +27 -31
- package/nodes/lights/LightNode.mjs +58 -0
- package/nodes/lights/LightsNode.js +9 -28
- package/nodes/lights/LightsNode.mjs +59 -0
- package/nodes/loaders/NodeLoader.js +27 -42
- package/nodes/loaders/NodeLoader.mjs +66 -0
- package/nodes/loaders/NodeMaterialLoader.js +4 -10
- package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
- package/nodes/loaders/NodeObjectLoader.js +9 -19
- package/nodes/loaders/NodeObjectLoader.mjs +40 -0
- package/nodes/materials/LineBasicNodeMaterial.js +5 -10
- package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
- package/nodes/materials/Materials.js +14 -17
- package/nodes/materials/Materials.mjs +28 -0
- package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
- package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
- package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
- package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
- package/nodes/materials/NodeMaterial.js +20 -36
- package/nodes/materials/NodeMaterial.mjs +64 -0
- package/nodes/materials/PointsNodeMaterial.js +5 -10
- package/nodes/materials/PointsNodeMaterial.mjs +30 -0
- package/nodes/math/CondNode.js +11 -23
- package/nodes/math/CondNode.mjs +38 -0
- package/nodes/math/MathNode.js +98 -142
- package/nodes/math/MathNode.mjs +163 -0
- package/nodes/math/OperatorNode.js +24 -46
- package/nodes/math/OperatorNode.mjs +103 -0
- package/nodes/procedural/CheckerNode.js +13 -19
- package/nodes/procedural/CheckerNode.mjs +21 -0
- package/nodes/utils/ArrayElementNode.js +4 -8
- package/nodes/utils/ArrayElementNode.mjs +19 -0
- package/nodes/utils/ConvertNode.js +3 -8
- package/nodes/utils/ConvertNode.mjs +25 -0
- package/nodes/utils/JoinNode.js +7 -11
- package/nodes/utils/JoinNode.mjs +26 -0
- package/nodes/utils/MatcapUVNode.js +8 -11
- package/nodes/utils/MatcapUVNode.mjs +16 -0
- package/nodes/utils/OscNode.js +27 -33
- package/nodes/utils/OscNode.mjs +50 -0
- package/nodes/utils/SplitNode.js +6 -20
- package/nodes/utils/SplitNode.mjs +45 -0
- package/nodes/utils/SpriteSheetUVNode.js +23 -23
- package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
- package/nodes/utils/TimerNode.js +20 -24
- package/nodes/utils/TimerNode.mjs +44 -0
- package/objects/GroundProjectedEnv.js +22 -37
- package/objects/GroundProjectedEnv.mjs +130 -0
- package/objects/Lensflare.js +86 -156
- package/objects/Lensflare.mjs +262 -0
- package/objects/LightningStorm.js +38 -102
- package/objects/LightningStorm.mjs +110 -0
- package/objects/MarchingCubes.js +150 -303
- package/objects/MarchingCubes.mjs +457 -0
- package/objects/Reflector.js +50 -72
- package/objects/Reflector.mjs +166 -0
- package/objects/ReflectorForSSRPass.js +80 -131
- package/objects/ReflectorForSSRPass.mjs +247 -0
- package/objects/ReflectorRTT.js +6 -7
- package/objects/ReflectorRTT.mjs +10 -0
- package/objects/Refractor.js +64 -106
- package/objects/Refractor.mjs +178 -0
- package/objects/ShadowMesh.js +8 -17
- package/objects/ShadowMesh.mjs +41 -0
- package/objects/Sky.js +119 -80
- package/objects/Sky.mjs +124 -0
- package/objects/Water.js +83 -127
- package/objects/Water.mjs +235 -0
- package/objects/Water2.js +72 -108
- package/objects/Water2.mjs +252 -0
- package/offscreen/jank.js +10 -14
- package/offscreen/jank.mjs +27 -0
- package/offscreen/offscreen.js +4 -5
- package/offscreen/offscreen.mjs +5 -0
- package/offscreen/scene.js +45 -48
- package/offscreen/scene.mjs +52 -0
- package/package.json +3 -3
- package/physics/AmmoPhysics.js +30 -71
- package/physics/AmmoPhysics.mjs +165 -0
- package/postprocessing/AdaptiveToneMappingPass.js +97 -123
- package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
- package/postprocessing/AfterimagePass.js +28 -49
- package/postprocessing/AfterimagePass.mjs +55 -0
- package/postprocessing/BloomPass.js +43 -69
- package/postprocessing/BloomPass.mjs +90 -0
- package/postprocessing/BokehPass.js +39 -69
- package/postprocessing/BokehPass.mjs +76 -0
- package/postprocessing/ClearPass.js +10 -25
- package/postprocessing/ClearPass.mjs +27 -0
- package/postprocessing/CubeTexturePass.js +28 -27
- package/postprocessing/CubeTexturePass.mjs +49 -0
- package/postprocessing/DotScreenPass.js +24 -32
- package/postprocessing/DotScreenPass.mjs +40 -0
- package/postprocessing/EffectComposer.js +39 -86
- package/postprocessing/EffectComposer.mjs +139 -0
- package/postprocessing/FilmPass.js +25 -30
- package/postprocessing/FilmPass.mjs +42 -0
- package/postprocessing/GlitchPass.js +38 -61
- package/postprocessing/GlitchPass.mjs +75 -0
- package/postprocessing/HalftonePass.js +19 -39
- package/postprocessing/HalftonePass.mjs +44 -0
- package/postprocessing/LUTPass.js +13 -38
- package/postprocessing/LUTPass.mjs +136 -0
- package/postprocessing/MaskPass.js +19 -38
- package/postprocessing/MaskPass.mjs +60 -0
- package/postprocessing/OutlinePass.js +135 -277
- package/postprocessing/OutlinePass.mjs +438 -0
- package/postprocessing/Pass.js +20 -44
- package/postprocessing/Pass.mjs +37 -0
- package/postprocessing/RenderPass.js +13 -36
- package/postprocessing/RenderPass.mjs +48 -0
- package/postprocessing/RenderPixelatedPass.js +44 -58
- package/postprocessing/RenderPixelatedPass.mjs +199 -0
- package/postprocessing/SAOPass.js +154 -189
- package/postprocessing/SAOPass.mjs +282 -0
- package/postprocessing/SMAAPass.js +64 -84
- package/postprocessing/SMAAPass.mjs +112 -0
- package/postprocessing/SSAARenderPass.js +121 -69
- package/postprocessing/SSAARenderPass.mjs +170 -0
- package/postprocessing/SSAOPass.js +123 -172
- package/postprocessing/SSAOPass.mjs +265 -0
- package/postprocessing/SSRPass.js +211 -280
- package/postprocessing/SSRPass.mjs +432 -0
- package/postprocessing/SavePass.js +20 -25
- package/postprocessing/SavePass.mjs +37 -0
- package/postprocessing/ShaderPass.js +14 -30
- package/postprocessing/ShaderPass.mjs +39 -0
- package/postprocessing/TAARenderPass.js +42 -61
- package/postprocessing/TAARenderPass.mjs +88 -0
- package/postprocessing/TexturePass.js +21 -22
- package/postprocessing/TexturePass.mjs +39 -0
- package/postprocessing/UnrealBloomPass.js +105 -213
- package/postprocessing/UnrealBloomPass.mjs +220 -0
- package/renderers/CSS2DRenderer.js +44 -56
- package/renderers/CSS2DRenderer.mjs +112 -0
- package/renderers/CSS3DRenderer.js +53 -86
- package/renderers/CSS3DRenderer.mjs +133 -0
- package/renderers/Projector.js +107 -274
- package/renderers/Projector.mjs +511 -0
- package/renderers/SVGRenderer.js +72 -182
- package/renderers/SVGRenderer.mjs +306 -0
- package/renderers/nodes/accessors/CameraNode.js +29 -40
- package/renderers/nodes/accessors/CameraNode.mjs +63 -0
- package/renderers/nodes/accessors/ModelNode.js +28 -37
- package/renderers/nodes/accessors/ModelNode.mjs +61 -0
- package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
- package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
- package/renderers/nodes/accessors/NormalNode.js +35 -45
- package/renderers/nodes/accessors/NormalNode.mjs +61 -0
- package/renderers/nodes/accessors/PositionNode.js +18 -19
- package/renderers/nodes/accessors/PositionNode.mjs +30 -0
- package/renderers/nodes/accessors/UVNode.js +5 -10
- package/renderers/nodes/accessors/UVNode.mjs +13 -0
- package/renderers/nodes/core/AttributeNode.js +5 -14
- package/renderers/nodes/core/AttributeNode.mjs +35 -0
- package/renderers/nodes/core/InputNode.js +4 -14
- package/renderers/nodes/core/InputNode.mjs +31 -0
- package/renderers/nodes/core/Node.js +7 -17
- package/renderers/nodes/core/Node.mjs +34 -0
- package/renderers/nodes/core/NodeAttribute.js +3 -6
- package/renderers/nodes/core/NodeAttribute.mjs +10 -0
- package/renderers/nodes/core/NodeBuilder.js +87 -154
- package/renderers/nodes/core/NodeBuilder.mjs +243 -0
- package/renderers/nodes/core/NodeFrame.js +9 -12
- package/renderers/nodes/core/NodeFrame.mjs +35 -0
- package/renderers/nodes/core/NodeSlot.js +2 -3
- package/renderers/nodes/core/NodeSlot.mjs +10 -0
- package/renderers/nodes/core/NodeUniform.js +4 -9
- package/renderers/nodes/core/NodeUniform.mjs +18 -0
- package/renderers/nodes/core/NodeVary.js +4 -7
- package/renderers/nodes/core/NodeVary.mjs +11 -0
- package/renderers/nodes/core/VaryNode.js +6 -12
- package/renderers/nodes/core/VaryNode.mjs +22 -0
- package/renderers/nodes/core/constants.js +16 -13
- package/renderers/nodes/core/constants.mjs +22 -0
- package/renderers/nodes/inputs/ColorNode.js +5 -11
- package/renderers/nodes/inputs/ColorNode.mjs +11 -0
- package/renderers/nodes/inputs/FloatNode.js +5 -11
- package/renderers/nodes/inputs/FloatNode.mjs +11 -0
- package/renderers/nodes/inputs/Matrix3Node.js +7 -13
- package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
- package/renderers/nodes/inputs/Matrix4Node.js +7 -13
- package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
- package/renderers/nodes/inputs/TextureNode.js +7 -15
- package/renderers/nodes/inputs/TextureNode.mjs +20 -0
- package/renderers/nodes/inputs/Vector2Node.js +5 -11
- package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
- package/renderers/nodes/inputs/Vector3Node.js +7 -13
- package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
- package/renderers/nodes/inputs/Vector4Node.js +7 -13
- package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
- package/renderers/nodes/math/MathNode.js +20 -30
- package/renderers/nodes/math/MathNode.mjs +55 -0
- package/renderers/nodes/math/OperatorNode.js +4 -20
- package/renderers/nodes/math/OperatorNode.mjs +42 -0
- package/renderers/nodes/utils/SwitchNode.js +4 -9
- package/renderers/nodes/utils/SwitchNode.mjs +20 -0
- package/renderers/nodes/utils/TimerNode.js +5 -10
- package/renderers/nodes/utils/TimerNode.mjs +14 -0
- package/renderers/webgpu/WebGPU.js +14 -16
- package/renderers/webgpu/WebGPU.mjs +24 -0
- package/renderers/webgpu/WebGPUAttributes.js +16 -23
- package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
- package/renderers/webgpu/WebGPUBackground.js +13 -30
- package/renderers/webgpu/WebGPUBackground.mjs +61 -0
- package/renderers/webgpu/WebGPUBinding.js +4 -7
- package/renderers/webgpu/WebGPUBinding.mjs +14 -0
- package/renderers/webgpu/WebGPUBindings.js +21 -57
- package/renderers/webgpu/WebGPUBindings.mjs +155 -0
- package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
- package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
- package/renderers/webgpu/WebGPUGeometries.js +5 -15
- package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
- package/renderers/webgpu/WebGPUInfo.js +3 -8
- package/renderers/webgpu/WebGPUInfo.mjs +46 -0
- package/renderers/webgpu/WebGPUObjects.js +5 -10
- package/renderers/webgpu/WebGPUObjects.mjs +25 -0
- package/renderers/webgpu/WebGPUProperties.js +5 -11
- package/renderers/webgpu/WebGPUProperties.mjs +22 -0
- package/renderers/webgpu/WebGPURenderLists.js +20 -36
- package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
- package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
- package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
- package/renderers/webgpu/WebGPURenderer.js +124 -262
- package/renderers/webgpu/WebGPURenderer.mjs +574 -0
- package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
- package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
- package/renderers/webgpu/WebGPUSampler.js +7 -12
- package/renderers/webgpu/WebGPUSampler.mjs +15 -0
- package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
- package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
- package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
- package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
- package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
- package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
- package/renderers/webgpu/WebGPUTextures.js +186 -333
- package/renderers/webgpu/WebGPUTextures.mjs +484 -0
- package/renderers/webgpu/WebGPUUniform.js +25 -51
- package/renderers/webgpu/WebGPUUniform.mjs +81 -0
- package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
- package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
- package/renderers/webgpu/constants.js +190 -181
- package/renderers/webgpu/constants.mjs +230 -0
- package/renderers/webgpu/nodes/ShaderLib.js +2 -2
- package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
- package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
- package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
- package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
- package/shaders/ACESFilmicToneMappingShader.js +44 -24
- package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
- package/shaders/AfterimageShader.js +28 -18
- package/shaders/AfterimageShader.mjs +32 -0
- package/shaders/BasicShader.js +9 -7
- package/shaders/BasicShader.mjs +12 -0
- package/shaders/BleachBypassShader.js +31 -15
- package/shaders/BleachBypassShader.mjs +35 -0
- package/shaders/BlendShader.js +26 -19
- package/shaders/BlendShader.mjs +30 -0
- package/shaders/BokehShader.js +98 -36
- package/shaders/BokehShader.mjs +106 -0
- package/shaders/BokehShader2.js +261 -90
- package/shaders/BokehShader2.mjs +269 -0
- package/shaders/BrightnessContrastShader.js +28 -19
- package/shaders/BrightnessContrastShader.mjs +32 -0
- package/shaders/ColorCorrectionShader.js +26 -22
- package/shaders/ColorCorrectionShader.mjs +30 -0
- package/shaders/ColorifyShader.js +24 -16
- package/shaders/ColorifyShader.mjs +28 -0
- package/shaders/ConvolutionShader.js +40 -36
- package/shaders/ConvolutionShader.mjs +55 -0
- package/shaders/CopyShader.js +21 -13
- package/shaders/CopyShader.mjs +25 -0
- package/shaders/DOFMipMapShader.js +28 -21
- package/shaders/DOFMipMapShader.mjs +32 -0
- package/shaders/DepthLimitedBlurShader.js +85 -40
- package/shaders/DepthLimitedBlurShader.mjs +114 -0
- package/shaders/DigitalGlitch.js +74 -46
- package/shaders/DigitalGlitch.mjs +78 -0
- package/shaders/DotScreenShader.js +35 -27
- package/shaders/DotScreenShader.mjs +39 -0
- package/shaders/FXAAShader.js +1094 -19
- package/shaders/FXAAShader.mjs +1098 -0
- package/shaders/FilmShader.js +38 -52
- package/shaders/FilmShader.mjs +42 -0
- package/shaders/FocusShader.js +51 -24
- package/shaders/FocusShader.mjs +55 -0
- package/shaders/FreiChenShader.js +57 -24
- package/shaders/FreiChenShader.mjs +61 -0
- package/shaders/FresnelShader.js +43 -22
- package/shaders/FresnelShader.mjs +47 -0
- package/shaders/GammaCorrectionShader.js +19 -11
- package/shaders/GammaCorrectionShader.mjs +23 -0
- package/shaders/GodRaysShader.js +103 -94
- package/shaders/GodRaysShader.mjs +146 -0
- package/shaders/HalftoneShader.js +208 -65
- package/shaders/HalftoneShader.mjs +212 -0
- package/shaders/HorizontalBlurShader.js +7 -23
- package/shaders/HorizontalBlurShader.mjs +43 -0
- package/shaders/HorizontalTiltShiftShader.js +33 -21
- package/shaders/HorizontalTiltShiftShader.mjs +37 -0
- package/shaders/HueSaturationShader.js +37 -21
- package/shaders/HueSaturationShader.mjs +41 -0
- package/shaders/KaleidoShader.js +30 -22
- package/shaders/KaleidoShader.mjs +34 -0
- package/shaders/LuminosityHighPassShader.js +33 -27
- package/shaders/LuminosityHighPassShader.mjs +37 -0
- package/shaders/LuminosityShader.js +21 -11
- package/shaders/LuminosityShader.mjs +25 -0
- package/shaders/MirrorShader.js +31 -16
- package/shaders/MirrorShader.mjs +35 -0
- package/shaders/NormalMapShader.js +27 -23
- package/shaders/NormalMapShader.mjs +31 -0
- package/shaders/ParallaxShader.js +107 -48
- package/shaders/ParallaxShader.mjs +113 -0
- package/shaders/PixelShader.js +24 -16
- package/shaders/PixelShader.mjs +28 -0
- package/shaders/RGBShiftShader.js +26 -22
- package/shaders/RGBShiftShader.mjs +30 -0
- package/shaders/SAOShader.js +132 -48
- package/shaders/SAOShader.mjs +144 -0
- package/shaders/SMAAShader.js +256 -135
- package/shaders/SMAAShader.mjs +272 -0
- package/shaders/SSAOShader.js +153 -81
- package/shaders/SSAOShader.mjs +172 -0
- package/shaders/SSRShader.js +32 -87
- package/shaders/SSRShader.mjs +324 -0
- package/shaders/SepiaShader.js +25 -15
- package/shaders/SepiaShader.mjs +29 -0
- package/shaders/SobelOperatorShader.js +40 -29
- package/shaders/SobelOperatorShader.mjs +44 -0
- package/shaders/SubsurfaceScatteringShader.js +53 -39
- package/shaders/SubsurfaceScatteringShader.mjs +59 -0
- package/shaders/TechnicolorShader.js +20 -13
- package/shaders/TechnicolorShader.mjs +24 -0
- package/shaders/ToneMapShader.js +44 -28
- package/shaders/ToneMapShader.mjs +48 -0
- package/shaders/ToonShader.js +172 -96
- package/shaders/ToonShader.mjs +188 -0
- package/shaders/TriangleBlurShader.js +32 -23
- package/shaders/TriangleBlurShader.mjs +36 -0
- package/shaders/UnpackDepthRGBAShader.js +22 -14
- package/shaders/UnpackDepthRGBAShader.mjs +26 -0
- package/shaders/VerticalBlurShader.js +7 -23
- package/shaders/VerticalBlurShader.mjs +44 -0
- package/shaders/VerticalTiltShiftShader.js +33 -21
- package/shaders/VerticalTiltShiftShader.mjs +37 -0
- package/shaders/VignetteShader.js +24 -28
- package/shaders/VignetteShader.mjs +28 -0
- package/shaders/VolumeShader.js +174 -77
- package/shaders/VolumeShader.mjs +178 -0
- package/shaders/WaterRefractionShader.js +38 -6
- package/shaders/WaterRefractionShader.mjs +57 -0
- package/shaders/types.js +1 -1
- package/{custom.d.js → shaders/types.mjs} +0 -0
- package/textures/FlakesTexture.js +8 -10
- package/textures/FlakesTexture.mjs +30 -0
- package/types/helpers.js +3 -2
- package/types/helpers.mjs +4 -0
- package/utils/BufferGeometryUtils.js +251 -325
- package/utils/BufferGeometryUtils.mjs +570 -0
- package/utils/GeometryCompressionUtils.js +241 -239
- package/utils/GeometryCompressionUtils.mjs +547 -0
- package/utils/GeometryUtils.js +41 -94
- package/utils/GeometryUtils.mjs +108 -0
- package/utils/RoughnessMipmapper.js +38 -82
- package/utils/RoughnessMipmapper.mjs +213 -0
- package/utils/SceneUtils.js +15 -20
- package/utils/SceneUtils.mjs +36 -0
- package/utils/ShadowMapViewer.js +49 -95
- package/utils/ShadowMapViewer.mjs +114 -0
- package/utils/SkeletonUtils.js +74 -165
- package/utils/SkeletonUtils.mjs +292 -0
- package/utils/UVsDebug.js +32 -62
- package/utils/UVsDebug.mjs +85 -0
- package/utils/WorkerPool.js +13 -33
- package/utils/WorkerPool.mjs +62 -0
- package/webxr/ARButton.js +72 -98
- package/webxr/ARButton.mjs +119 -0
- package/webxr/OculusHandModel.js +18 -37
- package/webxr/OculusHandModel.mjs +71 -0
- package/webxr/OculusHandPointerModel.js +58 -80
- package/webxr/OculusHandPointerModel.mjs +207 -0
- package/webxr/Text2D.js +37 -19
- package/webxr/Text2D.mjs +31 -0
- package/webxr/VRButton.js +59 -90
- package/webxr/VRButton.mjs +105 -0
- package/webxr/XRControllerModelFactory.js +58 -116
- package/webxr/XRControllerModelFactory.mjs +146 -0
- package/webxr/XREstimatedLight.js +39 -66
- package/webxr/XREstimatedLight.mjs +126 -0
- package/webxr/XRHandMeshModel.js +40 -29
- package/webxr/XRHandMeshModel.mjs +73 -0
- package/webxr/XRHandModelFactory.js +28 -31
- package/webxr/XRHandModelFactory.mjs +61 -0
- package/webxr/XRHandPrimitiveModel.js +41 -27
- package/webxr/XRHandPrimitiveModel.mjs +68 -0
- package/BufferGeometryUtils-1a7a235c.js +0 -655
- package/BufferGeometryUtils-971dfde3.js +0 -1
- package/Nodes-4f766d71.js +0 -471
- package/Nodes-9aa16d74.js +0 -1
- package/animation/AnimationClipCreator.cjs.js +0 -1
- package/animation/CCDIKSolver.cjs.js +0 -1
- package/animation/MMDAnimationHelper.cjs.js +0 -1
- package/animation/MMDPhysics.cjs.js +0 -1
- package/cameras/CinematicCamera.cjs.js +0 -1
- package/controls/ArcballControls.cjs.js +0 -1
- package/controls/DeviceOrientationControls.cjs.js +0 -1
- package/controls/DragControls.cjs.js +0 -1
- package/controls/FirstPersonControls.cjs.js +0 -1
- package/controls/FlyControls.cjs.js +0 -1
- package/controls/OrbitControls.cjs.js +0 -1
- package/controls/PointerLockControls.cjs.js +0 -1
- package/controls/TrackballControls.cjs.js +0 -1
- package/controls/TransformControls.cjs.js +0 -1
- package/controls/experimental/CameraControls.cjs.js +0 -1
- package/csm/CSM.cjs.js +0 -1
- package/csm/CSMFrustum.cjs.js +0 -1
- package/csm/CSMHelper.cjs.js +0 -1
- package/csm/CSMShader.cjs.js +0 -1
- package/curves/CurveExtras.cjs.js +0 -1
- package/curves/NURBSCurve.cjs.js +0 -1
- package/curves/NURBSSurface.cjs.js +0 -1
- package/curves/NURBSUtils.cjs.js +0 -1
- package/custom.d.cjs.js +0 -1
- package/deprecated/Geometry.cjs.js +0 -1
- package/effects/AnaglyphEffect.cjs.js +0 -1
- package/effects/AsciiEffect.cjs.js +0 -1
- package/effects/OutlineEffect.cjs.js +0 -1
- package/effects/ParallaxBarrierEffect.cjs.js +0 -1
- package/effects/PeppersGhostEffect.cjs.js +0 -1
- package/effects/StereoEffect.cjs.js +0 -1
- package/environments/RoomEnvironment.cjs.js +0 -1
- package/exporters/ColladaExporter.cjs.js +0 -1
- package/exporters/DRACOExporter.cjs.js +0 -1
- package/exporters/GLTFExporter.cjs.js +0 -1
- package/exporters/MMDExporter.cjs.js +0 -1
- package/exporters/OBJExporter.cjs.js +0 -1
- package/exporters/PLYExporter.cjs.js +0 -1
- package/exporters/STLExporter.cjs.js +0 -1
- package/exporters/USDZExporter.cjs.js +0 -1
- package/geometries/BoxLineGeometry.cjs.js +0 -1
- package/geometries/ConvexGeometry.cjs.js +0 -1
- package/geometries/DecalGeometry.cjs.js +0 -1
- package/geometries/LightningStrike.cjs.js +0 -1
- package/geometries/ParametricGeometries.cjs.js +0 -1
- package/geometries/ParametricGeometry.cjs.js +0 -1
- package/geometries/RoundedBoxGeometry.cjs.js +0 -1
- package/geometries/TeapotGeometry.cjs.js +0 -1
- package/geometries/TextGeometry.cjs.js +0 -1
- package/helpers/LightProbeHelper.cjs.js +0 -1
- package/helpers/PositionalAudioHelper.cjs.js +0 -1
- package/helpers/RectAreaLightHelper.cjs.js +0 -1
- package/helpers/VertexNormalsHelper.cjs.js +0 -1
- package/helpers/VertexTangentsHelper.cjs.js +0 -1
- package/index.cjs.js +0 -1
- package/interactive/InteractiveGroup.cjs.js +0 -1
- package/interactive/InteractiveGroup.d.ts +0 -5
- package/interactive/InteractiveGroup.js +0 -87
- package/interactive/SelectionBox.cjs.js +0 -1
- package/interactive/SelectionHelper.cjs.js +0 -1
- package/libs/MeshoptDecoder.cjs.js +0 -1
- package/libs/MotionControllers.cjs.js +0 -1
- package/lights/LightProbeGenerator.cjs.js +0 -1
- package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
- package/lines/Line2.cjs.js +0 -1
- package/lines/LineGeometry.cjs.js +0 -1
- package/lines/LineMaterial.cjs.js +0 -1
- package/lines/LineSegments2.cjs.js +0 -1
- package/lines/LineSegmentsGeometry.cjs.js +0 -1
- package/lines/Wireframe.cjs.js +0 -1
- package/lines/WireframeGeometry2.cjs.js +0 -1
- package/loaders/3DMLoader.cjs.js +0 -1
- package/loaders/3MFLoader.cjs.js +0 -1
- package/loaders/AMFLoader.cjs.js +0 -1
- package/loaders/AssimpLoader.cjs.js +0 -1
- package/loaders/BVHLoader.cjs.js +0 -1
- package/loaders/BasisTextureLoader.cjs.js +0 -1
- package/loaders/ColladaLoader.cjs.js +0 -1
- package/loaders/DDSLoader.cjs.js +0 -1
- package/loaders/DRACOLoader.cjs.js +0 -1
- package/loaders/EXRLoader.cjs.js +0 -1
- package/loaders/FBXLoader.cjs.js +0 -1
- package/loaders/FontLoader.cjs.js +0 -1
- package/loaders/GCodeLoader.cjs.js +0 -1
- package/loaders/GLTFLoader.cjs.js +0 -1
- package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
- package/loaders/KMZLoader.cjs.js +0 -1
- package/loaders/KTX2Loader.cjs.js +0 -1
- package/loaders/KTXLoader.cjs.js +0 -1
- package/loaders/LDrawLoader.cjs.js +0 -1
- package/loaders/LUT3dlLoader.cjs.js +0 -1
- package/loaders/LUTCubeLoader.cjs.js +0 -1
- package/loaders/LWOLoader.cjs.js +0 -1
- package/loaders/LottieLoader.cjs.js +0 -1
- package/loaders/MD2Loader.cjs.js +0 -1
- package/loaders/MDDLoader.cjs.js +0 -1
- package/loaders/MMDLoader.cjs.js +0 -1
- package/loaders/MTLLoader.cjs.js +0 -1
- package/loaders/NRRDLoader.cjs.js +0 -1
- package/loaders/NodeMaterialLoader.cjs.js +0 -1
- package/loaders/OBJLoader.cjs.js +0 -1
- package/loaders/PCDLoader.cjs.js +0 -1
- package/loaders/PDBLoader.cjs.js +0 -1
- package/loaders/PLYLoader.cjs.js +0 -1
- package/loaders/PRWMLoader.cjs.js +0 -1
- package/loaders/PVRLoader.cjs.js +0 -1
- package/loaders/RGBELoader.cjs.js +0 -1
- package/loaders/RGBMLoader.cjs.js +0 -1
- package/loaders/STLLoader.cjs.js +0 -1
- package/loaders/SVGLoader.cjs.js +0 -1
- package/loaders/TDSLoader.cjs.js +0 -1
- package/loaders/TGALoader.cjs.js +0 -1
- package/loaders/TTFLoader.cjs.js +0 -1
- package/loaders/TiltLoader.cjs.js +0 -1
- package/loaders/VOXLoader.cjs.js +0 -1
- package/loaders/VRMLLoader.cjs.js +0 -1
- package/loaders/VRMLoader.cjs.js +0 -1
- package/loaders/VTKLoader.cjs.js +0 -1
- package/loaders/XLoader.cjs.js +0 -1
- package/loaders/XYZLoader.cjs.js +0 -1
- package/loaders/lwo/IFFParser.cjs.js +0 -1
- package/loaders/lwo/LWO2Parser.cjs.js +0 -1
- package/loaders/lwo/LWO3Parser.cjs.js +0 -1
- package/math/Capsule.cjs.js +0 -1
- package/math/ColorConverter.cjs.js +0 -1
- package/math/ConvexHull.cjs.js +0 -1
- package/math/ImprovedNoise.cjs.js +0 -1
- package/math/Lut.cjs.js +0 -1
- package/math/MeshSurfaceSampler.cjs.js +0 -1
- package/math/OBB.cjs.js +0 -1
- package/math/Octree.cjs.js +0 -1
- package/math/SimplexNoise.cjs.js +0 -1
- package/misc/ConvexObjectBreaker.cjs.js +0 -1
- package/misc/GPUComputationRenderer.cjs.js +0 -1
- package/misc/Gyroscope.cjs.js +0 -1
- package/misc/MD2Character.cjs.js +0 -1
- package/misc/MD2CharacterComplex.cjs.js +0 -1
- package/misc/MorphAnimMesh.cjs.js +0 -1
- package/misc/MorphBlendMesh.cjs.js +0 -1
- package/misc/ProgressiveLightmap.cjs.js +0 -1
- package/misc/RollerCoaster.cjs.js +0 -1
- package/misc/TubePainter.cjs.js +0 -1
- package/misc/Volume.cjs.js +0 -1
- package/misc/VolumeSlice.cjs.js +0 -1
- package/misc/WebGL.cjs.js +0 -1
- package/modifiers/CurveModifier.cjs.js +0 -1
- package/modifiers/EdgeSplitModifier.cjs.js +0 -1
- package/modifiers/SimplifyModifier.cjs.js +0 -1
- package/modifiers/TessellateModifier.cjs.js +0 -1
- package/nodes/Nodes.cjs.js +0 -1
- package/nodes/ShaderNode.cjs.js +0 -1
- package/nodes/accessors/BufferNode.cjs.js +0 -1
- package/nodes/accessors/CameraNode.cjs.js +0 -1
- package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
- package/nodes/accessors/MaterialNode.cjs.js +0 -1
- package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
- package/nodes/accessors/ModelNode.cjs.js +0 -1
- package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
- package/nodes/accessors/NormalNode.cjs.js +0 -1
- package/nodes/accessors/Object3DNode.cjs.js +0 -1
- package/nodes/accessors/PointUVNode.cjs.js +0 -1
- package/nodes/accessors/PositionNode.cjs.js +0 -1
- package/nodes/accessors/ReferenceNode.cjs.js +0 -1
- package/nodes/accessors/ReflectNode.cjs.js +0 -1
- package/nodes/accessors/SkinningNode.cjs.js +0 -1
- package/nodes/accessors/TextureNode.cjs.js +0 -1
- package/nodes/accessors/UVNode.cjs.js +0 -1
- package/nodes/core/ArrayUniformNode.cjs.js +0 -1
- package/nodes/core/AttributeNode.cjs.js +0 -1
- package/nodes/core/BypassNode.cjs.js +0 -1
- package/nodes/core/CodeNode.cjs.js +0 -1
- package/nodes/core/ConstNode.cjs.js +0 -1
- package/nodes/core/ContextNode.cjs.js +0 -1
- package/nodes/core/ExpressionNode.cjs.js +0 -1
- package/nodes/core/FunctionCallNode.cjs.js +0 -1
- package/nodes/core/FunctionNode.cjs.js +0 -1
- package/nodes/core/InputNode.cjs.js +0 -1
- package/nodes/core/Node.cjs.js +0 -1
- package/nodes/core/NodeAttribute.cjs.js +0 -1
- package/nodes/core/NodeBuilder.cjs.js +0 -1
- package/nodes/core/NodeCode.cjs.js +0 -1
- package/nodes/core/NodeFrame.cjs.js +0 -1
- package/nodes/core/NodeFunction.cjs.js +0 -1
- package/nodes/core/NodeFunction.js +0 -17
- package/nodes/core/NodeFunctionInput.cjs.js +0 -1
- package/nodes/core/NodeKeywords.cjs.js +0 -1
- package/nodes/core/NodeParser.cjs.js +0 -1
- package/nodes/core/NodeParser.js +0 -8
- package/nodes/core/NodeUniform.cjs.js +0 -1
- package/nodes/core/NodeUtils.cjs.js +0 -1
- package/nodes/core/NodeVar.cjs.js +0 -1
- package/nodes/core/NodeVary.cjs.js +0 -1
- package/nodes/core/PropertyNode.cjs.js +0 -1
- package/nodes/core/TempNode.cjs.js +0 -1
- package/nodes/core/UniformNode.cjs.js +0 -1
- package/nodes/core/VarNode.cjs.js +0 -1
- package/nodes/core/VaryNode.cjs.js +0 -1
- package/nodes/core/constants.cjs.js +0 -1
- package/nodes/display/ColorSpaceNode.cjs.js +0 -1
- package/nodes/display/NormalMapNode.cjs.js +0 -1
- package/nodes/fog/FogNode.cjs.js +0 -1
- package/nodes/fog/FogRangeNode.cjs.js +0 -1
- package/nodes/functions/BSDFs.cjs.js +0 -1
- package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
- package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
- package/nodes/lights/LightContextNode.cjs.js +0 -1
- package/nodes/lights/LightNode.cjs.js +0 -1
- package/nodes/lights/LightsNode.cjs.js +0 -1
- package/nodes/loaders/NodeLoader.cjs.js +0 -1
- package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
- package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
- package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
- package/nodes/materials/Materials.cjs.js +0 -1
- package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
- package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
- package/nodes/materials/NodeMaterial.cjs.js +0 -1
- package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
- package/nodes/math/CondNode.cjs.js +0 -1
- package/nodes/math/MathNode.cjs.js +0 -1
- package/nodes/math/OperatorNode.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeFunction.js +0 -101
- package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeParser.js +0 -13
- package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
- package/nodes/parsers/WGSLNodeFunction.js +0 -71
- package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
- package/nodes/parsers/WGSLNodeParser.js +0 -13
- package/nodes/procedural/CheckerNode.cjs.js +0 -1
- package/nodes/utils/ArrayElementNode.cjs.js +0 -1
- package/nodes/utils/ConvertNode.cjs.js +0 -1
- package/nodes/utils/JoinNode.cjs.js +0 -1
- package/nodes/utils/MatcapUVNode.cjs.js +0 -1
- package/nodes/utils/OscNode.cjs.js +0 -1
- package/nodes/utils/SplitNode.cjs.js +0 -1
- package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
- package/nodes/utils/TimerNode.cjs.js +0 -1
- package/objects/GroundProjectedEnv.cjs.js +0 -1
- package/objects/Lensflare.cjs.js +0 -1
- package/objects/LightningStorm.cjs.js +0 -1
- package/objects/MarchingCubes.cjs.js +0 -1
- package/objects/Reflector.cjs.js +0 -1
- package/objects/ReflectorForSSRPass.cjs.js +0 -1
- package/objects/ReflectorRTT.cjs.js +0 -1
- package/objects/Refractor.cjs.js +0 -1
- package/objects/ShadowMesh.cjs.js +0 -1
- package/objects/Sky.cjs.js +0 -1
- package/objects/Water.cjs.js +0 -1
- package/objects/Water2.cjs.js +0 -1
- package/offscreen/jank.cjs.js +0 -1
- package/offscreen/offscreen.cjs.js +0 -1
- package/offscreen/scene.cjs.js +0 -1
- package/physics/AmmoPhysics.cjs.js +0 -1
- package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
- package/postprocessing/AfterimagePass.cjs.js +0 -1
- package/postprocessing/BloomPass.cjs.js +0 -1
- package/postprocessing/BokehPass.cjs.js +0 -1
- package/postprocessing/ClearPass.cjs.js +0 -1
- package/postprocessing/CubeTexturePass.cjs.js +0 -1
- package/postprocessing/DotScreenPass.cjs.js +0 -1
- package/postprocessing/EffectComposer.cjs.js +0 -1
- package/postprocessing/FilmPass.cjs.js +0 -1
- package/postprocessing/GlitchPass.cjs.js +0 -1
- package/postprocessing/HalftonePass.cjs.js +0 -1
- package/postprocessing/LUTPass.cjs.js +0 -1
- package/postprocessing/MaskPass.cjs.js +0 -1
- package/postprocessing/OutlinePass.cjs.js +0 -1
- package/postprocessing/Pass.cjs.js +0 -1
- package/postprocessing/RenderPass.cjs.js +0 -1
- package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
- package/postprocessing/SAOPass.cjs.js +0 -1
- package/postprocessing/SMAAPass.cjs.js +0 -1
- package/postprocessing/SSAARenderPass.cjs.js +0 -1
- package/postprocessing/SSAOPass.cjs.js +0 -1
- package/postprocessing/SSRPass.cjs.js +0 -1
- package/postprocessing/SavePass.cjs.js +0 -1
- package/postprocessing/ShaderPass.cjs.js +0 -1
- package/postprocessing/TAARenderPass.cjs.js +0 -1
- package/postprocessing/TexturePass.cjs.js +0 -1
- package/postprocessing/UnrealBloomPass.cjs.js +0 -1
- package/renderers/CSS2DRenderer.cjs.js +0 -1
- package/renderers/CSS3DRenderer.cjs.js +0 -1
- package/renderers/Projector.cjs.js +0 -1
- package/renderers/SVGRenderer.cjs.js +0 -1
- package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
- package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
- package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
- package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
- package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
- package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
- package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
- package/renderers/nodes/core/InputNode.cjs.js +0 -1
- package/renderers/nodes/core/Node.cjs.js +0 -1
- package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
- package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
- package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
- package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
- package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
- package/renderers/nodes/core/NodeVary.cjs.js +0 -1
- package/renderers/nodes/core/VaryNode.cjs.js +0 -1
- package/renderers/nodes/core/constants.cjs.js +0 -1
- package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
- package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
- package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
- package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
- package/renderers/nodes/math/MathNode.cjs.js +0 -1
- package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
- package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
- package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
- package/renderers/webgpu/WebGPU.cjs.js +0 -1
- package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
- package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
- package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
- package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
- package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
- package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
- package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
- package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
- package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
- package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
- package/renderers/webgpu/constants.cjs.js +0 -1
- package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
- package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
- package/shaders/AfterimageShader.cjs.js +0 -1
- package/shaders/BasicShader.cjs.js +0 -1
- package/shaders/BleachBypassShader.cjs.js +0 -1
- package/shaders/BlendShader.cjs.js +0 -1
- package/shaders/BokehShader.cjs.js +0 -1
- package/shaders/BokehShader2.cjs.js +0 -1
- package/shaders/BrightnessContrastShader.cjs.js +0 -1
- package/shaders/ColorCorrectionShader.cjs.js +0 -1
- package/shaders/ColorifyShader.cjs.js +0 -1
- package/shaders/ConvolutionShader.cjs.js +0 -1
- package/shaders/CopyShader.cjs.js +0 -1
- package/shaders/DOFMipMapShader.cjs.js +0 -1
- package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
- package/shaders/DigitalGlitch.cjs.js +0 -1
- package/shaders/DotScreenShader.cjs.js +0 -1
- package/shaders/FXAAShader.cjs.js +0 -1
- package/shaders/FilmShader.cjs.js +0 -1
- package/shaders/FocusShader.cjs.js +0 -1
- package/shaders/FreiChenShader.cjs.js +0 -1
- package/shaders/FresnelShader.cjs.js +0 -1
- package/shaders/GammaCorrectionShader.cjs.js +0 -1
- package/shaders/GodRaysShader.cjs.js +0 -1
- package/shaders/HalftoneShader.cjs.js +0 -1
- package/shaders/HorizontalBlurShader.cjs.js +0 -1
- package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
- package/shaders/HueSaturationShader.cjs.js +0 -1
- package/shaders/KaleidoShader.cjs.js +0 -1
- package/shaders/LuminosityHighPassShader.cjs.js +0 -1
- package/shaders/LuminosityShader.cjs.js +0 -1
- package/shaders/MirrorShader.cjs.js +0 -1
- package/shaders/NormalMapShader.cjs.js +0 -1
- package/shaders/ParallaxShader.cjs.js +0 -1
- package/shaders/PixelShader.cjs.js +0 -1
- package/shaders/RGBShiftShader.cjs.js +0 -1
- package/shaders/SAOShader.cjs.js +0 -1
- package/shaders/SMAAShader.cjs.js +0 -1
- package/shaders/SSAOShader.cjs.js +0 -1
- package/shaders/SSRShader.cjs.js +0 -1
- package/shaders/SepiaShader.cjs.js +0 -1
- package/shaders/SobelOperatorShader.cjs.js +0 -1
- package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
- package/shaders/TechnicolorShader.cjs.js +0 -1
- package/shaders/ToneMapShader.cjs.js +0 -1
- package/shaders/ToonShader.cjs.js +0 -1
- package/shaders/TriangleBlurShader.cjs.js +0 -1
- package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
- package/shaders/VerticalBlurShader.cjs.js +0 -1
- package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
- package/shaders/VignetteShader.cjs.js +0 -1
- package/shaders/VolumeShader.cjs.js +0 -1
- package/shaders/WaterRefractionShader.cjs.js +0 -1
- package/shaders/types.cjs.js +0 -1
- package/textures/FlakesTexture.cjs.js +0 -1
- package/types/helpers.cjs.js +0 -1
- package/types/shared.cjs.js +0 -1
- package/types/shared.js +0 -1
- package/types/utils.cjs.js +0 -1
- package/types/utils.js +0 -1
- package/utils/BufferGeometryUtils.cjs.js +0 -1
- package/utils/GeometryCompressionUtils.cjs.js +0 -1
- package/utils/GeometryUtils.cjs.js +0 -1
- package/utils/LDrawUtils.cjs.js +0 -1
- package/utils/LDrawUtils.d.ts +0 -5
- package/utils/LDrawUtils.js +0 -144
- package/utils/RoughnessMipmapper.cjs.js +0 -1
- package/utils/SceneUtils.cjs.js +0 -1
- package/utils/ShadowMapViewer.cjs.js +0 -1
- package/utils/SkeletonUtils.cjs.js +0 -1
- package/utils/UVsDebug.cjs.js +0 -1
- package/utils/WorkerPool.cjs.js +0 -1
- package/webxr/ARButton.cjs.js +0 -1
- package/webxr/OculusHandModel.cjs.js +0 -1
- package/webxr/OculusHandPointerModel.cjs.js +0 -1
- package/webxr/Text2D.cjs.js +0 -1
- package/webxr/VRButton.cjs.js +0 -1
- package/webxr/XRControllerModelFactory.cjs.js +0 -1
- package/webxr/XREstimatedLight.cjs.js +0 -1
- package/webxr/XRHandMeshModel.cjs.js +0 -1
- package/webxr/XRHandModelFactory.cjs.js +0 -1
- package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),i=require("three");function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var e=s(t);const a={IDLE:Symbol(),ROTATE:Symbol(),PAN:Symbol(),SCALE:Symbol(),FOV:Symbol(),FOCUS:Symbol(),ZROTATE:Symbol(),TOUCH_MULTI:Symbol(),ANIMATION_FOCUS:Symbol(),ANIMATION_ROTATE:Symbol()},o={NONE:Symbol(),ONE_FINGER:Symbol(),ONE_FINGER_SWITCHED:Symbol(),TWO_FINGER:Symbol(),MULT_FINGER:Symbol(),CURSOR:Symbol()},h={x:0,y:0},r={camera:new i.Matrix4,gizmos:new i.Matrix4},n={type:"change"},c={type:"start"},m={type:"end"};class l extends i.EventDispatcher{constructor(t,s=null,l=null){super(),e.default(this,"camera",void 0),e.default(this,"domElement",void 0),e.default(this,"scene",void 0),e.default(this,"mouseActions",void 0),e.default(this,"_mouseOp",void 0),e.default(this,"_v2_1",void 0),e.default(this,"_v3_1",void 0),e.default(this,"_v3_2",void 0),e.default(this,"_m4_1",void 0),e.default(this,"_m4_2",void 0),e.default(this,"_quat",void 0),e.default(this,"_translationMatrix",void 0),e.default(this,"_rotationMatrix",void 0),e.default(this,"_scaleMatrix",void 0),e.default(this,"_rotationAxis",void 0),e.default(this,"_cameraMatrixState",void 0),e.default(this,"_cameraProjectionState",void 0),e.default(this,"_fovState",void 0),e.default(this,"_upState",void 0),e.default(this,"_zoomState",void 0),e.default(this,"_nearPos",void 0),e.default(this,"_farPos",void 0),e.default(this,"_gizmoMatrixState",void 0),e.default(this,"_up0",void 0),e.default(this,"_zoom0",void 0),e.default(this,"_fov0",void 0),e.default(this,"_initialNear",void 0),e.default(this,"_nearPos0",void 0),e.default(this,"_initialFar",void 0),e.default(this,"_farPos0",void 0),e.default(this,"_cameraMatrixState0",void 0),e.default(this,"_gizmoMatrixState0",void 0),e.default(this,"_button",void 0),e.default(this,"_touchStart",void 0),e.default(this,"_touchCurrent",void 0),e.default(this,"_input",void 0),e.default(this,"_switchSensibility",void 0),e.default(this,"_startFingerDistance",void 0),e.default(this,"_currentFingerDistance",void 0),e.default(this,"_startFingerRotation",void 0),e.default(this,"_currentFingerRotation",void 0),e.default(this,"_devPxRatio",void 0),e.default(this,"_downValid",void 0),e.default(this,"_nclicks",void 0),e.default(this,"_downEvents",void 0),e.default(this,"_clickStart",void 0),e.default(this,"_maxDownTime",void 0),e.default(this,"_maxInterval",void 0),e.default(this,"_posThreshold",void 0),e.default(this,"_movementThreshold",void 0),e.default(this,"_currentCursorPosition",void 0),e.default(this,"_startCursorPosition",void 0),e.default(this,"_grid",void 0),e.default(this,"_gridPosition",void 0),e.default(this,"_gizmos",void 0),e.default(this,"_curvePts",void 0),e.default(this,"_timeStart",void 0),e.default(this,"_animationId",void 0),e.default(this,"focusAnimationTime",void 0),e.default(this,"_timePrev",void 0),e.default(this,"_timeCurrent",void 0),e.default(this,"_anglePrev",void 0),e.default(this,"_angleCurrent",void 0),e.default(this,"_cursorPosPrev",void 0),e.default(this,"_cursorPosCurr",void 0),e.default(this,"_wPrev",void 0),e.default(this,"_wCurr",void 0),e.default(this,"adjustNearFar",void 0),e.default(this,"scaleFactor",void 0),e.default(this,"dampingFactor",void 0),e.default(this,"wMax",void 0),e.default(this,"enableAnimations",void 0),e.default(this,"enableGrid",void 0),e.default(this,"cursorZoom",void 0),e.default(this,"minFov",void 0),e.default(this,"maxFov",void 0),e.default(this,"enabled",void 0),e.default(this,"enablePan",void 0),e.default(this,"enableRotate",void 0),e.default(this,"enableZoom",void 0),e.default(this,"minDistance",void 0),e.default(this,"maxDistance",void 0),e.default(this,"minZoom",void 0),e.default(this,"maxZoom",void 0),e.default(this,"target",void 0),e.default(this,"_currentTarget",void 0),e.default(this,"_tbRadius",void 0),e.default(this,"_state",void 0),e.default(this,"onWindowResize",(()=>{const t=(this._gizmos.scale.x+this._gizmos.scale.y+this._gizmos.scale.z)/3;if(this.camera){const t=this.calculateTbRadius(this.camera);void 0!==t&&(this._tbRadius=t)}const s=this._tbRadius/t,e=new i.EllipseCurve(0,0,s,s).getPoints(this._curvePts),a=(new i.BufferGeometry).setFromPoints(e);for(const t in this._gizmos.children){this._gizmos.children[t].geometry=a}this.dispatchEvent(n)})),e.default(this,"onContextMenu",(t=>{if(this.enabled)for(let i=0;i<this.mouseActions.length;i++)if(2==this.mouseActions[i].mouse){t.preventDefault();break}})),e.default(this,"onPointerCancel",(()=>{this._touchStart.splice(0,this._touchStart.length),this._touchCurrent.splice(0,this._touchCurrent.length),this._input=o.NONE})),e.default(this,"onPointerDown",(t=>{if(0==t.button&&t.isPrimary?(this._downValid=!0,this._downEvents.push(t)):this._downValid=!1,"touch"==t.pointerType&&this._input!=o.CURSOR)switch(this._touchStart.push(t),this._touchCurrent.push(t),this._input){case o.NONE:this._input=o.ONE_FINGER,this.onSinglePanStart(t,"ROTATE"),window.addEventListener("pointermove",this.onPointerMove),window.addEventListener("pointerup",this.onPointerUp);break;case o.ONE_FINGER:case o.ONE_FINGER_SWITCHED:this._input=o.TWO_FINGER,this.onRotateStart(),this.onPinchStart(),this.onDoublePanStart();break;case o.TWO_FINGER:this._input=o.MULT_FINGER,this.onTriplePanStart()}else if("touch"!=t.pointerType&&this._input==o.NONE){let i=null;t.ctrlKey||t.metaKey?i="CTRL":t.shiftKey&&(i="SHIFT"),this._mouseOp=this.getOpFromAction(t.button,i),this._mouseOp&&(window.addEventListener("pointermove",this.onPointerMove),window.addEventListener("pointerup",this.onPointerUp),this._input=o.CURSOR,this._button=t.button,this.onSinglePanStart(t,this._mouseOp))}})),e.default(this,"onPointerMove",(t=>{if("touch"==t.pointerType&&this._input!=o.CURSOR)switch(this._input){case o.ONE_FINGER:this.updateTouchEvent(t),this.onSinglePanMove(t,a.ROTATE);break;case o.ONE_FINGER_SWITCHED:if(this.calculatePointersDistance(this._touchCurrent[0],t)*this._devPxRatio>=this._switchSensibility){this._input=o.ONE_FINGER,this.updateTouchEvent(t),this.onSinglePanStart(t,"ROTATE");break}break;case o.TWO_FINGER:this.updateTouchEvent(t),this.onRotateMove(),this.onPinchMove(),this.onDoublePanMove();break;case o.MULT_FINGER:this.updateTouchEvent(t),this.onTriplePanMove()}else if("touch"!=t.pointerType&&this._input==o.CURSOR){let i=null;t.ctrlKey||t.metaKey?i="CTRL":t.shiftKey&&(i="SHIFT");const s=this.getOpStateFromAction(this._button,i);s&&this.onSinglePanMove(t,s)}if(this._downValid){this.calculatePointersDistance(this._downEvents[this._downEvents.length-1],t)*this._devPxRatio>this._movementThreshold&&(this._downValid=!1)}})),e.default(this,"onPointerUp",(t=>{if("touch"==t.pointerType&&this._input!=o.CURSOR){const i=this._touchCurrent.length;for(let s=0;s<i;s++)if(this._touchCurrent[s].pointerId==t.pointerId){this._touchCurrent.splice(s,1),this._touchStart.splice(s,1);break}switch(this._input){case o.ONE_FINGER:case o.ONE_FINGER_SWITCHED:window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),this._input=o.NONE,this.onSinglePanEnd();break;case o.TWO_FINGER:this.onDoublePanEnd(),this.onPinchEnd(),this.onRotateEnd(),this._input=o.ONE_FINGER_SWITCHED;break;case o.MULT_FINGER:0==this._touchCurrent.length&&(window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),this._input=o.NONE,this.onTriplePanEnd())}}else"touch"!=t.pointerType&&this._input==o.CURSOR&&(window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),this._input=o.NONE,this.onSinglePanEnd(),this._button=-1);if(t.isPrimary)if(this._downValid){if(t.timeStamp-this._downEvents[this._downEvents.length-1].timeStamp<=this._maxDownTime)if(0==this._nclicks)this._nclicks=1,this._clickStart=performance.now();else{const i=t.timeStamp-this._clickStart,s=this.calculatePointersDistance(this._downEvents[1],this._downEvents[0])*this._devPxRatio;i<=this._maxInterval&&s<=this._posThreshold?(this._nclicks=0,this._downEvents.splice(0,this._downEvents.length),this.onDoubleTap(t)):(this._nclicks=1,this._downEvents.shift(),this._clickStart=performance.now())}else this._downValid=!1,this._nclicks=0,this._downEvents.splice(0,this._downEvents.length)}else this._nclicks=0,this._downEvents.splice(0,this._downEvents.length)})),e.default(this,"onWheel",(t=>{var s;if(this.enabled&&this.enableZoom&&this.domElement){let l=null;t.ctrlKey||t.metaKey?l="CTRL":t.shiftKey&&(l="SHIFT");const _=this.getOpFromAction("WHEEL",l);if(_){t.preventDefault(),this.dispatchEvent(c);const l=125;let u=t.deltaY/l,d=1;switch(u>0?d=1/this.scaleFactor:u<0&&(d=this.scaleFactor),_){case"ZOOM":if(this.updateTbState(a.SCALE,!0),u>0?d=1/Math.pow(this.scaleFactor,u):u<0&&(d=Math.pow(this.scaleFactor,-u)),this.cursorZoom&&this.enablePan){var e,o;let i;var h,r;if("OrthographicCamera"===(null===(e=this.camera)||void 0===e?void 0:e.type))i=null===(h=this.unprojectOnTbPlane(this.camera,t.clientX,t.clientY,this.domElement))||void 0===h?void 0:h.applyQuaternion(this.camera.quaternion).multiplyScalar(1/this.camera.zoom).add(this._gizmos.position);if("PerspectiveCamera"===(null===(o=this.camera)||void 0===o?void 0:o.type))i=null===(r=this.unprojectOnTbPlane(this.camera,t.clientX,t.clientY,this.domElement))||void 0===r?void 0:r.applyQuaternion(this.camera.quaternion).add(this._gizmos.position);void 0!==i&&this.applyTransformMatrix(this.applyScale(d,i))}else this.applyTransformMatrix(this.applyScale(d,this._gizmos.position));this._grid&&(this.disposeGrid(),this.drawGrid()),this.updateTbState(a.IDLE,!1),this.dispatchEvent(n),this.dispatchEvent(m);break;case"FOV":if("PerspectiveCamera"===(null===(s=this.camera)||void 0===s?void 0:s.type)){this.updateTbState(a.FOV,!0),0!=t.deltaX&&(u=t.deltaX/l,d=1,u>0?d=1/Math.pow(this.scaleFactor,u):u<0&&(d=Math.pow(this.scaleFactor,-u))),this._v3_1.setFromMatrixPosition(this._cameraMatrixState);const s=this._v3_1.distanceTo(this._gizmos.position);let e=s/d;e=i.MathUtils.clamp(e,this.minDistance,this.maxDistance);const o=s*Math.tan(i.MathUtils.DEG2RAD*this.camera.fov*.5);let h=i.MathUtils.RAD2DEG*(2*Math.atan(o/e));h>this.maxFov?h=this.maxFov:h<this.minFov&&(h=this.minFov);d=s/(o/Math.tan(i.MathUtils.DEG2RAD*(h/2))),this.setFov(h),this.applyTransformMatrix(this.applyScale(d,this._gizmos.position,!1))}this._grid&&(this.disposeGrid(),this.drawGrid()),this.updateTbState(a.IDLE,!1),this.dispatchEvent(n),this.dispatchEvent(m)}}}})),e.default(this,"onSinglePanStart",((t,i)=>{var s;if(this.enabled&&this.domElement)switch(this.dispatchEvent(c),this.setCenter(t.clientX,t.clientY),i){case"PAN":if(!this.enablePan)return;if(-1!=this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=-1,this._timeStart=-1,this.activateGizmos(!1),this.dispatchEvent(n)),this.camera){this.updateTbState(a.PAN,!0);const t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement);void 0!==t&&this._startCursorPosition.copy(t),this.enableGrid&&(this.drawGrid(),this.dispatchEvent(n))}break;case"ROTATE":if(!this.enableRotate)return;if(-1!=this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=-1,this._timeStart=-1),this.camera){this.updateTbState(a.ROTATE,!0);const t=this.unprojectOnTbSurface(this.camera,h.x,h.y,this.domElement,this._tbRadius);void 0!==t&&this._startCursorPosition.copy(t),this.activateGizmos(!0),this.enableAnimations&&(this._timePrev=this._timeCurrent=performance.now(),this._angleCurrent=this._anglePrev=0,this._cursorPosPrev.copy(this._startCursorPosition),this._cursorPosCurr.copy(this._cursorPosPrev),this._wCurr=0,this._wPrev=this._wCurr)}this.dispatchEvent(n);break;case"FOV":if(!this.enableZoom)return;"PerspectiveCamera"===(null===(s=this.camera)||void 0===s?void 0:s.type)&&(-1!=this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=-1,this._timeStart=-1,this.activateGizmos(!1),this.dispatchEvent(n)),this.updateTbState(a.FOV,!0),this._startCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y),this._currentCursorPosition.copy(this._startCursorPosition));break;case"ZOOM":if(!this.enableZoom)return;-1!=this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=-1,this._timeStart=-1,this.activateGizmos(!1),this.dispatchEvent(n)),this.updateTbState(a.SCALE,!0),this._startCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y),this._currentCursorPosition.copy(this._startCursorPosition)}})),e.default(this,"onSinglePanMove",((t,s)=>{var e;if(this.enabled&&this.domElement){const o=s!=this._state;switch(this.setCenter(t.clientX,t.clientY),s){case a.PAN:if(this.enablePan&&this.camera)if(o){this.dispatchEvent(m),this.dispatchEvent(c),this.updateTbState(s,!0);const t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement);void 0!==t&&this._startCursorPosition.copy(t),this.enableGrid&&this.drawGrid(),this.activateGizmos(!1)}else{const t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement);void 0!==t&&this._currentCursorPosition.copy(t),this.applyTransformMatrix(this.pan(this._startCursorPosition,this._currentCursorPosition))}break;case a.ROTATE:if(this.enableRotate&&this.camera)if(o){this.dispatchEvent(m),this.dispatchEvent(c),this.updateTbState(s,!0);const t=this.unprojectOnTbSurface(this.camera,h.x,h.y,this.domElement,this._tbRadius);void 0!==t&&this._startCursorPosition.copy(t),this.enableGrid&&this.disposeGrid(),this.activateGizmos(!0)}else{const t=this.unprojectOnTbSurface(this.camera,h.x,h.y,this.domElement,this._tbRadius);void 0!==t&&this._currentCursorPosition.copy(t);const i=this._startCursorPosition.distanceTo(this._currentCursorPosition),s=this._startCursorPosition.angleTo(this._currentCursorPosition),e=Math.max(i/this._tbRadius,s);this.applyTransformMatrix(this.rotate(this.calculateRotationAxis(this._startCursorPosition,this._currentCursorPosition),e)),this.enableAnimations&&(this._timePrev=this._timeCurrent,this._timeCurrent=performance.now(),this._anglePrev=this._angleCurrent,this._angleCurrent=e,this._cursorPosPrev.copy(this._cursorPosCurr),this._cursorPosCurr.copy(this._currentCursorPosition),this._wPrev=this._wCurr,this._wCurr=this.calculateAngularSpeed(this._anglePrev,this._angleCurrent,this._timePrev,this._timeCurrent))}break;case a.SCALE:if(this.enableZoom)if(o)this.dispatchEvent(m),this.dispatchEvent(c),this.updateTbState(s,!0),this._startCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y),this._currentCursorPosition.copy(this._startCursorPosition),this.enableGrid&&this.disposeGrid(),this.activateGizmos(!1);else{const t=8;this._currentCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y);const i=this._currentCursorPosition.y-this._startCursorPosition.y;let s=1;i<0?s=1/Math.pow(this.scaleFactor,-i*t):i>0&&(s=Math.pow(this.scaleFactor,i*t)),this.applyTransformMatrix(this.applyScale(s,this._gizmos.position))}break;case a.FOV:if(this.enableZoom&&"PerspectiveCamera"===(null===(e=this.camera)||void 0===e?void 0:e.type))if(o)this.dispatchEvent(m),this.dispatchEvent(c),this.updateTbState(s,!0),this._startCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y),this._currentCursorPosition.copy(this._startCursorPosition),this.enableGrid&&this.disposeGrid(),this.activateGizmos(!1);else{const t=8;this._currentCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y);const s=this._currentCursorPosition.y-this._startCursorPosition.y;let e=1;s<0?e=1/Math.pow(this.scaleFactor,-s*t):s>0&&(e=Math.pow(this.scaleFactor,s*t)),this._v3_1.setFromMatrixPosition(this._cameraMatrixState);const a=this._v3_1.distanceTo(this._gizmos.position);let o=a/e;o=i.MathUtils.clamp(o,this.minDistance,this.maxDistance);const r=a*Math.tan(i.MathUtils.DEG2RAD*this._fovState*.5);let n=i.MathUtils.RAD2DEG*(2*Math.atan(r/o));n=i.MathUtils.clamp(n,this.minFov,this.maxFov);const c=r/Math.tan(i.MathUtils.DEG2RAD*(n/2));e=a/c,this._v3_2.setFromMatrixPosition(this._gizmoMatrixState),this.setFov(n),this.applyTransformMatrix(this.applyScale(e,this._v3_2,!1));const m=this._gizmos.position.clone().sub(this.camera.position).normalize().multiplyScalar(c/a);this._m4_1.makeTranslation(m.x,m.y,m.z)}}this.dispatchEvent(n)}})),e.default(this,"onSinglePanEnd",(()=>{if(this._state==a.ROTATE){if(!this.enableRotate)return;if(this.enableAnimations){if(performance.now()-this._timeCurrent<120){const t=Math.abs((this._wPrev+this._wCurr)/2),i=this;this._animationId=window.requestAnimationFrame((function(s){i.updateTbState(a.ANIMATION_ROTATE,!0);const e=i.calculateRotationAxis(i._cursorPosPrev,i._cursorPosCurr);i.onRotationAnim(s,e,Math.min(t,i.wMax))}))}else this.updateTbState(a.IDLE,!1),this.activateGizmos(!1),this.dispatchEvent(n)}else this.updateTbState(a.IDLE,!1),this.activateGizmos(!1),this.dispatchEvent(n)}else this._state!=a.PAN&&this._state!=a.IDLE||(this.updateTbState(a.IDLE,!1),this.enableGrid&&this.disposeGrid(),this.activateGizmos(!1),this.dispatchEvent(n));this.dispatchEvent(m)})),e.default(this,"onDoubleTap",(t=>{if(this.enabled&&this.enablePan&&this.scene&&this.camera&&this.domElement){this.dispatchEvent(c),this.setCenter(t.clientX,t.clientY);const i=this.unprojectOnObj(this.getCursorNDC(h.x,h.y,this.domElement),this.camera);if(i&&this.enableAnimations){const t=this;-1!=this._animationId&&window.cancelAnimationFrame(this._animationId),this._timeStart=-1,this._animationId=window.requestAnimationFrame((function(s){t.updateTbState(a.ANIMATION_FOCUS,!0),t.onFocusAnim(s,i,t._cameraMatrixState,t._gizmoMatrixState)}))}else i&&!this.enableAnimations&&(this.updateTbState(a.FOCUS,!0),this.focus(i,this.scaleFactor),this.updateTbState(a.IDLE,!1),this.dispatchEvent(n))}this.dispatchEvent(m)})),e.default(this,"onDoublePanStart",(()=>{if(this.enabled&&this.enablePan&&this.camera&&this.domElement){this.dispatchEvent(c),this.updateTbState(a.PAN,!0),this.setCenter((this._touchCurrent[0].clientX+this._touchCurrent[1].clientX)/2,(this._touchCurrent[0].clientY+this._touchCurrent[1].clientY)/2);const t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement,!0);void 0!==t&&this._startCursorPosition.copy(t),this._currentCursorPosition.copy(this._startCursorPosition),this.activateGizmos(!1)}})),e.default(this,"onDoublePanMove",(()=>{if(this.enabled&&this.enablePan&&this.camera&&this.domElement){this.setCenter((this._touchCurrent[0].clientX+this._touchCurrent[1].clientX)/2,(this._touchCurrent[0].clientY+this._touchCurrent[1].clientY)/2),this._state!=a.PAN&&(this.updateTbState(a.PAN,!0),this._startCursorPosition.copy(this._currentCursorPosition));const t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement,!0);void 0!==t&&this._currentCursorPosition.copy(t),this.applyTransformMatrix(this.pan(this._startCursorPosition,this._currentCursorPosition,!0)),this.dispatchEvent(n)}})),e.default(this,"onDoublePanEnd",(()=>{this.updateTbState(a.IDLE,!1),this.dispatchEvent(m)})),e.default(this,"onRotateStart",(()=>{var t;this.enabled&&this.enableRotate&&(this.dispatchEvent(c),this.updateTbState(a.ZROTATE,!0),this._startFingerRotation=this.getAngle(this._touchCurrent[1],this._touchCurrent[0])+this.getAngle(this._touchStart[1],this._touchStart[0]),this._currentFingerRotation=this._startFingerRotation,null===(t=this.camera)||void 0===t||t.getWorldDirection(this._rotationAxis),this.enablePan||this.enableZoom||this.activateGizmos(!0))})),e.default(this,"onRotateMove",(()=>{if(this.enabled&&this.enableRotate&&this.camera&&this.domElement){let s;if(this.setCenter((this._touchCurrent[0].clientX+this._touchCurrent[1].clientX)/2,(this._touchCurrent[0].clientY+this._touchCurrent[1].clientY)/2),this._state!=a.ZROTATE&&(this.updateTbState(a.ZROTATE,!0),this._startFingerRotation=this._currentFingerRotation),this._currentFingerRotation=this.getAngle(this._touchCurrent[1],this._touchCurrent[0])+this.getAngle(this._touchStart[1],this._touchStart[0]),this.enablePan){if(this.camera){var t;this._v3_2.setFromMatrixPosition(this._gizmoMatrixState),s=null===(t=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement))||void 0===t?void 0:t.applyQuaternion(this.camera.quaternion).multiplyScalar(1/this.camera.zoom).add(this._v3_2)}}else s=(new i.Vector3).setFromMatrixPosition(this._gizmoMatrixState);const e=i.MathUtils.DEG2RAD*(this._startFingerRotation-this._currentFingerRotation);void 0!==s&&this.applyTransformMatrix(this.zRotate(s,e)),this.dispatchEvent(n)}})),e.default(this,"onRotateEnd",(()=>{this.updateTbState(a.IDLE,!1),this.activateGizmos(!1),this.dispatchEvent(m)})),e.default(this,"onPinchStart",(()=>{this.enabled&&this.enableZoom&&(this.dispatchEvent(c),this.updateTbState(a.SCALE,!0),this._startFingerDistance=this.calculatePointersDistance(this._touchCurrent[0],this._touchCurrent[1]),this._currentFingerDistance=this._startFingerDistance,this.activateGizmos(!1))})),e.default(this,"onPinchMove",(()=>{if(this.enabled&&this.enableZoom&&this.domElement){this.setCenter((this._touchCurrent[0].clientX+this._touchCurrent[1].clientX)/2,(this._touchCurrent[0].clientY+this._touchCurrent[1].clientY)/2);const o=12;this._state!=a.SCALE&&(this._startFingerDistance=this._currentFingerDistance,this.updateTbState(a.SCALE,!0)),this._currentFingerDistance=Math.max(this.calculatePointersDistance(this._touchCurrent[0],this._touchCurrent[1]),o*this._devPxRatio);const r=this._currentFingerDistance/this._startFingerDistance;let c;var t,i,s;if(this.enablePan){if("OrthographicCamera"===(null===(t=this.camera)||void 0===t?void 0:t.type))c=null===(s=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement))||void 0===s?void 0:s.applyQuaternion(this.camera.quaternion).multiplyScalar(1/this.camera.zoom).add(this._gizmos.position);else if("PerspectiveCamera"===(null===(i=this.camera)||void 0===i?void 0:i.type)){var e;c=null===(e=this.unprojectOnTbPlane(this.camera,h.x,h.y,this.domElement))||void 0===e?void 0:e.applyQuaternion(this.camera.quaternion).add(this._gizmos.position)}}else c=this._gizmos.position;void 0!==c&&this.applyTransformMatrix(this.applyScale(r,c)),this.dispatchEvent(n)}})),e.default(this,"onPinchEnd",(()=>{this.updateTbState(a.IDLE,!1),this.dispatchEvent(m)})),e.default(this,"onTriplePanStart",(()=>{if(this.enabled&&this.enableZoom&&this.domElement){this.dispatchEvent(c),this.updateTbState(a.SCALE,!0);let t=0,i=0;const s=this._touchCurrent.length;for(let e=0;e<s;e++)t+=this._touchCurrent[e].clientX,i+=this._touchCurrent[e].clientY;this.setCenter(t/s,i/s),this._startCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y),this._currentCursorPosition.copy(this._startCursorPosition)}})),e.default(this,"onTriplePanMove",(()=>{if(this.enabled&&this.enableZoom&&this.camera&&this.domElement){let t=0,s=0;const e=this._touchCurrent.length;for(let i=0;i<e;i++)t+=this._touchCurrent[i].clientX,s+=this._touchCurrent[i].clientY;this.setCenter(t/e,s/e);const a=8;this._currentCursorPosition.setY(.5*this.getCursorNDC(h.x,h.y,this.domElement).y);const o=this._currentCursorPosition.y-this._startCursorPosition.y;let r=1;o<0?r=1/Math.pow(this.scaleFactor,-o*a):o>0&&(r=Math.pow(this.scaleFactor,o*a)),this._v3_1.setFromMatrixPosition(this._cameraMatrixState);const c=this._v3_1.distanceTo(this._gizmos.position);let m=c/r;m=i.MathUtils.clamp(m,this.minDistance,this.maxDistance);const l=c*Math.tan(i.MathUtils.DEG2RAD*this._fovState*.5);let _=i.MathUtils.RAD2DEG*(2*Math.atan(l/m));_=i.MathUtils.clamp(_,this.minFov,this.maxFov);const u=l/Math.tan(i.MathUtils.DEG2RAD*(_/2));r=c/u,this._v3_2.setFromMatrixPosition(this._gizmoMatrixState),this.setFov(_),this.applyTransformMatrix(this.applyScale(r,this._v3_2,!1));const d=this._gizmos.position.clone().sub(this.camera.position).normalize().multiplyScalar(u/c);this._m4_1.makeTranslation(d.x,d.y,d.z),this.dispatchEvent(n)}})),e.default(this,"onTriplePanEnd",(()=>{this.updateTbState(a.IDLE,!1),this.dispatchEvent(m)})),e.default(this,"setCenter",((t,i)=>{h.x=t,h.y=i})),e.default(this,"initializeMouseActions",(()=>{this.setMouseAction("PAN",0,"CTRL"),this.setMouseAction("PAN",2),this.setMouseAction("ROTATE",0),this.setMouseAction("ZOOM","WHEEL"),this.setMouseAction("ZOOM",1),this.setMouseAction("FOV","WHEEL","SHIFT"),this.setMouseAction("FOV",1,"SHIFT")})),e.default(this,"setMouseAction",((t,i,s=null)=>{let e;if(!["PAN","ROTATE","ZOOM","FOV"].includes(t)||![0,1,2,"WHEEL"].includes(i)||!["CTRL","SHIFT",null].includes(s))return!1;if("WHEEL"==i&&"ZOOM"!=t&&"FOV"!=t)return!1;switch(t){case"PAN":e=a.PAN;break;case"ROTATE":e=a.ROTATE;break;case"ZOOM":e=a.SCALE;break;case"FOV":e=a.FOV}const o={operation:t,mouse:i,key:s,state:e};for(let t=0;t<this.mouseActions.length;t++)if(this.mouseActions[t].mouse==o.mouse&&this.mouseActions[t].key==o.key)return this.mouseActions.splice(t,1,o),!0;return this.mouseActions.push(o),!0})),e.default(this,"getOpFromAction",((t,i)=>{let s;for(let e=0;e<this.mouseActions.length;e++)if(s=this.mouseActions[e],s.mouse==t&&s.key==i)return s.operation;if(i)for(let i=0;i<this.mouseActions.length;i++)if(s=this.mouseActions[i],s.mouse==t&&null==s.key)return s.operation;return null})),e.default(this,"getOpStateFromAction",((t,i)=>{let s;for(let e=0;e<this.mouseActions.length;e++)if(s=this.mouseActions[e],s.mouse==t&&s.key==i)return s.state;if(i)for(let i=0;i<this.mouseActions.length;i++)if(s=this.mouseActions[i],s.mouse==t&&null==s.key)return s.state;return null})),e.default(this,"getAngle",((t,i)=>180*Math.atan2(i.clientY-t.clientY,i.clientX-t.clientX)/Math.PI)),e.default(this,"updateTouchEvent",(t=>{for(let i=0;i<this._touchCurrent.length;i++)if(this._touchCurrent[i].pointerId==t.pointerId){this._touchCurrent.splice(i,1,t);break}})),e.default(this,"calculateAngularSpeed",((t,i,s,e)=>{const a=(e-s)/1e3;return 0==a?0:(i-t)/a})),e.default(this,"calculatePointersDistance",((t,i)=>Math.sqrt(Math.pow(i.clientX-t.clientX,2)+Math.pow(i.clientY-t.clientY,2)))),e.default(this,"calculateRotationAxis",((t,i)=>(this._rotationMatrix.extractRotation(this._cameraMatrixState),this._quat.setFromRotationMatrix(this._rotationMatrix),this._rotationAxis.crossVectors(t,i).applyQuaternion(this._quat),this._rotationAxis.normalize().clone()))),e.default(this,"calculateTbRadius",(t=>{const s=t.position.distanceTo(this._gizmos.position);if("PerspectiveCamera"==t.type){const e=i.MathUtils.DEG2RAD*t.fov*.5,a=Math.atan(t.aspect*Math.tan(e));return Math.tan(Math.min(e,a))*s*.67}if("OrthographicCamera"==t.type)return.67*Math.min(t.top,t.right)})),e.default(this,"focus",((t,i,s=1)=>{if(this.camera){const e=t.clone();e.sub(this._gizmos.position).multiplyScalar(s),this._translationMatrix.makeTranslation(e.x,e.y,e.z);const a=this._gizmoMatrixState.clone();this._gizmoMatrixState.premultiply(this._translationMatrix),this._gizmoMatrixState.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale);const o=this._cameraMatrixState.clone();this._cameraMatrixState.premultiply(this._translationMatrix),this._cameraMatrixState.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.enableZoom&&this.applyTransformMatrix(this.applyScale(i,this._gizmos.position)),this._gizmoMatrixState.copy(a),this._cameraMatrixState.copy(o)}})),e.default(this,"drawGrid",(()=>{if(this.scene){var t,s;const e=8947848,a=3;let o,h,r,n;if("OrthographicCamera"===(null===(t=this.camera)||void 0===t?void 0:t.type)){const t=this.camera.right-this.camera.left,i=this.camera.bottom-this.camera.top;r=Math.max(t,i),n=r/20,o=r/this.camera.zoom*a,h=o/n*this.camera.zoom}else if("PerspectiveCamera"===(null===(s=this.camera)||void 0===s?void 0:s.type)){const t=this.camera.position.distanceTo(this._gizmos.position),s=i.MathUtils.DEG2RAD*this.camera.fov*.5,e=Math.atan(this.camera.aspect*Math.tan(s));r=Math.tan(Math.max(s,e))*t*2,n=r/20,o=r*a,h=o/n}null==this._grid&&this.camera&&(this._grid=new i.GridHelper(o,h,e,e),this._grid.position.copy(this._gizmos.position),this._gridPosition.copy(this._grid.position),this._grid.quaternion.copy(this.camera.quaternion),this._grid.rotateX(.5*Math.PI),this.scene.add(this._grid))}})),e.default(this,"connect",(t=>{t===document&&console.error('THREE.ArcballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.domElement=t,this.domElement.style.touchAction="none",this.domElement.addEventListener("contextmenu",this.onContextMenu),this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("pointercancel",this.onPointerCancel),this.domElement.addEventListener("wheel",this.onWheel)})),e.default(this,"dispose",(()=>{var t,i,s,e,a;-1!=this._animationId&&window.cancelAnimationFrame(this._animationId),null===(t=this.domElement)||void 0===t||t.removeEventListener("pointerdown",this.onPointerDown),null===(i=this.domElement)||void 0===i||i.removeEventListener("pointercancel",this.onPointerCancel),null===(s=this.domElement)||void 0===s||s.removeEventListener("wheel",this.onWheel),null===(e=this.domElement)||void 0===e||e.removeEventListener("contextmenu",this.onContextMenu),window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),window.removeEventListener("resize",this.onWindowResize),null===(a=this.scene)||void 0===a||a.remove(this._gizmos),this.disposeGrid()})),e.default(this,"disposeGrid",(()=>{this._grid&&this.scene&&(this.scene.remove(this._grid),this._grid=null)})),e.default(this,"easeOutCubic",(t=>1-Math.pow(1-t,3))),e.default(this,"activateGizmos",(t=>{for(const i of this._gizmos.children)i.material.setValues({opacity:t?1:.6})})),e.default(this,"getCursorNDC",((t,i,s)=>{const e=s.getBoundingClientRect();return this._v2_1.setX((t-e.left)/e.width*2-1),this._v2_1.setY((e.bottom-i)/e.height*2-1),this._v2_1.clone()})),e.default(this,"getCursorPosition",((t,i,s)=>{var e;return this._v2_1.copy(this.getCursorNDC(t,i,s)),"OrthographicCamera"===(null===(e=this.camera)||void 0===e?void 0:e.type)&&(this._v2_1.x*=.5*(this.camera.right-this.camera.left),this._v2_1.y*=.5*(this.camera.top-this.camera.bottom)),this._v2_1.clone()})),e.default(this,"setCamera",(t=>{if(t){t.lookAt(this.target),t.updateMatrix(),"PerspectiveCamera"==(null==t?void 0:t.type)&&(this._fov0=t.fov,this._fovState=t.fov),this._cameraMatrixState0.copy(t.matrix),this._cameraMatrixState.copy(this._cameraMatrixState0),this._cameraProjectionState.copy(t.projectionMatrix),this._zoom0=t.zoom,this._zoomState=this._zoom0,this._initialNear=t.near,this._nearPos0=t.position.distanceTo(this.target)-t.near,this._nearPos=this._initialNear,this._initialFar=t.far,this._farPos0=t.position.distanceTo(this.target)-t.far,this._farPos=this._initialFar,this._up0.copy(t.up),this._upState.copy(t.up),this.camera=t,this.camera.updateProjectionMatrix();const i=this.calculateTbRadius(t);void 0!==i&&(this._tbRadius=i),this.makeGizmos(this.target,this._tbRadius)}})),e.default(this,"makeGizmos",((t,s)=>{const e=new i.EllipseCurve(0,0,s,s).getPoints(this._curvePts),a=(new i.BufferGeometry).setFromPoints(e),o=new i.LineBasicMaterial({color:16744576,fog:!1,transparent:!0,opacity:.6}),h=new i.LineBasicMaterial({color:8454016,fog:!1,transparent:!0,opacity:.6}),r=new i.LineBasicMaterial({color:8421631,fog:!1,transparent:!0,opacity:.6}),n=new i.Line(a,o),c=new i.Line(a,h),m=new i.Line(a,r),l=.5*Math.PI;if(n.rotation.x=l,c.rotation.y=l,this._gizmoMatrixState0.identity().setPosition(t),this._gizmoMatrixState.copy(this._gizmoMatrixState0),this.camera&&1!=this.camera.zoom){const i=1/this.camera.zoom;this._scaleMatrix.makeScale(i,i,i),this._translationMatrix.makeTranslation(-t.x,-t.y,-t.z),this._gizmoMatrixState.premultiply(this._translationMatrix).premultiply(this._scaleMatrix),this._translationMatrix.makeTranslation(t.x,t.y,t.z),this._gizmoMatrixState.premultiply(this._translationMatrix)}this._gizmoMatrixState.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this._gizmos.clear(),this._gizmos.add(n),this._gizmos.add(c),this._gizmos.add(m)})),e.default(this,"onFocusAnim",((t,i,s,e)=>{if(-1==this._timeStart&&(this._timeStart=t),this._state==a.ANIMATION_FOCUS){const o=(t-this._timeStart)/this.focusAnimationTime;if(this._gizmoMatrixState.copy(e),o>=1)this._gizmoMatrixState.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this.focus(i,this.scaleFactor),this._timeStart=-1,this.updateTbState(a.IDLE,!1),this.activateGizmos(!1),this.dispatchEvent(n);else{const t=this.easeOutCubic(o),a=1-t+this.scaleFactor*t;this._gizmoMatrixState.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this.focus(i,a,t),this.dispatchEvent(n);const h=this;this._animationId=window.requestAnimationFrame((function(t){h.onFocusAnim(t,i,s,e.clone())}))}}else this._animationId=-1,this._timeStart=-1})),e.default(this,"onRotationAnim",((t,i,s)=>{if(-1==this._timeStart&&(this._anglePrev=0,this._angleCurrent=0,this._timeStart=t),this._state==a.ANIMATION_ROTATE){const e=(t-this._timeStart)/1e3;if(s+-this.dampingFactor*e>0){this._angleCurrent=.5*-this.dampingFactor*Math.pow(e,2)+s*e+0,this.applyTransformMatrix(this.rotate(i,this._angleCurrent)),this.dispatchEvent(n);const t=this;this._animationId=window.requestAnimationFrame((function(e){t.onRotationAnim(e,i,s)}))}else this._animationId=-1,this._timeStart=-1,this.updateTbState(a.IDLE,!1),this.activateGizmos(!1),this.dispatchEvent(n)}else this._animationId=-1,this._timeStart=-1,this._state!=a.ROTATE&&(this.activateGizmos(!1),this.dispatchEvent(n))})),e.default(this,"pan",((t,i,s=!1)=>{if(this.camera){const e=t.clone().sub(i);if("OrthographicCamera"===this.camera.type&&e.multiplyScalar(1/this.camera.zoom),"PerspectiveCamera"===this.camera.type&&s){this._v3_1.setFromMatrixPosition(this._cameraMatrixState0),this._v3_2.setFromMatrixPosition(this._gizmoMatrixState0);const t=this._v3_1.distanceTo(this._v3_2)/this.camera.position.distanceTo(this._gizmos.position);e.multiplyScalar(1/t)}this._v3_1.set(e.x,e.y,0).applyQuaternion(this.camera.quaternion),this._m4_1.makeTranslation(this._v3_1.x,this._v3_1.y,this._v3_1.z),this.setTransformationMatrices(this._m4_1,this._m4_1)}return r})),e.default(this,"reset",(()=>{if(this.camera){this.camera.zoom=this._zoom0,"PerspectiveCamera"===this.camera.type&&(this.camera.fov=this._fov0),this.camera.near=this._nearPos,this.camera.far=this._farPos,this._cameraMatrixState.copy(this._cameraMatrixState0),this._cameraMatrixState.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.up.copy(this._up0),this.camera.updateMatrix(),this.camera.updateProjectionMatrix(),this._gizmoMatrixState.copy(this._gizmoMatrixState0),this._gizmoMatrixState0.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this._gizmos.updateMatrix();const t=this.calculateTbRadius(this.camera);void 0!==t&&(this._tbRadius=t),this.makeGizmos(this._gizmos.position,this._tbRadius),this.camera.lookAt(this._gizmos.position),this.updateTbState(a.IDLE,!1),this.dispatchEvent(n)}})),e.default(this,"rotate",((t,i)=>{const s=this._gizmos.position;return this._translationMatrix.makeTranslation(-s.x,-s.y,-s.z),this._rotationMatrix.makeRotationAxis(t,-i),this._m4_1.makeTranslation(s.x,s.y,s.z),this._m4_1.multiply(this._rotationMatrix),this._m4_1.multiply(this._translationMatrix),this.setTransformationMatrices(this._m4_1),r})),e.default(this,"copyState",(()=>{if(this.camera){var t;const i=JSON.stringify("OrthographicCamera"===(null===(t=this.camera)||void 0===t?void 0:t.type)?{arcballState:{cameraFar:this.camera.far,cameraMatrix:this.camera.matrix,cameraNear:this.camera.near,cameraUp:this.camera.up,cameraZoom:this.camera.zoom,gizmoMatrix:this._gizmos.matrix}}:{arcballState:{cameraFar:this.camera.far,cameraFov:this.camera.fov,cameraMatrix:this.camera.matrix,cameraNear:this.camera.near,cameraUp:this.camera.up,cameraZoom:this.camera.zoom,gizmoMatrix:this._gizmos.matrix}});navigator.clipboard.writeText(i)}})),e.default(this,"pasteState",(()=>{const t=this;navigator.clipboard.readText().then((function(i){t.setStateFromJSON(i)}))})),e.default(this,"saveState",(()=>{this.camera&&(this._cameraMatrixState0.copy(this.camera.matrix),this._gizmoMatrixState0.copy(this._gizmos.matrix),this._nearPos=this.camera.near,this._farPos=this.camera.far,this._zoom0=this.camera.zoom,this._up0.copy(this.camera.up),"PerspectiveCamera"===this.camera.type&&(this._fov0=this.camera.fov))})),e.default(this,"applyScale",((t,i,s=!0)=>{if(!this.camera)return;const e=i.clone();let a=1/t;if("OrthographicCamera"===this.camera.type){this.camera.zoom=this._zoomState,this.camera.zoom*=t,this.camera.zoom>this.maxZoom?(this.camera.zoom=this.maxZoom,a=this._zoomState/this.maxZoom):this.camera.zoom<this.minZoom&&(this.camera.zoom=this.minZoom,a=this._zoomState/this.minZoom),this.camera.updateProjectionMatrix(),this._v3_1.setFromMatrixPosition(this._gizmoMatrixState),this._scaleMatrix.makeScale(a,a,a),this._translationMatrix.makeTranslation(-this._v3_1.x,-this._v3_1.y,-this._v3_1.z),this._m4_2.makeTranslation(this._v3_1.x,this._v3_1.y,this._v3_1.z).multiply(this._scaleMatrix),this._m4_2.multiply(this._translationMatrix),e.sub(this._v3_1);const i=e.clone().multiplyScalar(a);return e.sub(i),this._m4_1.makeTranslation(e.x,e.y,e.z),this._m4_2.premultiply(this._m4_1),this.setTransformationMatrices(this._m4_1,this._m4_2),r}if("PerspectiveCamera"===this.camera.type){this._v3_1.setFromMatrixPosition(this._cameraMatrixState),this._v3_2.setFromMatrixPosition(this._gizmoMatrixState);let t=this._v3_1.distanceTo(e),i=t-t*a;const o=t-i;o<this.minDistance?(a=this.minDistance/t,i=t-t*a):o>this.maxDistance&&(a=this.maxDistance/t,i=t-t*a);let h=e.clone().sub(this._v3_1).normalize().multiplyScalar(i);if(this._m4_1.makeTranslation(h.x,h.y,h.z),s){const s=this._v3_2;t=s.distanceTo(e),i=t-t*a,h=e.clone().sub(this._v3_2).normalize().multiplyScalar(i),this._translationMatrix.makeTranslation(s.x,s.y,s.z),this._scaleMatrix.makeScale(a,a,a),this._m4_2.makeTranslation(h.x,h.y,h.z).multiply(this._translationMatrix),this._m4_2.multiply(this._scaleMatrix),this._translationMatrix.makeTranslation(-s.x,-s.y,-s.z),this._m4_2.multiply(this._translationMatrix),this.setTransformationMatrices(this._m4_1,this._m4_2)}else this.setTransformationMatrices(this._m4_1);return r}})),e.default(this,"setFov",(t=>{var s;"PerspectiveCamera"===(null===(s=this.camera)||void 0===s?void 0:s.type)&&(this.camera.fov=i.MathUtils.clamp(t,this.minFov,this.maxFov),this.camera.updateProjectionMatrix())})),e.default(this,"setTarget",((t,i,s)=>{if(this.camera){this.target.set(t,i,s),this._gizmos.position.set(t,i,s);const e=this.calculateTbRadius(this.camera);void 0!==e&&(this._tbRadius=e),this.makeGizmos(this.target,this._tbRadius),this.camera.lookAt(this.target)}})),e.default(this,"zRotate",((t,i)=>(this._rotationMatrix.makeRotationAxis(this._rotationAxis,i),this._translationMatrix.makeTranslation(-t.x,-t.y,-t.z),this._m4_1.makeTranslation(t.x,t.y,t.z),this._m4_1.multiply(this._rotationMatrix),this._m4_1.multiply(this._translationMatrix),this._v3_1.setFromMatrixPosition(this._gizmoMatrixState).sub(t),this._v3_2.copy(this._v3_1).applyAxisAngle(this._rotationAxis,i),this._v3_2.sub(this._v3_1),this._m4_2.makeTranslation(this._v3_2.x,this._v3_2.y,this._v3_2.z),this.setTransformationMatrices(this._m4_1,this._m4_2),r))),e.default(this,"unprojectOnObj",((t,s)=>{if(!this.scene)return null;const e=new i.Raycaster;e.near=s.near,e.far=s.far,e.setFromCamera(t,s);const a=e.intersectObjects(this.scene.children,!0);for(let t=0;t<a.length;t++)if(a[t].object.uuid!=this._gizmos.uuid&&a[t].face)return a[t].point.clone();return null})),e.default(this,"unprojectOnTbSurface",((t,s,e,a,o)=>{if("OrthographicCamera"==t.type){this._v2_1.copy(this.getCursorPosition(s,e,a)),this._v3_1.set(this._v2_1.x,this._v2_1.y,0);const t=Math.pow(this._v2_1.x,2),i=Math.pow(this._v2_1.y,2),o=Math.pow(this._tbRadius,2);return t+i<=.5*o?this._v3_1.setZ(Math.sqrt(o-(t+i))):this._v3_1.setZ(.5*o/Math.sqrt(t+i)),this._v3_1}if("PerspectiveCamera"==t.type){this._v2_1.copy(this.getCursorNDC(s,e,a)),this._v3_1.set(this._v2_1.x,this._v2_1.y,-1),this._v3_1.applyMatrix4(t.projectionMatrixInverse);const h=this._v3_1.clone().normalize(),r=t.position.distanceTo(this._gizmos.position),n=Math.pow(o,2),c=this._v3_1.z,m=Math.sqrt(Math.pow(this._v3_1.x,2)+Math.pow(this._v3_1.y,2));if(0==m)return h.set(this._v3_1.x,this._v3_1.y,o),h;const l=c/m,_=r;let u=Math.pow(l,2)+1,d=2*l*_,p=Math.pow(_,2)-n,v=Math.pow(d,2)-4*u*p;if(v>=0){this._v2_1.setX((-d-Math.sqrt(v))/(2*u)),this._v2_1.setY(l*this._v2_1.x+_);if(i.MathUtils.RAD2DEG*this._v2_1.angle()>=45){const t=Math.sqrt(Math.pow(this._v2_1.x,2)+Math.pow(r-this._v2_1.y,2));return h.multiplyScalar(t),h.z+=r,h}}u=l,d=_,p=.5*-n,v=Math.pow(d,2)-4*u*p,this._v2_1.setX((-d-Math.sqrt(v))/(2*u)),this._v2_1.setY(l*this._v2_1.x+_);const f=Math.sqrt(Math.pow(this._v2_1.x,2)+Math.pow(r-this._v2_1.y,2));return h.multiplyScalar(f),h.z+=r,h}})),e.default(this,"unprojectOnTbPlane",((t,i,s,e,a=!1)=>{if("OrthographicCamera"==t.type)return this._v2_1.copy(this.getCursorPosition(i,s,e)),this._v3_1.set(this._v2_1.x,this._v2_1.y,0),this._v3_1.clone();if("PerspectiveCamera"==t.type){this._v2_1.copy(this.getCursorNDC(i,s,e)),this._v3_1.set(this._v2_1.x,this._v2_1.y,-1),this._v3_1.applyMatrix4(t.projectionMatrixInverse);const o=this._v3_1.clone().normalize(),h=this._v3_1.z,r=Math.sqrt(Math.pow(this._v3_1.x,2)+Math.pow(this._v3_1.y,2));let n;if(n=a?this._v3_1.setFromMatrixPosition(this._cameraMatrixState0).distanceTo(this._v3_2.setFromMatrixPosition(this._gizmoMatrixState0)):t.position.distanceTo(this._gizmos.position),0==r)return o.set(0,0,0),o;const c=n,m=-c/(h/r),l=Math.sqrt(Math.pow(c,2)+Math.pow(m,2));return o.multiplyScalar(l),o.z=0,o}})),e.default(this,"updateMatrixState",(()=>{this.camera&&(this._cameraMatrixState.copy(this.camera.matrix),this._gizmoMatrixState.copy(this._gizmos.matrix),"OrthographicCamera"===this.camera.type&&(this._cameraProjectionState.copy(this.camera.projectionMatrix),this.camera.updateProjectionMatrix(),this._zoomState=this.camera.zoom),"PerspectiveCamera"===this.camera.type&&(this._fovState=this.camera.fov))})),e.default(this,"updateTbState",((t,i)=>{this._state=t,i&&this.updateMatrixState()})),e.default(this,"update",(()=>{const t=1e-6;if(!this.target.equals(this._currentTarget)&&this.camera){this._gizmos.position.set(this.target.x,this.target.y,this.target.z);const t=this.calculateTbRadius(this.camera);void 0!==t&&(this._tbRadius=t),this.makeGizmos(this.target,this._tbRadius),this._currentTarget.copy(this.target)}if(this.camera){if("OrthographicCamera"===this.camera.type&&(this.camera.zoom>this.maxZoom||this.camera.zoom<this.minZoom)){const t=i.MathUtils.clamp(this.camera.zoom,this.minZoom,this.maxZoom);this.applyTransformMatrix(this.applyScale(t/this.camera.zoom,this._gizmos.position,!0))}if("PerspectiveCamera"===this.camera.type){const s=this.camera.position.distanceTo(this._gizmos.position);if(s>this.maxDistance+t||s<this.minDistance-t){const t=i.MathUtils.clamp(s,this.minDistance,this.maxDistance);this.applyTransformMatrix(this.applyScale(t/s,this._gizmos.position)),this.updateMatrixState()}(this.camera.fov<this.minFov||this.camera.fov>this.maxFov)&&(this.camera.fov=i.MathUtils.clamp(this.camera.fov,this.minFov,this.maxFov),this.camera.updateProjectionMatrix());const e=this._tbRadius,a=this.calculateTbRadius(this.camera);if(void 0!==a&&(this._tbRadius=a),e<this._tbRadius-t||e>this._tbRadius+t){const t=(this._gizmos.scale.x+this._gizmos.scale.y+this._gizmos.scale.z)/3,s=this._tbRadius/t,e=new i.EllipseCurve(0,0,s,s).getPoints(this._curvePts),a=(new i.BufferGeometry).setFromPoints(e);for(const t in this._gizmos.children){this._gizmos.children[t].geometry=a}}}this.camera.lookAt(this._gizmos.position)}})),e.default(this,"setStateFromJSON",(t=>{const s=JSON.parse(t);if(s.arcballState&&this.camera){this._cameraMatrixState.fromArray(s.arcballState.cameraMatrix.elements),this._cameraMatrixState.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.up.copy(s.arcballState.cameraUp),this.camera.near=s.arcballState.cameraNear,this.camera.far=s.arcballState.cameraFar,this.camera.zoom=s.arcballState.cameraZoom,"PerspectiveCamera"===this.camera.type&&(this.camera.fov=s.arcballState.cameraFov),this._gizmoMatrixState.fromArray(s.arcballState.gizmoMatrix.elements),this._gizmoMatrixState.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this.camera.updateMatrix(),this.camera.updateProjectionMatrix(),this._gizmos.updateMatrix();const t=this.calculateTbRadius(this.camera);void 0!==t&&(this._tbRadius=t);const e=(new i.Matrix4).copy(this._gizmoMatrixState0);this.makeGizmos(this._gizmos.position,this._tbRadius),this._gizmoMatrixState0.copy(e),this.camera.lookAt(this._gizmos.position),this.updateTbState(a.IDLE,!1),this.dispatchEvent(n)}})),this.camera=null,this.domElement=s,this.scene=l,this.mouseActions=[],this._mouseOp=null,this._v2_1=new i.Vector2,this._v3_1=new i.Vector3,this._v3_2=new i.Vector3,this._m4_1=new i.Matrix4,this._m4_2=new i.Matrix4,this._quat=new i.Quaternion,this._translationMatrix=new i.Matrix4,this._rotationMatrix=new i.Matrix4,this._scaleMatrix=new i.Matrix4,this._rotationAxis=new i.Vector3,this._cameraMatrixState=new i.Matrix4,this._cameraProjectionState=new i.Matrix4,this._fovState=1,this._upState=new i.Vector3,this._zoomState=1,this._nearPos=0,this._farPos=0,this._gizmoMatrixState=new i.Matrix4,this._up0=new i.Vector3,this._zoom0=1,this._fov0=0,this._initialNear=0,this._nearPos0=0,this._initialFar=0,this._farPos0=0,this._cameraMatrixState0=new i.Matrix4,this._gizmoMatrixState0=new i.Matrix4,this._button=-1,this._touchStart=[],this._touchCurrent=[],this._input=o.NONE,this._switchSensibility=32,this._startFingerDistance=0,this._currentFingerDistance=0,this._startFingerRotation=0,this._currentFingerRotation=0,this._devPxRatio=0,this._downValid=!0,this._nclicks=0,this._downEvents=[],this._clickStart=0,this._maxDownTime=250,this._maxInterval=300,this._posThreshold=24,this._movementThreshold=24,this._currentCursorPosition=new i.Vector3,this._startCursorPosition=new i.Vector3,this._grid=null,this._gridPosition=new i.Vector3,this._gizmos=new i.Group,this._curvePts=128,this._timeStart=-1,this._animationId=-1,this.focusAnimationTime=500,this._timePrev=0,this._timeCurrent=0,this._anglePrev=0,this._angleCurrent=0,this._cursorPosPrev=new i.Vector3,this._cursorPosCurr=new i.Vector3,this._wPrev=0,this._wCurr=0,this.adjustNearFar=!1,this.scaleFactor=1.1,this.dampingFactor=25,this.wMax=20,this.enableAnimations=!0,this.enableGrid=!1,this.cursorZoom=!1,this.minFov=5,this.maxFov=90,this.enabled=!0,this.enablePan=!0,this.enableRotate=!0,this.enableZoom=!0,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.target=new i.Vector3(0,0,0),this._currentTarget=new i.Vector3(0,0,0),this._tbRadius=1,this._state=a.IDLE,this.setCamera(t),this.scene&&this.scene.add(this._gizmos),this._devPxRatio=window.devicePixelRatio,this.initializeMouseActions(),this.domElement&&this.connect(this.domElement),window.addEventListener("resize",this.onWindowResize)}applyTransformMatrix(t){if(null!=t&&t.camera&&this.camera&&(this._m4_1.copy(this._cameraMatrixState).premultiply(t.camera),this._m4_1.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.updateMatrix(),this._state!=a.ROTATE&&this._state!=a.ZROTATE&&this._state!=a.ANIMATION_ROTATE||this.camera.up.copy(this._upState).applyQuaternion(this.camera.quaternion)),null!=t&&t.gizmos&&(this._m4_1.copy(this._gizmoMatrixState).premultiply(t.gizmos),this._m4_1.decompose(this._gizmos.position,this._gizmos.quaternion,this._gizmos.scale),this._gizmos.updateMatrix()),(this._state==a.SCALE||this._state==a.FOCUS||this._state==a.ANIMATION_FOCUS)&&this.camera){const t=this.calculateTbRadius(this.camera);if(void 0!==t&&(this._tbRadius=t),this.adjustNearFar){const t=this.camera.position.distanceTo(this._gizmos.position),s=new i.Box3;s.setFromObject(this._gizmos);const e=new i.Sphere;s.getBoundingSphere(e);const a=Math.max(this._nearPos0,e.radius+e.center.length()),o=t-this._initialNear,h=Math.min(a,o);this.camera.near=t-h;const r=Math.min(this._farPos0,-e.radius+e.center.length()),n=t-this._initialFar,c=Math.min(r,n);this.camera.far=t-c,this.camera.updateProjectionMatrix()}else{let t=!1;this.camera.near!=this._initialNear&&(this.camera.near=this._initialNear,t=!0),this.camera.far!=this._initialFar&&(this.camera.far=this._initialFar,t=!0),t&&this.camera.updateProjectionMatrix()}}}setGizmosVisible(t){this._gizmos.visible=t,this.dispatchEvent(n)}setTransformationMatrices(t=null,i=null){t?r.camera?r.camera.copy(t):r.camera=t.clone():r.camera=null,i?r.gizmos?r.gizmos.copy(i):r.gizmos=i.clone():r.gizmos=null}}exports.ArcballControls=l;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=n(e);class a extends t.EventDispatcher{constructor(e){super(),i.default(this,"object",void 0),i.default(this,"changeEvent",{type:"change"}),i.default(this,"EPS",1e-6),i.default(this,"enabled",!0),i.default(this,"deviceOrientation",{alpha:0,beta:0,gamma:0}),i.default(this,"screenOrientation",0),i.default(this,"alphaOffset",0),i.default(this,"onDeviceOrientationChangeEvent",(e=>{this.deviceOrientation=e})),i.default(this,"onScreenOrientationChangeEvent",(()=>{this.screenOrientation=window.orientation||0})),i.default(this,"zee",new t.Vector3(0,0,1)),i.default(this,"euler",new t.Euler),i.default(this,"q0",new t.Quaternion),i.default(this,"q1",new t.Quaternion(-Math.sqrt(.5),0,0,Math.sqrt(.5))),i.default(this,"setObjectQuaternion",((e,t,n,i,a)=>{this.euler.set(n,t,-i,"YXZ"),e.setFromEuler(this.euler),e.multiply(this.q1),e.multiply(this.q0.setFromAxisAngle(this.zee,-a))})),i.default(this,"connect",(()=>{this.onScreenOrientationChangeEvent(),void 0!==window.DeviceOrientationEvent&&"function"==typeof window.DeviceOrientationEvent.requestPermission?window.DeviceOrientationEvent.requestPermission().then((e=>{"granted"==e&&(window.addEventListener("orientationchange",this.onScreenOrientationChangeEvent),window.addEventListener("deviceorientation",this.onDeviceOrientationChangeEvent))})).catch((e=>{console.error("THREE.DeviceOrientationControls: Unable to use DeviceOrientation API:",e)})):(window.addEventListener("orientationchange",this.onScreenOrientationChangeEvent),window.addEventListener("deviceorientation",this.onDeviceOrientationChangeEvent)),this.enabled=!0})),i.default(this,"disconnect",(()=>{window.removeEventListener("orientationchange",this.onScreenOrientationChangeEvent),window.removeEventListener("deviceorientation",this.onDeviceOrientationChangeEvent),this.enabled=!1})),i.default(this,"lastQuaternion",new t.Quaternion),i.default(this,"update",(()=>{if(!1===this.enabled)return;const e=this.deviceOrientation;if(e){const n=e.alpha?t.MathUtils.degToRad(e.alpha)+this.alphaOffset:0,i=e.beta?t.MathUtils.degToRad(e.beta):0,a=e.gamma?t.MathUtils.degToRad(e.gamma):0,o=this.screenOrientation?t.MathUtils.degToRad(this.screenOrientation):0;this.setObjectQuaternion(this.object.quaternion,n,i,a,o),8*(1-this.lastQuaternion.dot(this.object.quaternion))>this.EPS&&(this.lastQuaternion.copy(this.object.quaternion),this.dispatchEvent(this.changeEvent))}})),i.default(this,"dispose",(()=>this.disconnect())),this.object=e,this.object.rotation.reorder("YXZ"),this.connect()}}exports.DeviceOrientationControls=a;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=s(t);class o extends e.EventDispatcher{constructor(t,s,o){super(),i.default(this,"enabled",!0),i.default(this,"transformGroup",!1),i.default(this,"_objects",void 0),i.default(this,"_camera",void 0),i.default(this,"_domElement",void 0),i.default(this,"_plane",new e.Plane),i.default(this,"_raycaster",new e.Raycaster),i.default(this,"_mouse",new e.Vector2),i.default(this,"_offset",new e.Vector3),i.default(this,"_intersection",new e.Vector3),i.default(this,"_worldPosition",new e.Vector3),i.default(this,"_inverseMatrix",new e.Matrix4),i.default(this,"_intersections",[]),i.default(this,"_selected",null),i.default(this,"_hovered",null),i.default(this,"activate",(()=>{this._domElement.addEventListener("pointermove",this.onPointerMove),this._domElement.addEventListener("pointerdown",this.onPointerDown),this._domElement.addEventListener("pointerup",this.onPointerCancel),this._domElement.addEventListener("pointerleave",this.onPointerCancel),this._domElement.addEventListener("touchmove",this.onTouchMove),this._domElement.addEventListener("touchstart",this.onTouchStart),this._domElement.addEventListener("touchend",this.onTouchEnd)})),i.default(this,"deactivate",(()=>{this._domElement.removeEventListener("pointermove",this.onPointerMove),this._domElement.removeEventListener("pointerdown",this.onPointerDown),this._domElement.removeEventListener("pointerup",this.onPointerCancel),this._domElement.removeEventListener("pointerleave",this.onPointerCancel),this._domElement.removeEventListener("touchmove",this.onTouchMove),this._domElement.removeEventListener("touchstart",this.onTouchStart),this._domElement.removeEventListener("touchend",this.onTouchEnd),this._domElement.style.cursor=""})),i.default(this,"dispose",(()=>this.deactivate())),i.default(this,"getObjects",(()=>this._objects)),i.default(this,"getRaycaster",(()=>this._raycaster)),i.default(this,"onMouseMove",(t=>{const e=this._domElement.getBoundingClientRect();if(this._mouse.x=(t.clientX-e.left)/e.width*2-1,this._mouse.y=-(t.clientY-e.top)/e.height*2+1,this._raycaster.setFromCamera(this._mouse,this._camera),this._selected&&this.enabled)return this._raycaster.ray.intersectPlane(this._plane,this._intersection)&&this._selected.position.copy(this._intersection.sub(this._offset).applyMatrix4(this._inverseMatrix)),void this.dispatchEvent({type:"drag",object:this._selected});if(this._intersections.length=0,this._raycaster.setFromCamera(this._mouse,this._camera),this._raycaster.intersectObjects(this._objects,!0,this._intersections),this._intersections.length>0){const t=this._intersections[0].object;this._plane.setFromNormalAndCoplanarPoint(this._camera.getWorldDirection(this._plane.normal),this._worldPosition.setFromMatrixPosition(t.matrixWorld)),this._hovered!==t&&(this.dispatchEvent({type:"hoveron",object:t}),this._domElement.style.cursor="pointer",this._hovered=t)}else null!==this._hovered&&(this.dispatchEvent({type:"hoveroff",object:this._hovered}),this._domElement.style.cursor="auto",this._hovered=null)})),i.default(this,"onMouseDown",(()=>{this._intersections.length=0,this._raycaster.setFromCamera(this._mouse,this._camera),this._raycaster.intersectObjects(this._objects,!0,this._intersections),this._intersections.length>0&&(this._selected=!0===this.transformGroup?this._objects[0]:this._intersections[0].object,this._raycaster.ray.intersectPlane(this._plane,this._intersection)&&this._selected.parent&&(this._inverseMatrix.copy(this._selected.parent.matrixWorld).invert(),this._offset.copy(this._intersection).sub(this._worldPosition.setFromMatrixPosition(this._selected.matrixWorld))),this._domElement.style.cursor="move",this.dispatchEvent({type:"dragstart",object:this._selected}))})),i.default(this,"onMouseCancel",(()=>{this._selected&&(this.dispatchEvent({type:"dragend",object:this._selected}),this._selected=null),this._domElement.style.cursor=this._hovered?"pointer":"auto"})),i.default(this,"onPointerMove",(t=>{switch(t.pointerType){case"mouse":case"pen":this.onMouseMove(t)}})),i.default(this,"onPointerDown",(t=>{switch(t.pointerType){case"mouse":case"pen":this.onMouseDown()}})),i.default(this,"onPointerCancel",(t=>{switch(t.pointerType){case"mouse":case"pen":this.onMouseCancel()}})),i.default(this,"onTouchMove",(t=>{t.preventDefault();const e=t.changedTouches[0],s=this._domElement.getBoundingClientRect();if(this._mouse.x=(e.clientX-s.left)/s.width*2-1,this._mouse.y=-(e.clientY-s.top)/s.height*2+1,this._raycaster.setFromCamera(this._mouse,this._camera),this._selected&&this.enabled)return this._raycaster.ray.intersectPlane(this._plane,this._intersection)&&this._selected.position.copy(this._intersection.sub(this._offset).applyMatrix4(this._inverseMatrix)),void this.dispatchEvent({type:"drag",object:this._selected})})),i.default(this,"onTouchStart",(t=>{t.preventDefault();const e=t.changedTouches[0],s=this._domElement.getBoundingClientRect();this._mouse.x=(e.clientX-s.left)/s.width*2-1,this._mouse.y=-(e.clientY-s.top)/s.height*2+1,this._intersections.length=0,this._raycaster.setFromCamera(this._mouse,this._camera),this._raycaster.intersectObjects(this._objects,!0,this._intersections),this._intersections.length>0&&(this._selected=!0===this.transformGroup?this._objects[0]:this._intersections[0].object,this._plane.setFromNormalAndCoplanarPoint(this._camera.getWorldDirection(this._plane.normal),this._worldPosition.setFromMatrixPosition(this._selected.matrixWorld)),this._raycaster.ray.intersectPlane(this._plane,this._intersection)&&this._selected.parent&&(this._inverseMatrix.copy(this._selected.parent.matrixWorld).invert(),this._offset.copy(this._intersection).sub(this._worldPosition.setFromMatrixPosition(this._selected.matrixWorld))),this._domElement.style.cursor="move",this.dispatchEvent({type:"dragstart",object:this._selected}))})),i.default(this,"onTouchEnd",(t=>{t.preventDefault(),this._selected&&(this.dispatchEvent({type:"dragend",object:this._selected}),this._selected=null),this._domElement.style.cursor="auto"})),this._objects=t,this._camera=s,this._domElement=o,this.activate()}}exports.DragControls=o;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var s=i(t);const o=new e.Vector3;class a extends e.EventDispatcher{constructor(t,i){super(),s.default(this,"object",void 0),s.default(this,"domElement",void 0),s.default(this,"enabled",!0),s.default(this,"movementSpeed",1),s.default(this,"lookSpeed",.005),s.default(this,"lookVertical",!0),s.default(this,"autoForward",!1),s.default(this,"activeLook",!0),s.default(this,"heightSpeed",!1),s.default(this,"heightCoef",1),s.default(this,"heightMin",0),s.default(this,"heightMax",1),s.default(this,"constrainVertical",!1),s.default(this,"verticalMin",0),s.default(this,"verticalMax",Math.PI),s.default(this,"mouseDragOn",!1),s.default(this,"autoSpeedFactor",0),s.default(this,"mouseX",0),s.default(this,"mouseY",0),s.default(this,"moveForward",!1),s.default(this,"moveBackward",!1),s.default(this,"moveLeft",!1),s.default(this,"moveRight",!1),s.default(this,"moveUp",!1),s.default(this,"moveDown",!1),s.default(this,"viewHalfX",0),s.default(this,"viewHalfY",0),s.default(this,"lat",0),s.default(this,"lon",0),s.default(this,"lookDirection",new e.Vector3),s.default(this,"spherical",new e.Spherical),s.default(this,"target",new e.Vector3),s.default(this,"connect",(t=>{t.setAttribute("tabindex","-1"),t.style.touchAction="none",t.addEventListener("contextmenu",this.contextmenu),t.addEventListener("mousemove",this.onMouseMove),t.addEventListener("mousedown",this.onMouseDown),t.addEventListener("mouseup",this.onMouseUp),this.domElement=t,window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.handleResize()})),s.default(this,"dispose",(()=>{var t,e,i,s;null===(t=this.domElement)||void 0===t||t.removeEventListener("contextmenu",this.contextmenu),null===(e=this.domElement)||void 0===e||e.removeEventListener("mousedown",this.onMouseDown),null===(i=this.domElement)||void 0===i||i.removeEventListener("mousemove",this.onMouseMove),null===(s=this.domElement)||void 0===s||s.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp)})),s.default(this,"handleResize",(()=>{this.domElement&&(this.viewHalfX=this.domElement.offsetWidth/2,this.viewHalfY=this.domElement.offsetHeight/2)})),s.default(this,"onMouseDown",(t=>{var e;if(null===(e=this.domElement)||void 0===e||e.focus(),this.activeLook)switch(t.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0})),s.default(this,"onMouseUp",(t=>{if(this.activeLook)switch(t.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1})),s.default(this,"onMouseMove",(t=>{this.domElement&&(this.mouseX=t.pageX-this.domElement.offsetLeft-this.viewHalfX,this.mouseY=t.pageY-this.domElement.offsetTop-this.viewHalfY)})),s.default(this,"onKeyDown",(t=>{switch(t.code){case"ArrowUp":case"KeyW":this.moveForward=!0;break;case"ArrowLeft":case"KeyA":this.moveLeft=!0;break;case"ArrowDown":case"KeyS":this.moveBackward=!0;break;case"ArrowRight":case"KeyD":this.moveRight=!0;break;case"KeyR":this.moveUp=!0;break;case"KeyF":this.moveDown=!0}})),s.default(this,"onKeyUp",(t=>{switch(t.code){case"ArrowUp":case"KeyW":this.moveForward=!1;break;case"ArrowLeft":case"KeyA":this.moveLeft=!1;break;case"ArrowDown":case"KeyS":this.moveBackward=!1;break;case"ArrowRight":case"KeyD":this.moveRight=!1;break;case"KeyR":this.moveUp=!1;break;case"KeyF":this.moveDown=!1}})),s.default(this,"lookAt",((t,i,s)=>(t instanceof e.Vector3?this.target.copy(t):i&&s&&this.target.set(t,i,s),this.object.lookAt(this.target),this.setOrientation(),this))),s.default(this,"update",(t=>{if(!this.enabled)return;if(this.heightSpeed){const i=e.MathUtils.clamp(this.object.position.y,this.heightMin,this.heightMax)-this.heightMin;this.autoSpeedFactor=t*(i*this.heightCoef)}else this.autoSpeedFactor=0;const i=t*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.object.translateZ(-(i+this.autoSpeedFactor)),this.moveBackward&&this.object.translateZ(i),this.moveLeft&&this.object.translateX(-i),this.moveRight&&this.object.translateX(i),this.moveUp&&this.object.translateY(i),this.moveDown&&this.object.translateY(-i);let s=t*this.lookSpeed;this.activeLook||(s=0);let a=1;this.constrainVertical&&(a=Math.PI/(this.verticalMax-this.verticalMin)),this.lon-=this.mouseX*s,this.lookVertical&&(this.lat-=this.mouseY*s*a),this.lat=Math.max(-85,Math.min(85,this.lat));let h=e.MathUtils.degToRad(90-this.lat);const n=e.MathUtils.degToRad(this.lon);this.constrainVertical&&(h=e.MathUtils.mapLinear(h,0,Math.PI,this.verticalMin,this.verticalMax));const r=this.object.position;o.setFromSphericalCoords(1,h,n).add(r),this.object.lookAt(o)})),s.default(this,"contextmenu",(t=>t.preventDefault())),s.default(this,"setOrientation",(()=>{this.lookDirection.set(0,0,-1).applyQuaternion(this.object.quaternion),this.spherical.setFromVector3(this.lookDirection),this.lat=90-e.MathUtils.radToDeg(this.spherical.phi),this.lon=e.MathUtils.radToDeg(this.spherical.theta)})),this.object=t,this.domElement=i,this.setOrientation(),i&&this.connect(i)}}exports.FirstPersonControls=a;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=o(t);function s(t){t.preventDefault()}class a extends e.EventDispatcher{constructor(t,o){super(),i.default(this,"object",void 0),i.default(this,"domElement",void 0),i.default(this,"movementSpeed",1),i.default(this,"rollSpeed",.005),i.default(this,"dragToLook",!1),i.default(this,"autoForward",!1),i.default(this,"changeEvent",{type:"change"}),i.default(this,"EPS",1e-6),i.default(this,"tmpQuaternion",new e.Quaternion),i.default(this,"mouseStatus",0),i.default(this,"movementSpeedMultiplier",1),i.default(this,"moveState",{up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0}),i.default(this,"moveVector",new e.Vector3(0,0,0)),i.default(this,"rotationVector",new e.Vector3(0,0,0)),i.default(this,"keydown",(t=>{if(!t.altKey){switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}})),i.default(this,"keyup",(t=>{switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()})),i.default(this,"mousedown",(t=>{if(this.dragToLook)this.mouseStatus++;else{switch(t.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}})),i.default(this,"mousemove",(t=>{if(!this.dragToLook||this.mouseStatus>0){const e=this.getContainerDimensions(),o=e.size[0]/2,i=e.size[1]/2;this.moveState.yawLeft=-(t.pageX-e.offset[0]-o)/o,this.moveState.pitchDown=(t.pageY-e.offset[1]-i)/i,this.updateRotationVector()}})),i.default(this,"mouseup",(t=>{if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(t.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()})),i.default(this,"lastQuaternion",new e.Quaternion),i.default(this,"lastPosition",new e.Vector3),i.default(this,"update",(t=>{const e=t*this.movementSpeed,o=t*this.rollSpeed;this.object.translateX(this.moveVector.x*e),this.object.translateY(this.moveVector.y*e),this.object.translateZ(this.moveVector.z*e),this.tmpQuaternion.set(this.rotationVector.x*o,this.rotationVector.y*o,this.rotationVector.z*o,1).normalize(),this.object.quaternion.multiply(this.tmpQuaternion),(this.lastPosition.distanceToSquared(this.object.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.quaternion))>this.EPS)&&(this.dispatchEvent(this.changeEvent),this.lastQuaternion.copy(this.object.quaternion),this.lastPosition.copy(this.object.position))})),i.default(this,"updateMovementVector",(()=>{const t=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-t+this.moveState.back})),i.default(this,"updateRotationVector",(()=>{this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft})),i.default(this,"getContainerDimensions",(()=>this.domElement==document||this.domElement instanceof Document?{size:[window.innerWidth,window.innerHeight],offset:[0,0]}:{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]})),i.default(this,"dispose",(()=>{this.domElement.removeEventListener("contextmenu",s),this.domElement.removeEventListener("mousemove",this.mousemove),this.domElement.removeEventListener("mousedown",this.mousedown),this.domElement.removeEventListener("mouseup",this.mouseup),window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup)})),void 0===o&&(console.warn('THREE.FlyControls: The second parameter "domElement" is now mandatory.'),o=document),this.object=t,this.domElement=o,!o||o instanceof Document||o.setAttribute("tabindex",-1),this.domElement.addEventListener("contextmenu",s),this.domElement.addEventListener("mousemove",this.mousemove),this.domElement.addEventListener("mousedown",this.mousedown),this.domElement.addEventListener("mouseup",this.mouseup),window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),this.updateMovementVector(),this.updateRotationVector()}}exports.FlyControls=a;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e);const a=(e,t)=>(e%t+t)%t;class i extends t.EventDispatcher{constructor(e,n){super(),o.default(this,"object",void 0),o.default(this,"domElement",void 0),o.default(this,"enabled",!0),o.default(this,"target",new t.Vector3),o.default(this,"minDistance",0),o.default(this,"maxDistance",1/0),o.default(this,"minZoom",0),o.default(this,"maxZoom",1/0),o.default(this,"minPolarAngle",0),o.default(this,"maxPolarAngle",Math.PI),o.default(this,"minAzimuthAngle",-1/0),o.default(this,"maxAzimuthAngle",1/0),o.default(this,"enableDamping",!1),o.default(this,"dampingFactor",.05),o.default(this,"enableZoom",!0),o.default(this,"zoomSpeed",1),o.default(this,"enableRotate",!0),o.default(this,"rotateSpeed",1),o.default(this,"enablePan",!0),o.default(this,"panSpeed",1),o.default(this,"screenSpacePanning",!0),o.default(this,"keyPanSpeed",7),o.default(this,"autoRotate",!1),o.default(this,"autoRotateSpeed",2),o.default(this,"reverseOrbit",!1),o.default(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),o.default(this,"mouseButtons",{LEFT:t.MOUSE.ROTATE,MIDDLE:t.MOUSE.DOLLY,RIGHT:t.MOUSE.PAN}),o.default(this,"touches",{ONE:t.TOUCH.ROTATE,TWO:t.TOUCH.DOLLY_PAN}),o.default(this,"target0",void 0),o.default(this,"position0",void 0),o.default(this,"zoom0",void 0),o.default(this,"_domElementKeyEvents",null),o.default(this,"getPolarAngle",void 0),o.default(this,"getAzimuthalAngle",void 0),o.default(this,"setPolarAngle",void 0),o.default(this,"setAzimuthalAngle",void 0),o.default(this,"getDistance",void 0),o.default(this,"listenToKeyEvents",void 0),o.default(this,"saveState",void 0),o.default(this,"reset",void 0),o.default(this,"update",void 0),o.default(this,"connect",void 0),o.default(this,"dispose",void 0),this.object=e,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object instanceof t.PerspectiveCamera?this.object.zoom:1,this.getPolarAngle=()=>h.phi,this.getAzimuthalAngle=()=>h.theta,this.setPolarAngle=e=>{let t=a(e,2*Math.PI),n=h.phi;n<0&&(n+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-n);2*Math.PI-o<o&&(t<n?t+=2*Math.PI:n+=2*Math.PI),m.phi=t-n,i.update()},this.setAzimuthalAngle=e=>{let t=a(e,2*Math.PI),n=h.theta;n<0&&(n+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-n);2*Math.PI-o<o&&(t<n?t+=2*Math.PI:n+=2*Math.PI),m.theta=t-n,i.update()},this.getDistance=()=>i.object.position.distanceTo(i.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",q),this._domElementKeyEvents=e},this.saveState=()=>{i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object instanceof t.PerspectiveCamera?i.object.zoom:1},this.reset=()=>{i.target.copy(i.target0),i.object.position.copy(i.position0),i.object instanceof t.PerspectiveCamera&&(i.object.zoom=i.zoom0,i.object.updateProjectionMatrix()),i.dispatchEvent(r),i.update(),u=l.NONE},this.update=(()=>{const n=new t.Vector3,o=(new t.Quaternion).setFromUnitVectors(e.up,new t.Vector3(0,1,0)),a=o.clone().invert(),s=new t.Vector3,c=new t.Quaternion,E=2*Math.PI;return function(){const e=i.object.position;n.copy(e).sub(i.target),n.applyQuaternion(o),h.setFromVector3(n),i.autoRotate&&u===l.NONE&&N(2*Math.PI/60/60*i.autoRotateSpeed),i.enableDamping?(h.theta+=m.theta*i.dampingFactor,h.phi+=m.phi*i.dampingFactor):(h.theta+=m.theta,h.phi+=m.phi);let t=i.minAzimuthAngle,g=i.maxAzimuthAngle;return isFinite(t)&&isFinite(g)&&(t<-Math.PI?t+=E:t>Math.PI&&(t-=E),g<-Math.PI?g+=E:g>Math.PI&&(g-=E),h.theta=t<=g?Math.max(t,Math.min(g,h.theta)):h.theta>(t+g)/2?Math.max(t,h.theta):Math.min(g,h.theta)),h.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,h.phi)),h.makeSafe(),h.radius*=p,h.radius=Math.max(i.minDistance,Math.min(i.maxDistance,h.radius)),!0===i.enableDamping?i.target.addScaledVector(b,i.dampingFactor):i.target.add(b),n.setFromSpherical(h),n.applyQuaternion(a),e.copy(i.target).add(n),i.object.lookAt(i.target),!0===i.enableDamping?(m.theta*=1-i.dampingFactor,m.phi*=1-i.dampingFactor,b.multiplyScalar(1-i.dampingFactor)):(m.set(0,0,0),b.set(0,0,0)),p=1,!!(f||s.distanceToSquared(i.object.position)>d||8*(1-c.dot(i.object.quaternion))>d)&&(i.dispatchEvent(r),s.copy(i.object.position),c.copy(i.object.quaternion),f=!1,!0)}})(),this.connect=e=>{e===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),i.domElement=e,i.domElement.style.touchAction="none",i.domElement.addEventListener("contextmenu",W),i.domElement.addEventListener("pointerdown",X),i.domElement.addEventListener("pointercancel",B),i.domElement.addEventListener("wheel",G)},this.dispose=()=>{var e,t,n,o,a,r;null===(e=i.domElement)||void 0===e||e.removeEventListener("contextmenu",W),null===(t=i.domElement)||void 0===t||t.removeEventListener("pointerdown",X),null===(n=i.domElement)||void 0===n||n.removeEventListener("pointercancel",B),null===(o=i.domElement)||void 0===o||o.removeEventListener("wheel",G),null===(a=i.domElement)||void 0===a||a.ownerDocument.removeEventListener("pointermove",Z),null===(r=i.domElement)||void 0===r||r.ownerDocument.removeEventListener("pointerup",K),null!==i._domElementKeyEvents&&i._domElementKeyEvents.removeEventListener("keydown",q)};const i=this,r={type:"change"},s={type:"start"},c={type:"end"},l={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let u=l.NONE;const d=1e-6,h=new t.Spherical,m=new t.Spherical;let p=1;const b=new t.Vector3;let f=!1;const E=new t.Vector2,g=new t.Vector2,O=new t.Vector2,v=new t.Vector2,P=new t.Vector2,T=new t.Vector2,y=new t.Vector2,A=new t.Vector2,M=new t.Vector2,j=[],w={};function L(){return Math.pow(.95,i.zoomSpeed)}function N(e){i.reverseOrbit?m.theta+=e:m.theta-=e}function C(e){i.reverseOrbit?m.phi+=e:m.phi-=e}const I=(()=>{const e=new t.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),b.add(e)}})(),R=(()=>{const e=new t.Vector3;return function(t,n){!0===i.screenSpacePanning?e.setFromMatrixColumn(n,1):(e.setFromMatrixColumn(n,0),e.crossVectors(i.object.up,e)),e.multiplyScalar(t),b.add(e)}})(),S=(()=>{const e=new t.Vector3;return function(n,o){const a=i.domElement;if(a&&i.object instanceof t.PerspectiveCamera&&i.object.isPerspectiveCamera){const t=i.object.position;e.copy(t).sub(i.target);let r=e.length();r*=Math.tan(i.object.fov/2*Math.PI/180),I(2*n*r/a.clientHeight,i.object.matrix),R(2*o*r/a.clientHeight,i.object.matrix)}else a&&i.object instanceof t.OrthographicCamera&&i.object.isOrthographicCamera?(I(n*(i.object.right-i.object.left)/i.object.zoom/a.clientWidth,i.object.matrix),R(o*(i.object.top-i.object.bottom)/i.object.zoom/a.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}})();function D(e){i.object instanceof t.PerspectiveCamera&&i.object.isPerspectiveCamera?p/=e:i.object instanceof t.OrthographicCamera&&i.object.isOrthographicCamera?(i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom*e)),i.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function x(e){i.object instanceof t.PerspectiveCamera&&i.object.isPerspectiveCamera?p*=e:i.object instanceof t.OrthographicCamera&&i.object.isOrthographicCamera?(i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/e)),i.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function k(e){E.set(e.clientX,e.clientY)}function Y(e){v.set(e.clientX,e.clientY)}function H(){if(1==j.length)E.set(j[0].pageX,j[0].pageY);else{const e=.5*(j[0].pageX+j[1].pageX),t=.5*(j[0].pageY+j[1].pageY);E.set(e,t)}}function U(){if(1==j.length)v.set(j[0].pageX,j[0].pageY);else{const e=.5*(j[0].pageX+j[1].pageX),t=.5*(j[0].pageY+j[1].pageY);v.set(e,t)}}function _(){const e=j[0].pageX-j[1].pageX,t=j[0].pageY-j[1].pageY,n=Math.sqrt(e*e+t*t);y.set(0,n)}function V(e){if(1==j.length)g.set(e.pageX,e.pageY);else{const t=$(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);g.set(n,o)}O.subVectors(g,E).multiplyScalar(i.rotateSpeed);const t=i.domElement;t&&(N(2*Math.PI*O.x/t.clientHeight),C(2*Math.PI*O.y/t.clientHeight)),E.copy(g)}function z(e){if(1==j.length)P.set(e.pageX,e.pageY);else{const t=$(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);P.set(n,o)}T.subVectors(P,v).multiplyScalar(i.panSpeed),S(T.x,T.y),v.copy(P)}function F(e){const t=$(e),n=e.pageX-t.x,o=e.pageY-t.y,a=Math.sqrt(n*n+o*o);A.set(0,a),M.set(0,Math.pow(A.y/y.y,i.zoomSpeed)),D(M.y),y.copy(A)}function X(e){if(!1!==i.enabled){var n,o;if(0===j.length)null===(n=i.domElement)||void 0===n||n.ownerDocument.addEventListener("pointermove",Z),null===(o=i.domElement)||void 0===o||o.ownerDocument.addEventListener("pointerup",K);!function(e){j.push(e)}(e),"touch"===e.pointerType?function(e){switch(J(e),j.length){case 1:switch(i.touches.ONE){case t.TOUCH.ROTATE:if(!1===i.enableRotate)return;H(),u=l.TOUCH_ROTATE;break;case t.TOUCH.PAN:if(!1===i.enablePan)return;U(),u=l.TOUCH_PAN;break;default:u=l.NONE}break;case 2:switch(i.touches.TWO){case t.TOUCH.DOLLY_PAN:if(!1===i.enableZoom&&!1===i.enablePan)return;i.enableZoom&&_(),i.enablePan&&U(),u=l.TOUCH_DOLLY_PAN;break;case t.TOUCH.DOLLY_ROTATE:if(!1===i.enableZoom&&!1===i.enableRotate)return;i.enableZoom&&_(),i.enableRotate&&H(),u=l.TOUCH_DOLLY_ROTATE;break;default:u=l.NONE}break;default:u=l.NONE}u!==l.NONE&&i.dispatchEvent(s)}(e):function(e){let n;switch(e.button){case 0:n=i.mouseButtons.LEFT;break;case 1:n=i.mouseButtons.MIDDLE;break;case 2:n=i.mouseButtons.RIGHT;break;default:n=-1}switch(n){case t.MOUSE.DOLLY:if(!1===i.enableZoom)return;!function(e){y.set(e.clientX,e.clientY)}(e),u=l.DOLLY;break;case t.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===i.enablePan)return;Y(e),u=l.PAN}else{if(!1===i.enableRotate)return;k(e),u=l.ROTATE}break;case t.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===i.enableRotate)return;k(e),u=l.ROTATE}else{if(!1===i.enablePan)return;Y(e),u=l.PAN}break;default:u=l.NONE}u!==l.NONE&&i.dispatchEvent(s)}(e)}}function Z(e){!1!==i.enabled&&("touch"===e.pointerType?function(e){switch(J(e),u){case l.TOUCH_ROTATE:if(!1===i.enableRotate)return;V(e),i.update();break;case l.TOUCH_PAN:if(!1===i.enablePan)return;z(e),i.update();break;case l.TOUCH_DOLLY_PAN:if(!1===i.enableZoom&&!1===i.enablePan)return;!function(e){i.enableZoom&&F(e),i.enablePan&&z(e)}(e),i.update();break;case l.TOUCH_DOLLY_ROTATE:if(!1===i.enableZoom&&!1===i.enableRotate)return;!function(e){i.enableZoom&&F(e),i.enableRotate&&V(e)}(e),i.update();break;default:u=l.NONE}}(e):function(e){if(!1===i.enabled)return;switch(u){case l.ROTATE:if(!1===i.enableRotate)return;!function(e){g.set(e.clientX,e.clientY),O.subVectors(g,E).multiplyScalar(i.rotateSpeed);const t=i.domElement;t&&(N(2*Math.PI*O.x/t.clientHeight),C(2*Math.PI*O.y/t.clientHeight)),E.copy(g),i.update()}(e);break;case l.DOLLY:if(!1===i.enableZoom)return;!function(e){A.set(e.clientX,e.clientY),M.subVectors(A,y),M.y>0?D(L()):M.y<0&&x(L()),y.copy(A),i.update()}(e);break;case l.PAN:if(!1===i.enablePan)return;!function(e){P.set(e.clientX,e.clientY),T.subVectors(P,v).multiplyScalar(i.panSpeed),S(T.x,T.y),v.copy(P),i.update()}(e)}}(e))}function K(e){var t,n,o;(Q(e),0===j.length)&&(null===(t=i.domElement)||void 0===t||t.releasePointerCapture(e.pointerId),null===(n=i.domElement)||void 0===n||n.ownerDocument.removeEventListener("pointermove",Z),null===(o=i.domElement)||void 0===o||o.ownerDocument.removeEventListener("pointerup",K));i.dispatchEvent(c),u=l.NONE}function B(e){Q(e)}function G(e){!1===i.enabled||!1===i.enableZoom||u!==l.NONE&&u!==l.ROTATE||(e.preventDefault(),i.dispatchEvent(s),function(e){e.deltaY<0?x(L()):e.deltaY>0&&D(L()),i.update()}(e),i.dispatchEvent(c))}function q(e){!1!==i.enabled&&!1!==i.enablePan&&function(e){let t=!1;switch(e.code){case i.keys.UP:S(0,i.keyPanSpeed),t=!0;break;case i.keys.BOTTOM:S(0,-i.keyPanSpeed),t=!0;break;case i.keys.LEFT:S(i.keyPanSpeed,0),t=!0;break;case i.keys.RIGHT:S(-i.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),i.update())}(e)}function W(e){!1!==i.enabled&&e.preventDefault()}function Q(e){delete w[e.pointerId];for(let t=0;t<j.length;t++)if(j[t].pointerId==e.pointerId)return void j.splice(t,1)}function J(e){let n=w[e.pointerId];void 0===n&&(n=new t.Vector2,w[e.pointerId]=n),n.set(e.pageX,e.pageY)}function $(e){const t=e.pointerId===j[0].pointerId?j[1]:j[0];return w[t.pointerId]}void 0!==n&&this.connect(n),this.update()}}exports.MapControls=class extends i{constructor(e,n){super(e,n),this.screenSpacePanning=!1,this.mouseButtons.LEFT=t.MOUSE.PAN,this.mouseButtons.RIGHT=t.MOUSE.ROTATE,this.touches.ONE=t.TOUCH.PAN,this.touches.TWO=t.TOUCH.DOLLY_ROTATE}},exports.OrbitControls=i;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(e);class n extends t.EventDispatcher{constructor(e,o){super(),i.default(this,"camera",void 0),i.default(this,"domElement",void 0),i.default(this,"isLocked",!1),i.default(this,"minPolarAngle",0),i.default(this,"maxPolarAngle",Math.PI),i.default(this,"changeEvent",{type:"change"}),i.default(this,"lockEvent",{type:"lock"}),i.default(this,"unlockEvent",{type:"unlock"}),i.default(this,"euler",new t.Euler(0,0,0,"YXZ")),i.default(this,"PI_2",Math.PI/2),i.default(this,"vec",new t.Vector3),i.default(this,"onMouseMove",(e=>{if(!this.domElement||!1===this.isLocked)return;const t=e.movementX||e.mozMovementX||e.webkitMovementX||0,o=e.movementY||e.mozMovementY||e.webkitMovementY||0;this.euler.setFromQuaternion(this.camera.quaternion),this.euler.y-=.002*t,this.euler.x-=.002*o,this.euler.x=Math.max(this.PI_2-this.maxPolarAngle,Math.min(this.PI_2-this.minPolarAngle,this.euler.x)),this.camera.quaternion.setFromEuler(this.euler),this.dispatchEvent(this.changeEvent)})),i.default(this,"onPointerlockChange",(()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(this.lockEvent),this.isLocked=!0):(this.dispatchEvent(this.unlockEvent),this.isLocked=!1))})),i.default(this,"onPointerlockError",(()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")})),i.default(this,"connect",(e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError))})),i.default(this,"disconnect",(()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError))})),i.default(this,"dispose",(()=>{this.disconnect()})),i.default(this,"getObject",(()=>this.camera)),i.default(this,"direction",new t.Vector3(0,0,-1)),i.default(this,"getDirection",(e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion))),i.default(this,"moveForward",(e=>{this.vec.setFromMatrixColumn(this.camera.matrix,0),this.vec.crossVectors(this.camera.up,this.vec),this.camera.position.addScaledVector(this.vec,e)})),i.default(this,"moveRight",(e=>{this.vec.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(this.vec,e)})),i.default(this,"lock",(()=>{this.domElement&&this.domElement.requestPointerLock()})),i.default(this,"unlock",(()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()})),this.domElement=o,this.camera=e,this.domElement&&this.connect(this.domElement)}}exports.PointerLockControls=n;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=s(t);class o extends e.EventDispatcher{constructor(t,s){super(),i.default(this,"enabled",!0),i.default(this,"screen",{left:0,top:0,width:0,height:0}),i.default(this,"rotateSpeed",1),i.default(this,"zoomSpeed",1.2),i.default(this,"panSpeed",.3),i.default(this,"noRotate",!1),i.default(this,"noZoom",!1),i.default(this,"noPan",!1),i.default(this,"staticMoving",!1),i.default(this,"dynamicDampingFactor",.2),i.default(this,"minDistance",0),i.default(this,"maxDistance",1/0),i.default(this,"keys",["KeyA","KeyS","KeyD"]),i.default(this,"mouseButtons",{LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN}),i.default(this,"object",void 0),i.default(this,"domElement",void 0),i.default(this,"cursorZoom",!1),i.default(this,"target",new e.Vector3),i.default(this,"mousePosition",new e.Vector2),i.default(this,"STATE",{NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4}),i.default(this,"EPS",1e-6),i.default(this,"lastZoom",1),i.default(this,"lastPosition",new e.Vector3),i.default(this,"cursorVector",new e.Vector3),i.default(this,"targetVector",new e.Vector3),i.default(this,"_state",this.STATE.NONE),i.default(this,"_keyState",this.STATE.NONE),i.default(this,"_eye",new e.Vector3),i.default(this,"_movePrev",new e.Vector2),i.default(this,"_moveCurr",new e.Vector2),i.default(this,"_lastAxis",new e.Vector3),i.default(this,"_lastAngle",0),i.default(this,"_zoomStart",new e.Vector2),i.default(this,"_zoomEnd",new e.Vector2),i.default(this,"_touchZoomDistanceStart",0),i.default(this,"_touchZoomDistanceEnd",0),i.default(this,"_panStart",new e.Vector2),i.default(this,"_panEnd",new e.Vector2),i.default(this,"target0",void 0),i.default(this,"position0",void 0),i.default(this,"up0",void 0),i.default(this,"zoom0",void 0),i.default(this,"changeEvent",{type:"change"}),i.default(this,"startEvent",{type:"start"}),i.default(this,"endEvent",{type:"end"}),i.default(this,"onScreenVector",new e.Vector2),i.default(this,"getMouseOnScreen",((t,e)=>(this.onScreenVector.set((t-this.screen.left)/this.screen.width,(e-this.screen.top)/this.screen.height),this.onScreenVector))),i.default(this,"onCircleVector",new e.Vector2),i.default(this,"getMouseOnCircle",((t,e)=>(this.onCircleVector.set((t-.5*this.screen.width-this.screen.left)/(.5*this.screen.width),(this.screen.height+2*(this.screen.top-e))/this.screen.width),this.onCircleVector))),i.default(this,"axis",new e.Vector3),i.default(this,"quaternion",new e.Quaternion),i.default(this,"eyeDirection",new e.Vector3),i.default(this,"objectUpDirection",new e.Vector3),i.default(this,"objectSidewaysDirection",new e.Vector3),i.default(this,"moveDirection",new e.Vector3),i.default(this,"angle",0),i.default(this,"rotateCamera",(()=>{this.moveDirection.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0),this.angle=this.moveDirection.length(),this.angle?(this._eye.copy(this.object.position).sub(this.target),this.eyeDirection.copy(this._eye).normalize(),this.objectUpDirection.copy(this.object.up).normalize(),this.objectSidewaysDirection.crossVectors(this.objectUpDirection,this.eyeDirection).normalize(),this.objectUpDirection.setLength(this._moveCurr.y-this._movePrev.y),this.objectSidewaysDirection.setLength(this._moveCurr.x-this._movePrev.x),this.moveDirection.copy(this.objectUpDirection.add(this.objectSidewaysDirection)),this.axis.crossVectors(this.moveDirection,this._eye).normalize(),this.angle*=this.rotateSpeed,this.quaternion.setFromAxisAngle(this.axis,this.angle),this._eye.applyQuaternion(this.quaternion),this.object.up.applyQuaternion(this.quaternion),this._lastAxis.copy(this.axis),this._lastAngle=this.angle):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),this.quaternion.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(this.quaternion),this.object.up.applyQuaternion(this.quaternion)),this._movePrev.copy(this._moveCurr)})),i.default(this,"zoomCamera",(()=>{let t;if(this._state===this.STATE.TOUCH_ZOOM_PAN)t=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(t):this.object.isOrthographicCamera?(this.object.zoom/=t,this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type");else{if(t=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,Math.abs(t-1)>this.EPS&&t>0&&(this.object.isPerspectiveCamera?(t>1&&this._eye.length()>=this.maxDistance-this.EPS&&(t=1),this._eye.multiplyScalar(t)):this.object.isOrthographicCamera?(t>1&&this.object.zoom<this.maxDistance*this.maxDistance&&(t=1),this.object.zoom/=t):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor,this.cursorZoom){this.targetVector.copy(this.target).project(this.object);let e=this.cursorVector.set(this.mousePosition.x,this.mousePosition.y,this.targetVector.z).unproject(this.object);this.target.lerpVectors(e,this.target,t)}this.object.isOrthographicCamera&&this.object.updateProjectionMatrix()}})),i.default(this,"mouseChange",new e.Vector2),i.default(this,"objectUp",new e.Vector3),i.default(this,"pan",new e.Vector3),i.default(this,"panCamera",(()=>{if(this.domElement&&(this.mouseChange.copy(this._panEnd).sub(this._panStart),this.mouseChange.lengthSq()>this.EPS)){if(this.object.isOrthographicCamera){const t=this.object,e=(t.right-t.left)/this.object.zoom,s=(t.top-t.bottom)/this.object.zoom;this.mouseChange.x*=e,this.mouseChange.y*=s}else this.mouseChange.multiplyScalar(this._eye.length()*this.panSpeed);this.pan.copy(this._eye).cross(this.object.up).setLength(this.mouseChange.x),this.pan.add(this.objectUp.copy(this.object.up).setLength(this.mouseChange.y)),this.object.position.add(this.pan),this.target.add(this.pan),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(this.mouseChange.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}})),i.default(this,"checkDistances",(()=>{this.noZoom&&this.noPan||(this._eye.lengthSq()>this.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()<this.minDistance*this.minDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.minDistance)),this._zoomStart.copy(this._zoomEnd)))})),i.default(this,"handleResize",(()=>{if(!this.domElement)return;const t=this.domElement.getBoundingClientRect(),e=this.domElement.ownerDocument.documentElement;this.screen.left=t.left+window.pageXOffset-e.clientLeft,this.screen.top=t.top+window.pageYOffset-e.clientTop,this.screen.width=t.width,this.screen.height=t.height})),i.default(this,"update",(()=>{this._eye.subVectors(this.object.position,this.target),this.noRotate||this.rotateCamera(),this.noZoom||this.zoomCamera(),this.noPan||this.panCamera(),this.object.position.addVectors(this.target,this._eye),this.object.isPerspectiveCamera?(this.checkDistances(),this.object.lookAt(this.target),this.lastPosition.distanceToSquared(this.object.position)>this.EPS&&(this.dispatchEvent(this.changeEvent),this.lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this.lastPosition.distanceToSquared(this.object.position)>this.EPS||this.lastZoom!==this.object.zoom)&&(this.dispatchEvent(this.changeEvent),this.lastPosition.copy(this.object.position),this.lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")})),i.default(this,"reset",(()=>{this._state=this.STATE.NONE,this._keyState=this.STATE.NONE,this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.up.copy(this.up0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(this.changeEvent),this.lastPosition.copy(this.object.position),this.lastZoom=this.object.zoom})),i.default(this,"keydown",(t=>{!1!==this.enabled&&(window.removeEventListener("keydown",this.keydown),this._keyState===this.STATE.NONE&&(t.code!==this.keys[this.STATE.ROTATE]||this.noRotate?t.code!==this.keys[this.STATE.ZOOM]||this.noZoom?t.code!==this.keys[this.STATE.PAN]||this.noPan||(this._keyState=this.STATE.PAN):this._keyState=this.STATE.ZOOM:this._keyState=this.STATE.ROTATE))})),i.default(this,"onPointerDown",(t=>{if(!1!==this.enabled)switch(t.pointerType){case"mouse":case"pen":this.onMouseDown(t)}})),i.default(this,"onPointerMove",(t=>{if(!1!==this.enabled)switch(t.pointerType){case"mouse":case"pen":this.onMouseMove(t)}})),i.default(this,"onPointerUp",(t=>{if(!1!==this.enabled)switch(t.pointerType){case"mouse":case"pen":this.onMouseUp()}})),i.default(this,"keyup",(()=>{!1!==this.enabled&&(this._keyState=this.STATE.NONE,window.addEventListener("keydown",this.keydown))})),i.default(this,"onMouseDown",(t=>{if(!this.domElement)return;if(this._state===this.STATE.NONE)switch(t.button){case this.mouseButtons.LEFT:this._state=this.STATE.ROTATE;break;case this.mouseButtons.MIDDLE:this._state=this.STATE.ZOOM;break;case this.mouseButtons.RIGHT:this._state=this.STATE.PAN;break;default:this._state=this.STATE.NONE}const e=this._keyState!==this.STATE.NONE?this._keyState:this._state;e!==this.STATE.ROTATE||this.noRotate?e!==this.STATE.ZOOM||this.noZoom?e!==this.STATE.PAN||this.noPan||(this._panStart.copy(this.getMouseOnScreen(t.pageX,t.pageY)),this._panEnd.copy(this._panStart)):(this._zoomStart.copy(this.getMouseOnScreen(t.pageX,t.pageY)),this._zoomEnd.copy(this._zoomStart)):(this._moveCurr.copy(this.getMouseOnCircle(t.pageX,t.pageY)),this._movePrev.copy(this._moveCurr)),this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp),this.dispatchEvent(this.startEvent)})),i.default(this,"onMouseMove",(t=>{if(!1===this.enabled)return;const e=this._keyState!==this.STATE.NONE?this._keyState:this._state;e!==this.STATE.ROTATE||this.noRotate?e!==this.STATE.ZOOM||this.noZoom?e!==this.STATE.PAN||this.noPan||this._panEnd.copy(this.getMouseOnScreen(t.pageX,t.pageY)):this._zoomEnd.copy(this.getMouseOnScreen(t.pageX,t.pageY)):(this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this.getMouseOnCircle(t.pageX,t.pageY)))})),i.default(this,"onMouseUp",(()=>{this.domElement&&!1!==this.enabled&&(this._state=this.STATE.NONE,this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this.onPointerUp),this.dispatchEvent(this.endEvent))})),i.default(this,"mousewheel",(t=>{if(!1!==this.enabled&&!0!==this.noZoom){switch(t.preventDefault(),t.deltaMode){case 2:this._zoomStart.y-=.025*t.deltaY;break;case 1:this._zoomStart.y-=.01*t.deltaY;break;default:this._zoomStart.y-=25e-5*t.deltaY}this.mousePosition.x=t.offsetX/this.screen.width*2-1,this.mousePosition.y=-t.offsetY/this.screen.height*2+1,this.dispatchEvent(this.startEvent),this.dispatchEvent(this.endEvent)}})),i.default(this,"touchstart",(t=>{if(!1!==this.enabled){switch(t.preventDefault(),t.touches.length){case 1:this._state=this.STATE.TOUCH_ROTATE,this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY)),this._movePrev.copy(this._moveCurr);break;default:this._state=this.STATE.TOUCH_ZOOM_PAN;const e=t.touches[0].pageX-t.touches[1].pageX,s=t.touches[0].pageY-t.touches[1].pageY;this._touchZoomDistanceEnd=this._touchZoomDistanceStart=Math.sqrt(e*e+s*s);const i=(t.touches[0].pageX+t.touches[1].pageX)/2,o=(t.touches[0].pageY+t.touches[1].pageY)/2;this._panStart.copy(this.getMouseOnScreen(i,o)),this._panEnd.copy(this._panStart)}this.dispatchEvent(this.startEvent)}})),i.default(this,"touchmove",(t=>{if(!1!==this.enabled)switch(t.preventDefault(),t.touches.length){case 1:this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY));break;default:const e=t.touches[0].pageX-t.touches[1].pageX,s=t.touches[0].pageY-t.touches[1].pageY;this._touchZoomDistanceEnd=Math.sqrt(e*e+s*s);const i=(t.touches[0].pageX+t.touches[1].pageX)/2,o=(t.touches[0].pageY+t.touches[1].pageY)/2;this._panEnd.copy(this.getMouseOnScreen(i,o))}})),i.default(this,"touchend",(t=>{if(!1!==this.enabled){switch(t.touches.length){case 0:this._state=this.STATE.NONE;break;case 1:this._state=this.STATE.TOUCH_ROTATE,this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY)),this._movePrev.copy(this._moveCurr)}this.dispatchEvent(this.endEvent)}})),i.default(this,"contextmenu",(t=>{!1!==this.enabled&&t.preventDefault()})),i.default(this,"connect",(t=>{t===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.domElement=t,this.domElement.addEventListener("contextmenu",this.contextmenu),this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("wheel",this.mousewheel),this.domElement.addEventListener("touchstart",this.touchstart),this.domElement.addEventListener("touchend",this.touchend),this.domElement.addEventListener("touchmove",this.touchmove),this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp),window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),this.handleResize()})),i.default(this,"dispose",(()=>{this.domElement&&(this.domElement.removeEventListener("contextmenu",this.contextmenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("wheel",this.mousewheel),this.domElement.removeEventListener("touchstart",this.touchstart),this.domElement.removeEventListener("touchend",this.touchend),this.domElement.removeEventListener("touchmove",this.touchmove),this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this.onPointerUp),window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup))})),this.object=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,void 0!==s&&this.connect(s),this.update()}}exports.TrackballControls=o;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var n=i(t);class o extends e.Object3D{constructor(t,i){super(),n.default(this,"isTransformControls",!0),n.default(this,"visible",!1),n.default(this,"domElement",void 0),n.default(this,"raycaster",new e.Raycaster),n.default(this,"gizmo",void 0),n.default(this,"plane",void 0),n.default(this,"tempVector",new e.Vector3),n.default(this,"tempVector2",new e.Vector3),n.default(this,"tempQuaternion",new e.Quaternion),n.default(this,"unit",{X:new e.Vector3(1,0,0),Y:new e.Vector3(0,1,0),Z:new e.Vector3(0,0,1)}),n.default(this,"pointStart",new e.Vector3),n.default(this,"pointEnd",new e.Vector3),n.default(this,"offset",new e.Vector3),n.default(this,"rotationAxis",new e.Vector3),n.default(this,"startNorm",new e.Vector3),n.default(this,"endNorm",new e.Vector3),n.default(this,"rotationAngle",0),n.default(this,"cameraPosition",new e.Vector3),n.default(this,"cameraQuaternion",new e.Quaternion),n.default(this,"cameraScale",new e.Vector3),n.default(this,"parentPosition",new e.Vector3),n.default(this,"parentQuaternion",new e.Quaternion),n.default(this,"parentQuaternionInv",new e.Quaternion),n.default(this,"parentScale",new e.Vector3),n.default(this,"worldPositionStart",new e.Vector3),n.default(this,"worldQuaternionStart",new e.Quaternion),n.default(this,"worldScaleStart",new e.Vector3),n.default(this,"worldPosition",new e.Vector3),n.default(this,"worldQuaternion",new e.Quaternion),n.default(this,"worldQuaternionInv",new e.Quaternion),n.default(this,"worldScale",new e.Vector3),n.default(this,"eye",new e.Vector3),n.default(this,"positionStart",new e.Vector3),n.default(this,"quaternionStart",new e.Quaternion),n.default(this,"scaleStart",new e.Vector3),n.default(this,"camera",void 0),n.default(this,"object",void 0),n.default(this,"enabled",!0),n.default(this,"axis",null),n.default(this,"mode","translate"),n.default(this,"translationSnap",null),n.default(this,"rotationSnap",null),n.default(this,"scaleSnap",null),n.default(this,"space","world"),n.default(this,"size",1),n.default(this,"dragging",!1),n.default(this,"showX",!0),n.default(this,"showY",!0),n.default(this,"showZ",!0),n.default(this,"changeEvent",{type:"change"}),n.default(this,"mouseDownEvent",{type:"mouseDown",mode:this.mode}),n.default(this,"mouseUpEvent",{type:"mouseUp",mode:this.mode}),n.default(this,"objectChangeEvent",{type:"objectChange"}),n.default(this,"intersectObjectWithRay",((t,e,i)=>{const n=e.intersectObject(t,!0);for(let t=0;t<n.length;t++)if(n[t].object.visible||i)return n[t];return!1})),n.default(this,"attach",(t=>(this.object=t,this.visible=!0,this))),n.default(this,"detach",(()=>(this.object=void 0,this.visible=!1,this.axis=null,this))),n.default(this,"reset",(()=>this.enabled?(this.dragging&&void 0!==this.object&&(this.object.position.copy(this.positionStart),this.object.quaternion.copy(this.quaternionStart),this.object.scale.copy(this.scaleStart),this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent),this.pointStart.copy(this.pointEnd)),this):this)),n.default(this,"updateMatrixWorld",(()=>{void 0!==this.object&&(this.object.updateMatrixWorld(),null===this.object.parent?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this.parentPosition,this.parentQuaternion,this.parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this.worldScale),this.parentQuaternionInv.copy(this.parentQuaternion).invert(),this.worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this.cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld()})),n.default(this,"pointerHover",(t=>{if(void 0===this.object||!0===this.dragging)return;this.raycaster.setFromCamera(t,this.camera);const e=this.intersectObjectWithRay(this.gizmo.picker[this.mode],this.raycaster);this.axis=e?e.object.name:null})),n.default(this,"pointerDown",(t=>{if(void 0!==this.object&&!0!==this.dragging&&0===t.button&&null!==this.axis){this.raycaster.setFromCamera(t,this.camera);const e=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(e){let t=this.space;if("scale"===this.mode?t="local":"E"!==this.axis&&"XYZE"!==this.axis&&"XYZ"!==this.axis||(t="world"),"local"===t&&"rotate"===this.mode){const t=this.rotationSnap;"X"===this.axis&&t&&(this.object.rotation.x=Math.round(this.object.rotation.x/t)*t),"Y"===this.axis&&t&&(this.object.rotation.y=Math.round(this.object.rotation.y/t)*t),"Z"===this.axis&&t&&(this.object.rotation.z=Math.round(this.object.rotation.z/t)*t)}this.object.updateMatrixWorld(),this.object.parent&&this.object.parent.updateMatrixWorld(),this.positionStart.copy(this.object.position),this.quaternionStart.copy(this.object.quaternion),this.scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this.worldScaleStart),this.pointStart.copy(e.point).sub(this.worldPositionStart)}this.dragging=!0,this.mouseDownEvent.mode=this.mode,this.dispatchEvent(this.mouseDownEvent)}})),n.default(this,"pointerMove",(t=>{const e=this.axis,i=this.mode,n=this.object;let o=this.space;if("scale"===i?o="local":"E"!==e&&"XYZE"!==e&&"XYZ"!==e||(o="world"),void 0===n||null===e||!1===this.dragging||-1!==t.button)return;this.raycaster.setFromCamera(t,this.camera);const s=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(s){if(this.pointEnd.copy(s.point).sub(this.worldPositionStart),"translate"===i)this.offset.copy(this.pointEnd).sub(this.pointStart),"local"===o&&"XYZ"!==e&&this.offset.applyQuaternion(this.worldQuaternionInv),-1===e.indexOf("X")&&(this.offset.x=0),-1===e.indexOf("Y")&&(this.offset.y=0),-1===e.indexOf("Z")&&(this.offset.z=0),"local"===o&&"XYZ"!==e?this.offset.applyQuaternion(this.quaternionStart).divide(this.parentScale):this.offset.applyQuaternion(this.parentQuaternionInv).divide(this.parentScale),n.position.copy(this.offset).add(this.positionStart),this.translationSnap&&("local"===o&&(n.position.applyQuaternion(this.tempQuaternion.copy(this.quaternionStart).invert()),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.position.applyQuaternion(this.quaternionStart)),"world"===o&&(n.parent&&n.position.add(this.tempVector.setFromMatrixPosition(n.parent.matrixWorld)),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.parent&&n.position.sub(this.tempVector.setFromMatrixPosition(n.parent.matrixWorld))));else if("scale"===i){if(-1!==e.search("XYZ")){let t=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(t*=-1),this.tempVector2.set(t,t,t)}else this.tempVector.copy(this.pointStart),this.tempVector2.copy(this.pointEnd),this.tempVector.applyQuaternion(this.worldQuaternionInv),this.tempVector2.applyQuaternion(this.worldQuaternionInv),this.tempVector2.divide(this.tempVector),-1===e.search("X")&&(this.tempVector2.x=1),-1===e.search("Y")&&(this.tempVector2.y=1),-1===e.search("Z")&&(this.tempVector2.z=1);n.scale.copy(this.scaleStart).multiply(this.tempVector2),this.scaleSnap&&this.object&&(-1!==e.search("X")&&(this.object.scale.x=Math.round(n.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Y")&&(n.scale.y=Math.round(n.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Z")&&(n.scale.z=Math.round(n.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if("rotate"===i){this.offset.copy(this.pointEnd).sub(this.pointStart);const t=20/this.worldPosition.distanceTo(this.tempVector.setFromMatrixPosition(this.camera.matrixWorld));"E"===e?(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this.startNorm.copy(this.pointStart).normalize(),this.endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this.endNorm.cross(this.startNorm).dot(this.eye)<0?1:-1):"XYZE"===e?(this.rotationAxis.copy(this.offset).cross(this.eye).normalize(),this.rotationAngle=this.offset.dot(this.tempVector.copy(this.rotationAxis).cross(this.eye))*t):"X"!==e&&"Y"!==e&&"Z"!==e||(this.rotationAxis.copy(this.unit[e]),this.tempVector.copy(this.unit[e]),"local"===o&&this.tempVector.applyQuaternion(this.worldQuaternion),this.rotationAngle=this.offset.dot(this.tempVector.cross(this.eye).normalize())*t),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),"local"===o&&"E"!==e&&"XYZE"!==e?(n.quaternion.copy(this.quaternionStart),n.quaternion.multiply(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this.parentQuaternionInv),n.quaternion.copy(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),n.quaternion.multiply(this.quaternionStart).normalize())}this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent)}})),n.default(this,"pointerUp",(t=>{0===t.button&&(this.dragging&&null!==this.axis&&(this.mouseUpEvent.mode=this.mode,this.dispatchEvent(this.mouseUpEvent)),this.dragging=!1,this.axis=null)})),n.default(this,"getPointer",(t=>{var e;if(this.domElement&&null!==(e=this.domElement.ownerDocument)&&void 0!==e&&e.pointerLockElement)return{x:0,y:0,button:t.button};{var i;const e=t.changedTouches?t.changedTouches[0]:t,n=null===(i=this.domElement)||void 0===i?void 0:i.getBoundingClientRect();return{x:(e.clientX-n.left)/n.width*2-1,y:-(e.clientY-n.top)/n.height*2+1,button:t.button}}})),n.default(this,"onPointerHover",(t=>{if(this.enabled)switch(t.pointerType){case"mouse":case"pen":this.pointerHover(this.getPointer(t))}})),n.default(this,"onPointerDown",(t=>{this.enabled&&this.domElement&&(this.domElement.style.touchAction="none",this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.pointerHover(this.getPointer(t)),this.pointerDown(this.getPointer(t)))})),n.default(this,"onPointerMove",(t=>{this.enabled&&this.pointerMove(this.getPointer(t))})),n.default(this,"onPointerUp",(t=>{this.enabled&&this.domElement&&(this.domElement.style.touchAction="",this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.pointerUp(this.getPointer(t)))})),n.default(this,"getMode",(()=>this.mode)),n.default(this,"setMode",(t=>{this.mode=t})),n.default(this,"setTranslationSnap",(t=>{this.translationSnap=t})),n.default(this,"setRotationSnap",(t=>{this.rotationSnap=t})),n.default(this,"setScaleSnap",(t=>{this.scaleSnap=t})),n.default(this,"setSize",(t=>{this.size=t})),n.default(this,"setSpace",(t=>{this.space=t})),n.default(this,"update",(()=>{console.warn("THREE.TransformControls: update function has no more functionality and therefore has been deprecated.")})),n.default(this,"connect",(t=>{t===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.domElement=t,this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("pointermove",this.onPointerHover),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp)})),n.default(this,"dispose",(()=>{var t,e,i,n,o,s;null===(t=this.domElement)||void 0===t||t.removeEventListener("pointerdown",this.onPointerDown),null===(e=this.domElement)||void 0===e||e.removeEventListener("pointermove",this.onPointerHover),null===(i=this.domElement)||void 0===i||null===(n=i.ownerDocument)||void 0===n||n.removeEventListener("pointermove",this.onPointerMove),null===(o=this.domElement)||void 0===o||null===(s=o.ownerDocument)||void 0===s||s.removeEventListener("pointerup",this.onPointerUp),this.traverse((t=>{const e=t;e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()}))})),this.domElement=i,this.camera=t,this.gizmo=new s,this.add(this.gizmo),this.plane=new a,this.add(this.plane);const o=(t,e)=>{let i=e;Object.defineProperty(this,t,{get:function(){return void 0!==i?i:e},set:function(e){i!==e&&(i=e,this.plane[t]=e,this.gizmo[t]=e,this.dispatchEvent({type:t+"-changed",value:e}),this.dispatchEvent(this.changeEvent))}}),this[t]=e,this.plane[t]=e,this.gizmo[t]=e};o("camera",this.camera),o("object",this.object),o("enabled",this.enabled),o("axis",this.axis),o("mode",this.mode),o("translationSnap",this.translationSnap),o("rotationSnap",this.rotationSnap),o("scaleSnap",this.scaleSnap),o("space",this.space),o("size",this.size),o("dragging",this.dragging),o("showX",this.showX),o("showY",this.showY),o("showZ",this.showZ),o("worldPosition",this.worldPosition),o("worldPositionStart",this.worldPositionStart),o("worldQuaternion",this.worldQuaternion),o("worldQuaternionStart",this.worldQuaternionStart),o("cameraPosition",this.cameraPosition),o("cameraQuaternion",this.cameraQuaternion),o("pointStart",this.pointStart),o("pointEnd",this.pointEnd),o("rotationAxis",this.rotationAxis),o("rotationAngle",this.rotationAngle),o("eye",this.eye),void 0!==i&&this.connect(i)}}class s extends e.Object3D{constructor(){super(),n.default(this,"isTransformControlsGizmo",!0),n.default(this,"type","TransformControlsGizmo"),n.default(this,"tempVector",new e.Vector3(0,0,0)),n.default(this,"tempEuler",new e.Euler),n.default(this,"alignVector",new e.Vector3(0,1,0)),n.default(this,"zeroVector",new e.Vector3(0,0,0)),n.default(this,"lookAtMatrix",new e.Matrix4),n.default(this,"tempQuaternion",new e.Quaternion),n.default(this,"tempQuaternion2",new e.Quaternion),n.default(this,"identityQuaternion",new e.Quaternion),n.default(this,"unitX",new e.Vector3(1,0,0)),n.default(this,"unitY",new e.Vector3(0,1,0)),n.default(this,"unitZ",new e.Vector3(0,0,1)),n.default(this,"gizmo",void 0),n.default(this,"picker",void 0),n.default(this,"helper",void 0),n.default(this,"rotationAxis",new e.Vector3),n.default(this,"cameraPosition",new e.Vector3),n.default(this,"worldPositionStart",new e.Vector3),n.default(this,"worldQuaternionStart",new e.Quaternion),n.default(this,"worldPosition",new e.Vector3),n.default(this,"worldQuaternion",new e.Quaternion),n.default(this,"eye",new e.Vector3),n.default(this,"camera",null),n.default(this,"enabled",!0),n.default(this,"axis",null),n.default(this,"mode","translate"),n.default(this,"space","world"),n.default(this,"size",1),n.default(this,"dragging",!1),n.default(this,"showX",!0),n.default(this,"showY",!0),n.default(this,"showZ",!0),n.default(this,"updateMatrixWorld",(()=>{let t=this.space;"scale"===this.mode&&(t="local");const i="local"===t?this.worldQuaternion:this.identityQuaternion;this.gizmo.translate.visible="translate"===this.mode,this.gizmo.rotate.visible="rotate"===this.mode,this.gizmo.scale.visible="scale"===this.mode,this.helper.translate.visible="translate"===this.mode,this.helper.rotate.visible="rotate"===this.mode,this.helper.scale.visible="scale"===this.mode;let n=[];n=n.concat(this.picker[this.mode].children),n=n.concat(this.gizmo[this.mode].children),n=n.concat(this.helper[this.mode].children);for(let t=0;t<n.length;t++){const o=n[t];let s;if(o.visible=!0,o.rotation.set(0,0,0),o.position.copy(this.worldPosition),s=this.camera.isOrthographicCamera?(this.camera.top-this.camera.bottom)/this.camera.zoom:this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),o.scale.set(1,1,1).multiplyScalar(s*this.size/7),"helper"!==o.tag){if(o.quaternion.copy(i),"translate"===this.mode||"scale"===this.mode){const t=.99,e=.2,n=0;"X"!==o.name&&"XYZX"!==o.name||Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(i).dot(this.eye))>t&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Y"!==o.name&&"XYZY"!==o.name||Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(i).dot(this.eye))>t&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Z"!==o.name&&"XYZZ"!==o.name||Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(i).dot(this.eye))>t&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XY"===o.name&&Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(i).dot(this.eye))<e&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"YZ"===o.name&&Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(i).dot(this.eye))<e&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XZ"===o.name&&Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(i).dot(this.eye))<e&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),-1!==o.name.search("X")&&(this.alignVector.copy(this.unitX).applyQuaternion(i).dot(this.eye)<n?"fwd"===o.tag?o.visible=!1:o.scale.x*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Y")&&(this.alignVector.copy(this.unitY).applyQuaternion(i).dot(this.eye)<n?"fwd"===o.tag?o.visible=!1:o.scale.y*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Z")&&(this.alignVector.copy(this.unitZ).applyQuaternion(i).dot(this.eye)<n?"fwd"===o.tag?o.visible=!1:o.scale.z*=-1:"bwd"===o.tag&&(o.visible=!1))}else"rotate"===this.mode&&(this.tempQuaternion2.copy(i),this.alignVector.copy(this.eye).applyQuaternion(this.tempQuaternion.copy(i).invert()),-1!==o.name.search("E")&&o.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.eye,this.zeroVector,this.unitY)),"X"===o.name&&(this.tempQuaternion.setFromAxisAngle(this.unitX,Math.atan2(-this.alignVector.y,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),o.quaternion.copy(this.tempQuaternion)),"Y"===o.name&&(this.tempQuaternion.setFromAxisAngle(this.unitY,Math.atan2(this.alignVector.x,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),o.quaternion.copy(this.tempQuaternion)),"Z"===o.name&&(this.tempQuaternion.setFromAxisAngle(this.unitZ,Math.atan2(this.alignVector.y,this.alignVector.x)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),o.quaternion.copy(this.tempQuaternion)));o.visible=o.visible&&(-1===o.name.indexOf("X")||this.showX),o.visible=o.visible&&(-1===o.name.indexOf("Y")||this.showY),o.visible=o.visible&&(-1===o.name.indexOf("Z")||this.showZ),o.visible=o.visible&&(-1===o.name.indexOf("E")||this.showX&&this.showY&&this.showZ),o.material.tempOpacity=o.material.tempOpacity||o.material.opacity,o.material.tempColor=o.material.tempColor||o.material.color.clone(),o.material.color.copy(o.material.tempColor),o.material.opacity=o.material.tempOpacity,this.enabled?this.axis&&(o.name===this.axis||this.axis.split("").some((function(t){return o.name===t}))?(o.material.opacity=1,o.material.color.lerp(new e.Color(1,1,1),.5)):(o.material.opacity*=.25,o.material.color.lerp(new e.Color(1,1,1),.5))):(o.material.opacity*=.5,o.material.color.lerp(new e.Color(1,1,1),.5))}else o.visible=!1,"AXIS"===o.name?(o.position.copy(this.worldPositionStart),o.visible=!!this.axis,"X"===this.axis&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,0,0)),o.quaternion.copy(i).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),"Y"===this.axis&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,0,Math.PI/2)),o.quaternion.copy(i).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),"Z"===this.axis&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),o.quaternion.copy(i).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),"XYZE"===this.axis&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),this.alignVector.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.zeroVector,this.alignVector,this.unitY)),o.quaternion.multiply(this.tempQuaternion),o.visible=this.dragging),"E"===this.axis&&(o.visible=!1)):"START"===o.name?(o.position.copy(this.worldPositionStart),o.visible=this.dragging):"END"===o.name?(o.position.copy(this.worldPosition),o.visible=this.dragging):"DELTA"===o.name?(o.position.copy(this.worldPositionStart),o.quaternion.copy(this.worldQuaternionStart),this.tempVector.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),this.tempVector.applyQuaternion(this.worldQuaternionStart.clone().invert()),o.scale.copy(this.tempVector),o.visible=this.dragging):(o.quaternion.copy(i),this.dragging?o.position.copy(this.worldPositionStart):o.position.copy(this.worldPosition),this.axis&&(o.visible=-1!==this.axis.search(o.name)))}super.updateMatrixWorld()}));const t=new e.MeshBasicMaterial({depthTest:!1,depthWrite:!1,transparent:!0,side:e.DoubleSide,fog:!1,toneMapped:!1}),i=new e.LineBasicMaterial({depthTest:!1,depthWrite:!1,transparent:!0,linewidth:1,fog:!1,toneMapped:!1}),o=t.clone();o.opacity=.15;const s=t.clone();s.opacity=.33;const a=t.clone();a.color.set(16711680);const r=t.clone();r.color.set(65280);const h=t.clone();h.color.set(255);const l=t.clone();l.opacity=.25;const c=l.clone();c.color.set(16776960);const d=l.clone();d.color.set(65535);const u=l.clone();u.color.set(16711935);t.clone().color.set(16776960);const p=i.clone();p.color.set(16711680);const m=i.clone();m.color.set(65280);const w=i.clone();w.color.set(255);const y=i.clone();y.color.set(65535);const f=i.clone();f.color.set(16711935);const M=i.clone();M.color.set(16776960);const g=i.clone();g.color.set(7895160);const b=M.clone();b.opacity=.25;const v=new e.CylinderGeometry(0,.05,.2,12,1,!1),P=new e.BoxGeometry(.125,.125,.125),Q=new e.BufferGeometry;Q.setAttribute("position",new e.Float32BufferAttribute([0,0,0,1,0,0],3));const x=(t,i)=>{const n=new e.BufferGeometry,o=[];for(let e=0;e<=64*i;++e)o.push(0,Math.cos(e/32*Math.PI)*t,Math.sin(e/32*Math.PI)*t);return n.setAttribute("position",new e.Float32BufferAttribute(o,3)),n},S={X:[[new e.Mesh(v,a),[1,0,0],[0,0,-Math.PI/2],null,"fwd"],[new e.Mesh(v,a),[1,0,0],[0,0,Math.PI/2],null,"bwd"],[new e.Line(Q,p)]],Y:[[new e.Mesh(v,r),[0,1,0],null,null,"fwd"],[new e.Mesh(v,r),[0,1,0],[Math.PI,0,0],null,"bwd"],[new e.Line(Q,m),null,[0,0,Math.PI/2]]],Z:[[new e.Mesh(v,h),[0,0,1],[Math.PI/2,0,0],null,"fwd"],[new e.Mesh(v,h),[0,0,1],[-Math.PI/2,0,0],null,"bwd"],[new e.Line(Q,w),null,[0,-Math.PI/2,0]]],XYZ:[[new e.Mesh(new e.OctahedronGeometry(.1,0),l.clone()),[0,0,0],[0,0,0]]],XY:[[new e.Mesh(new e.PlaneGeometry(.295,.295),c.clone()),[.15,.15,0]],[new e.Line(Q,M),[.18,.3,0],null,[.125,1,1]],[new e.Line(Q,M),[.3,.18,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new e.Mesh(new e.PlaneGeometry(.295,.295),d.clone()),[0,.15,.15],[0,Math.PI/2,0]],[new e.Line(Q,y),[0,.18,.3],[0,0,Math.PI/2],[.125,1,1]],[new e.Line(Q,y),[0,.3,.18],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new e.Mesh(new e.PlaneGeometry(.295,.295),u.clone()),[.15,0,.15],[-Math.PI/2,0,0]],[new e.Line(Q,f),[.18,0,.3],null,[.125,1,1]],[new e.Line(Q,f),[.3,0,.18],[0,-Math.PI/2,0],[.125,1,1]]]},V={X:[[new e.Mesh(new e.CylinderGeometry(.2,0,1,4,1,!1),o),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new e.Mesh(new e.CylinderGeometry(.2,0,1,4,1,!1),o),[0,.6,0]]],Z:[[new e.Mesh(new e.CylinderGeometry(.2,0,1,4,1,!1),o),[0,0,.6],[Math.PI/2,0,0]]],XYZ:[[new e.Mesh(new e.OctahedronGeometry(.2,0),o)]],XY:[[new e.Mesh(new e.PlaneGeometry(.4,.4),o),[.2,.2,0]]],YZ:[[new e.Mesh(new e.PlaneGeometry(.4,.4),o),[0,.2,.2],[0,Math.PI/2,0]]],XZ:[[new e.Mesh(new e.PlaneGeometry(.4,.4),o),[.2,0,.2],[-Math.PI/2,0,0]]]},E={START:[[new e.Mesh(new e.OctahedronGeometry(.01,2),s),null,null,null,"helper"]],END:[[new e.Mesh(new e.OctahedronGeometry(.01,2),s),null,null,null,"helper"]],DELTA:[[new e.Line((()=>{const t=new e.BufferGeometry;return t.setAttribute("position",new e.Float32BufferAttribute([0,0,0,1,1,1],3)),t})(),s),null,null,null,"helper"]],X:[[new e.Line(Q,s.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new e.Line(Q,s.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new e.Line(Q,s.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},Y={X:[[new e.Line(x(1,.5),p)],[new e.Mesh(new e.OctahedronGeometry(.04,0),a),[0,0,.99],null,[1,3,1]]],Y:[[new e.Line(x(1,.5),m),null,[0,0,-Math.PI/2]],[new e.Mesh(new e.OctahedronGeometry(.04,0),r),[0,0,.99],null,[3,1,1]]],Z:[[new e.Line(x(1,.5),w),null,[0,Math.PI/2,0]],[new e.Mesh(new e.OctahedronGeometry(.04,0),h),[.99,0,0],null,[1,3,1]]],E:[[new e.Line(x(1.25,1),b),null,[0,Math.PI/2,0]],[new e.Mesh(new e.CylinderGeometry(.03,0,.15,4,1,!1),b),[1.17,0,0],[0,0,-Math.PI/2],[1,1,.001]],[new e.Mesh(new e.CylinderGeometry(.03,0,.15,4,1,!1),b),[-1.17,0,0],[0,0,Math.PI/2],[1,1,.001]],[new e.Mesh(new e.CylinderGeometry(.03,0,.15,4,1,!1),b),[0,-1.17,0],[Math.PI,0,0],[1,1,.001]],[new e.Mesh(new e.CylinderGeometry(.03,0,.15,4,1,!1),b),[0,1.17,0],[0,0,0],[1,1,.001]]],XYZE:[[new e.Line(x(1,1),g),null,[0,Math.PI/2,0]]]},X={AXIS:[[new e.Line(Q,s.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},Z={X:[[new e.Mesh(new e.TorusGeometry(1,.1,4,24),o),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new e.Mesh(new e.TorusGeometry(1,.1,4,24),o),[0,0,0],[Math.PI/2,0,0]]],Z:[[new e.Mesh(new e.TorusGeometry(1,.1,4,24),o),[0,0,0],[0,0,-Math.PI/2]]],E:[[new e.Mesh(new e.TorusGeometry(1.25,.1,2,24),o)]],XYZE:[[new e.Mesh(new e.SphereGeometry(.7,10,8),o)]]},I={X:[[new e.Mesh(P,a),[.8,0,0],[0,0,-Math.PI/2]],[new e.Line(Q,p),null,null,[.8,1,1]]],Y:[[new e.Mesh(P,r),[0,.8,0]],[new e.Line(Q,m),null,[0,0,Math.PI/2],[.8,1,1]]],Z:[[new e.Mesh(P,h),[0,0,.8],[Math.PI/2,0,0]],[new e.Line(Q,w),null,[0,-Math.PI/2,0],[.8,1,1]]],XY:[[new e.Mesh(P,c),[.85,.85,0],null,[2,2,.2]],[new e.Line(Q,M),[.855,.98,0],null,[.125,1,1]],[new e.Line(Q,M),[.98,.855,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new e.Mesh(P,d),[0,.85,.85],null,[.2,2,2]],[new e.Line(Q,y),[0,.855,.98],[0,0,Math.PI/2],[.125,1,1]],[new e.Line(Q,y),[0,.98,.855],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new e.Mesh(P,u),[.85,0,.85],null,[2,.2,2]],[new e.Line(Q,f),[.855,0,.98],null,[.125,1,1]],[new e.Line(Q,f),[.98,0,.855],[0,-Math.PI/2,0],[.125,1,1]]],XYZX:[[new e.Mesh(new e.BoxGeometry(.125,.125,.125),l.clone()),[1.1,0,0]]],XYZY:[[new e.Mesh(new e.BoxGeometry(.125,.125,.125),l.clone()),[0,1.1,0]]],XYZZ:[[new e.Mesh(new e.BoxGeometry(.125,.125,.125),l.clone()),[0,0,1.1]]]},A={X:[[new e.Mesh(new e.CylinderGeometry(.2,0,.8,4,1,!1),o),[.5,0,0],[0,0,-Math.PI/2]]],Y:[[new e.Mesh(new e.CylinderGeometry(.2,0,.8,4,1,!1),o),[0,.5,0]]],Z:[[new e.Mesh(new e.CylinderGeometry(.2,0,.8,4,1,!1),o),[0,0,.5],[Math.PI/2,0,0]]],XY:[[new e.Mesh(P,o),[.85,.85,0],null,[3,3,.2]]],YZ:[[new e.Mesh(P,o),[0,.85,.85],null,[.2,3,3]]],XZ:[[new e.Mesh(P,o),[.85,0,.85],null,[3,.2,3]]],XYZX:[[new e.Mesh(new e.BoxGeometry(.2,.2,.2),o),[1.1,0,0]]],XYZY:[[new e.Mesh(new e.BoxGeometry(.2,.2,.2),o),[0,1.1,0]]],XYZZ:[[new e.Mesh(new e.BoxGeometry(.2,.2,.2),o),[0,0,1.1]]]},j={X:[[new e.Line(Q,s.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new e.Line(Q,s.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new e.Line(Q,s.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},z=t=>{const i=new e.Object3D;for(let e in t)for(let n=t[e].length;n--;){const o=t[e][n][0].clone(),s=t[e][n][1],a=t[e][n][2],r=t[e][n][3],h=t[e][n][4];o.name=e,o.tag=h,s&&o.position.set(s[0],s[1],s[2]),a&&o.rotation.set(a[0],a[1],a[2]),r&&o.scale.set(r[0],r[1],r[2]),o.updateMatrix();const l=o.geometry.clone();l.applyMatrix4(o.matrix),o.geometry=l,o.renderOrder=1/0,o.position.set(0,0,0),o.rotation.set(0,0,0),o.scale.set(1,1,1),i.add(o)}return i};this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=z(S)),this.add(this.gizmo.rotate=z(Y)),this.add(this.gizmo.scale=z(I)),this.add(this.picker.translate=z(V)),this.add(this.picker.rotate=z(Z)),this.add(this.picker.scale=z(A)),this.add(this.helper.translate=z(E)),this.add(this.helper.rotate=z(X)),this.add(this.helper.scale=z(j)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}}class a extends e.Mesh{constructor(){super(new e.PlaneGeometry(1e5,1e5,2,2),new e.MeshBasicMaterial({visible:!1,wireframe:!0,side:e.DoubleSide,transparent:!0,opacity:.1,toneMapped:!1})),n.default(this,"isTransformControlsPlane",!0),n.default(this,"type","TransformControlsPlane"),n.default(this,"unitX",new e.Vector3(1,0,0)),n.default(this,"unitY",new e.Vector3(0,1,0)),n.default(this,"unitZ",new e.Vector3(0,0,1)),n.default(this,"tempVector",new e.Vector3),n.default(this,"dirVector",new e.Vector3),n.default(this,"alignVector",new e.Vector3),n.default(this,"tempMatrix",new e.Matrix4),n.default(this,"identityQuaternion",new e.Quaternion),n.default(this,"cameraQuaternion",new e.Quaternion),n.default(this,"worldPosition",new e.Vector3),n.default(this,"worldQuaternion",new e.Quaternion),n.default(this,"eye",new e.Vector3),n.default(this,"axis",null),n.default(this,"mode","translate"),n.default(this,"space","world"),n.default(this,"updateMatrixWorld",(()=>{let t=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(t="local"),this.unitX.set(1,0,0).applyQuaternion("local"===t?this.worldQuaternion:this.identityQuaternion),this.unitY.set(0,1,0).applyQuaternion("local"===t?this.worldQuaternion:this.identityQuaternion),this.unitZ.set(0,0,1).applyQuaternion("local"===t?this.worldQuaternion:this.identityQuaternion),this.alignVector.copy(this.unitY),this.mode){case"translate":case"scale":switch(this.axis){case"X":this.alignVector.copy(this.eye).cross(this.unitX),this.dirVector.copy(this.unitX).cross(this.alignVector);break;case"Y":this.alignVector.copy(this.eye).cross(this.unitY),this.dirVector.copy(this.unitY).cross(this.alignVector);break;case"Z":this.alignVector.copy(this.eye).cross(this.unitZ),this.dirVector.copy(this.unitZ).cross(this.alignVector);break;case"XY":this.dirVector.copy(this.unitZ);break;case"YZ":this.dirVector.copy(this.unitX);break;case"XZ":this.alignVector.copy(this.unitZ),this.dirVector.copy(this.unitY);break;case"XYZ":case"E":this.dirVector.set(0,0,0)}break;case"rotate":default:this.dirVector.set(0,0,0)}0===this.dirVector.length()?this.quaternion.copy(this.cameraQuaternion):(this.tempMatrix.lookAt(this.tempVector.set(0,0,0),this.dirVector,this.alignVector),this.quaternion.setFromRotationMatrix(this.tempMatrix)),super.updateMatrixWorld()}))}}exports.TransformControls=o,exports.TransformControlsGizmo=s,exports.TransformControlsPlane=a;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a,i=s(t);exports.STATE=void 0,(a=exports.STATE||(exports.STATE={}))[a.NONE=-1]="NONE",a[a.ROTATE=0]="ROTATE",a[a.DOLLY=1]="DOLLY",a[a.PAN=2]="PAN",a[a.TOUCH_ROTATE=3]="TOUCH_ROTATE",a[a.TOUCH_PAN=4]="TOUCH_PAN",a[a.TOUCH_DOLLY_PAN=5]="TOUCH_DOLLY_PAN",a[a.TOUCH_DOLLY_ROTATE=6]="TOUCH_DOLLY_ROTATE";class o extends e.EventDispatcher{constructor(t,s){super(),i.default(this,"object",void 0),i.default(this,"domElement",void 0),i.default(this,"enabled",!0),i.default(this,"target",new e.Vector3),i.default(this,"trackball",!1),i.default(this,"minDistance",0),i.default(this,"maxDistance",1/0),i.default(this,"minZoom",0),i.default(this,"maxZoom",1/0),i.default(this,"minPolarAngle",0),i.default(this,"maxPolarAngle",Math.PI),i.default(this,"minAzimuthAngle",-1/0),i.default(this,"maxAzimuthAngle",1/0),i.default(this,"enableDamping",!1),i.default(this,"dampingFactor",.05),i.default(this,"enableZoom",!0),i.default(this,"zoomSpeed",1),i.default(this,"enableRotate",!0),i.default(this,"rotateSpeed",1),i.default(this,"enablePan",!0),i.default(this,"panSpeed",1),i.default(this,"screenSpacePanning",!1),i.default(this,"keyPanSpeed",7),i.default(this,"autoRotate",!1),i.default(this,"autoRotateSpeed",2),i.default(this,"enableKeys",!0),i.default(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),i.default(this,"mouseButtons",void 0),i.default(this,"touches",{ONE:e.TOUCH.ROTATE,TWO:e.TOUCH.DOLLY_PAN}),i.default(this,"target0",void 0),i.default(this,"position0",void 0),i.default(this,"quaternion0",void 0),i.default(this,"zoom0",void 0),i.default(this,"spherical",new e.Spherical),i.default(this,"sphericalDelta",new e.Spherical),i.default(this,"changeEvent",{type:"change"}),i.default(this,"startEvent",{type:"start"}),i.default(this,"endEvent",{type:"end"}),i.default(this,"state",exports.STATE.NONE),i.default(this,"EPS",1e-6),i.default(this,"scale",1),i.default(this,"panOffset",new e.Vector3),i.default(this,"zoomChanged",!1),i.default(this,"rotateStart",new e.Vector2),i.default(this,"rotateEnd",new e.Vector2),i.default(this,"rotateDelta",new e.Vector2),i.default(this,"panStart",new e.Vector2),i.default(this,"panEnd",new e.Vector2),i.default(this,"panDelta",new e.Vector2),i.default(this,"dollyStart",new e.Vector2),i.default(this,"dollyEnd",new e.Vector2),i.default(this,"dollyDelta",new e.Vector2),i.default(this,"offset",new e.Vector3),i.default(this,"lastPosition",new e.Vector3),i.default(this,"lastQuaternion",new e.Quaternion),i.default(this,"q",new e.Quaternion),i.default(this,"v",new e.Vector3),i.default(this,"vec",new e.Vector3),i.default(this,"quat",void 0),i.default(this,"quatInverse",void 0),i.default(this,"getPolarAngle",(()=>this.spherical.phi)),i.default(this,"getAzimuthalAngle",(()=>this.spherical.theta)),i.default(this,"saveState",(()=>{this.target0.copy(this.target),this.position0.copy(this.object.position),this.quaternion0.copy(this.object.quaternion),this.zoom0=this.object.zoom})),i.default(this,"reset",(()=>{this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.quaternion.copy(this.quaternion0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(this.changeEvent),this.update(),this.state=exports.STATE.NONE})),i.default(this,"dispose",(()=>{this.domElement.removeEventListener("contextmenu",this.onContextMenu,!1),this.domElement.removeEventListener("mousedown",this.onMouseDown,!1),this.domElement.removeEventListener("wheel",this.onMouseWheel,!1),this.domElement.removeEventListener("touchstart",this.onTouchStart,!1),this.domElement.removeEventListener("touchend",this.onTouchEnd,!1),this.domElement.removeEventListener("touchmove",this.onTouchMove,!1),document.removeEventListener("mousemove",this.onMouseMove,!1),document.removeEventListener("mouseup",this.onMouseUp,!1),this.domElement.removeEventListener("keydown",this.onKeyDown,!1)})),i.default(this,"update",(()=>{const t=this.object.position;if(this.offset.copy(t).sub(this.target),this.trackball){if(this.sphericalDelta.theta){this.vec.set(0,1,0).applyQuaternion(this.object.quaternion);const t=this.enableDamping?this.dampingFactor:1;this.q.setFromAxisAngle(this.vec,this.sphericalDelta.theta*t),this.object.quaternion.premultiply(this.q),this.offset.applyQuaternion(this.q)}if(this.sphericalDelta.phi){this.vec.set(1,0,0).applyQuaternion(this.object.quaternion);const t=this.enableDamping?this.dampingFactor:1;this.q.setFromAxisAngle(this.vec,this.sphericalDelta.phi*t),this.object.quaternion.premultiply(this.q),this.offset.applyQuaternion(this.q)}this.offset.multiplyScalar(this.scale),this.offset.clampLength(this.minDistance,this.maxDistance)}else this.offset.applyQuaternion(this.quat),this.autoRotate&&this.state===exports.STATE.NONE&&this.rotateLeft(this.getAutoRotationAngle()),this.spherical.setFromVector3(this.offset),this.enableDamping?(this.spherical.theta+=this.sphericalDelta.theta*this.dampingFactor,this.spherical.phi+=this.sphericalDelta.phi*this.dampingFactor):(this.spherical.theta+=this.sphericalDelta.theta,this.spherical.phi+=this.sphericalDelta.phi),this.spherical.theta=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,this.spherical.theta)),this.spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this.spherical.phi)),this.spherical.makeSafe(),this.spherical.radius*=this.scale,this.spherical.radius=Math.max(this.minDistance,Math.min(this.maxDistance,this.spherical.radius)),this.offset.setFromSpherical(this.spherical),this.offset.applyQuaternion(this.quatInverse);return!0===this.enableDamping?this.target.addScaledVector(this.panOffset,this.dampingFactor):this.target.add(this.panOffset),t.copy(this.target).add(this.offset),!1===this.trackball&&this.object.lookAt(this.target),!0===this.enableDamping?(this.sphericalDelta.theta*=1-this.dampingFactor,this.sphericalDelta.phi*=1-this.dampingFactor,this.panOffset.multiplyScalar(1-this.dampingFactor)):(this.sphericalDelta.set(0,0,0),this.panOffset.set(0,0,0)),this.scale=1,!!(this.zoomChanged||this.lastPosition.distanceToSquared(this.object.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.quaternion))>this.EPS)&&(this.dispatchEvent(this.changeEvent),this.lastPosition.copy(this.object.position),this.lastQuaternion.copy(this.object.quaternion),this.zoomChanged=!1,!0)})),i.default(this,"getAutoRotationAngle",(()=>2*Math.PI/60/60*this.autoRotateSpeed)),i.default(this,"getZoomScale",(()=>Math.pow(.95,this.zoomSpeed))),i.default(this,"rotateLeft",(t=>{this.sphericalDelta.theta-=t})),i.default(this,"rotateUp",(t=>{this.sphericalDelta.phi-=t})),i.default(this,"panLeft",((t,e)=>{this.v.setFromMatrixColumn(e,0),this.v.multiplyScalar(-t),this.panOffset.add(this.v)})),i.default(this,"panUp",((t,e)=>{!0===this.screenSpacePanning?this.v.setFromMatrixColumn(e,1):(this.v.setFromMatrixColumn(e,0),this.v.crossVectors(this.object.up,this.v)),this.v.multiplyScalar(t),this.panOffset.add(this.v)})),i.default(this,"pan",((t,s)=>{const a=this.domElement;if(this.object instanceof e.PerspectiveCamera){const e=this.object.position;this.offset.copy(e).sub(this.target);let i=this.offset.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this.panLeft(2*t*i/a.clientHeight,this.object.matrix),this.panUp(2*s*i/a.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this.panLeft(t*(this.object.right-this.object.left)/this.object.zoom/a.clientWidth,this.object.matrix),this.panUp(s*(this.object.top-this.object.bottom)/this.object.zoom/a.clientHeight,this.object.matrix)):(console.warn("WARNING: CameraControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)})),i.default(this,"dollyIn",(t=>{this.object instanceof e.PerspectiveCamera?this.scale/=t:this.object instanceof e.OrthographicCamera?(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom*t)),this.object.updateProjectionMatrix(),this.zoomChanged=!0):(console.warn("WARNING: CameraControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)})),i.default(this,"dollyOut",(t=>{this.object instanceof e.PerspectiveCamera?this.scale*=t:this.object instanceof e.OrthographicCamera?(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/t)),this.object.updateProjectionMatrix(),this.zoomChanged=!0):(console.warn("WARNING: CameraControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)})),i.default(this,"handleMouseDownRotate",(t=>{this.rotateStart.set(t.clientX,t.clientY)})),i.default(this,"handleMouseDownDolly",(t=>{this.dollyStart.set(t.clientX,t.clientY)})),i.default(this,"handleMouseDownPan",(t=>{this.panStart.set(t.clientX,t.clientY)})),i.default(this,"handleMouseMoveRotate",(t=>{this.rotateEnd.set(t.clientX,t.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd),this.update()})),i.default(this,"handleMouseMoveDolly",(t=>{this.dollyEnd.set(t.clientX,t.clientY),this.dollyDelta.subVectors(this.dollyEnd,this.dollyStart),this.dollyDelta.y>0?this.dollyIn(this.getZoomScale()):this.dollyDelta.y<0&&this.dollyOut(this.getZoomScale()),this.dollyStart.copy(this.dollyEnd),this.update()})),i.default(this,"handleMouseMovePan",(t=>{this.panEnd.set(t.clientX,t.clientY),this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.copy(this.panEnd),this.update()})),i.default(this,"handleMouseWheel",(t=>{t.deltaY<0?this.dollyOut(this.getZoomScale()):t.deltaY>0&&this.dollyIn(this.getZoomScale()),this.update()})),i.default(this,"handleKeyDown",(t=>{let e=!1;switch(t.code){case this.keys.UP:this.pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:this.pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:this.pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:this.pan(-this.keyPanSpeed,0),e=!0}e&&(t.preventDefault(),this.update())})),i.default(this,"handleTouchStartRotate",(t=>{if(1==t.touches.length)this.rotateStart.set(t.touches[0].pageX,t.touches[0].pageY);else{const e=.5*(t.touches[0].pageX+t.touches[1].pageX),s=.5*(t.touches[0].pageY+t.touches[1].pageY);this.rotateStart.set(e,s)}})),i.default(this,"handleTouchStartPan",(t=>{if(1==t.touches.length)this.panStart.set(t.touches[0].pageX,t.touches[0].pageY);else{const e=.5*(t.touches[0].pageX+t.touches[1].pageX),s=.5*(t.touches[0].pageY+t.touches[1].pageY);this.panStart.set(e,s)}})),i.default(this,"handleTouchStartDolly",(t=>{const e=t.touches[0].pageX-t.touches[1].pageX,s=t.touches[0].pageY-t.touches[1].pageY,a=Math.sqrt(e*e+s*s);this.dollyStart.set(0,a)})),i.default(this,"handleTouchStartDollyPan",(t=>{this.enableZoom&&this.handleTouchStartDolly(t),this.enablePan&&this.handleTouchStartPan(t)})),i.default(this,"handleTouchStartDollyRotate",(t=>{this.enableZoom&&this.handleTouchStartDolly(t),this.enableRotate&&this.handleTouchStartRotate(t)})),i.default(this,"handleTouchMoveRotate",(t=>{if(1==t.touches.length)this.rotateEnd.set(t.touches[0].pageX,t.touches[0].pageY);else{const e=.5*(t.touches[0].pageX+t.touches[1].pageX),s=.5*(t.touches[0].pageY+t.touches[1].pageY);this.rotateEnd.set(e,s)}this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd)})),i.default(this,"handleTouchMovePan",(t=>{if(1==t.touches.length)this.panEnd.set(t.touches[0].pageX,t.touches[0].pageY);else{const e=.5*(t.touches[0].pageX+t.touches[1].pageX),s=.5*(t.touches[0].pageY+t.touches[1].pageY);this.panEnd.set(e,s)}this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.copy(this.panEnd)})),i.default(this,"handleTouchMoveDolly",(t=>{const e=t.touches[0].pageX-t.touches[1].pageX,s=t.touches[0].pageY-t.touches[1].pageY,a=Math.sqrt(e*e+s*s);this.dollyEnd.set(0,a),this.dollyDelta.set(0,Math.pow(this.dollyEnd.y/this.dollyStart.y,this.zoomSpeed)),this.dollyIn(this.dollyDelta.y),this.dollyStart.copy(this.dollyEnd)})),i.default(this,"handleTouchMoveDollyPan",(t=>{this.enableZoom&&this.handleTouchMoveDolly(t),this.enablePan&&this.handleTouchMovePan(t)})),i.default(this,"handleTouchMoveDollyRotate",(t=>{this.enableZoom&&this.handleTouchMoveDolly(t),this.enableRotate&&this.handleTouchMoveRotate(t)})),i.default(this,"onMouseDown",(t=>{if(!1===this.enabled)return;let s;switch(t.preventDefault(),this.domElement.focus?this.domElement.focus():window.focus(),t.button){case 0:s=this.mouseButtons.LEFT;break;case 1:s=this.mouseButtons.MIDDLE;break;case 2:s=this.mouseButtons.RIGHT;break;default:s=-1}switch(s){case e.MOUSE.DOLLY:if(!1===this.enableZoom)return;this.handleMouseDownDolly(t),this.state=exports.STATE.DOLLY;break;case e.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===this.enablePan)return;this.handleMouseDownPan(t),this.state=exports.STATE.PAN}else{if(!1===this.enableRotate)return;this.handleMouseDownRotate(t),this.state=exports.STATE.ROTATE}break;case e.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===this.enableRotate)return;this.handleMouseDownRotate(t),this.state=exports.STATE.ROTATE}else{if(!1===this.enablePan)return;this.handleMouseDownPan(t),this.state=exports.STATE.PAN}break;default:this.state=exports.STATE.NONE}this.state!==exports.STATE.NONE&&(document.addEventListener("mousemove",this.onMouseMove,!1),document.addEventListener("mouseup",this.onMouseUp,!1),this.dispatchEvent(this.startEvent))})),i.default(this,"onMouseMove",(t=>{if(!1!==this.enabled)switch(t.preventDefault(),this.state){case exports.STATE.ROTATE:if(!1===this.enableRotate)return;this.handleMouseMoveRotate(t);break;case exports.STATE.DOLLY:if(!1===this.enableZoom)return;this.handleMouseMoveDolly(t);break;case exports.STATE.PAN:if(!1===this.enablePan)return;this.handleMouseMovePan(t)}})),i.default(this,"onMouseUp",(()=>{!1!==this.enabled&&(document.removeEventListener("mousemove",this.onMouseMove,!1),document.removeEventListener("mouseup",this.onMouseUp,!1),this.dispatchEvent(this.endEvent),this.state=exports.STATE.NONE)})),i.default(this,"onMouseWheel",(t=>{!1===this.enabled||!1===this.enableZoom||this.state!==exports.STATE.NONE&&this.state!==exports.STATE.ROTATE||(t.preventDefault(),this.dispatchEvent(this.startEvent),this.handleMouseWheel(t),this.dispatchEvent(this.endEvent))})),i.default(this,"onKeyDown",(t=>{!1!==this.enabled&&!1!==this.enableKeys&&!1!==this.enablePan&&this.handleKeyDown(t)})),i.default(this,"onTouchStart",(t=>{if(!1!==this.enabled){switch(t.preventDefault(),t.touches.length){case 1:switch(this.touches.ONE){case e.TOUCH.ROTATE:if(!1===this.enableRotate)return;this.handleTouchStartRotate(t),this.state=exports.STATE.TOUCH_ROTATE;break;case e.TOUCH.PAN:if(!1===this.enablePan)return;this.handleTouchStartPan(t),this.state=exports.STATE.TOUCH_PAN;break;default:this.state=exports.STATE.NONE}break;case 2:switch(this.touches.TWO){case e.TOUCH.DOLLY_PAN:if(!1===this.enableZoom&&!1===this.enablePan)return;this.handleTouchStartDollyPan(t),this.state=exports.STATE.TOUCH_DOLLY_PAN;break;case e.TOUCH.DOLLY_ROTATE:if(!1===this.enableZoom&&!1===this.enableRotate)return;this.handleTouchStartDollyRotate(t),this.state=exports.STATE.TOUCH_DOLLY_ROTATE;break;default:this.state=exports.STATE.NONE}break;default:this.state=exports.STATE.NONE}this.state!==exports.STATE.NONE&&this.dispatchEvent(this.startEvent)}})),i.default(this,"onTouchMove",(t=>{if(!1!==this.enabled)switch(t.preventDefault(),this.state){case exports.STATE.TOUCH_ROTATE:if(!1===this.enableRotate)return;this.handleTouchMoveRotate(t),this.update();break;case exports.STATE.TOUCH_PAN:if(!1===this.enablePan)return;this.handleTouchMovePan(t),this.update();break;case exports.STATE.TOUCH_DOLLY_PAN:if(!1===this.enableZoom&&!1===this.enablePan)return;this.handleTouchMoveDollyPan(t),this.update();break;case exports.STATE.TOUCH_DOLLY_ROTATE:if(!1===this.enableZoom&&!1===this.enableRotate)return;this.handleTouchMoveDollyRotate(t),this.update();break;default:this.state=exports.STATE.NONE}})),i.default(this,"onTouchEnd",(()=>{!1!==this.enabled&&(this.dispatchEvent(this.endEvent),this.state=exports.STATE.NONE)})),i.default(this,"onContextMenu",(t=>{!1!==this.enabled&&t.preventDefault()})),void 0===s&&console.warn('THREE.CameraControls: The second parameter "domElement" is now mandatory.'),s instanceof Document&&console.error('THREE.CameraControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=t,this.domElement=s,this.mouseButtons={LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.quaternion0=this.object.quaternion.clone(),this.zoom0=this.object.zoom,this.quat=(new e.Quaternion).setFromUnitVectors(this.object.up,new e.Vector3(0,1,0)),this.quatInverse=this.quat.clone().invert(),this.lastPosition=new e.Vector3,this.lastQuaternion=new e.Quaternion,this.domElement.addEventListener("contextmenu",this.onContextMenu,!1),this.domElement.addEventListener("mousedown",this.onMouseDown,!1),this.domElement.addEventListener("wheel",this.onMouseWheel,!1),this.domElement.addEventListener("touchstart",this.onTouchStart,!1),this.domElement.addEventListener("touchend",this.onTouchEnd,!1),this.domElement.addEventListener("touchmove",this.onTouchMove,!1),this.domElement.addEventListener("keydown",this.onKeyDown,!1),-1===this.domElement.tabIndex&&(this.domElement.tabIndex=0),this.object.lookAt(this.target),this.update(),this.saveState()}handleMouseUp(){}handleTouchEnd(){}}exports.CameraControls=o,exports.MapControlsExp=class extends o{constructor(t,s){super(t,s),i.default(this,"mouseButtons",void 0),i.default(this,"touches",void 0),this.mouseButtons={LEFT:e.MOUSE.PAN,RIGHT:e.MOUSE.ROTATE},this.touches={ONE:e.TOUCH.PAN,TWO:e.TOUCH.DOLLY_ROTATE}}},exports.OrbitControlsExp=class extends o{constructor(t,s){super(t,s),i.default(this,"mouseButtons",void 0),i.default(this,"touches",void 0),this.mouseButtons={LEFT:e.MOUSE.ROTATE,RIGHT:e.MOUSE.PAN},this.touches={ONE:e.TOUCH.ROTATE,TWO:e.TOUCH.DOLLY_PAN}}},exports.TrackballControlsExp=class extends o{constructor(t,s){super(t,s),i.default(this,"trackball",void 0),i.default(this,"screenSpacePanning",void 0),i.default(this,"autoRotate",void 0),i.default(this,"mouseButtons",void 0),i.default(this,"touches",void 0),this.trackball=!0,this.screenSpacePanning=!0,this.autoRotate=!1,this.mouseButtons={LEFT:e.MOUSE.ROTATE,RIGHT:e.MOUSE.PAN},this.touches={ONE:e.TOUCH.ROTATE,TWO:e.TOUCH.DOLLY_PAN}}};
|
package/csm/CSM.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=require("./CSMFrustum.cjs.js"),s=require("./CSMShader.cjs.js");const a=new t.Matrix4,i=new e.CSMFrustum,r=new t.Vector3,h=new t.Box3,n=[],o=[];exports.CSM=class{constructor(s){s=s||{},this.camera=s.camera,this.parent=s.parent,this.cascades=s.cascades||3,this.maxFar=s.maxFar||1e5,this.mode=s.mode||"practical",this.shadowMapSize=s.shadowMapSize||2048,this.shadowBias=s.shadowBias||1e-6,this.lightDirection=s.lightDirection||new t.Vector3(1,-1,1).normalize(),this.lightIntensity=s.lightIntensity||1,this.lightNear=s.lightNear||1,this.lightFar=s.lightFar||2e3,this.lightMargin=s.lightMargin||200,this.customSplitsCallback=s.customSplitsCallback,this.fade=!1,this.mainFrustum=new e.CSMFrustum,this.frustums=[],this.breaks=[],this.lights=[],this.shaders=new Map,this.createLights(),this.updateFrustums(),this.injectInclude()}createLights(){for(let e=0;e<this.cascades;e++){const e=new t.DirectionalLight(16777215,this.lightIntensity);e.castShadow=!0,e.shadow.mapSize.width=this.shadowMapSize,e.shadow.mapSize.height=this.shadowMapSize,e.shadow.camera.near=this.lightNear,e.shadow.camera.far=this.lightFar,e.shadow.bias=this.shadowBias,this.parent.add(e),this.parent.add(e.target),this.lights.push(e)}}initCascades(){const t=this.camera;t.updateProjectionMatrix(),this.mainFrustum.setFromProjectionMatrix(t.projectionMatrix,this.maxFar),this.mainFrustum.split(this.breaks,this.frustums)}updateShadowBounds(){const t=this.frustums;for(let e=0;e<t.length;e++){const t=this.lights[e].shadow.camera,s=this.frustums[e],a=s.vertices.near,i=s.vertices.far,r=i[0];let h;h=r.distanceTo(i[2])>r.distanceTo(a[2])?i[2]:a[2];let n=r.distanceTo(h);if(this.fade){const t=this.camera,e=Math.max(t.far,this.maxFar),a=s.vertices.far[0].z/(e-t.near);n+=.25*Math.pow(a,2)*(e-t.near)}t.left=-n/2,t.right=n/2,t.top=n/2,t.bottom=-n/2,t.updateProjectionMatrix()}}getBreaks(){const e=this.camera,s=Math.min(e.far,this.maxFar);switch(this.breaks.length=0,this.mode){case"uniform":a(this.cascades,e.near,s,this.breaks);break;case"logarithmic":i(this.cascades,e.near,s,this.breaks);break;case"practical":!function(e,s,r,h,c){n.length=0,o.length=0,i(e,s,r,o),a(e,s,r,n);for(let s=1;s<e;s++)c.push(t.MathUtils.lerp(n[s-1],o[s-1],h));c.push(1)}(this.cascades,e.near,s,.5,this.breaks);break;case"custom":void 0===this.customSplitsCallback&&console.error("CSM: Custom split scheme callback not defined."),this.customSplitsCallback(this.cascades,e.near,s,this.breaks)}function a(t,e,s,a){for(let i=1;i<t;i++)a.push((e+(s-e)*i/t)/s);a.push(1)}function i(t,e,s,a){for(let i=1;i<t;i++)a.push(e*(s/e)**(i/t)/s);a.push(1)}}update(){const t=this.camera,e=this.frustums;for(let s=0;s<e.length;s++){const n=this.lights[s],o=n.shadow.camera,c=(o.right-o.left)/this.shadowMapSize,d=(o.top-o.bottom)/this.shadowMapSize;n.shadow.camera.updateMatrixWorld(!0),a.multiplyMatrices(n.shadow.camera.matrixWorldInverse,t.matrixWorld),e[s].toSpace(a,i);const l=i.vertices.near,u=i.vertices.far;h.makeEmpty();for(let t=0;t<4;t++)h.expandByPoint(l[t]),h.expandByPoint(u[t]);h.getCenter(r),r.z=h.max.z+this.lightMargin,r.x=Math.floor(r.x/c)*c,r.y=Math.floor(r.y/d)*d,r.applyMatrix4(n.shadow.camera.matrixWorld),n.position.copy(r),n.target.position.copy(r),n.target.position.x+=this.lightDirection.x,n.target.position.y+=this.lightDirection.y,n.target.position.z+=this.lightDirection.z}}injectInclude(){t.ShaderChunk.lights_fragment_begin=s.CSMShader.lights_fragment_begin,t.ShaderChunk.lights_pars_begin=s.CSMShader.lights_pars_begin}setupMaterial(t){t.defines=t.defines||{},t.defines.USE_CSM=1,t.defines.CSM_CASCADES=this.cascades,this.fade&&(t.defines.CSM_FADE="");const e=[],s=this,a=this.shaders;t.onBeforeCompile=function(i){const r=Math.min(s.camera.far,s.maxFar);s.getExtendedBreaks(e),i.uniforms.CSM_cascades={value:e},i.uniforms.cameraNear={value:s.camera.near},i.uniforms.shadowFar={value:r},a.set(t,i)},a.set(t,null)}updateUniforms(){const t=Math.min(this.camera.far,this.maxFar);this.shaders.forEach((function(e,s){if(null!==e){const s=e.uniforms;this.getExtendedBreaks(s.CSM_cascades.value),s.cameraNear.value=this.camera.near,s.shadowFar.value=t}!this.fade&&"CSM_FADE"in s.defines?(delete s.defines.CSM_FADE,s.needsUpdate=!0):this.fade&&!("CSM_FADE"in s.defines)&&(s.defines.CSM_FADE="",s.needsUpdate=!0)}),this)}getExtendedBreaks(e){for(;e.length<this.breaks.length;)e.push(new t.Vector2);e.length=this.breaks.length;for(let t=0;t<this.cascades;t++){const s=this.breaks[t],a=this.breaks[t-1]||0;e[t].x=a,e[t].y=s}}updateFrustums(){this.getBreaks(),this.initCascades(),this.updateShadowBounds(),this.updateUniforms()}remove(){for(let t=0;t<this.lights.length;t++)this.parent.remove(this.lights[t])}dispose(){const t=this.shaders;t.forEach((function(t,e){delete e.onBeforeCompile,delete e.defines.USE_CSM,delete e.defines.CSM_CASCADES,delete e.defines.CSM_FADE,null!==t&&(delete t.uniforms.CSM_cascades,delete t.uniforms.cameraNear,delete t.uniforms.shadowFar),e.needsUpdate=!0})),t.clear()}};
|
package/csm/CSMFrustum.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const t=new e.Matrix4;class r{constructor(t){t=t||{},this.vertices={near:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3],far:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3]},void 0!==t.projectionMatrix&&this.setFromProjectionMatrix(t.projectionMatrix,t.maxFar||1e4)}setFromProjectionMatrix(e,r){const s=0===e.elements[11];return t.copy(e).invert(),this.vertices.near[0].set(1,1,-1),this.vertices.near[1].set(1,-1,-1),this.vertices.near[2].set(-1,-1,-1),this.vertices.near[3].set(-1,1,-1),this.vertices.near.forEach((function(e){e.applyMatrix4(t)})),this.vertices.far[0].set(1,1,1),this.vertices.far[1].set(1,-1,1),this.vertices.far[2].set(-1,-1,1),this.vertices.far[3].set(-1,1,1),this.vertices.far.forEach((function(e){e.applyMatrix4(t);const i=Math.abs(e.z);s?e.z*=Math.min(r/i,1):e.multiplyScalar(Math.min(r/i,1))})),this.vertices}split(e,t){for(;e.length>t.length;)t.push(new r);t.length=e.length;for(let r=0;r<e.length;r++){const s=t[r];if(0===r)for(let e=0;e<4;e++)s.vertices.near[e].copy(this.vertices.near[e]);else for(let t=0;t<4;t++)s.vertices.near[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r-1]);if(r===e.length-1)for(let e=0;e<4;e++)s.vertices.far[e].copy(this.vertices.far[e]);else for(let t=0;t<4;t++)s.vertices.far[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r])}}toSpace(e,t){for(let r=0;r<4;r++)t.vertices.near[r].copy(this.vertices.near[r]).applyMatrix4(e),t.vertices.far[r].copy(this.vertices.far[r]).applyMatrix4(e)}}exports.CSMFrustum=r;
|
package/csm/CSMHelper.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class s extends e.Group{constructor(s){super(),this.csm=s,this.displayFrustum=!0,this.displayPlanes=!0,this.displayShadowBounds=!0;const t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Float32Array(24),a=new e.BufferGeometry;a.setIndex(new e.BufferAttribute(t,1)),a.setAttribute("position",new e.BufferAttribute(i,3,!1));const o=new e.LineSegments(a,new e.LineBasicMaterial);this.add(o),this.frustumLines=o,this.cascadeLines=[],this.cascadePlanes=[],this.shadowLines=[]}updateVisibility(){const e=this.displayFrustum,s=this.displayPlanes,t=this.displayShadowBounds,i=this.frustumLines,a=this.cascadeLines,o=this.cascadePlanes,n=this.shadowLines;for(let i=0,r=a.length;i<r;i++){const r=a[i],c=o[i],h=n[i];r.visible=e,c.visible=e&&s,h.visible=t}i.visible=e}update(){const s=this.csm,t=s.camera,i=s.cascades,a=s.mainFrustum,o=s.frustums,n=s.lights,r=this.frustumLines.geometry.getAttribute("position"),c=this.cascadeLines,h=this.cascadePlanes,p=this.shadowLines;for(this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.updateMatrixWorld(!0);c.length>i;)this.remove(c.pop()),this.remove(h.pop()),this.remove(p.pop());for(;c.length<i;){const s=new e.Box3Helper(new e.Box3,16777215),t=new e.MeshBasicMaterial({transparent:!0,opacity:.1,depthWrite:!1,side:e.DoubleSide}),i=new e.Mesh(new e.PlaneGeometry,t),a=new e.Group,o=new e.Box3Helper(new e.Box3,16776960);a.add(o),this.add(s),this.add(i),this.add(a),c.push(s),h.push(i),p.push(a)}for(let e=0;e<i;e++){const s=o[e],t=n[e].shadow.camera,i=s.vertices.far,a=c[e],r=h[e],d=p[e],l=d.children[0];a.box.min.copy(i[2]),a.box.max.copy(i[0]),a.box.max.z+=1e-4,r.position.addVectors(i[0],i[2]),r.position.multiplyScalar(.5),r.scale.subVectors(i[0],i[2]),r.scale.z=1e-4,this.remove(d),d.position.copy(t.position),d.quaternion.copy(t.quaternion),d.scale.copy(t.scale),d.updateMatrixWorld(!0),this.attach(d),l.box.min.set(t.bottom,t.left,-t.far),l.box.max.set(t.top,t.right,-t.near)}const d=a.vertices.near,l=a.vertices.far;r.setXYZ(0,l[0].x,l[0].y,l[0].z),r.setXYZ(1,l[3].x,l[3].y,l[3].z),r.setXYZ(2,l[2].x,l[2].y,l[2].z),r.setXYZ(3,l[1].x,l[1].y,l[1].z),r.setXYZ(4,d[0].x,d[0].y,d[0].z),r.setXYZ(5,d[3].x,d[3].y,d[3].z),r.setXYZ(6,d[2].x,d[2].y,d[2].z),r.setXYZ(7,d[1].x,d[1].y,d[1].z),r.needsUpdate=!0}}exports.CSMHelper=s;
|
package/csm/CSMShader.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t={lights_fragment_begin:"\nGeometricContext geometry;\n\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n#ifdef CLEARCOAT\n\n\tgeometry.clearcoatNormal = clearcoatNormal;\n\n#endif\n\nIncidentLight directLight;\n\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tpointLight = pointLights[ i ];\n\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tspotLight = spotLights[ i ];\n\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_DIR_LIGHTS > 0) && defined( RE_Direct ) && defined( USE_CSM ) && defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\tfloat linearDepth = (vViewPosition.z) / (shadowFar - cameraNear);\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#if defined( USE_SHADOWMAP ) && defined( CSM_FADE )\n\tvec2 cascade;\n\tfloat cascadeCenter;\n\tfloat closestEdge;\n\tfloat margin;\n\tfloat csmx;\n\tfloat csmy;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t \t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\t\t// NOTE: Depth gets larger away from the camera.\n\t\t\t// cascade.x is closer, cascade.y is further\n\t\t\tcascade = CSM_cascades[ i ];\n\t\t\tcascadeCenter = ( cascade.x + cascade.y ) / 2.0;\n\t\t\tclosestEdge = linearDepth < cascadeCenter ? cascade.x : cascade.y;\n\t\t\tmargin = 0.25 * pow( closestEdge, 2.0 );\n\t\t\tcsmx = cascade.x - margin / 2.0;\n\t\t\tcsmy = cascade.y + margin / 2.0;\n\t\t\tif( linearDepth >= csmx && ( linearDepth < csmy || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 ) ) {\n\n\t\t\t\tfloat dist = min( linearDepth - csmx, csmy - linearDepth );\n\t\t\t\tfloat ratio = clamp( dist / margin, 0.0, 1.0 );\n\n\t\t\t\tvec3 prevColor = directLight.color;\n\t\t\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\t\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t\t\tbool shouldFadeLastCascade = UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth > cascadeCenter;\n\t\t\t\tdirectLight.color = mix( prevColor, directLight.color, shouldFadeLastCascade ? ratio : 1.0 );\n\n\t\t\t\tReflectedLight prevLight = reflectedLight;\n\t\t\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t\t\tbool shouldBlend = UNROLLED_LOOP_INDEX != CSM_CASCADES - 1 || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth < cascadeCenter;\n\t\t\t\tfloat blendRatio = shouldBlend ? ratio : 1.0;\n\n\t\t\t\treflectedLight.directDiffuse = mix( prevLight.directDiffuse, reflectedLight.directDiffuse, blendRatio );\n\t\t\t\treflectedLight.directSpecular = mix( prevLight.directSpecular, reflectedLight.directSpecular, blendRatio );\n\t\t\t\treflectedLight.indirectDiffuse = mix( prevLight.indirectDiffuse, reflectedLight.indirectDiffuse, blendRatio );\n\t\t\t\treflectedLight.indirectSpecular = mix( prevLight.indirectSpecular, reflectedLight.indirectSpecular, blendRatio );\n\n\t\t\t}\n\t \t#endif\n\n\t}\n\t#pragma unroll_loop_end\n\t#else\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\t\tdirectionalLight = directionalLights[ i ];\n\t\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\n\t\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y) directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && (linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1)) RE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t\t#endif\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if ( NUM_DIR_LIGHTS > NUM_DIR_LIGHT_SHADOWS)\n\t\t// compute the lights not casting shadows (if any)\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = NUM_DIR_LIGHT_SHADOWS; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\t\tdirectionalLight = directionalLights[ i ];\n\n\t\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && !defined( USE_CSM ) && !defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n\tRectAreaLight rectAreaLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if defined( RE_IndirectDiffuse )\n\n\tvec3 iblIrradiance = vec3( 0.0 );\n\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n\n#endif\n",lights_pars_begin:"\n#if defined( USE_CSM ) && defined( CSM_CASCADES )\nuniform vec2 CSM_cascades[CSM_CASCADES];\nuniform float cameraNear;\nuniform float shadowFar;\n#endif\n\t"+require("three").ShaderChunk.lights_pars_begin};exports.CSMShader=t;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");class s extends t.Curve{constructor(){super()}getPoint(s,e){const o=e||new t.Vector3;s=2*Math.PI*s;const c=-.22*Math.cos(s)-1.28*Math.sin(s)-.44*Math.cos(3*s)-.78*Math.sin(3*s),a=-.1*Math.cos(2*s)-.27*Math.sin(2*s)+.38*Math.cos(4*s)+.46*Math.sin(4*s),r=.7*Math.cos(3*s)-.4*Math.sin(3*s);return o.set(c,a,r).multiplyScalar(20)}}class e extends t.Curve{constructor(t){super(),this.scale=void 0===t?5:t}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=16*Math.pow(Math.sin(s),3),a=13*Math.cos(s)-5*Math.cos(2*s)-2*Math.cos(3*s)-Math.cos(4*s);return o.set(c,a,0).multiplyScalar(this.scale)}}class o extends t.Curve{constructor(t){super(),this.scale=void 0===t?70:t}getPoint(s,e){const o=e||new t.Vector3;s=4*s*Math.PI;const c=this.scale/2,a=c*(1+Math.cos(s)),r=c*Math.sin(s),n=2*c*Math.sin(s/2);return o.set(a,r,n)}}class c extends t.Curve{constructor(){super()}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=50*Math.sin(s),a=Math.cos(s)*(10+50*Math.cos(s)),r=Math.sin(s)*(10+50*Math.cos(s));return o.set(c,a,r)}}class a extends t.Curve{constructor(){super()}getPoint(s,e){const o=e||new t.Vector3,c=2*Math.PI*s*150/30,a=30*Math.cos(c),r=30*Math.sin(c),n=150*s;return o.set(a,r,n)}}class r extends t.Curve{constructor(t){super(),this.scale=void 0===t?10:t}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=(2+Math.cos(3*s))*Math.cos(2*s),a=(2+Math.cos(3*s))*Math.sin(2*s),r=Math.sin(3*s);return o.set(c,a,r).multiplyScalar(this.scale)}}class n extends t.Curve{constructor(t){super(),this.scale=void 0===t?10:t}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=(2+Math.cos(4*s))*Math.cos(3*s),a=(2+Math.cos(4*s))*Math.sin(3*s),r=Math.sin(4*s);return o.set(c,a,r).multiplyScalar(this.scale)}}class h extends t.Curve{constructor(t){super(),this.scale=void 0===t?10:t}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=(2+Math.cos(5*s))*Math.cos(2*s),a=(2+Math.cos(5*s))*Math.sin(2*s),r=Math.sin(5*s);return o.set(c,a,r).multiplyScalar(this.scale)}}class i extends t.Curve{constructor(t){super(),this.scale=void 0===t?10:t}getPoint(s,e){const o=e||new t.Vector3;s=4*s-2;const c=Math.pow(s,3)-3*s,a=Math.pow(s,4)-4*s*s,r=.2*Math.pow(s,5)-2*s;return o.set(c,a,r).multiplyScalar(this.scale)}}const M=(t,s,e)=>e*(s-t)+t;class u extends t.Curve{constructor(t){super(),this.scale=void 0===t?1:t}getPoint(s,e){const o=e||new t.Vector3,c=.4*(s=M(-4,4,s))*(s*s-7)*(s*s-10),a=Math.pow(s,4)-13*s*s,r=.1*s*(s*s-4)*(s*s-9)*(s*s-12);return o.set(c,a,r).multiplyScalar(this.scale)}}class l extends t.Curve{constructor(t){super(),this.scale=void 0===t?40:t}getPoint(s,e){const o=e||new t.Vector3;s*=2*Math.PI;const c=Math.cos(2*s)*(1+.6*(Math.cos(5*s)+.75*Math.cos(10*s))),a=Math.sin(2*s)*(1+.6*(Math.cos(5*s)+.75*Math.cos(10*s))),r=.35*Math.sin(5*s);return o.set(c,a,r).multiplyScalar(this.scale)}}class p extends t.Curve{constructor(t){super(),this.scale=void 0===t?40:t}getPoint(s,e){const o=e||new t.Vector3,c=s*Math.PI*2,a=Math.cos(2*c)*(1+.45*Math.cos(3*c)+.4*Math.cos(9*c)),r=Math.sin(2*c)*(1+.45*Math.cos(3*c)+.4*Math.cos(9*c)),n=.2*Math.sin(9*c);return o.set(a,r,n).multiplyScalar(this.scale)}}class v extends t.Curve{constructor(t){super(),this.scale=void 0===t?40:t}getPoint(s,e){const o=e||new t.Vector3,c=s*Math.PI*2,a=Math.cos(3*c)*(1+.3*Math.cos(5*c)+.5*Math.cos(10*c)),r=Math.sin(3*c)*(1+.3*Math.cos(5*c)+.5*Math.cos(10*c)),n=.2*Math.sin(20*c);return o.set(a,r,n).multiplyScalar(this.scale)}}class d extends t.Curve{constructor(t){super(),this.scale=void 0===t?40:t}getPoint(s,e){const o=e||new t.Vector3,c=s*Math.PI*2,a=Math.cos(4*c)*(1+.5*(Math.cos(5*c)+.4*Math.cos(20*c))),r=Math.sin(4*c)*(1+.5*(Math.cos(5*c)+.4*Math.cos(20*c))),n=.35*Math.sin(15*c);return o.set(a,r,n).multiplyScalar(this.scale)}}exports.CinquefoilKnot=h,exports.DecoratedTorusKnot4a=l,exports.DecoratedTorusKnot4b=p,exports.DecoratedTorusKnot5a=v,exports.DecoratedTorusKnot5c=d,exports.FigureEightPolynomialKnot=u,exports.GrannyKnot=s,exports.HeartCurve=e,exports.HelixCurve=a,exports.KnotCurve=c,exports.TorusKnot=n,exports.TrefoilKnot=r,exports.TrefoilPolynomialKnot=i,exports.VivianiCurve=o,exports.scaleTo=M;
|
package/curves/NURBSCurve.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),s=require("./NURBSUtils.cjs.js");class e extends t.Curve{constructor(s,e,n,o,i){super(),this.degree=s,this.knots=e,this.controlPoints=[],this.startKnot=o||0,this.endKnot=i||this.knots.length-1;for(let s=0;s<n.length;++s){const e=n[s];this.controlPoints[s]=new t.Vector4(e.x,e.y,e.z,e.w)}}getPoint(e,n){const o=n||new t.Vector3,i=this.knots[this.startKnot]+e*(this.knots[this.endKnot]-this.knots[this.startKnot]),r=s.calcBSplinePoint(this.degree,this.knots,this.controlPoints,i);return 1!=r.w&&r.divideScalar(r.w),o.set(r.x,r.y,r.z)}getTangent(e,n){const o=n||new t.Vector3,i=this.knots[0]+e*(this.knots[this.knots.length-1]-this.knots[0]),r=s.calcNURBSDerivatives(this.degree,this.knots,this.controlPoints,i,1);return o.copy(r[1]).normalize(),o}}exports.NURBSCurve=e;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),s=require("./NURBSUtils.cjs.js");exports.NURBSSurface=class{constructor(s,e,o,n,i){this.degree1=s,this.degree2=e,this.knots1=o,this.knots2=n,this.controlPoints=[];const r=o.length-s-1,h=n.length-e-1;for(let s=0;s<r;++s){this.controlPoints[s]=[];for(let e=0;e<h;++e){const o=i[s][e];this.controlPoints[s][e]=new t.Vector4(o.x,o.y,o.z,o.w)}}}getPoint(t,e,o){const n=this.knots1[0]+t*(this.knots1[this.knots1.length-1]-this.knots1[0]),i=this.knots2[0]+e*(this.knots2[this.knots2.length-1]-this.knots2[0]);s.calcSurfacePoint(this.degree1,this.degree2,this.knots1,this.knots2,this.controlPoints,n,i,o)}};
|
package/curves/NURBSUtils.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");function e(t,e,o){const r=o.length-t-1;if(e>=o[r])return r-1;if(e<=o[t])return t;let l=t,n=r,c=Math.floor((l+n)/2);for(;e<o[c]||e>=o[c+1];)e<o[c]?n=c:l=c,c=Math.floor((l+n)/2);return c}function o(t,e,o,r){const l=[],n=[],c=[];l[0]=1;for(let s=1;s<=o;++s){n[s]=e-r[t+1-s],c[s]=r[t+s]-e;let o=0;for(let t=0;t<s;++t){const e=c[t+1],r=n[s-t],i=l[t]/(e+r);l[t]=o+e*i,o=r*i}l[s]=o}return l}function r(t,e,o,r,l){const n=[];for(let t=0;t<=o;++t)n[t]=0;const c=[];for(let t=0;t<=r;++t)c[t]=n.slice(0);const s=[];for(let t=0;t<=o;++t)s[t]=n.slice(0);s[0][0]=1;const i=n.slice(0),f=n.slice(0);for(let r=1;r<=o;++r){i[r]=e-l[t+1-r],f[r]=l[t+r]-e;let o=0;for(let t=0;t<r;++t){const e=f[t+1],l=i[r-t];s[r][t]=e+l;const n=s[t][r-1]/s[r][t];s[t][r]=o+e*n,o=l*n}s[r][r]=o}for(let t=0;t<=o;++t)c[0][t]=s[t][o];for(let t=0;t<=o;++t){let e=0,l=1;const i=[];for(let t=0;t<=o;++t)i[t]=n.slice(0);i[0][0]=1;for(let n=1;n<=r;++n){let r=0;const f=t-n,u=o-n;t>=n&&(i[l][0]=i[e][0]/s[u+1][f],r=i[l][0]*s[f][u]);const p=t-1<=u?n-1:o-t;for(let t=f>=-1?1:-f;t<=p;++t)i[l][t]=(i[e][t]-i[e][t-1])/s[u+1][f+t],r+=i[l][t]*s[f+t][u];t<=u&&(i[l][n]=-i[e][n-1]/s[u+1][t],r+=i[l][n]*s[t][u]),c[n][t]=r;var a=e;e=l,l=a}}var u=o;for(let t=1;t<=r;++t){for(let e=0;e<=o;++e)c[t][e]*=u;u*=o-t}return c}function l(o,l,n,c,s){const i=s<o?s:o,f=[],a=e(o,c,l),u=r(a,c,o,i,l),p=[];for(let t=0;t<n.length;++t){const e=(v=n[t].clone()).w;v.x*=e,v.y*=e,v.z*=e,p[t]=v}for(let t=0;t<=i;++t){var v=p[a-o].clone().multiplyScalar(u[t][0]);for(let e=1;e<=o;++e)v.add(p[a-o+e].clone().multiplyScalar(u[t][e]));f[t]=v}for(let e=i+1;e<=s+1;++e)f[e]=new t.Vector4(0,0,0);return f}function n(t,e){let o=1;for(let e=2;e<=t;++e)o*=e;let r=1;for(let t=2;t<=e;++t)r*=t;for(let o=2;o<=t-e;++o)r*=o;return o/r}function c(e){const o=e.length,r=[],l=[];for(let n=0;n<o;++n){const o=e[n];r[n]=new t.Vector3(o.x,o.y,o.z),l[n]=o.w}const c=[];for(let t=0;t<o;++t){const e=r[t].clone();for(let o=1;o<=t;++o)e.sub(c[t-o].clone().multiplyScalar(n(t,o)*l[o]));c[t]=e.divideScalar(l[0])}return c}exports.calcBSplineDerivatives=l,exports.calcBSplinePoint=function(r,l,n,c){const s=e(r,c,l),i=o(s,c,r,l),f=new t.Vector4(0,0,0,0);for(let t=0;t<=r;++t){const e=n[s-r+t],o=i[t],l=e.w*o;f.x+=e.x*l,f.y+=e.y*l,f.z+=e.z*l,f.w+=e.w*o}return f},exports.calcBasisFunctionDerivatives=r,exports.calcBasisFunctions=o,exports.calcKoverI=n,exports.calcNURBSDerivatives=function(t,e,o,r,n){return c(l(t,e,o,r,n))},exports.calcRationalCurveDerivatives=c,exports.calcSurfacePoint=function(r,l,n,c,s,i,f,a){const u=e(r,i,n),p=e(l,f,c),v=o(u,i,r,n),x=o(p,f,l,c),d=[];for(let e=0;e<=l;++e){d[e]=new t.Vector4(0,0,0,0);for(let t=0;t<=r;++t){const o=s[u-r+t][p-l+e].clone(),n=o.w;o.x*=n,o.y*=n,o.z*=n,d[e].add(o.multiplyScalar(v[t]))}}const w=new t.Vector4(0,0,0,0);for(let t=0;t<=l;++t)w.add(d[t].multiplyScalar(x[t]));w.divideScalar(w.w),a.set(w.x,w.y,w.z)},exports.findSpan=e;
|
package/custom.d.cjs.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const t=new e.Matrix4,s=new e.Object3D,o=new e.Vector3;class r extends e.EventDispatcher{constructor(){super(),this.isGeometry=!0,this.uuid=e.MathUtils.generateUUID(),this.name="",this.type="Geometry",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}applyMatrix4(t){const s=(new e.Matrix3).getNormalMatrix(t);for(let e=0,s=this.vertices.length;e<s;e++){this.vertices[e].applyMatrix4(t)}for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e];t.normal.applyMatrix3(s).normalize();for(let e=0,o=t.vertexNormals.length;e<o;e++)t.vertexNormals[e].applyMatrix3(s).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this}rotateX(e){return t.makeRotationX(e),this.applyMatrix4(t),this}rotateY(e){return t.makeRotationY(e),this.applyMatrix4(t),this}rotateZ(e){return t.makeRotationZ(e),this.applyMatrix4(t),this}translate(e,s,o){return t.makeTranslation(e,s,o),this.applyMatrix4(t),this}scale(e,s,o){return t.makeScale(e,s,o),this.applyMatrix4(t),this}lookAt(e){return s.lookAt(e),s.updateMatrix(),this.applyMatrix4(s.matrix),this}fromBufferGeometry(t){const s=this,o=null!==t.index?t.index:void 0,r=t.attributes;if(void 0===r.position)return console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion."),this;const n=r.position,l=r.normal,a=r.color,c=r.uv,h=r.uv2;void 0!==h&&(this.faceVertexUvs[1]=[]);for(let t=0;t<n.count;t++)s.vertices.push((new e.Vector3).fromBufferAttribute(n,t)),void 0!==a&&s.colors.push((new e.Color).fromBufferAttribute(a,t));function u(t,o,r,n){const u=void 0===a?[]:[s.colors[t].clone(),s.colors[o].clone(),s.colors[r].clone()],p=void 0===l?[]:[(new e.Vector3).fromBufferAttribute(l,t),(new e.Vector3).fromBufferAttribute(l,o),(new e.Vector3).fromBufferAttribute(l,r)],m=new i(t,o,r,p,u,n);s.faces.push(m),void 0!==c&&s.faceVertexUvs[0].push([(new e.Vector2).fromBufferAttribute(c,t),(new e.Vector2).fromBufferAttribute(c,o),(new e.Vector2).fromBufferAttribute(c,r)]),void 0!==h&&s.faceVertexUvs[1].push([(new e.Vector2).fromBufferAttribute(h,t),(new e.Vector2).fromBufferAttribute(h,o),(new e.Vector2).fromBufferAttribute(h,r)])}const p=t.groups;if(p.length>0)for(let e=0;e<p.length;e++){const t=p[e],s=t.start;for(let e=s,r=s+t.count;e<r;e+=3)void 0!==o?u(o.getX(e),o.getX(e+1),o.getX(e+2),t.materialIndex):u(e,e+1,e+2,t.materialIndex)}else if(void 0!==o)for(let e=0;e<o.count;e+=3)u(o.getX(e),o.getX(e+1),o.getX(e+2));else for(let e=0;e<n.count;e+=3)u(e,e+1,e+2);return this.computeFaceNormals(),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(o).negate(),this.translate(o.x,o.y,o.z),this}normalize(){this.computeBoundingSphere();const t=this.boundingSphere.center,s=this.boundingSphere.radius,o=0===s?1:1/s,r=new e.Matrix4;return r.set(o,0,0,-o*t.x,0,o,0,-o*t.y,0,0,o,-o*t.z,0,0,0,1),this.applyMatrix4(r),this}computeFaceNormals(){const t=new e.Vector3,s=new e.Vector3;for(let e=0,o=this.faces.length;e<o;e++){const o=this.faces[e],r=this.vertices[o.a],n=this.vertices[o.b],i=this.vertices[o.c];t.subVectors(i,n),s.subVectors(r,n),t.cross(s),t.normalize(),o.normal.copy(t)}}computeVertexNormals(t=!0){const s=new Array(this.vertices.length);for(let t=0,o=this.vertices.length;t<o;t++)s[t]=new e.Vector3;if(t){const t=new e.Vector3,o=new e.Vector3;for(let e=0,r=this.faces.length;e<r;e++){const r=this.faces[e],n=this.vertices[r.a],i=this.vertices[r.b],l=this.vertices[r.c];t.subVectors(l,i),o.subVectors(n,i),t.cross(o),s[r.a].add(t),s[r.b].add(t),s[r.c].add(t)}}else{this.computeFaceNormals();for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e];s[t.a].add(t.normal),s[t.b].add(t.normal),s[t.c].add(t.normal)}}for(let e=0,t=this.vertices.length;e<t;e++)s[e].normalize();for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e],o=t.vertexNormals;3===o.length?(o[0].copy(s[t.a]),o[1].copy(s[t.b]),o[2].copy(s[t.c])):(o[0]=s[t.a].clone(),o[1]=s[t.b].clone(),o[2]=s[t.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeFlatVertexNormals(){this.computeFaceNormals();for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e],s=t.vertexNormals;3===s.length?(s[0].copy(t.normal),s[1].copy(t.normal),s[2].copy(t.normal)):(s[0]=t.normal.clone(),s[1]=t.normal.clone(),s[2]=t.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeMorphNormals(){for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e];t.__originalFaceNormal?t.__originalFaceNormal.copy(t.normal):t.__originalFaceNormal=t.normal.clone(),t.__originalVertexNormals||(t.__originalVertexNormals=[]);for(let e=0,s=t.vertexNormals.length;e<s;e++)t.__originalVertexNormals[e]?t.__originalVertexNormals[e].copy(t.vertexNormals[e]):t.__originalVertexNormals[e]=t.vertexNormals[e].clone()}const t=new r;t.faces=this.faces;for(let s=0,o=this.morphTargets.length;s<o;s++){if(!this.morphNormals[s]){this.morphNormals[s]={},this.morphNormals[s].faceNormals=[],this.morphNormals[s].vertexNormals=[];const t=this.morphNormals[s].faceNormals,o=this.morphNormals[s].vertexNormals;for(let s=0,r=this.faces.length;s<r;s++){const s=new e.Vector3,r={a:new e.Vector3,b:new e.Vector3,c:new e.Vector3};t.push(s),o.push(r)}}const o=this.morphNormals[s];t.vertices=this.morphTargets[s].vertices,t.computeFaceNormals(),t.computeVertexNormals();for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e],s=o.faceNormals[e],r=o.vertexNormals[e];s.copy(t.normal),r.a.copy(t.vertexNormals[0]),r.b.copy(t.vertexNormals[1]),r.c.copy(t.vertexNormals[2])}}for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e];t.normal=t.__originalFaceNormal,t.vertexNormals=t.__originalVertexNormals}}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new e.Box3),this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new e.Sphere),this.boundingSphere.setFromPoints(this.vertices)}merge(t,s,o=0){if(!t||!t.isGeometry)return void console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",t);let r;const n=this.vertices.length,l=this.vertices,a=t.vertices,c=this.faces,h=t.faces,u=this.colors,p=t.colors;void 0!==s&&(r=(new e.Matrix3).getNormalMatrix(s));for(let e=0,t=a.length;e<t;e++){const t=a[e].clone();void 0!==s&&t.applyMatrix4(s),l.push(t)}for(let e=0,t=p.length;e<t;e++)u.push(p[e].clone());for(let e=0,t=h.length;e<t;e++){const t=h[e];let s,l;const a=t.vertexNormals,u=t.vertexColors,p=new i(t.a+n,t.b+n,t.c+n);p.normal.copy(t.normal),void 0!==r&&p.normal.applyMatrix3(r).normalize();for(let e=0,t=a.length;e<t;e++)s=a[e].clone(),void 0!==r&&s.applyMatrix3(r).normalize(),p.vertexNormals.push(s);p.color.copy(t.color);for(let e=0,t=u.length;e<t;e++)l=u[e],p.vertexColors.push(l.clone());p.materialIndex=t.materialIndex+o,c.push(p)}for(let e=0,s=t.faceVertexUvs.length;e<s;e++){const s=t.faceVertexUvs[e];void 0===this.faceVertexUvs[e]&&(this.faceVertexUvs[e]=[]);for(let t=0,o=s.length;t<o;t++){const o=s[t],r=[];for(let e=0,t=o.length;e<t;e++)r.push(o[e].clone());this.faceVertexUvs[e].push(r)}}}mergeMesh(e){e&&e.isMesh?(e.matrixAutoUpdate&&e.updateMatrix(),this.merge(e.geometry,e.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",e)}mergeVertices(e=4){const t={},s=[],o=[],r=Math.pow(10,e);for(let e=0,n=this.vertices.length;e<n;e++){const n=this.vertices[e],i=`${Math.round(n.x*r)}_${Math.round(n.y*r)}_${Math.round(n.z*r)}`;void 0===t[i]?(t[i]=e,s.push(this.vertices[e]),o[e]=s.length-1):o[e]=o[t[i]]}const n=[];for(let e=0,t=this.faces.length;e<t;e++){const t=this.faces[e];t.a=o[t.a],t.b=o[t.b],t.c=o[t.c];const s=[t.a,t.b,t.c];for(let t=0;t<3;t++)if(s[t]===s[(t+1)%3]){n.push(e);break}}for(let e=n.length-1;e>=0;e--){const t=n[e];this.faces.splice(t,1);for(let e=0,s=this.faceVertexUvs.length;e<s;e++)this.faceVertexUvs[e].splice(t,1)}const i=this.vertices.length-s.length;return this.vertices=s,i}setFromPoints(t){this.vertices=[];for(let s=0,o=t.length;s<o;s++){const o=t[s];this.vertices.push(new e.Vector3(o.x,o.y,o.z||0))}return this}sortFacesByMaterialIndex(){const e=this.faces,t=e.length;for(let s=0;s<t;s++)e[s]._id=s;e.sort((function(e,t){return e.materialIndex-t.materialIndex}));const s=this.faceVertexUvs[0],o=this.faceVertexUvs[1];let r,n;s&&s.length===t&&(r=[]),o&&o.length===t&&(n=[]);for(let i=0;i<t;i++){const t=e[i]._id;r&&r.push(s[t]),n&&n.push(o[t])}r&&(this.faceVertexUvs[0]=r),n&&(this.faceVertexUvs[1]=n)}toJSON(){const e={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),void 0!==this.parameters){const t=this.parameters;for(let s in t)void 0!==t[s]&&(e[s]=t[s]);return e}const t=[];for(let e=0;e<this.vertices.length;e++){const s=this.vertices[e];t.push(s.x,s.y,s.z)}const s=[],o=[],r={},n=[],i={},l=[],a={};for(let e=0;e<this.faces.length;e++){const t=this.faces[e],o=!0,r=!1,n=void 0!==this.faceVertexUvs[0][e],i=t.normal.length()>0,l=t.vertexNormals.length>0,a=1!==t.color.r||1!==t.color.g||1!==t.color.b,m=t.vertexColors.length>0;let f=0;if(f=c(f,0,0),f=c(f,1,o),f=c(f,2,r),f=c(f,3,n),f=c(f,4,i),f=c(f,5,l),f=c(f,6,a),f=c(f,7,m),s.push(f),s.push(t.a,t.b,t.c),s.push(t.materialIndex),n){const t=this.faceVertexUvs[0][e];s.push(p(t[0]),p(t[1]),p(t[2]))}if(i&&s.push(h(t.normal)),l){const e=t.vertexNormals;s.push(h(e[0]),h(e[1]),h(e[2]))}if(a&&s.push(u(t.color)),m){const e=t.vertexColors;s.push(u(e[0]),u(e[1]),u(e[2]))}}function c(e,t,s){return s?e|1<<t:e&~(1<<t)}function h(e){const t=e.x.toString()+e.y.toString()+e.z.toString();return void 0!==r[t]||(r[t]=o.length/3,o.push(e.x,e.y,e.z)),r[t]}function u(e){const t=e.r.toString()+e.g.toString()+e.b.toString();return void 0!==i[t]||(i[t]=n.length,n.push(e.getHex())),i[t]}function p(e){const t=e.x.toString()+e.y.toString();return void 0!==a[t]||(a[t]=l.length/2,l.push(e.x,e.y)),a[t]}return e.data={},e.data.vertices=t,e.data.normals=o,n.length>0&&(e.data.colors=n),l.length>0&&(e.data.uvs=[l]),e.data.faces=s,e}clone(){return(new r).copy(this)}copy(e){this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;const t=e.vertices;for(let e=0,s=t.length;e<s;e++)this.vertices.push(t[e].clone());const s=e.colors;for(let e=0,t=s.length;e<t;e++)this.colors.push(s[e].clone());const o=e.faces;for(let e=0,t=o.length;e<t;e++)this.faces.push(o[e].clone());for(let t=0,s=e.faceVertexUvs.length;t<s;t++){const s=e.faceVertexUvs[t];void 0===this.faceVertexUvs[t]&&(this.faceVertexUvs[t]=[]);for(let e=0,o=s.length;e<o;e++){const o=s[e],r=[];for(let e=0,t=o.length;e<t;e++){const t=o[e];r.push(t.clone())}this.faceVertexUvs[t].push(r)}}const r=e.morphTargets;for(let e=0,t=r.length;e<t;e++){const t={};if(t.name=r[e].name,void 0!==r[e].vertices){t.vertices=[];for(let s=0,o=r[e].vertices.length;s<o;s++)t.vertices.push(r[e].vertices[s].clone())}if(void 0!==r[e].normals){t.normals=[];for(let s=0,o=r[e].normals.length;s<o;s++)t.normals.push(r[e].normals[s].clone())}this.morphTargets.push(t)}const n=e.morphNormals;for(let e=0,t=n.length;e<t;e++){const t={};if(void 0!==n[e].vertexNormals){t.vertexNormals=[];for(let s=0,o=n[e].vertexNormals.length;s<o;s++){const o=n[e].vertexNormals[s],r={};r.a=o.a.clone(),r.b=o.b.clone(),r.c=o.c.clone(),t.vertexNormals.push(r)}}if(void 0!==n[e].faceNormals){t.faceNormals=[];for(let s=0,o=n[e].faceNormals.length;s<o;s++)t.faceNormals.push(n[e].faceNormals[s].clone())}this.morphNormals.push(t)}const i=e.skinWeights;for(let e=0,t=i.length;e<t;e++)this.skinWeights.push(i[e].clone());const l=e.skinIndices;for(let e=0,t=l.length;e<t;e++)this.skinIndices.push(l[e].clone());const a=e.lineDistances;for(let e=0,t=a.length;e<t;e++)this.lineDistances.push(a[e]);const c=e.boundingBox;null!==c&&(this.boundingBox=c.clone());const h=e.boundingSphere;return null!==h&&(this.boundingSphere=h.clone()),this.elementsNeedUpdate=e.elementsNeedUpdate,this.verticesNeedUpdate=e.verticesNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.lineDistancesNeedUpdate=e.lineDistancesNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this}toBufferGeometry(){const t=(new n).fromGeometry(this),s=new e.BufferGeometry,o=new Float32Array(3*t.vertices.length);if(s.setAttribute("position",new e.BufferAttribute(o,3).copyVector3sArray(t.vertices)),t.normals.length>0){const o=new Float32Array(3*t.normals.length);s.setAttribute("normal",new e.BufferAttribute(o,3).copyVector3sArray(t.normals))}if(t.colors.length>0){const o=new Float32Array(3*t.colors.length);s.setAttribute("color",new e.BufferAttribute(o,3).copyColorsArray(t.colors))}if(t.uvs.length>0){const o=new Float32Array(2*t.uvs.length);s.setAttribute("uv",new e.BufferAttribute(o,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){const o=new Float32Array(2*t.uvs2.length);s.setAttribute("uv2",new e.BufferAttribute(o,2).copyVector2sArray(t.uvs2))}s.groups=t.groups;for(let o in t.morphTargets){const r=[],n=t.morphTargets[o];for(let t=0,s=n.length;t<s;t++){const s=n[t],o=new e.Float32BufferAttribute(3*s.data.length,3);o.name=s.name,r.push(o.copyVector3sArray(s.data))}s.morphAttributes[o]=r}if(t.skinIndices.length>0){const o=new e.Float32BufferAttribute(4*t.skinIndices.length,4);s.setAttribute("skinIndex",o.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){const o=new e.Float32BufferAttribute(4*t.skinWeights.length,4);s.setAttribute("skinWeight",o.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(s.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(s.boundingBox=t.boundingBox.clone()),s}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(e){return console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)}dispose(){this.dispatchEvent({type:"dispose"})}}r.createBufferGeometryFromObject=t=>{let s=new e.BufferGeometry;const o=t.geometry;if(t.isPoints||t.isLine){const t=new e.Float32BufferAttribute(3*o.vertices.length,3),r=new e.Float32BufferAttribute(3*o.colors.length,3);if(s.setAttribute("position",t.copyVector3sArray(o.vertices)),s.setAttribute("color",r.copyColorsArray(o.colors)),o.lineDistances&&o.lineDistances.length===o.vertices.length){const t=new e.Float32BufferAttribute(o.lineDistances.length,1);s.setAttribute("lineDistance",t.copyArray(o.lineDistances))}null!==o.boundingSphere&&(s.boundingSphere=o.boundingSphere.clone()),null!==o.boundingBox&&(s.boundingBox=o.boundingBox.clone())}else t.isMesh&&(s=o.toBufferGeometry());return s};class n{constructor(){this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}computeGroups(e){const t=[];let s,o,r;const n=e.faces;for(o=0;o<n.length;o++){const e=n[o];e.materialIndex!==r&&(r=e.materialIndex,void 0!==s&&(s.count=3*o-s.start,t.push(s)),s={start:3*o,materialIndex:r})}void 0!==s&&(s.count=3*o-s.start,t.push(s)),this.groups=t}fromGeometry(t){const s=t.faces,o=t.vertices,r=t.faceVertexUvs,n=r[0]&&r[0].length>0,i=r[1]&&r[1].length>0,l=t.morphTargets,a=l.length;let c;if(a>0){c=[];for(let e=0;e<a;e++)c[e]={name:l[e].name,data:[]};this.morphTargets.position=c}const h=t.morphNormals,u=h.length;let p;if(u>0){p=[];for(let e=0;e<u;e++)p[e]={name:h[e].name,data:[]};this.morphTargets.normal=p}const m=t.skinIndices,f=t.skinWeights,d=m.length===o.length,g=f.length===o.length;o.length>0&&0===s.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(let t=0;t<s.length;t++){const v=s[t];this.vertices.push(o[v.a],o[v.b],o[v.c]);const x=v.vertexNormals;if(3===x.length)this.normals.push(x[0],x[1],x[2]);else{const e=v.normal;this.normals.push(e,e,e)}const y=v.vertexColors;if(3===y.length)this.colors.push(y[0],y[1],y[2]);else{const e=v.color;this.colors.push(e,e,e)}if(!0===n){const s=r[0][t];void 0!==s?this.uvs.push(s[0],s[1],s[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",t),this.uvs.push(new e.Vector2,new e.Vector2,new e.Vector2))}if(!0===i){const s=r[1][t];void 0!==s?this.uvs2.push(s[0],s[1],s[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",t),this.uvs2.push(new e.Vector2,new e.Vector2,new e.Vector2))}for(let e=0;e<a;e++){const t=l[e].vertices;c[e].data.push(t[v.a],t[v.b],t[v.c])}for(let e=0;e<u;e++){const s=h[e].vertexNormals[t];p[e].data.push(s.a,s.b,s.c)}d&&this.skinIndices.push(m[v.a],m[v.b],m[v.c]),g&&this.skinWeights.push(f[v.a],f[v.b],f[v.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this}}class i{constructor(t,s,o,r,n,i=0){this.a=t,this.b=s,this.c=o,this.normal=r&&r.isVector3?r:new e.Vector3,this.vertexNormals=Array.isArray(r)?r:[],this.color=n&&n.isColor?n:new e.Color,this.vertexColors=Array.isArray(n)?n:[],this.materialIndex=i}clone(){return(new this.constructor).copy(this)}copy(e){this.a=e.a,this.b=e.b,this.c=e.c,this.normal.copy(e.normal),this.color.copy(e.color),this.materialIndex=e.materialIndex;for(let t=0,s=e.vertexNormals.length;t<s;t++)this.vertexNormals[t]=e.vertexNormals[t].clone();for(let t=0,s=e.vertexColors.length;t<s;t++)this.vertexColors[t]=e.vertexColors[t].clone();return this}}exports.Face3=i,exports.Geometry=r;
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");exports.AnaglyphEffect=function(t,r,o){this.colorMatrixLeft=(new e.Matrix3).fromArray([.4561,-.0400822,-.0152161,.500484,-.0378246,-.0205971,.176381,-.0157589,-.00546856]),this.colorMatrixRight=(new e.Matrix3).fromArray([-.0434706,.378476,-.0721527,-.0879388,.73364,-.112961,-.00155529,-.0184503,1.2264]);const a=new e.OrthographicCamera(-1,1,1,-1,0,1),i=new e.Scene,n=new e.StereoCamera,c={minFilter:e.LinearFilter,magFilter:e.NearestFilter,format:e.RGBAFormat};void 0===r&&(r=512),void 0===o&&(o=512);const l=new e.WebGLRenderTarget(r,o,c),v=new e.WebGLRenderTarget(r,o,c),s=new e.ShaderMaterial({uniforms:{mapLeft:{value:l.texture},mapRight:{value:v.texture},colorMatrixLeft:{value:this.colorMatrixLeft},colorMatrixRight:{value:this.colorMatrixRight}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = vec2( uv.x, uv.y );","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D mapLeft;","uniform sampler2D mapRight;","varying vec2 vUv;","uniform mat3 colorMatrixLeft;","uniform mat3 colorMatrixRight;","float lin( float c ) {","\treturn c <= 0.04045 ? c * 0.0773993808 :","\t\t\tpow( c * 0.9478672986 + 0.0521327014, 2.4 );","}","vec4 lin( vec4 c ) {","\treturn vec4( lin( c.r ), lin( c.g ), lin( c.b ), c.a );","}","float dev( float c ) {","\treturn c <= 0.0031308 ? c * 12.92","\t\t\t: pow( c, 0.41666 ) * 1.055 - 0.055;","}","void main() {","\tvec2 uv = vUv;","\tvec4 colorL = lin( texture2D( mapLeft, uv ) );","\tvec4 colorR = lin( texture2D( mapRight, uv ) );","\tvec3 color = clamp(","\t\t\tcolorMatrixLeft * colorL.rgb +","\t\t\tcolorMatrixRight * colorR.rgb, 0., 1. );","\tgl_FragColor = vec4(","\t\t\tdev( color.r ), dev( color.g ), dev( color.b ),","\t\t\tmax( colorL.a, colorR.a ) );","}"].join("\n")}),d=new e.Mesh(new e.PlaneGeometry(2,2),s);i.add(d),this.setSize=(e,r)=>{t.setSize(e,r);const o=t.getPixelRatio();l.setSize(e*o,r*o),v.setSize(e*o,r*o)},this.render=(e,r)=>{const o=t.getRenderTarget();e.updateMatrixWorld(),null===r.parent&&r.updateMatrixWorld(),n.update(r),t.setRenderTarget(l),t.clear(),t.render(e,n.cameraL),t.setRenderTarget(v),t.clear(),t.render(e,n.cameraR),t.setRenderTarget(null),t.render(i,a),t.setRenderTarget(o)},this.dispose=()=>{l&&l.dispose(),v&&v.dispose(),d&&d.geometry.dispose(),s&&s.dispose()}};
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.AsciiEffect=function(e,t,o){t=void 0===t?" .:-=+*#%@":t,o||(o={});const n=o.resolution?o.resolution:.15,l=o.scale?o.scale:1,r=!!o.color&&o.color,a=!!o.alpha&&o.alpha,c=!!o.block&&o.block,s=!!o.invert&&o.invert;let i,d;const p=document.createElement("div");p.style.cursor="default";const g=document.createElement("table");let u,h,m;p.appendChild(g),this.setSize=(t,o)=>{i=t,d=o,e.setSize(t,o),function(){u=Math.round(i*w),h=Math.round(d*w),y.width=u,y.height=h,m=e.domElement,m.style.backgroundColor&&(g.rows[0].cells[0].style.backgroundColor=m.style.backgroundColor,g.rows[0].cells[0].style.color=m.style.color);g.cellSpacing=0,g.cellPadding=0;const t=g.style;t.display="inline",t.width=`${Math.round(u/w*l)}px`,t.height=`${Math.round(h/w*l)}px`,t.whiteSpace="pre",t.margin="0px",t.padding="0px",t.letterSpacing=`${M}px`,t.fontFamily=b,t.fontSize=`${C}px`,t.lineHeight=`${E}px`,t.textAlign="left",t.textDecoration="none"}()},this.render=(t,o)=>{e.render(t,o),function(e,t){v.clearRect(0,0,u,h),v.drawImage(x,0,0,u,h);const o=v.getImageData(0,0,u,h).data;let n="";for(let e=0;e<h;e+=2){for(let t=0;t<u;t++){const l=4*(e*u+t),i=o[l],d=o[l+1],p=o[l+2],g=o[l+3];let h,m;m=(.3*i+.59*d+.11*p)/255,0==g&&(m=1),h=Math.floor((1-m)*(k.length-1)),s&&(h=k.length-h-1);let f=k[h];void 0!==f&&" "!=f||(f=" "),n+=r?`<span style='color:rgb(${i},${d},${p});${c?`background-color:rgb(${i},${d},${p});`:""}${a?`opacity:${g/255};`:""}'>${f}</span>`:f}n+="<br/>"}t.innerHTML=`<tr><td>${n}</td></tr>`}(0,g)},this.domElement=p;const f=" .,:;i1tfLCG08@".split(""),$=" CGO08@".split("");var b="courier new, monospace";const x=e.domElement;var y=document.createElement("canvas");if(!y.getContext)return;const v=y.getContext("2d");if(!v.getImageData)return;let k=r?$:f;t&&(k=t);var w=.5;w=.25,n&&(w=n);var C=2/w*l,E=2/w*l,M=0;switch(l){case 1:M=-1;break;case 2:case 3:M=-2.1;break;case 4:M=-3.1;break;case 5:M=-4.15}};
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");exports.OutlineEffect=function(t,i){i=i||{},this.enabled=!0;const n=void 0!==i.defaultThickness?i.defaultThickness:.003,a=(new e.Color).fromArray(void 0!==i.defaultColor?i.defaultColor:[0,0,0]),r=void 0!==i.defaultAlpha?i.defaultAlpha:1,l=void 0!==i.defaultKeepAlive&&i.defaultKeepAlive,o={},s={},u={},d={outlineThickness:{value:n},outlineColor:{value:a},outlineAlpha:{value:r}},c=["#include <common>","#include <uv_pars_vertex>","#include <displacementmap_pars_vertex>","#include <fog_pars_vertex>","#include <morphtarget_pars_vertex>","#include <skinning_pars_vertex>","#include <logdepthbuf_pars_vertex>","#include <clipping_planes_pars_vertex>","uniform float outlineThickness;","vec4 calculateOutline( vec4 pos, vec3 normal, vec4 skinned ) {","\tfloat thickness = outlineThickness;","\tconst float ratio = 1.0;","\tvec4 pos2 = projectionMatrix * modelViewMatrix * vec4( skinned.xyz + normal, 1.0 );","\tvec4 norm = normalize( pos - pos2 );","\treturn pos + norm * thickness * pos.w * ratio;","}","void main() {","\t#include <uv_vertex>","\t#include <beginnormal_vertex>","\t#include <morphnormal_vertex>","\t#include <skinbase_vertex>","\t#include <skinnormal_vertex>","\t#include <begin_vertex>","\t#include <morphtarget_vertex>","\t#include <skinning_vertex>","\t#include <displacementmap_vertex>","\t#include <project_vertex>","\tvec3 outlineNormal = - objectNormal;","\tgl_Position = calculateOutline( gl_Position, outlineNormal, vec4( transformed, 1.0 ) );","\t#include <logdepthbuf_vertex>","\t#include <clipping_planes_vertex>","\t#include <fog_vertex>","}"].join("\n"),p=["#include <common>","#include <fog_pars_fragment>","#include <logdepthbuf_pars_fragment>","#include <clipping_planes_pars_fragment>","uniform vec3 outlineColor;","uniform float outlineAlpha;","void main() {","\t#include <clipping_planes_fragment>","\t#include <logdepthbuf_fragment>","\tgl_FragColor = vec4( outlineColor, outlineAlpha );","\t#include <tonemapping_fragment>","\t#include <encodings_fragment>","\t#include <fog_fragment>","\t#include <premultiplied_alpha_fragment>","}"].join("\n");function m(t){const i=function(t){let i=o[t.uuid];return void 0===i&&(i={material:new e.ShaderMaterial({type:"OutlineEffect",uniforms:e.UniformsUtils.merge([e.UniformsLib.fog,e.UniformsLib.displacementmap,d]),vertexShader:c,fragmentShader:p,side:e.BackSide}),used:!0,keepAlive:l,count:0},o[t.uuid]=i),i.used=!0,i.material}(t);return s[i.uuid]=t,function(e,t){if("invisible"===e.name)return;const i=t.userData.outlineParameters;e.skinning=t.skinning,e.morphTargets=t.morphTargets,e.morphNormals=t.morphNormals,e.fog=t.fog,e.toneMapped=t.toneMapped,e.premultipliedAlpha=t.premultipliedAlpha,e.displacementMap=t.displacementMap,void 0!==i?(!1===t.visible?e.visible=!1:e.visible=void 0===i.visible||i.visible,e.transparent=void 0!==i.alpha&&i.alpha<1||t.transparent,void 0!==i.keepAlive&&(o[t.uuid].keepAlive=i.keepAlive)):(e.transparent=t.transparent,e.visible=t.visible);!0!==t.wireframe&&!1!==t.depthTest||(e.visible=!1);t.clippingPlanes&&(e.clipping=!0,e.clippingPlanes=t.clippingPlanes,e.clipIntersection=t.clipIntersection,e.clipShadows=t.clipShadows);e.version=t.version}(i,t),i}function v(e){const t=e.geometry;let i=!1;return void 0!==e.geometry&&(i=!t.isBufferGeometry||void 0!==t.attributes.normal),!0===e.isMesh&&void 0!==e.material&&!0===i}function f(e){if(!1!==v(e)){if(Array.isArray(e.material))for(let t=0,i=e.material.length;t<i;t++)e.material[t]=m(e.material[t]);else e.material=m(e.material);u[e.uuid]=e.onBeforeRender,e.onBeforeRender=g}}function h(e){if(!1!==v(e)){if(Array.isArray(e.material))for(let t=0,i=e.material.length;t<i;t++)e.material[t]=s[e.material[t].uuid];else e.material=s[e.material.uuid];e.onBeforeRender=u[e.uuid]}}function g(e,t,i,n,a){const r=s[a.uuid];void 0!==r&&function(e,t){const i=t.userData.outlineParameters;e.uniforms.outlineAlpha.value=t.opacity,void 0!==i&&(void 0!==i.thickness&&(e.uniforms.outlineThickness.value=i.thickness),void 0!==i.color&&e.uniforms.outlineColor.value.fromArray(i.color),void 0!==i.alpha&&(e.uniforms.outlineAlpha.value=i.alpha));t.displacementMap&&(e.uniforms.displacementMap.value=t.displacementMap,e.uniforms.displacementScale.value=t.displacementScale,e.uniforms.displacementBias.value=t.displacementBias)}(a,r)}this.render=function(e,i){let n,a=!1;if(void 0!==arguments[2]&&(console.warn("THREE.OutlineEffect.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead."),n=arguments[2]),void 0!==arguments[3]&&(console.warn("THREE.OutlineEffect.render(): the forceClear argument has been removed. Use .clear() instead."),a=arguments[3]),void 0!==n&&t.setRenderTarget(n),a&&t.clear(),!1===this.enabled)return void t.render(e,i);const r=t.autoClear;t.autoClear=this.autoClear,t.render(e,i),t.autoClear=r,this.renderOutline(e,i)},this.renderOutline=(e,i)=>{const n=t.autoClear,a=e.autoUpdate,r=e.background,l=t.shadowMap.enabled;e.autoUpdate=!1,e.background=null,t.autoClear=!1,t.shadowMap.enabled=!1,e.traverse(f),t.render(e,i),e.traverse(h),function(){let e;e=Object.keys(s);for(let t=0,i=e.length;t<i;t++)s[e[t]]=void 0;e=Object.keys(u);for(let t=0,i=e.length;t<i;t++)u[e[t]]=void 0;e=Object.keys(o);for(let t=0,i=e.length;t<i;t++){const i=e[t];!1===o[i].used?(o[i].count++,!1===o[i].keepAlive&&o[i].count>60&&delete o[i]):(o[i].used=!1,o[i].count=0)}}(),e.autoUpdate=a,e.background=r,t.autoClear=n,t.shadowMap.enabled=l},this.autoClear=t.autoClear,this.domElement=t.domElement,this.shadowMap=t.shadowMap,this.clear=(e,i,n)=>{t.clear(e,i,n)},this.getPixelRatio=()=>t.getPixelRatio(),this.setPixelRatio=e=>{t.setPixelRatio(e)},this.getSize=e=>t.getSize(e),this.setSize=(e,i,n)=>{t.setSize(e,i,n)},this.setViewport=(e,i,n,a)=>{t.setViewport(e,i,n,a)},this.setScissor=(e,i,n,a)=>{t.setScissor(e,i,n,a)},this.setScissorTest=e=>{t.setScissorTest(e)},this.setRenderTarget=e=>{t.setRenderTarget(e)}};
|