@needle-tools/three 0.169.12 → 0.169.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/types/build/three.d.cts +1 -0
- package/types/build/three.module.d.ts +1 -0
- package/types/build/three.module.min.d.ts +1 -0
- package/types/build/three.webgpu.d.ts +1 -0
- package/types/build/three.webgpu.min.d.ts +1 -0
- package/types/build/three.webgpu.nodes.d.ts +1 -0
- package/types/build/three.webgpu.nodes.min.d.ts +1 -0
- package/types/examples/jsm/Addons.d.ts +292 -0
- package/types/examples/jsm/animation/AnimationClipCreator.d.ts +12 -0
- package/types/examples/jsm/animation/CCDIKSolver.d.ts +43 -0
- package/types/examples/jsm/animation/MMDAnimationHelper.d.ts +95 -0
- package/types/examples/jsm/animation/MMDPhysics.d.ts +124 -0
- package/types/examples/jsm/cameras/CinematicCamera.d.ts +34 -0
- package/types/examples/jsm/capabilities/WebGL.d.ts +17 -0
- package/types/examples/jsm/capabilities/WebGPU.d.ts +7 -0
- package/types/examples/jsm/controls/ArcballControls.d.ts +203 -0
- package/types/examples/jsm/controls/DragControls.d.ts +111 -0
- package/types/examples/jsm/controls/FirstPersonControls.d.ts +101 -0
- package/types/examples/jsm/controls/FlyControls.d.ts +44 -0
- package/types/examples/jsm/controls/MapControls.d.ts +21 -0
- package/types/examples/jsm/controls/OrbitControls.d.ts +251 -0
- package/types/examples/jsm/controls/PointerLockControls.d.ts +86 -0
- package/types/examples/jsm/controls/TrackballControls.d.ts +142 -0
- package/types/examples/jsm/controls/TransformControls.d.ts +249 -0
- package/types/examples/jsm/csm/CSM.d.ts +55 -0
- package/types/examples/jsm/csm/CSMFrustum.d.ts +19 -0
- package/types/examples/jsm/csm/CSMHelper.d.ts +27 -0
- package/types/examples/jsm/csm/CSMShader.d.ts +4 -0
- package/types/examples/jsm/curves/CurveExtras.d.ts +68 -0
- package/types/examples/jsm/curves/NURBSCurve.d.ts +17 -0
- package/types/examples/jsm/curves/NURBSSurface.d.ts +13 -0
- package/types/examples/jsm/curves/NURBSUtils.d.ts +146 -0
- package/types/examples/jsm/curves/NURBSVolume.d.ts +23 -0
- package/types/examples/jsm/effects/AnaglyphEffect.d.ts +17 -0
- package/types/examples/jsm/effects/AsciiEffect.d.ts +18 -0
- package/types/examples/jsm/effects/OutlineEffect.d.ts +28 -0
- package/types/examples/jsm/effects/ParallaxBarrierEffect.d.ts +11 -0
- package/types/examples/jsm/effects/PeppersGhostEffect.d.ts +10 -0
- package/types/examples/jsm/effects/StereoEffect.d.ts +9 -0
- package/types/examples/jsm/environments/DebugEnvironment.d.ts +5 -0
- package/types/examples/jsm/environments/RoomEnvironment.d.ts +6 -0
- package/types/examples/jsm/exporters/DRACOExporter.d.ts +17 -0
- package/types/examples/jsm/exporters/EXRExporter.d.ts +27 -0
- package/types/examples/jsm/exporters/GLTFExporter.d.ts +123 -0
- package/types/examples/jsm/exporters/KTX2Exporter.d.ts +7 -0
- package/types/examples/jsm/exporters/MMDExporter.d.ts +7 -0
- package/types/examples/jsm/exporters/OBJExporter.d.ts +7 -0
- package/types/examples/jsm/exporters/PLYExporter.d.ts +30 -0
- package/types/examples/jsm/exporters/STLExporter.d.ts +21 -0
- package/types/examples/jsm/exporters/USDZExporter.d.ts +21 -0
- package/types/examples/jsm/geometries/BoxLineGeometry.d.ts +12 -0
- package/types/examples/jsm/geometries/ConvexGeometry.d.ts +5 -0
- package/types/examples/jsm/geometries/DecalGeometry.d.ts +10 -0
- package/types/examples/jsm/geometries/ParametricGeometries.d.ts +32 -0
- package/types/examples/jsm/geometries/ParametricGeometry.d.ts +18 -0
- package/types/examples/jsm/geometries/RoundedBoxGeometry.d.ts +5 -0
- package/types/examples/jsm/geometries/TeapotGeometry.d.ts +37 -0
- package/types/examples/jsm/geometries/TextGeometry.d.ts +123 -0
- package/types/examples/jsm/helpers/LightProbeHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/LightProbeHelperGPU.d.ts +12 -0
- package/types/examples/jsm/helpers/OctreeHelper.d.ts +17 -0
- package/types/examples/jsm/helpers/PositionalAudioHelper.d.ts +13 -0
- package/types/examples/jsm/helpers/RectAreaLightHelper.d.ts +10 -0
- package/types/examples/jsm/helpers/TextureHelper.d.ts +10 -0
- package/types/examples/jsm/helpers/VertexNormalsHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/VertexTangentsHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/ViewHelper.d.ts +17 -0
- package/types/examples/jsm/interactive/HTMLMesh.d.ts +6 -0
- package/types/examples/jsm/interactive/InteractiveGroup.d.ts +20 -0
- package/types/examples/jsm/interactive/SelectionBox.d.ts +16 -0
- package/types/examples/jsm/interactive/SelectionHelper.d.ts +17 -0
- package/types/examples/jsm/libs/fflate.module.d.ts +1 -0
- package/types/examples/jsm/libs/lil-gui.module.min.d.ts +608 -0
- package/types/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -0
- package/types/examples/jsm/libs/stats.module.d.ts +3 -0
- package/types/examples/jsm/libs/tween.module.d.ts +2 -0
- package/types/examples/jsm/lights/LightProbeGenerator.d.ts +10 -0
- package/types/examples/jsm/lights/RectAreaLightTexturesLib.d.ts +7 -0
- package/types/examples/jsm/lights/RectAreaLightUniformsLib.d.ts +5 -0
- package/types/examples/jsm/lines/Line2.d.ts +25 -0
- package/types/examples/jsm/lines/LineGeometry.d.ts +27 -0
- package/types/examples/jsm/lines/LineMaterial.d.ts +82 -0
- package/types/examples/jsm/lines/LineSegments2.d.ts +37 -0
- package/types/examples/jsm/lines/LineSegmentsGeometry.d.ts +53 -0
- package/types/examples/jsm/lines/Wireframe.d.ts +11 -0
- package/types/examples/jsm/lines/WireframeGeometry2.d.ts +8 -0
- package/types/examples/jsm/lines/webgpu/Line2.d.ts +14 -0
- package/types/examples/jsm/lines/webgpu/LineSegments2.d.ts +15 -0
- package/types/examples/jsm/loaders/3DMLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/3MFLoader.d.ts +9 -0
- package/types/examples/jsm/loaders/AMFLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/BVHLoader.d.ts +14 -0
- package/types/examples/jsm/loaders/ColladaLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/DDSLoader.d.ts +22 -0
- package/types/examples/jsm/loaders/DRACOLoader.d.ts +25 -0
- package/types/examples/jsm/loaders/EXRLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/FBXLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/FontLoader.d.ts +41 -0
- package/types/examples/jsm/loaders/GCodeLoader.d.ts +8 -0
- package/types/examples/jsm/loaders/GLTFLoader.d.ts +153 -0
- package/types/examples/jsm/loaders/HDRCubeTextureLoader.d.ts +18 -0
- package/types/examples/jsm/loaders/IESLoader.d.ts +5 -0
- package/types/examples/jsm/loaders/KMZLoader.d.ts +9 -0
- package/types/examples/jsm/loaders/KTX2Loader.d.ts +54 -0
- package/types/examples/jsm/loaders/KTXLoader.d.ts +22 -0
- package/types/examples/jsm/loaders/LDrawLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/LUT3dlLoader.d.ts +39 -0
- package/types/examples/jsm/loaders/LUTCubeLoader.d.ts +42 -0
- package/types/examples/jsm/loaders/LUTImageLoader.d.ts +18 -0
- package/types/examples/jsm/loaders/LWOLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/LottieLoader.d.ts +14 -0
- package/types/examples/jsm/loaders/MD2Loader.d.ts +7 -0
- package/types/examples/jsm/loaders/MDDLoader.d.ts +12 -0
- package/types/examples/jsm/loaders/MMDLoader.d.ts +56 -0
- package/types/examples/jsm/loaders/MTLLoader.d.ts +94 -0
- package/types/examples/jsm/loaders/MaterialXLoader.d.ts +5 -0
- package/types/examples/jsm/loaders/NRRDLoader.d.ts +15 -0
- package/types/examples/jsm/loaders/OBJLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/PCDLoader.d.ts +8 -0
- package/types/examples/jsm/loaders/PDBLoader.d.ts +15 -0
- package/types/examples/jsm/loaders/PLYLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/PVRLoader.d.ts +16 -0
- package/types/examples/jsm/loaders/RGBELoader.d.ts +19 -0
- package/types/examples/jsm/loaders/RGBMLoader.d.ts +37 -0
- package/types/examples/jsm/loaders/STLLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/SVGLoader.d.ts +64 -0
- package/types/examples/jsm/loaders/TDSLoader.d.ts +35 -0
- package/types/examples/jsm/loaders/TGALoader.d.ts +7 -0
- package/types/examples/jsm/loaders/TIFFLoader.d.ts +16 -0
- package/types/examples/jsm/loaders/TTFLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/USDZLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/UltraHDRLoader.d.ts +21 -0
- package/types/examples/jsm/loaders/VOXLoader.d.ts +21 -0
- package/types/examples/jsm/loaders/VRMLLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/VTKLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/XYZLoader.d.ts +7 -0
- package/types/examples/jsm/materials/MeshGouraudMaterial.d.ts +16 -0
- package/types/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +13 -0
- package/types/examples/jsm/math/Capsule.d.ts +26 -0
- package/types/examples/jsm/math/ColorConverter.d.ts +19 -0
- package/types/examples/jsm/math/ConvexHull.d.ts +89 -0
- package/types/examples/jsm/math/ImprovedNoise.d.ts +4 -0
- package/types/examples/jsm/math/Lut.d.ts +27 -0
- package/types/examples/jsm/math/MeshSurfaceSampler.d.ts +21 -0
- package/types/examples/jsm/math/OBB.d.ts +24 -0
- package/types/examples/jsm/math/Octree.d.ts +29 -0
- package/types/examples/jsm/math/SimplexNoise.d.ts +9 -0
- package/types/examples/jsm/misc/ConvexObjectBreaker.d.ts +25 -0
- package/types/examples/jsm/misc/GPUComputationRenderer.d.ts +55 -0
- package/types/examples/jsm/misc/Gyroscope.d.ts +5 -0
- package/types/examples/jsm/misc/MD2Character.d.ts +33 -0
- package/types/examples/jsm/misc/MD2CharacterComplex.d.ts +55 -0
- package/types/examples/jsm/misc/MorphAnimMesh.d.ts +13 -0
- package/types/examples/jsm/misc/MorphBlendMesh.d.ts +21 -0
- package/types/examples/jsm/misc/ProgressiveLightMap.d.ts +60 -0
- package/types/examples/jsm/misc/RollerCoaster.d.ts +26 -0
- package/types/examples/jsm/misc/Timer.d.ts +80 -0
- package/types/examples/jsm/misc/TubePainter.d.ts +10 -0
- package/types/examples/jsm/misc/Volume.d.ts +37 -0
- package/types/examples/jsm/misc/VolumeSlice.d.ts +28 -0
- package/types/examples/jsm/modifiers/CurveModifier.d.ts +41 -0
- package/types/examples/jsm/modifiers/CurveModifierGPU.d.ts +31 -0
- package/types/examples/jsm/modifiers/EdgeSplitModifier.d.ts +26 -0
- package/types/examples/jsm/modifiers/SimplifyModifier.d.ts +6 -0
- package/types/examples/jsm/modifiers/TessellateModifier.d.ts +9 -0
- package/types/examples/jsm/objects/GroundedSkybox.d.ts +5 -0
- package/types/examples/jsm/objects/Lensflare.d.ts +21 -0
- package/types/examples/jsm/objects/LensflareMesh.d.ts +21 -0
- package/types/examples/jsm/objects/MarchingCubes.d.ts +76 -0
- package/types/examples/jsm/objects/Reflector.d.ts +21 -0
- package/types/examples/jsm/objects/ReflectorForSSRPass.d.ts +62 -0
- package/types/examples/jsm/objects/Refractor.d.ts +21 -0
- package/types/examples/jsm/objects/ShadowMesh.d.ts +10 -0
- package/types/examples/jsm/objects/Sky.d.ts +28 -0
- package/types/examples/jsm/objects/SkyMesh.d.ts +17 -0
- package/types/examples/jsm/objects/Water.d.ts +22 -0
- package/types/examples/jsm/objects/Water2.d.ts +21 -0
- package/types/examples/jsm/objects/Water2Mesh.d.ts +42 -0
- package/types/examples/jsm/objects/WaterMesh.d.ts +31 -0
- package/types/examples/jsm/physics/AmmoPhysics.d.ts +9 -0
- package/types/examples/jsm/physics/JoltPhysics.d.ts +10 -0
- package/types/examples/jsm/physics/RapierPhysics.d.ts +12 -0
- package/types/examples/jsm/postprocessing/AfterimagePass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/BloomPass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/BokehPass.d.ts +23 -0
- package/types/examples/jsm/postprocessing/ClearPass.d.ts +9 -0
- package/types/examples/jsm/postprocessing/CubeTexturePass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/DotScreenPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/EffectComposer.d.ts +31 -0
- package/types/examples/jsm/postprocessing/FilmPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/GTAOPass.d.ts +121 -0
- package/types/examples/jsm/postprocessing/GlitchPass.d.ts +16 -0
- package/types/examples/jsm/postprocessing/HalftonePass.d.ts +37 -0
- package/types/examples/jsm/postprocessing/LUTPass.d.ts +13 -0
- package/types/examples/jsm/postprocessing/MaskPass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/OutlinePass.d.ts +64 -0
- package/types/examples/jsm/postprocessing/OutputPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/Pass.d.ts +31 -0
- package/types/examples/jsm/postprocessing/RenderPass.d.ts +23 -0
- package/types/examples/jsm/postprocessing/RenderPixelatedPass.d.ts +30 -0
- package/types/examples/jsm/postprocessing/RenderTransitionPass.d.ts +33 -0
- package/types/examples/jsm/postprocessing/SAOPass.d.ts +70 -0
- package/types/examples/jsm/postprocessing/SMAAPass.d.ts +21 -0
- package/types/examples/jsm/postprocessing/SSAARenderPass.d.ts +26 -0
- package/types/examples/jsm/postprocessing/SSAOPass.d.ts +68 -0
- package/types/examples/jsm/postprocessing/SSRPass.d.ts +122 -0
- package/types/examples/jsm/postprocessing/SavePass.d.ts +12 -0
- package/types/examples/jsm/postprocessing/ShaderPass.d.ts +11 -0
- package/types/examples/jsm/postprocessing/TAARenderPass.d.ts +8 -0
- package/types/examples/jsm/postprocessing/TexturePass.d.ts +12 -0
- package/types/examples/jsm/postprocessing/UnrealBloomPass.d.ts +31 -0
- package/types/examples/jsm/renderers/CSS2DRenderer.d.ts +23 -0
- package/types/examples/jsm/renderers/CSS3DRenderer.d.ts +26 -0
- package/types/examples/jsm/renderers/Projector.d.ts +60 -0
- package/types/examples/jsm/renderers/SVGRenderer.d.ts +26 -0
- package/types/examples/jsm/shaders/ACESFilmicToneMappingShader.d.ts +11 -0
- package/types/examples/jsm/shaders/AfterimageShader.d.ts +12 -0
- package/types/examples/jsm/shaders/BasicShader.d.ts +6 -0
- package/types/examples/jsm/shaders/BleachBypassShader.d.ts +10 -0
- package/types/examples/jsm/shaders/BlendShader.d.ts +13 -0
- package/types/examples/jsm/shaders/BokehShader.d.ts +21 -0
- package/types/examples/jsm/shaders/BokehShader2.d.ts +44 -0
- package/types/examples/jsm/shaders/BrightnessContrastShader.d.ts +12 -0
- package/types/examples/jsm/shaders/ColorCorrectionShader.d.ts +13 -0
- package/types/examples/jsm/shaders/ColorifyShader.d.ts +10 -0
- package/types/examples/jsm/shaders/ConvolutionShader.d.ts +17 -0
- package/types/examples/jsm/shaders/CopyShader.d.ts +10 -0
- package/types/examples/jsm/shaders/DOFMipMapShader.d.ts +13 -0
- package/types/examples/jsm/shaders/DepthLimitedBlurShader.d.ts +28 -0
- package/types/examples/jsm/shaders/DigitalGlitch.d.ts +19 -0
- package/types/examples/jsm/shaders/DotScreenShader.d.ts +13 -0
- package/types/examples/jsm/shaders/ExposureShader.d.ts +11 -0
- package/types/examples/jsm/shaders/FXAAShader.d.ts +11 -0
- package/types/examples/jsm/shaders/FilmShader.d.ts +12 -0
- package/types/examples/jsm/shaders/FocusShader.d.ts +14 -0
- package/types/examples/jsm/shaders/FreiChenShader.d.ts +11 -0
- package/types/examples/jsm/shaders/GTAOShader.d.ts +59 -0
- package/types/examples/jsm/shaders/GammaCorrectionShader.d.ts +9 -0
- package/types/examples/jsm/shaders/GodRaysShader.d.ts +44 -0
- package/types/examples/jsm/shaders/HalftoneShader.d.ts +22 -0
- package/types/examples/jsm/shaders/HorizontalBlurShader.d.ts +10 -0
- package/types/examples/jsm/shaders/HorizontalTiltShiftShader.d.ts +12 -0
- package/types/examples/jsm/shaders/HueSaturationShader.d.ts +12 -0
- package/types/examples/jsm/shaders/KaleidoShader.d.ts +12 -0
- package/types/examples/jsm/shaders/LuminosityHighPassShader.d.ts +15 -0
- package/types/examples/jsm/shaders/LuminosityShader.d.ts +10 -0
- package/types/examples/jsm/shaders/MMDToonShader.d.ts +15 -0
- package/types/examples/jsm/shaders/MirrorShader.d.ts +11 -0
- package/types/examples/jsm/shaders/NormalMapShader.d.ts +13 -0
- package/types/examples/jsm/shaders/OutputShader.d.ts +11 -0
- package/types/examples/jsm/shaders/PoissonDenoiseShader.d.ts +28 -0
- package/types/examples/jsm/shaders/RGBShiftShader.d.ts +11 -0
- package/types/examples/jsm/shaders/SAOShader.d.ts +29 -0
- package/types/examples/jsm/shaders/SMAAShader.d.ts +43 -0
- package/types/examples/jsm/shaders/SSAOShader.d.ts +49 -0
- package/types/examples/jsm/shaders/SSRShader.d.ts +62 -0
- package/types/examples/jsm/shaders/SepiaShader.d.ts +10 -0
- package/types/examples/jsm/shaders/SobelOperatorShader.d.ts +11 -0
- package/types/examples/jsm/shaders/SubsurfaceScatteringShader.d.ts +38 -0
- package/types/examples/jsm/shaders/TechnicolorShader.d.ts +10 -0
- package/types/examples/jsm/shaders/ToonShader.d.ts +54 -0
- package/types/examples/jsm/shaders/TriangleBlurShader.d.ts +11 -0
- package/types/examples/jsm/shaders/UnpackDepthRGBAShader.d.ts +11 -0
- package/types/examples/jsm/shaders/VelocityShader.d.ts +16 -0
- package/types/examples/jsm/shaders/VerticalBlurShader.d.ts +10 -0
- package/types/examples/jsm/shaders/VerticalTiltShiftShader.d.ts +12 -0
- package/types/examples/jsm/shaders/VignetteShader.d.ts +11 -0
- package/types/examples/jsm/shaders/VolumeShader.d.ts +14 -0
- package/types/examples/jsm/shaders/WaterRefractionShader.d.ts +14 -0
- package/types/examples/jsm/textures/FlakesTexture.d.ts +3 -0
- package/types/examples/jsm/transpiler/AST.d.ts +7 -0
- package/types/examples/jsm/transpiler/GLSLDecoder.d.ts +7 -0
- package/types/examples/jsm/transpiler/ShaderToyDecoder.d.ts +3 -0
- package/types/examples/jsm/transpiler/TSLEncoder.d.ts +7 -0
- package/types/examples/jsm/transpiler/Transpiler.d.ts +5 -0
- package/types/examples/jsm/utils/BufferGeometryUtils.d.ts +37 -0
- package/types/examples/jsm/utils/CameraUtils.d.ts +9 -0
- package/types/examples/jsm/utils/GeometryCompressionUtils.d.ts +21 -0
- package/types/examples/jsm/utils/GeometryUtils.d.ts +25 -0
- package/types/examples/jsm/utils/LDrawUtils.d.ts +5 -0
- package/types/examples/jsm/utils/SceneUtils.d.ts +57 -0
- package/types/examples/jsm/utils/ShadowMapViewer.d.ts +26 -0
- package/types/examples/jsm/utils/ShadowMapViewerGPU.d.ts +26 -0
- package/types/examples/jsm/utils/SkeletonUtils.d.ts +32 -0
- package/types/examples/jsm/utils/SortUtils.d.ts +7 -0
- package/types/examples/jsm/utils/TextureUtils.d.ts +3 -0
- package/types/examples/jsm/utils/TextureUtilsGPU.d.ts +3 -0
- package/types/examples/jsm/utils/UVsDebug.d.ts +3 -0
- package/types/examples/jsm/utils/WorkerPool.d.ts +26 -0
- package/types/examples/jsm/webxr/ARButton.d.ts +9 -0
- package/types/examples/jsm/webxr/OculusHandModel.d.ts +23 -0
- package/types/examples/jsm/webxr/OculusHandPointerModel.d.ts +67 -0
- package/types/examples/jsm/webxr/Text2D.d.ts +3 -0
- package/types/examples/jsm/webxr/VRButton.d.ts +5 -0
- package/types/examples/jsm/webxr/XRButton.d.ts +5 -0
- package/types/examples/jsm/webxr/XRControllerModelFactory.d.ts +23 -0
- package/types/examples/jsm/webxr/XREstimatedLight.d.ts +69 -0
- package/types/examples/jsm/webxr/XRHandMeshModel.d.ts +19 -0
- package/types/examples/jsm/webxr/XRHandModelFactory.d.ts +32 -0
- package/types/examples/jsm/webxr/XRHandPrimitiveModel.d.ts +24 -0
- package/types/examples/jsm/webxr/XRPlanes.d.ts +5 -0
- package/types/globals.d.ts +9 -0
- package/types/index.d.ts +6 -0
- package/types/src/Three.Legacy.d.ts +20 -0
- package/types/src/Three.WebGPU.Nodes.d.ts +201 -0
- package/types/src/Three.WebGPU.d.ts +202 -0
- package/types/src/Three.d.ts +221 -0
- package/types/src/animation/AnimationAction.d.ts +86 -0
- package/types/src/animation/AnimationClip.d.ts +59 -0
- package/types/src/animation/AnimationMixer.d.ts +39 -0
- package/types/src/animation/AnimationObjectGroup.d.ts +17 -0
- package/types/src/animation/AnimationUtils.d.ts +60 -0
- package/types/src/animation/KeyframeTrack.d.ts +55 -0
- package/types/src/animation/PropertyBinding.d.ts +43 -0
- package/types/src/animation/PropertyMixer.d.ts +17 -0
- package/types/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
- package/types/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
- package/types/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
- package/types/src/audio/Audio.d.ts +273 -0
- package/types/src/audio/AudioAnalyser.d.ts +58 -0
- package/types/src/audio/AudioContext.d.ts +19 -0
- package/types/src/audio/AudioListener.d.ts +96 -0
- package/types/src/audio/PositionalAudio.d.ts +101 -0
- package/types/src/cameras/ArrayCamera.d.ts +32 -0
- package/types/src/cameras/Camera.d.ts +74 -0
- package/types/src/cameras/CubeCamera.d.ts +68 -0
- package/types/src/cameras/OrthographicCamera.d.ts +174 -0
- package/types/src/cameras/PerspectiveCamera.d.ts +254 -0
- package/types/src/cameras/StereoCamera.d.ts +50 -0
- package/types/src/constants.d.ts +926 -0
- package/types/src/core/BufferAttribute.d.ts +622 -0
- package/types/src/core/BufferGeometry.d.ts +422 -0
- package/types/src/core/Clock.d.ts +72 -0
- package/types/src/core/EventDispatcher.d.ts +82 -0
- package/types/src/core/GLBufferAttribute.d.ts +121 -0
- package/types/src/core/InstancedBufferAttribute.d.ts +32 -0
- package/types/src/core/InstancedBufferGeometry.d.ts +37 -0
- package/types/src/core/InstancedInterleavedBuffer.d.ts +22 -0
- package/types/src/core/InterleavedBuffer.d.ts +150 -0
- package/types/src/core/InterleavedBufferAttribute.d.ts +201 -0
- package/types/src/core/Layers.d.ts +72 -0
- package/types/src/core/Object3D.d.ts +674 -0
- package/types/src/core/Raycaster.d.ts +208 -0
- package/types/src/core/RenderTarget.d.ts +96 -0
- package/types/src/core/Uniform.d.ts +38 -0
- package/types/src/core/UniformsGroup.d.ts +33 -0
- package/types/src/extras/Controls.d.ts +54 -0
- package/types/src/extras/DataUtils.d.ts +22 -0
- package/types/src/extras/Earcut.d.ts +15 -0
- package/types/src/extras/ImageUtils.d.ts +32 -0
- package/types/src/extras/PMREMGenerator.d.ts +82 -0
- package/types/src/extras/ShapeUtils.d.ts +25 -0
- package/types/src/extras/TextureUtils.d.ts +42 -0
- package/types/src/extras/core/Curve.d.ts +162 -0
- package/types/src/extras/core/CurvePath.d.ts +77 -0
- package/types/src/extras/core/Interpolations.d.ts +36 -0
- package/types/src/extras/core/Path.d.ts +166 -0
- package/types/src/extras/core/Shape.d.ts +86 -0
- package/types/src/extras/core/ShapePath.d.ts +98 -0
- package/types/src/extras/curves/ArcCurve.d.ts +41 -0
- package/types/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
- package/types/src/extras/curves/CubicBezierCurve.d.ts +72 -0
- package/types/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
- package/types/src/extras/curves/Curves.d.ts +10 -0
- package/types/src/extras/curves/EllipseCurve.d.ts +115 -0
- package/types/src/extras/curves/LineCurve.d.ts +42 -0
- package/types/src/extras/curves/LineCurve3.d.ts +42 -0
- package/types/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
- package/types/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
- package/types/src/extras/curves/SplineCurve.d.ts +52 -0
- package/types/src/geometries/BoxGeometry.d.ts +59 -0
- package/types/src/geometries/CapsuleGeometry.d.ts +48 -0
- package/types/src/geometries/CircleGeometry.d.ts +51 -0
- package/types/src/geometries/ConeGeometry.d.ts +64 -0
- package/types/src/geometries/CylinderGeometry.d.ts +64 -0
- package/types/src/geometries/DodecahedronGeometry.d.ts +25 -0
- package/types/src/geometries/EdgesGeometry.d.ts +41 -0
- package/types/src/geometries/ExtrudeGeometry.d.ts +152 -0
- package/types/src/geometries/Geometries.d.ts +21 -0
- package/types/src/geometries/IcosahedronGeometry.d.ts +26 -0
- package/types/src/geometries/LatheGeometry.d.ts +55 -0
- package/types/src/geometries/OctahedronGeometry.d.ts +25 -0
- package/types/src/geometries/PlaneGeometry.d.ts +48 -0
- package/types/src/geometries/PolyhedronGeometry.d.ts +54 -0
- package/types/src/geometries/RingGeometry.d.ts +59 -0
- package/types/src/geometries/ShapeGeometry.d.ts +53 -0
- package/types/src/geometries/SphereGeometry.d.ts +67 -0
- package/types/src/geometries/TetrahedronGeometry.d.ts +25 -0
- package/types/src/geometries/TorusGeometry.d.ts +49 -0
- package/types/src/geometries/TorusKnotGeometry.d.ts +59 -0
- package/types/src/geometries/TubeGeometry.d.ts +86 -0
- package/types/src/geometries/WireframeGeometry.d.ts +40 -0
- package/types/src/helpers/ArrowHelper.d.ts +93 -0
- package/types/src/helpers/AxesHelper.d.ts +50 -0
- package/types/src/helpers/Box3Helper.d.ts +44 -0
- package/types/src/helpers/BoxHelper.d.ts +64 -0
- package/types/src/helpers/CameraHelper.d.ts +80 -0
- package/types/src/helpers/DirectionalLightHelper.d.ts +81 -0
- package/types/src/helpers/GridHelper.d.ts +47 -0
- package/types/src/helpers/HemisphereLightHelper.d.ts +72 -0
- package/types/src/helpers/PlaneHelper.d.ts +50 -0
- package/types/src/helpers/PointLightHelper.d.ts +73 -0
- package/types/src/helpers/PolarGridHelper.d.ts +55 -0
- package/types/src/helpers/SkeletonHelper.d.ts +78 -0
- package/types/src/helpers/SpotLightHelper.d.ts +77 -0
- package/types/src/lights/AmbientLight.d.ts +36 -0
- package/types/src/lights/DirectionalLight.d.ts +103 -0
- package/types/src/lights/DirectionalLightShadow.d.ts +73 -0
- package/types/src/lights/HemisphereLight.d.ts +61 -0
- package/types/src/lights/Light.d.ts +82 -0
- package/types/src/lights/LightProbe.d.ts +47 -0
- package/types/src/lights/LightShadow.d.ts +169 -0
- package/types/src/lights/PointLight.d.ts +102 -0
- package/types/src/lights/PointLightShadow.d.ts +22 -0
- package/types/src/lights/RectAreaLight.d.ts +82 -0
- package/types/src/lights/SpotLight.d.ts +164 -0
- package/types/src/lights/SpotLightShadow.d.ts +72 -0
- package/types/src/lights/webgpu/IESSpotLight.d.ts +6 -0
- package/types/src/loaders/AnimationLoader.d.ts +9 -0
- package/types/src/loaders/AudioLoader.d.ts +6 -0
- package/types/src/loaders/BufferGeometryLoader.d.ts +10 -0
- package/types/src/loaders/Cache.d.ts +21 -0
- package/types/src/loaders/CompressedTextureLoader.d.ts +14 -0
- package/types/src/loaders/CubeTextureLoader.d.ts +14 -0
- package/types/src/loaders/DataTextureLoader.d.ts +14 -0
- package/types/src/loaders/FileLoader.d.ts +19 -0
- package/types/src/loaders/ImageBitmapLoader.d.ts +22 -0
- package/types/src/loaders/ImageLoader.d.ts +17 -0
- package/types/src/loaders/Loader.d.ts +50 -0
- package/types/src/loaders/LoaderUtils.d.ts +10 -0
- package/types/src/loaders/LoadingManager.d.ts +69 -0
- package/types/src/loaders/MaterialLoader.d.ts +21 -0
- package/types/src/loaders/ObjectLoader.d.ts +35 -0
- package/types/src/loaders/TextureLoader.d.ts +18 -0
- package/types/src/loaders/nodes/NodeLoader.d.ts +21 -0
- package/types/src/loaders/nodes/NodeMaterialLoader.d.ts +11 -0
- package/types/src/loaders/nodes/NodeObjectLoader.d.ts +22 -0
- package/types/src/materials/LineBasicMaterial.d.ts +60 -0
- package/types/src/materials/LineDashedMaterial.d.ts +40 -0
- package/types/src/materials/Material.d.ts +631 -0
- package/types/src/materials/Materials.d.ts +18 -0
- package/types/src/materials/MeshBasicMaterial.d.ts +139 -0
- package/types/src/materials/MeshDepthMaterial.d.ts +76 -0
- package/types/src/materials/MeshDistanceMaterial.d.ts +62 -0
- package/types/src/materials/MeshLambertMaterial.d.ts +204 -0
- package/types/src/materials/MeshMatcapMaterial.d.ts +117 -0
- package/types/src/materials/MeshNormalMaterial.d.ts +93 -0
- package/types/src/materials/MeshPhongMaterial.d.ts +228 -0
- package/types/src/materials/MeshPhysicalMaterial.d.ts +236 -0
- package/types/src/materials/MeshStandardMaterial.d.ts +218 -0
- package/types/src/materials/MeshToonMaterial.d.ts +178 -0
- package/types/src/materials/PointsMaterial.d.ts +61 -0
- package/types/src/materials/RawShaderMaterial.d.ts +14 -0
- package/types/src/materials/ShaderMaterial.d.ts +167 -0
- package/types/src/materials/ShadowMaterial.d.ts +39 -0
- package/types/src/materials/SpriteMaterial.d.ts +66 -0
- package/types/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +33 -0
- package/types/src/materials/nodes/Line2NodeMaterial.d.ts +53 -0
- package/types/src/materials/nodes/LineBasicNodeMaterial.d.ts +22 -0
- package/types/src/materials/nodes/LineDashedNodeMaterial.d.ts +29 -0
- package/types/src/materials/nodes/MeshBasicNodeMaterial.d.ts +36 -0
- package/types/src/materials/nodes/MeshLambertNodeMaterial.d.ts +49 -0
- package/types/src/materials/nodes/MeshMatcapNodeMaterial.d.ts +32 -0
- package/types/src/materials/nodes/MeshNormalNodeMaterial.d.ts +28 -0
- package/types/src/materials/nodes/MeshPhongNodeMaterial.d.ts +56 -0
- package/types/src/materials/nodes/MeshPhysicalNodeMaterial.d.ts +93 -0
- package/types/src/materials/nodes/MeshSSSNodeMaterial.d.ts +16 -0
- package/types/src/materials/nodes/MeshStandardNodeMaterial.d.ts +56 -0
- package/types/src/materials/nodes/MeshToonNodeMaterial.d.ts +42 -0
- package/types/src/materials/nodes/NodeMaterial.d.ts +89 -0
- package/types/src/materials/nodes/NodeMaterials.d.ts +18 -0
- package/types/src/materials/nodes/PointsNodeMaterial.d.ts +21 -0
- package/types/src/materials/nodes/ShadowNodeMaterial.d.ts +17 -0
- package/types/src/materials/nodes/SpriteNodeMaterial.d.ts +26 -0
- package/types/src/materials/nodes/VolumeNodeMaterial.d.ts +10 -0
- package/types/src/materials/nodes/manager/NodeMaterialObserver.d.ts +81 -0
- package/types/src/math/Box2.d.ts +48 -0
- package/types/src/math/Box3.d.ts +66 -0
- package/types/src/math/Color.d.ts +358 -0
- package/types/src/math/ColorManagement.d.ts +49 -0
- package/types/src/math/Cylindrical.d.ts +26 -0
- package/types/src/math/Euler.d.ts +50 -0
- package/types/src/math/Frustum.d.ts +30 -0
- package/types/src/math/Interpolant.d.ts +10 -0
- package/types/src/math/Line3.d.ts +29 -0
- package/types/src/math/MathUtils.d.ts +137 -0
- package/types/src/math/Matrix2.d.ts +53 -0
- package/types/src/math/Matrix3.d.ts +184 -0
- package/types/src/math/Matrix4.d.ts +284 -0
- package/types/src/math/Plane.d.ts +47 -0
- package/types/src/math/Quaternion.d.ts +189 -0
- package/types/src/math/Ray.d.ts +60 -0
- package/types/src/math/Sphere.d.ts +47 -0
- package/types/src/math/Spherical.d.ts +27 -0
- package/types/src/math/SphericalHarmonics3.d.ts +50 -0
- package/types/src/math/Triangle.d.ts +110 -0
- package/types/src/math/Vector2.d.ts +321 -0
- package/types/src/math/Vector3.d.ts +301 -0
- package/types/src/math/Vector4.d.ts +239 -0
- package/types/src/math/interpolants/CubicInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/LinearInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
- package/types/src/nodes/Nodes.d.ts +176 -0
- package/types/src/nodes/TSL.d.ts +175 -0
- package/types/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
- package/types/src/nodes/accessors/BatchNode.d.ts +13 -0
- package/types/src/nodes/accessors/Bitangent.d.ts +9 -0
- package/types/src/nodes/accessors/BufferAttributeNode.d.ts +54 -0
- package/types/src/nodes/accessors/BufferNode.d.ts +17 -0
- package/types/src/nodes/accessors/Camera.d.ts +15 -0
- package/types/src/nodes/accessors/ClippingNode.d.ts +16 -0
- package/types/src/nodes/accessors/CubeTextureNode.d.ts +28 -0
- package/types/src/nodes/accessors/InstanceNode.d.ts +13 -0
- package/types/src/nodes/accessors/MaterialNode.d.ts +129 -0
- package/types/src/nodes/accessors/MaterialProperties.d.ts +4 -0
- package/types/src/nodes/accessors/MaterialReferenceNode.d.ts +15 -0
- package/types/src/nodes/accessors/ModelNode.d.ts +24 -0
- package/types/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
- package/types/src/nodes/accessors/MorphNode.d.ts +15 -0
- package/types/src/nodes/accessors/Normal.d.ts +25 -0
- package/types/src/nodes/accessors/Object3DNode.d.ts +22 -0
- package/types/src/nodes/accessors/PointUVNode.d.ts +10 -0
- package/types/src/nodes/accessors/Position.d.ts +10 -0
- package/types/src/nodes/accessors/ReferenceBaseNode.d.ts +27 -0
- package/types/src/nodes/accessors/ReferenceNode.d.ts +29 -0
- package/types/src/nodes/accessors/ReflectVector.d.ts +9 -0
- package/types/src/nodes/accessors/RendererReferenceNode.d.ts +15 -0
- package/types/src/nodes/accessors/SceneNode.d.ts +20 -0
- package/types/src/nodes/accessors/SkinningNode.d.ts +30 -0
- package/types/src/nodes/accessors/StorageBufferNode.d.ts +38 -0
- package/types/src/nodes/accessors/StorageTextureNode.d.ts +40 -0
- package/types/src/nodes/accessors/Tangent.d.ts +12 -0
- package/types/src/nodes/accessors/Texture3DNode.d.ts +17 -0
- package/types/src/nodes/accessors/TextureBicubic.d.ts +4 -0
- package/types/src/nodes/accessors/TextureNode.d.ts +66 -0
- package/types/src/nodes/accessors/TextureSizeNode.d.ts +18 -0
- package/types/src/nodes/accessors/UV.d.ts +4 -0
- package/types/src/nodes/accessors/UniformArrayNode.d.ts +30 -0
- package/types/src/nodes/accessors/UserDataNode.d.ts +15 -0
- package/types/src/nodes/accessors/VelocityNode.d.ts +16 -0
- package/types/src/nodes/accessors/VertexColorNode.d.ts +12 -0
- package/types/src/nodes/code/CodeNode.d.ts +23 -0
- package/types/src/nodes/code/ExpressionNode.d.ts +9 -0
- package/types/src/nodes/code/FunctionCallNode.d.ts +25 -0
- package/types/src/nodes/code/FunctionNode.d.ts +38 -0
- package/types/src/nodes/code/ScriptableNode.d.ts +22 -0
- package/types/src/nodes/code/ScriptableValueNode.d.ts +10 -0
- package/types/src/nodes/core/AssignNode.d.ts +18 -0
- package/types/src/nodes/core/AttributeNode.d.ts +16 -0
- package/types/src/nodes/core/BypassNode.d.ts +18 -0
- package/types/src/nodes/core/CacheNode.d.ts +20 -0
- package/types/src/nodes/core/ConstNode.d.ts +9 -0
- package/types/src/nodes/core/ContextNode.d.ts +24 -0
- package/types/src/nodes/core/IndexNode.d.ts +28 -0
- package/types/src/nodes/core/InputNode.d.ts +15 -0
- package/types/src/nodes/core/LightingModel.d.ts +46 -0
- package/types/src/nodes/core/MRTNode.d.ts +24 -0
- package/types/src/nodes/core/Node.d.ts +111 -0
- package/types/src/nodes/core/NodeAttribute.d.ts +9 -0
- package/types/src/nodes/core/NodeBuilder.d.ts +143 -0
- package/types/src/nodes/core/NodeCache.d.ts +52 -0
- package/types/src/nodes/core/NodeCode.d.ts +4 -0
- package/types/src/nodes/core/NodeFrame.d.ts +34 -0
- package/types/src/nodes/core/NodeFunction.d.ts +13 -0
- package/types/src/nodes/core/NodeFunctionInput.d.ts +7 -0
- package/types/src/nodes/core/NodeParser.d.ts +5 -0
- package/types/src/nodes/core/NodeUniform.d.ts +14 -0
- package/types/src/nodes/core/NodeUtils.d.ts +25 -0
- package/types/src/nodes/core/NodeVar.d.ts +7 -0
- package/types/src/nodes/core/NodeVarying.d.ts +7 -0
- package/types/src/nodes/core/OutputStructNode.d.ts +12 -0
- package/types/src/nodes/core/ParameterNode.d.ts +12 -0
- package/types/src/nodes/core/PropertyNode.d.ts +43 -0
- package/types/src/nodes/core/StackNode.d.ts +27 -0
- package/types/src/nodes/core/StructTypeNode.d.ts +9 -0
- package/types/src/nodes/core/TempNode.d.ts +10 -0
- package/types/src/nodes/core/UniformGroup.d.ts +7 -0
- package/types/src/nodes/core/UniformGroupNode.d.ts +21 -0
- package/types/src/nodes/core/UniformNode.d.ts +24 -0
- package/types/src/nodes/core/VarNode.d.ts +20 -0
- package/types/src/nodes/core/VaryingNode.d.ts +21 -0
- package/types/src/nodes/core/constants.d.ts +27 -0
- package/types/src/nodes/display/AfterImageNode.d.ts +19 -0
- package/types/src/nodes/display/AnaglyphPassNode.d.ts +14 -0
- package/types/src/nodes/display/AnamorphicNode.d.ts +25 -0
- package/types/src/nodes/display/BleachBypass.d.ts +4 -0
- package/types/src/nodes/display/BlendMode.d.ts +10 -0
- package/types/src/nodes/display/BloomNode.d.ts +29 -0
- package/types/src/nodes/display/BumpMapNode.d.ts +16 -0
- package/types/src/nodes/display/ColorAdjustment.d.ts +27 -0
- package/types/src/nodes/display/ColorSpaceFunctions.d.ts +6 -0
- package/types/src/nodes/display/ColorSpaceNode.d.ts +54 -0
- package/types/src/nodes/display/DenoiseNode.d.ts +32 -0
- package/types/src/nodes/display/DepthOfFieldNode.d.ts +26 -0
- package/types/src/nodes/display/DotScreenNode.d.ts +23 -0
- package/types/src/nodes/display/FXAANode.d.ts +13 -0
- package/types/src/nodes/display/FilmNode.d.ts +19 -0
- package/types/src/nodes/display/FrontFacingNode.d.ts +12 -0
- package/types/src/nodes/display/GTAONode.d.ts +40 -0
- package/types/src/nodes/display/GaussianBlurNode.d.ts +27 -0
- package/types/src/nodes/display/Lut3DNode.d.ts +24 -0
- package/types/src/nodes/display/MotionBlur.d.ts +8 -0
- package/types/src/nodes/display/NormalMapNode.d.ts +17 -0
- package/types/src/nodes/display/ParallaxBarrierPassNode.d.ts +14 -0
- package/types/src/nodes/display/PassNode.d.ts +71 -0
- package/types/src/nodes/display/PixelationPassNode.d.ts +31 -0
- package/types/src/nodes/display/PosterizeNode.d.ts +14 -0
- package/types/src/nodes/display/RGBShiftNode.d.ts +18 -0
- package/types/src/nodes/display/RenderOutputNode.d.ts +28 -0
- package/types/src/nodes/display/SSAAPassNode.d.ts +26 -0
- package/types/src/nodes/display/ScreenNode.d.ts +48 -0
- package/types/src/nodes/display/Sepia.d.ts +4 -0
- package/types/src/nodes/display/SobelOperatorNode.d.ts +13 -0
- package/types/src/nodes/display/StereoCompositePassNode.d.ts +17 -0
- package/types/src/nodes/display/StereoPassNode.d.ts +17 -0
- package/types/src/nodes/display/ToneMappingFunctions.d.ts +14 -0
- package/types/src/nodes/display/ToneMappingNode.d.ts +32 -0
- package/types/src/nodes/display/ToonOutlinePassNode.d.ts +24 -0
- package/types/src/nodes/display/TransitionNode.d.ts +35 -0
- package/types/src/nodes/display/ViewportDepthNode.d.ts +34 -0
- package/types/src/nodes/display/ViewportDepthTextureNode.d.ts +14 -0
- package/types/src/nodes/display/ViewportSharedTextureNode.d.ts +14 -0
- package/types/src/nodes/display/ViewportTextureNode.d.ts +28 -0
- package/types/src/nodes/fog/FogExp2Node.d.ts +14 -0
- package/types/src/nodes/fog/FogNode.d.ts +20 -0
- package/types/src/nodes/fog/FogRangeNode.d.ts +19 -0
- package/types/src/nodes/functions/BSDF/BRDF_GGX.d.ts +15 -0
- package/types/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
- package/types/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/LTC.d.ts +9 -0
- package/types/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +11 -0
- package/types/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +16 -0
- package/types/src/nodes/functions/BasicLightingModel.d.ts +7 -0
- package/types/src/nodes/functions/PhongLightingModel.d.ts +7 -0
- package/types/src/nodes/functions/PhysicalLightingModel.d.ts +30 -0
- package/types/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
- package/types/src/nodes/functions/ToonLightingModel.d.ts +4 -0
- package/types/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
- package/types/src/nodes/functions/material/getRoughness.d.ts +7 -0
- package/types/src/nodes/functions/material/getShIrradianceAt.d.ts +6 -0
- package/types/src/nodes/geometry/RangeNode.d.ts +19 -0
- package/types/src/nodes/gpgpu/ComputeNode.d.ts +24 -0
- package/types/src/nodes/lighting/AONode.d.ts +8 -0
- package/types/src/nodes/lighting/AmbientLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
- package/types/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
- package/types/src/nodes/lighting/DirectionalLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
- package/types/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
- package/types/src/nodes/lighting/IESSpotLightNode.d.ts +5 -0
- package/types/src/nodes/lighting/IrradianceNode.d.ts +8 -0
- package/types/src/nodes/lighting/LightNode.d.ts +18 -0
- package/types/src/nodes/lighting/LightProbeNode.d.ts +11 -0
- package/types/src/nodes/lighting/LightUtils.d.ts +9 -0
- package/types/src/nodes/lighting/LightingContextNode.d.ts +21 -0
- package/types/src/nodes/lighting/LightingNode.d.ts +7 -0
- package/types/src/nodes/lighting/LightsNode.d.ts +18 -0
- package/types/src/nodes/lighting/PointLightNode.d.ts +10 -0
- package/types/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
- package/types/src/nodes/lighting/SpotLightNode.d.ts +15 -0
- package/types/src/nodes/materialx/MaterialXNodes.d.ts +107 -0
- package/types/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
- package/types/src/nodes/materialx/lib/mx_noise.d.ts +359 -0
- package/types/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
- package/types/src/nodes/math/ConditionalNode.d.ts +39 -0
- package/types/src/nodes/math/Hash.d.ts +4 -0
- package/types/src/nodes/math/MathNode.d.ts +273 -0
- package/types/src/nodes/math/MathUtils.d.ts +6 -0
- package/types/src/nodes/math/OperatorNode.d.ts +97 -0
- package/types/src/nodes/math/TriNoise3D.d.ts +12 -0
- package/types/src/nodes/parsers/GLSLNodeFunction.d.ts +9 -0
- package/types/src/nodes/parsers/GLSLNodeParser.d.ts +8 -0
- package/types/src/nodes/pmrem/PMREMNode.d.ts +22 -0
- package/types/src/nodes/pmrem/PMREMUtils.d.ts +28 -0
- package/types/src/nodes/procedural/Checker.d.ts +4 -0
- package/types/src/nodes/tsl/TSLBase.d.ts +21 -0
- package/types/src/nodes/tsl/TSLCore.d.ts +273 -0
- package/types/src/nodes/utils/ArrayElementNode.d.ts +9 -0
- package/types/src/nodes/utils/ConvertNode.d.ts +7 -0
- package/types/src/nodes/utils/CubeMapNode.d.ts +13 -0
- package/types/src/nodes/utils/Discard.d.ts +11 -0
- package/types/src/nodes/utils/EquirectUVNode.d.ts +8 -0
- package/types/src/nodes/utils/FunctionOverloadingNode.d.ts +13 -0
- package/types/src/nodes/utils/JoinNode.d.ts +10 -0
- package/types/src/nodes/utils/LoopNode.d.ts +22 -0
- package/types/src/nodes/utils/MatcapUVNode.d.ts +8 -0
- package/types/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
- package/types/src/nodes/utils/OscNode.d.ts +25 -0
- package/types/src/nodes/utils/Packing.d.ts +5 -0
- package/types/src/nodes/utils/RTTNode.d.ts +45 -0
- package/types/src/nodes/utils/ReflectorNode.d.ts +32 -0
- package/types/src/nodes/utils/RemapNode.d.ts +36 -0
- package/types/src/nodes/utils/RotateNode.d.ts +15 -0
- package/types/src/nodes/utils/SetNode.d.ts +11 -0
- package/types/src/nodes/utils/SplitNode.d.ts +15 -0
- package/types/src/nodes/utils/SpriteSheetUVNode.d.ts +16 -0
- package/types/src/nodes/utils/SpriteUtils.d.ts +6 -0
- package/types/src/nodes/utils/StorageArrayElementNode.d.ts +19 -0
- package/types/src/nodes/utils/TimerNode.d.ts +25 -0
- package/types/src/nodes/utils/TriplanarTexturesNode.d.ts +36 -0
- package/types/src/nodes/utils/UVUtils.d.ts +14 -0
- package/types/src/nodes/utils/ViewportUtils.d.ts +4 -0
- package/types/src/objects/BatchedMesh.d.ts +230 -0
- package/types/src/objects/Bone.d.ts +36 -0
- package/types/src/objects/Group.d.ts +37 -0
- package/types/src/objects/InstancedMesh.d.ts +179 -0
- package/types/src/objects/LOD.d.ts +111 -0
- package/types/src/objects/Line.d.ts +87 -0
- package/types/src/objects/LineLoop.d.ts +40 -0
- package/types/src/objects/LineSegments.d.ts +41 -0
- package/types/src/objects/Mesh.d.ts +94 -0
- package/types/src/objects/Points.d.ts +66 -0
- package/types/src/objects/Skeleton.d.ts +120 -0
- package/types/src/objects/SkinnedMesh.d.ts +160 -0
- package/types/src/objects/Sprite.d.ts +65 -0
- package/types/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
- package/types/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
- package/types/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
- package/types/src/renderers/WebGLRenderTarget.d.ts +8 -0
- package/types/src/renderers/WebGLRenderer.d.ts +552 -0
- package/types/src/renderers/common/Animation.d.ts +13 -0
- package/types/src/renderers/common/Attributes.d.ts +22 -0
- package/types/src/renderers/common/Backend.d.ts +19 -0
- package/types/src/renderers/common/Background.d.ts +23 -0
- package/types/src/renderers/common/BindGroup.d.ts +16 -0
- package/types/src/renderers/common/Binding.d.ts +8 -0
- package/types/src/renderers/common/Bindings.d.ts +42 -0
- package/types/src/renderers/common/Buffer.d.ts +11 -0
- package/types/src/renderers/common/BufferUtils.d.ts +4 -0
- package/types/src/renderers/common/BundleGroup.d.ts +10 -0
- package/types/src/renderers/common/ChainMap.d.ts +9 -0
- package/types/src/renderers/common/ClippingContext.d.ts +24 -0
- package/types/src/renderers/common/Color4.d.ts +10 -0
- package/types/src/renderers/common/ComputePipeline.d.ts +8 -0
- package/types/src/renderers/common/Constants.d.ts +9 -0
- package/types/src/renderers/common/CubeRenderTarget.d.ts +10 -0
- package/types/src/renderers/common/DataMap.d.ts +20 -0
- package/types/src/renderers/common/Geometries.d.ts +31 -0
- package/types/src/renderers/common/Info.d.ts +34 -0
- package/types/src/renderers/common/Pipeline.d.ts +6 -0
- package/types/src/renderers/common/Pipelines.d.ts +68 -0
- package/types/src/renderers/common/PostProcessing.d.ts +21 -0
- package/types/src/renderers/common/ProgrammableStage.d.ts +15 -0
- package/types/src/renderers/common/QuadMesh.d.ts +16 -0
- package/types/src/renderers/common/RenderBundle.d.ts +9 -0
- package/types/src/renderers/common/RenderBundles.d.ts +11 -0
- package/types/src/renderers/common/RenderContext.d.ts +43 -0
- package/types/src/renderers/common/RenderContexts.d.ts +17 -0
- package/types/src/renderers/common/RenderList.d.ts +67 -0
- package/types/src/renderers/common/RenderLists.d.ts +11 -0
- package/types/src/renderers/common/RenderObject.d.ts +94 -0
- package/types/src/renderers/common/RenderObjects.d.ts +62 -0
- package/types/src/renderers/common/RenderPipeline.d.ts +8 -0
- package/types/src/renderers/common/Renderer.d.ts +296 -0
- package/types/src/renderers/common/SampledTexture.d.ts +33 -0
- package/types/src/renderers/common/Sampler.d.ts +11 -0
- package/types/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
- package/types/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
- package/types/src/renderers/common/StorageTexture.d.ts +5 -0
- package/types/src/renderers/common/Textures.d.ts +68 -0
- package/types/src/renderers/common/Uniform.d.ts +45 -0
- package/types/src/renderers/common/UniformBuffer.d.ts +6 -0
- package/types/src/renderers/common/UniformsGroup.d.ts +32 -0
- package/types/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
- package/types/src/renderers/common/nodes/NodeBuilderState.d.ts +31 -0
- package/types/src/renderers/common/nodes/NodeLibrary.d.ts +56 -0
- package/types/src/renderers/common/nodes/NodeSampledTexture.d.ts +29 -0
- package/types/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
- package/types/src/renderers/common/nodes/NodeUniform.d.ts +68 -0
- package/types/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
- package/types/src/renderers/common/nodes/Nodes.d.ts +114 -0
- package/types/src/renderers/common/nodes/StandardNodeLibrary.d.ts +5 -0
- package/types/src/renderers/shaders/ShaderChunk.d.ts +143 -0
- package/types/src/renderers/shaders/ShaderLib.d.ts +29 -0
- package/types/src/renderers/shaders/UniformsLib.d.ts +189 -0
- package/types/src/renderers/shaders/UniformsUtils.d.ts +14 -0
- package/types/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
- package/types/src/renderers/webgl/WebGLBindingStates.d.ts +26 -0
- package/types/src/renderers/webgl/WebGLBufferRenderer.d.ts +21 -0
- package/types/src/renderers/webgl/WebGLCapabilities.d.ts +48 -0
- package/types/src/renderers/webgl/WebGLClipping.d.ts +26 -0
- package/types/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
- package/types/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
- package/types/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
- package/types/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
- package/types/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +15 -0
- package/types/src/renderers/webgl/WebGLInfo.d.ts +39 -0
- package/types/src/renderers/webgl/WebGLLights.d.ts +49 -0
- package/types/src/renderers/webgl/WebGLObjects.d.ts +6 -0
- package/types/src/renderers/webgl/WebGLProgram.d.ts +30 -0
- package/types/src/renderers/webgl/WebGLPrograms.d.ts +240 -0
- package/types/src/renderers/webgl/WebGLProperties.d.ts +9 -0
- package/types/src/renderers/webgl/WebGLRenderLists.d.ts +66 -0
- package/types/src/renderers/webgl/WebGLShader.d.ts +1 -0
- package/types/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
- package/types/src/renderers/webgl/WebGLState.d.ts +116 -0
- package/types/src/renderers/webgl/WebGLTextures.d.ts +30 -0
- package/types/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
- package/types/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
- package/types/src/renderers/webgl/WebGLUtils.d.ts +11 -0
- package/types/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
- package/types/src/renderers/webgpu/WebGPUBackend.d.ts +25 -0
- package/types/src/renderers/webgpu/WebGPURenderer.Nodes.d.ts +12 -0
- package/types/src/renderers/webgpu/WebGPURenderer.d.ts +14 -0
- package/types/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +5 -0
- package/types/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +5 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +125 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
- package/types/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
- package/types/src/renderers/webxr/WebXRController.d.ts +63 -0
- package/types/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
- package/types/src/renderers/webxr/WebXRManager.d.ts +85 -0
- package/types/src/scenes/Fog.d.ts +77 -0
- package/types/src/scenes/FogExp2.d.ts +66 -0
- package/types/src/scenes/Scene.d.ts +118 -0
- package/types/src/textures/CanvasTexture.d.ts +51 -0
- package/types/src/textures/CompressedArrayTexture.d.ts +68 -0
- package/types/src/textures/CompressedCubeTexture.d.ts +13 -0
- package/types/src/textures/CompressedTexture.d.ts +95 -0
- package/types/src/textures/CubeTexture.d.ts +90 -0
- package/types/src/textures/Data3DTexture.d.ts +96 -0
- package/types/src/textures/DataArrayTexture.d.ts +123 -0
- package/types/src/textures/DataTexture.d.ts +113 -0
- package/types/src/textures/DepthTexture.d.ts +104 -0
- package/types/src/textures/FramebufferTexture.d.ts +62 -0
- package/types/src/textures/Source.d.ts +75 -0
- package/types/src/textures/Texture.d.ts +477 -0
- package/types/src/textures/VideoTexture.d.ts +90 -0
- package/types/src/textures/types.d.ts +9 -0
- package/types/src/utils.d.ts +3 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Vector2 } from "../../math/Vector2.js";
|
|
2
|
+
import { Vector3 } from "../../math/Vector3.js";
|
|
3
|
+
|
|
4
|
+
export interface CurveJSON {
|
|
5
|
+
metadata: { version: number; type: string; generator: string };
|
|
6
|
+
arcLengthDivisions: number;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* An abstract base class for creating a {@link Curve} object that contains methods for interpolation
|
|
12
|
+
* @remarks
|
|
13
|
+
* For an array of Curves see {@link THREE.CurvePath | CurvePath}.
|
|
14
|
+
* @remarks
|
|
15
|
+
* This following curves inherit from THREE.Curve:
|
|
16
|
+
*
|
|
17
|
+
* **2D curves**
|
|
18
|
+
* - {@link THREE.ArcCurve}
|
|
19
|
+
* - {@link THREE.CubicBezierCurve}
|
|
20
|
+
* - {@link THREE.EllipseCurve}
|
|
21
|
+
* - {@link THREE.LineCurve}
|
|
22
|
+
* - {@link THREE.QuadraticBezierCurve}
|
|
23
|
+
* - {@link THREE.SplineCurve}
|
|
24
|
+
*
|
|
25
|
+
* **3D curves**
|
|
26
|
+
* - {@link THREE.CatmullRomCurve3}
|
|
27
|
+
* - {@link THREE.CubicBezierCurve3}
|
|
28
|
+
* - {@link THREE.LineCurve3}
|
|
29
|
+
* - {@link THREE.QuadraticBezierCurve3}
|
|
30
|
+
*
|
|
31
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Curve | Official Documentation}
|
|
32
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Curve.js | Source}
|
|
33
|
+
*/
|
|
34
|
+
export abstract class Curve<TVector extends Vector2 | Vector3> {
|
|
35
|
+
protected constructor();
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* A Read-only _string_ to check if `this` object type.
|
|
39
|
+
* @remarks Sub-classes will update this value.
|
|
40
|
+
* @defaultValue `Curve`
|
|
41
|
+
*/
|
|
42
|
+
readonly type: string | "Curve";
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* This value determines the amount of divisions when calculating the cumulative segment lengths of a {@link Curve}
|
|
46
|
+
* via {@link .getLengths}.
|
|
47
|
+
* To ensure precision when using methods like {@link .getSpacedPoints}, it is recommended to increase {@link .arcLengthDivisions} if the {@link Curve} is very large.
|
|
48
|
+
* @defaultValue `200`
|
|
49
|
+
* @remarks Expects a `Integer`
|
|
50
|
+
*/
|
|
51
|
+
arcLengthDivisions: number;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns a vector for a given position on the curve.
|
|
55
|
+
* @param t A position on the curve. Must be in the range `[ 0, 1 ]`. Expects a `Float`
|
|
56
|
+
* @param optionalTarget If specified, the result will be copied into this Vector, otherwise a new Vector will be created. Default `new T`.
|
|
57
|
+
*/
|
|
58
|
+
getPoint(t: number, optionalTarget?: TVector): TVector;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns a vector for a given position on the {@link Curve} according to the arc length.
|
|
62
|
+
* @param u A position on the {@link Curve} according to the arc length. Must be in the range `[ 0, 1 ]`. Expects a `Float`
|
|
63
|
+
* @param optionalTarget If specified, the result will be copied into this Vector, otherwise a new Vector will be created. Default `new T`.
|
|
64
|
+
*/
|
|
65
|
+
getPointAt(u: number, optionalTarget?: TVector): TVector;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Returns a set of divisions `+1` points using {@link .getPoint | getPoint(t)}.
|
|
69
|
+
* @param divisions Number of pieces to divide the {@link Curve} into. Expects a `Integer`. Default `5`
|
|
70
|
+
*/
|
|
71
|
+
getPoints(divisions?: number): TVector[];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Returns a set of divisions `+1` equi-spaced points using {@link .getPointAt | getPointAt(u)}.
|
|
75
|
+
* @param divisions Number of pieces to divide the {@link Curve} into. Expects a `Integer`. Default `5`
|
|
76
|
+
*/
|
|
77
|
+
getSpacedPoints(divisions?: number): TVector[];
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Get total {@link Curve} arc length.
|
|
81
|
+
*/
|
|
82
|
+
getLength(): number;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Get list of cumulative segment lengths.
|
|
86
|
+
* @param divisions Expects a `Integer`
|
|
87
|
+
*/
|
|
88
|
+
getLengths(divisions?: number): number[];
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Update the cumulative segment distance cache
|
|
92
|
+
* @remarks
|
|
93
|
+
* The method must be called every time {@link Curve} parameters are changed
|
|
94
|
+
* If an updated {@link Curve} is part of a composed {@link Curve} like {@link THREE.CurvePath | CurvePath},
|
|
95
|
+
* {@link .updateArcLengths}() must be called on the composed curve, too.
|
|
96
|
+
*/
|
|
97
|
+
updateArcLengths(): void;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Given u in the range `[ 0, 1 ]`,
|
|
101
|
+
* @remarks
|
|
102
|
+
* `u` and `t` can then be used to give you points which are equidistant from the ends of the curve, using {@link .getPoint}.
|
|
103
|
+
* @param u Expects a `Float`
|
|
104
|
+
* @param distance Expects a `Float`
|
|
105
|
+
* @returns `t` also in the range `[ 0, 1 ]`. Expects a `Float`.
|
|
106
|
+
*/
|
|
107
|
+
getUtoTmapping(u: number, distance: number): number;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Returns a unit vector tangent at t
|
|
111
|
+
* @remarks
|
|
112
|
+
* If the derived {@link Curve} does not implement its tangent derivation, two points a small delta apart will be used to find its gradient which seems to give a reasonable approximation.
|
|
113
|
+
* @param t A position on the curve. Must be in the range `[ 0, 1 ]`. Expects a `Float`
|
|
114
|
+
* @param optionalTarget If specified, the result will be copied into this Vector, otherwise a new Vector will be created.
|
|
115
|
+
*/
|
|
116
|
+
getTangent(t: number, optionalTarget?: TVector): TVector;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns tangent at a point which is equidistant to the ends of the {@link Curve} from the point given in {@link .getTangent}.
|
|
120
|
+
* @param u A position on the {@link Curve} according to the arc length. Must be in the range `[ 0, 1 ]`. Expects a `Float`
|
|
121
|
+
* @param optionalTarget If specified, the result will be copied into this Vector, otherwise a new Vector will be created.
|
|
122
|
+
*/
|
|
123
|
+
getTangentAt(u: number, optionalTarget?: TVector): TVector;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Generates the Frenet Frames
|
|
127
|
+
* @remarks
|
|
128
|
+
* Requires a {@link Curve} definition in 3D space
|
|
129
|
+
* Used in geometries like {@link THREE.TubeGeometry | TubeGeometry} or {@link THREE.ExtrudeGeometry | ExtrudeGeometry}.
|
|
130
|
+
* @param segments Expects a `Integer`
|
|
131
|
+
* @param closed
|
|
132
|
+
*/
|
|
133
|
+
computeFrenetFrames(
|
|
134
|
+
segments: number,
|
|
135
|
+
closed?: boolean,
|
|
136
|
+
): {
|
|
137
|
+
tangents: Vector3[];
|
|
138
|
+
normals: Vector3[];
|
|
139
|
+
binormals: Vector3[];
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Creates a clone of this instance.
|
|
144
|
+
*/
|
|
145
|
+
clone(): this;
|
|
146
|
+
/**
|
|
147
|
+
* Copies another {@link Curve} object to this instance.
|
|
148
|
+
* @param source
|
|
149
|
+
*/
|
|
150
|
+
copy(source: Curve<TVector>): this;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Returns a JSON object representation of this instance.
|
|
154
|
+
*/
|
|
155
|
+
toJSON(): CurveJSON;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Copies the data from the given JSON object to this instance.
|
|
159
|
+
* @param json
|
|
160
|
+
*/
|
|
161
|
+
fromJSON(json: CurveJSON): this;
|
|
162
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Vector2 } from "../../math/Vector2.js";
|
|
2
|
+
import { Vector3 } from "../../math/Vector3.js";
|
|
3
|
+
import { Curve, CurveJSON } from "./Curve.js";
|
|
4
|
+
|
|
5
|
+
export interface CurvePathJSON extends CurveJSON {
|
|
6
|
+
autoClose: boolean;
|
|
7
|
+
curves: CurveJSON[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Curved Path - a curve path is simply a array of connected curves, but retains the api of a curve.
|
|
12
|
+
* @remarks
|
|
13
|
+
* A {@link CurvePath} is simply an array of connected curves, but retains the api of a curve.
|
|
14
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/CurvePath | Official Documentation}
|
|
15
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/CurvePath.js | Source}
|
|
16
|
+
*/
|
|
17
|
+
export class CurvePath<TVector extends Vector2 | Vector3> extends Curve<TVector> {
|
|
18
|
+
/**
|
|
19
|
+
* The constructor take no parameters.
|
|
20
|
+
*/
|
|
21
|
+
constructor();
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A Read-only _string_ to check if `this` object type.
|
|
25
|
+
* @remarks Sub-classes will update this value.
|
|
26
|
+
* @defaultValue `CurvePath`
|
|
27
|
+
*/
|
|
28
|
+
override readonly type: string | "CurvePath";
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The array of {@link Curve | Curves}.
|
|
32
|
+
* @defaultValue `[]`
|
|
33
|
+
*/
|
|
34
|
+
curves: Array<Curve<TVector>>;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Whether or not to automatically close the path.
|
|
38
|
+
* @defaultValue false
|
|
39
|
+
*/
|
|
40
|
+
autoClose: boolean;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Add a curve to the {@link .curves} array.
|
|
44
|
+
* @param curve
|
|
45
|
+
*/
|
|
46
|
+
add(curve: Curve<TVector>): void;
|
|
47
|
+
/**
|
|
48
|
+
* Adds a {@link LineCurve | lineCurve} to close the path.
|
|
49
|
+
*/
|
|
50
|
+
closePath(): this;
|
|
51
|
+
|
|
52
|
+
getPoint(t: number, optionalTarget?: TVector): TVector;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Get list of cumulative curve lengths of the curves in the {@link .curves} array.
|
|
56
|
+
*/
|
|
57
|
+
getCurveLengths(): number[];
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Returns an array of points representing a sequence of curves
|
|
61
|
+
* @remarks
|
|
62
|
+
* The `division` parameter defines the number of pieces each curve is divided into
|
|
63
|
+
* However, for optimization and quality purposes, the actual sampling resolution for each curve depends on its type
|
|
64
|
+
* For example, for a {@link THREE.LineCurve | LineCurve}, the returned number of points is always just 2.
|
|
65
|
+
* @param divisions Number of pieces to divide the curve into. Expects a `Integer`. Default `12`
|
|
66
|
+
*/
|
|
67
|
+
override getPoints(divisions?: number): TVector[];
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Returns a set of divisions `+1` equi-spaced points using {@link .getPointAt | getPointAt(u)}.
|
|
71
|
+
* @param divisions Number of pieces to divide the curve into. Expects a `Integer`. Default `40`
|
|
72
|
+
*/
|
|
73
|
+
override getSpacedPoints(divisions?: number): TVector[];
|
|
74
|
+
|
|
75
|
+
toJSON(): CurvePathJSON;
|
|
76
|
+
fromJSON(json: CurvePathJSON): this;
|
|
77
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Used internally by {@link THREE.SplineCurve | SplineCurve}.
|
|
3
|
+
* @param t Interpolation weight. Expects a `Float`
|
|
4
|
+
* @param p0 Expects a `Float`
|
|
5
|
+
* @param p1 Expects a `Float`
|
|
6
|
+
* @param p2 Expects a `Float`
|
|
7
|
+
* @param p3 P0, p1, p2, the points defining the spline curve. Expects a `Float`
|
|
8
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Interpolations | Official Documentation}
|
|
9
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Interpolations.js | Source}
|
|
10
|
+
*/
|
|
11
|
+
declare function CatmullRom(t: number, p0: number, p1: number, p2: number, p3: number): number;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Used internally by {@link THREE.QuadraticBezierCurve3 | QuadraticBezierCurve3} and {@link THREE.QuadraticBezierCurve | QuadraticBezierCurve}.
|
|
15
|
+
* @param t Interpolation weight. Expects a `Float`
|
|
16
|
+
* @param p0 Expects a `Float`
|
|
17
|
+
* @param p1 Expects a `Float`
|
|
18
|
+
* @param p2 P0, p1, the starting, control and end points defining the curve. Expects a `Float`
|
|
19
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Interpolations | Official Documentation}
|
|
20
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Interpolations.js | Source}
|
|
21
|
+
*/
|
|
22
|
+
declare function QuadraticBezier(t: number, p0: number, p1: number, p2: number): number;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Used internally by {@link THREE.CubicBezierCurve3 | CubicBezierCurve3} and {@link THREE.CubicBezierCurve | CubicBezierCurve}.
|
|
26
|
+
* @param t Interpolation weight. Expects a `Float`
|
|
27
|
+
* @param p0 Expects a `Float`
|
|
28
|
+
* @param p1 Expects a `Float`
|
|
29
|
+
* @param p2 Expects a `Float`
|
|
30
|
+
* @param p3 P0, p1, p2, the starting, control(twice) and end points defining the curve. Expects a `Float`
|
|
31
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Interpolations | Official Documentation}
|
|
32
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Interpolations.js | Source}
|
|
33
|
+
*/
|
|
34
|
+
declare function CubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
|
|
35
|
+
|
|
36
|
+
export { CatmullRom, CubicBezier, QuadraticBezier };
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Vector2, Vector2Tuple } from "../../math/Vector2.js";
|
|
2
|
+
import { CurvePath, CurvePathJSON } from "./CurvePath.js";
|
|
3
|
+
|
|
4
|
+
export interface PathJSON extends CurvePathJSON {
|
|
5
|
+
currentPoint: Vector2Tuple;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A 2D {@link Path} representation.
|
|
10
|
+
* @remarks
|
|
11
|
+
* The class provides methods for creating paths and contours of 2D shapes similar to the 2D Canvas API.
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const {@link Path} = new THREE.Path();
|
|
15
|
+
* path.lineTo(0, 0.8);
|
|
16
|
+
* path.quadraticCurveTo(0, 1, 0.2, 1);
|
|
17
|
+
* path.lineTo(1, 1);
|
|
18
|
+
* const points = path.getPoints();
|
|
19
|
+
* const geometry = new THREE.BufferGeometry().setFromPoints(points);
|
|
20
|
+
* const material = new THREE.LineBasicMaterial({
|
|
21
|
+
* color: 0xffffff
|
|
22
|
+
* });
|
|
23
|
+
* const line = new THREE.Line(geometry, material);
|
|
24
|
+
* scene.add(line);
|
|
25
|
+
* ```
|
|
26
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Path | Official Documentation}
|
|
27
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Path.js | Source}
|
|
28
|
+
*/
|
|
29
|
+
export class Path extends CurvePath<Vector2> {
|
|
30
|
+
/**
|
|
31
|
+
* Creates a {@link Path} from the points
|
|
32
|
+
* @remarks
|
|
33
|
+
* The first point defines the offset, then successive points are added to the {@link CurvePath.curves | curves} array as {@link LineCurve | LineCurves}.
|
|
34
|
+
* If no points are specified, an empty {@link Path} is created and the {@link .currentPoint} is set to the origin.
|
|
35
|
+
* @param points Array of {@link Vector2 | Vector2s}.
|
|
36
|
+
*/
|
|
37
|
+
constructor(points?: Vector2[]);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A Read-only _string_ to check if `this` object type.
|
|
41
|
+
* @remarks Sub-classes will update this value.
|
|
42
|
+
* @defaultValue `Path`
|
|
43
|
+
*/
|
|
44
|
+
override readonly type: string | "Path";
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The current offset of the path. Any new {@link THREE.Curve | Curve} added will start here.
|
|
48
|
+
* @defaultValue `new THREE.Vector2()`
|
|
49
|
+
*/
|
|
50
|
+
currentPoint: Vector2;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Adds an absolutely positioned {@link THREE.EllipseCurve | EllipseCurve} to the path.
|
|
54
|
+
* @param x Expects a `Float`
|
|
55
|
+
* @param y X, The absolute center of the arc. Expects a `Float`
|
|
56
|
+
* @param radius The radius of the arc. Expects a `Float`
|
|
57
|
+
* @param startAngle The start angle in radians. Expects a `Float`
|
|
58
|
+
* @param endAngle The end angle in radians. Expects a `Float`
|
|
59
|
+
* @param clockwise Sweep the arc clockwise. Default `false`
|
|
60
|
+
*/
|
|
61
|
+
absarc(aX: number, aY: number, aRadius: number, aStartAngle: number, aEndAngle: number, aClockwise?: boolean): this;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Adds an absolutely positioned {@link THREE.EllipseCurve | EllipseCurve} to the path.
|
|
65
|
+
* @param x Expects a `Float`
|
|
66
|
+
* @param y X, The absolute center of the ellipse. Expects a `Float`
|
|
67
|
+
* @param xRadius The radius of the ellipse in the x axis. Expects a `Float`
|
|
68
|
+
* @param yRadius The radius of the ellipse in the y axis. Expects a `Float`
|
|
69
|
+
* @param startAngle The start angle in radians. Expects a `Float`
|
|
70
|
+
* @param endAngle The end angle in radians. Expects a `Float`
|
|
71
|
+
* @param clockwise Sweep the ellipse clockwise. Default `false`
|
|
72
|
+
* @param rotation The rotation angle of the ellipse in radians, counterclockwise from the positive X axis. Optional, Expects a `Float`. Default `0`
|
|
73
|
+
*/
|
|
74
|
+
absellipse(
|
|
75
|
+
aX: number,
|
|
76
|
+
aY: number,
|
|
77
|
+
xRadius: number,
|
|
78
|
+
yRadius: number,
|
|
79
|
+
aStartAngle: number,
|
|
80
|
+
aEndAngle: number,
|
|
81
|
+
aClockwise?: boolean,
|
|
82
|
+
aRotation?: number,
|
|
83
|
+
): this;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Adds an {@link THREE.EllipseCurve | EllipseCurve} to the path, positioned relative to {@link .currentPoint}.
|
|
87
|
+
* @param x Expects a `Float`
|
|
88
|
+
* @param y X, The center of the arc offset from the last call. Expects a `Float`
|
|
89
|
+
* @param radius The radius of the arc. Expects a `Float`
|
|
90
|
+
* @param startAngle The start angle in radians. Expects a `Float`
|
|
91
|
+
* @param endAngle The end angle in radians. Expects a `Float`
|
|
92
|
+
* @param clockwise Sweep the arc clockwise. Default `false`
|
|
93
|
+
*/
|
|
94
|
+
arc(aX: number, aY: number, aRadius: number, aStartAngle: number, aEndAngle: number, aClockwise?: boolean): this;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* This creates a bezier curve from {@link .currentPoint} with (cp1X, cp1Y) and (cp2X, cp2Y) as control points and updates {@link .currentPoint} to x and y.
|
|
98
|
+
* @param cp1X Expects a `Float`
|
|
99
|
+
* @param cp1Y Expects a `Float`
|
|
100
|
+
* @param cp2X Expects a `Float`
|
|
101
|
+
* @param cp2Y Expects a `Float`
|
|
102
|
+
* @param x Expects a `Float`
|
|
103
|
+
* @param y Expects a `Float`
|
|
104
|
+
*/
|
|
105
|
+
bezierCurveTo(aCP1x: number, aCP1y: number, aCP2x: number, aCP2y: number, aX: number, aY: number): this;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Adds an {@link THREE.EllipseCurve | EllipseCurve} to the path, positioned relative to {@link .currentPoint}.
|
|
109
|
+
* @param x Expects a `Float`
|
|
110
|
+
* @param y X, The center of the ellipse offset from the last call. Expects a `Float`
|
|
111
|
+
* @param xRadius The radius of the ellipse in the x axis. Expects a `Float`
|
|
112
|
+
* @param yRadius The radius of the ellipse in the y axis. Expects a `Float`
|
|
113
|
+
* @param startAngle The start angle in radians. Expects a `Float`
|
|
114
|
+
* @param endAngle The end angle in radians. Expects a `Float`
|
|
115
|
+
* @param clockwise Sweep the ellipse clockwise. Default `false`
|
|
116
|
+
* @param rotation The rotation angle of the ellipse in radians, counterclockwise from the positive X axis. Optional, Expects a `Float`. Default `0`
|
|
117
|
+
*/
|
|
118
|
+
ellipse(
|
|
119
|
+
aX: number,
|
|
120
|
+
aY: number,
|
|
121
|
+
xRadius: number,
|
|
122
|
+
yRadius: number,
|
|
123
|
+
aStartAngle: number,
|
|
124
|
+
aEndAngle: number,
|
|
125
|
+
aClockwise?: boolean,
|
|
126
|
+
aRotation?: number,
|
|
127
|
+
): this;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Connects a {@link THREE.LineCurve | LineCurve} from {@link .currentPoint} to x, y onto the path.
|
|
131
|
+
* @param x Expects a `Float`
|
|
132
|
+
* @param y Expects a `Float`
|
|
133
|
+
*/
|
|
134
|
+
lineTo(x: number, y: number): this;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Move the {@link .currentPoint} to x, y.
|
|
138
|
+
* @param x Expects a `Float`
|
|
139
|
+
* @param y Expects a `Float`
|
|
140
|
+
*/
|
|
141
|
+
moveTo(x: number, y: number): this;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Creates a quadratic curve from {@link .currentPoint} with cpX and cpY as control point and updates {@link .currentPoint} to x and y.
|
|
145
|
+
* @param cpX Expects a `Float`
|
|
146
|
+
* @param cpY Expects a `Float`
|
|
147
|
+
* @param x Expects a `Float`
|
|
148
|
+
* @param y Expects a `Float`
|
|
149
|
+
*/
|
|
150
|
+
quadraticCurveTo(aCPx: number, aCPy: number, aX: number, aY: number): this;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Points are added to the {@link CurvePath.curves | curves} array as {@link THREE.LineCurve | LineCurves}.
|
|
154
|
+
* @param vector2s
|
|
155
|
+
*/
|
|
156
|
+
setFromPoints(vectors: Vector2[]): this;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Connects a new {@link THREE.SplineCurve | SplineCurve} onto the path.
|
|
160
|
+
* @param points An array of {@link Vector2 | Vector2's}
|
|
161
|
+
*/
|
|
162
|
+
splineThru(pts: Vector2[]): this;
|
|
163
|
+
|
|
164
|
+
toJSON(): PathJSON;
|
|
165
|
+
fromJSON(json: PathJSON): this;
|
|
166
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Vector2 } from "../../math/Vector2.js";
|
|
2
|
+
import { Path, PathJSON } from "./Path.js";
|
|
3
|
+
|
|
4
|
+
export interface ShapeJSON extends PathJSON {
|
|
5
|
+
uuid: string;
|
|
6
|
+
holes: PathJSON[];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Defines an arbitrary 2d {@link Shape} plane using paths with optional holes
|
|
11
|
+
* @remarks
|
|
12
|
+
* It can be used with {@link THREE.ExtrudeGeometry | ExtrudeGeometry}, {@link THREE.ShapeGeometry | ShapeGeometry}, to get points, or to get triangulated faces.
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const heartShape = new THREE.Shape();
|
|
16
|
+
* heartShape.moveTo(25, 25);
|
|
17
|
+
* heartShape.bezierCurveTo(25, 25, 20, 0, 0, 0);
|
|
18
|
+
* heartShape.bezierCurveTo(-30, 0, -30, 35, -30, 35);
|
|
19
|
+
* heartShape.bezierCurveTo(-30, 55, -10, 77, 25, 95);
|
|
20
|
+
* heartShape.bezierCurveTo(60, 77, 80, 55, 80, 35);
|
|
21
|
+
* heartShape.bezierCurveTo(80, 35, 80, 0, 50, 0);
|
|
22
|
+
* heartShape.bezierCurveTo(35, 0, 25, 25, 25, 25);
|
|
23
|
+
* const extrudeSettings = {
|
|
24
|
+
* depth: 8,
|
|
25
|
+
* bevelEnabled: true,
|
|
26
|
+
* bevelSegments: 2,
|
|
27
|
+
* steps: 2,
|
|
28
|
+
* bevelSize: 1,
|
|
29
|
+
* bevelThickness: 1
|
|
30
|
+
* };
|
|
31
|
+
* const geometry = new THREE.ExtrudeGeometry(heartShape, extrudeSettings);
|
|
32
|
+
* const mesh = new THREE.Mesh(geometry, new THREE.MeshPhongMaterial());
|
|
33
|
+
* ```
|
|
34
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_shapes | geometry / shapes }
|
|
35
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_extrude_shapes | geometry / extrude / shapes }
|
|
36
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_extrude_shapes2 | geometry / extrude / shapes2 }
|
|
37
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/Shape | Official Documentation}
|
|
38
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/Shape.js | Source}
|
|
39
|
+
*/
|
|
40
|
+
export class Shape extends Path {
|
|
41
|
+
/**
|
|
42
|
+
* Creates a {@link Shape} from the points
|
|
43
|
+
* @remarks
|
|
44
|
+
* The first point defines the offset, then successive points are added to the {@link CurvePath.curves | curves} array as {@link THREE.LineCurve | LineCurves}.
|
|
45
|
+
* If no points are specified, an empty {@link Shape} is created and the {@link .currentPoint} is set to the origin.
|
|
46
|
+
* @param points Array of {@link Vector2 | Vector2s}.
|
|
47
|
+
*/
|
|
48
|
+
constructor(points?: Vector2[]);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A Read-only _string_ to check if `this` object type.
|
|
52
|
+
* @remarks Sub-classes will update this value.
|
|
53
|
+
* @defaultValue `Shape`
|
|
54
|
+
*/
|
|
55
|
+
override readonly type: string | "Shape";
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* {@link http://en.wikipedia.org/wiki/Universally_unique_identifier | UUID} of this object instance.
|
|
59
|
+
* @remarks This gets automatically assigned and shouldn't be edited.
|
|
60
|
+
*/
|
|
61
|
+
uuid: string;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* An array of {@link Path | paths} that define the holes in the shape.
|
|
65
|
+
* @defaultValue `[]`
|
|
66
|
+
*/
|
|
67
|
+
holes: Path[];
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Call {@link THREE.Curve.getPoints | getPoints} on the {@link Shape} and the {@link holes} array
|
|
71
|
+
* @param divisions The fineness of the result. Expects a `Integer`
|
|
72
|
+
*/
|
|
73
|
+
extractPoints(divisions: number): {
|
|
74
|
+
shape: Vector2[];
|
|
75
|
+
holes: Vector2[][];
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Get an array of {@link Vector2 | Vector2's} that represent the holes in the shape.
|
|
80
|
+
* @param divisions The fineness of the result. Expects a `Integer`
|
|
81
|
+
*/
|
|
82
|
+
getPointsHoles(divisions: number): Vector2[][];
|
|
83
|
+
|
|
84
|
+
toJSON(): ShapeJSON;
|
|
85
|
+
fromJSON(json: ShapeJSON): this;
|
|
86
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Color } from "../../math/Color.js";
|
|
2
|
+
import { Vector2 } from "../../math/Vector2.js";
|
|
3
|
+
import { Path } from "./Path.js";
|
|
4
|
+
import { Shape } from "./Shape.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* This class is used to convert a series of shapes to an array of {@link THREE.Path | Path's},
|
|
8
|
+
* for example an SVG shape to a path.
|
|
9
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/core/ShapePath | Official Documentation}
|
|
10
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js | Source}
|
|
11
|
+
*/
|
|
12
|
+
export class ShapePath {
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new {@link ShapePath}
|
|
15
|
+
* @remarks
|
|
16
|
+
* Unlike a {@link THREE.Path | Path}, no points are passed in as the {@link ShapePath} is designed to be generated after creation.
|
|
17
|
+
*/
|
|
18
|
+
constructor();
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A Read-only _string_ to check if `this` object type.
|
|
22
|
+
* @remarks Sub-classes will update this value.
|
|
23
|
+
* @defaultValue `ShapePath`
|
|
24
|
+
*/
|
|
25
|
+
readonly type: "ShapePath";
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Array of {@link THREE.Path | Path's}s.
|
|
29
|
+
* @defaultValue `[]`
|
|
30
|
+
*/
|
|
31
|
+
subPaths: Path[];
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The current {@link THREE.Path | Path} that is being generated.
|
|
35
|
+
* @defaultValue `null`
|
|
36
|
+
*/
|
|
37
|
+
readonly currentPath: Path | null;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* {@link THREE.Color | Color} of the shape, by default set to white _(0xffffff)_.
|
|
41
|
+
* @defaultValue `new THREE.Color()`
|
|
42
|
+
*/
|
|
43
|
+
color: Color;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Starts a new {@link THREE.Path | Path} and calls {@link THREE.Path.moveTo | Path.moveTo}( x, y ) on that {@link THREE.Path | Path}
|
|
47
|
+
* @remarks
|
|
48
|
+
* Also points {@link ShapePath.currentPath | currentPath} to that {@link THREE.Path | Path}.
|
|
49
|
+
* @param x Expects a `Float`
|
|
50
|
+
* @param y Expects a `Float`
|
|
51
|
+
*/
|
|
52
|
+
moveTo(x: number, y: number): this;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* This creates a line from the {@link ShapePath.currentPath | currentPath}'s offset to X and Y and updates the offset to X and Y.
|
|
56
|
+
* @param x Expects a `Float`
|
|
57
|
+
* @param y Expects a `Float`
|
|
58
|
+
*/
|
|
59
|
+
lineTo(x: number, y: number): this;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* This creates a quadratic curve from the {@link ShapePath.currentPath | currentPath}'s
|
|
63
|
+
* offset to _x_ and _y_ with _cpX_ and _cpY_ as control point and updates the {@link ShapePath.currentPath | currentPath}'s offset to _x_ and _y_.
|
|
64
|
+
* @param cpX Expects a `Float`
|
|
65
|
+
* @param cpY Expects a `Float`
|
|
66
|
+
* @param x Expects a `Float`
|
|
67
|
+
* @param y Expects a `Float`
|
|
68
|
+
*/
|
|
69
|
+
quadraticCurveTo(aCPx: number, aCPy: number, aX: number, aY: number): this;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* This creates a bezier curve from the {@link ShapePath.currentPath | currentPath}'s
|
|
73
|
+
* offset to _x_ and _y_ with _cp1X_, _cp1Y_ and _cp2X_, _cp2Y_ as control points and
|
|
74
|
+
* updates the {@link ShapePath.currentPath | currentPath}'s offset to _x_ and _y_.
|
|
75
|
+
* @param cp1X Expects a `Float`
|
|
76
|
+
* @param cp1Y Expects a `Float`
|
|
77
|
+
* @param cp2X Expects a `Float`
|
|
78
|
+
* @param cp2Y Expects a `Float`
|
|
79
|
+
* @param x Expects a `Float`
|
|
80
|
+
* @param y Expects a `Float`
|
|
81
|
+
*/
|
|
82
|
+
bezierCurveTo(aCP1x: number, aCP1y: number, aCP2x: number, aCP2y: number, aX: number, aY: number): this;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Connects a new {@link THREE.SplineCurve | SplineCurve} onto the {@link ShapePath.currentPath | currentPath}.
|
|
86
|
+
* @param points An array of {@link THREE.Vector2 | Vector2}s
|
|
87
|
+
*/
|
|
88
|
+
splineThru(pts: Vector2[]): this;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Converts the {@link ShapePath.subPaths | subPaths} array into an array of Shapes
|
|
92
|
+
* @remarks
|
|
93
|
+
* By default solid shapes are defined clockwise (CW) and holes are defined counterclockwise (CCW)
|
|
94
|
+
* If isCCW is set to true, then those are flipped.
|
|
95
|
+
* @param isCCW Changes how solids and holes are generated
|
|
96
|
+
*/
|
|
97
|
+
toShapes(isCCW: boolean): Shape[];
|
|
98
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EllipseCurve } from "./EllipseCurve.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Alias for {@link THREE.EllipseCurve | EllipseCurve}.
|
|
5
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/extras/curves/ArcCurve | Official Documentation}
|
|
6
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/extras/curves/ArcCurve.js | Source}
|
|
7
|
+
*/
|
|
8
|
+
export class ArcCurve extends EllipseCurve {
|
|
9
|
+
/**
|
|
10
|
+
* This constructor creates a new {@link ArcCurve}.
|
|
11
|
+
* @param aX The X center of the ellipse. Expects a `Float`. Default is `0`.
|
|
12
|
+
* @param aY The Y center of the ellipse. Expects a `Float`. Default is `0`.
|
|
13
|
+
* @param xRadius The radius of the ellipse in the x direction. Expects a `Float`. Default is `1`.
|
|
14
|
+
* @param yRadius The radius of the ellipse in the y direction. Expects a `Float`. Default is `1`.
|
|
15
|
+
* @param aStartAngle The start angle of the curve in radians starting from the positive X axis. Default is `0`.
|
|
16
|
+
* @param aEndAngle The end angle of the curve in radians starting from the positive X axis. Default is `2 x Math.PI`.
|
|
17
|
+
* @param aClockwise Whether the ellipse is drawn clockwise. Default is `false`.
|
|
18
|
+
*/
|
|
19
|
+
constructor(
|
|
20
|
+
aX?: number,
|
|
21
|
+
aY?: number,
|
|
22
|
+
aRadius?: number,
|
|
23
|
+
aStartAngle?: number,
|
|
24
|
+
aEndAngle?: number,
|
|
25
|
+
aClockwise?: boolean,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Read-only flag to check if a given object is of type {@link ArcCurve}.
|
|
30
|
+
* @remarks This is a _constant_ value
|
|
31
|
+
* @defaultValue `true`
|
|
32
|
+
*/
|
|
33
|
+
readonly isArcCurve = true;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A Read-only _string_ to check if `this` object type.
|
|
37
|
+
* @remarks Sub-classes will update this value.
|
|
38
|
+
* @defaultValue `ArcCurve`
|
|
39
|
+
*/
|
|
40
|
+
override readonly type: string | "ArcCurve";
|
|
41
|
+
}
|