@types/three 0.182.0 → 0.183.1
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.
- three/README.md +1 -1
- three/examples/jsm/Addons.d.ts +0 -3
- three/examples/jsm/controls/OrbitControls.d.ts +39 -0
- three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
- three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
- three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
- three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
- three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
- three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
- three/examples/jsm/inspector/ui/Item.d.ts +5 -0
- three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
- three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
- three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
- three/examples/jsm/objects/SkyMesh.d.ts +11 -6
- three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
- three/examples/jsm/objects/WaterMesh.d.ts +6 -6
- three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
- three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
- three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
- three/examples/jsm/tsl/display/CRT.d.ts +22 -0
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
- three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
- three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
- three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
- three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
- three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
- three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
- three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
- three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
- three/examples/jsm/tsl/display/Shape.d.ts +3 -0
- three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
- three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
- three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
- three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
- three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
- three/package.json +3 -3
- three/src/Three.Core.d.ts +1 -1
- three/src/Three.TSL.d.ts +6 -11
- three/src/Three.WebGPU.Nodes.d.ts +2 -0
- three/src/Three.WebGPU.d.ts +3 -0
- three/src/Three.d.ts +2 -2
- three/src/animation/AnimationClip.d.ts +1 -1
- three/src/animation/KeyframeTrack.d.ts +19 -5
- three/src/animation/PropertyMixer.d.ts +5 -4
- three/src/audio/Audio.d.ts +224 -157
- three/src/audio/AudioAnalyser.d.ts +32 -27
- three/src/audio/AudioContext.d.ts +12 -12
- three/src/audio/AudioListener.d.ts +44 -65
- three/src/audio/PositionalAudio.d.ts +69 -62
- three/src/cameras/ArrayCamera.d.ts +21 -24
- three/src/cameras/Camera.d.ts +14 -53
- three/src/cameras/CubeCamera.d.ts +32 -28
- three/src/cameras/OrthographicCamera.d.ts +70 -100
- three/src/cameras/PerspectiveCamera.d.ts +133 -146
- three/src/cameras/StereoCamera.d.ts +24 -30
- three/src/constants.d.ts +14 -2
- three/src/core/Clock.d.ts +3 -0
- three/src/core/Object3D.d.ts +31 -7
- three/src/geometries/TorusGeometry.d.ts +22 -3
- three/src/helpers/ArrowHelper.d.ts +34 -50
- three/src/helpers/AxesHelper.d.ts +22 -36
- three/src/helpers/Box3Helper.d.ts +14 -25
- three/src/helpers/BoxHelper.d.ts +28 -39
- three/src/helpers/CameraHelper.d.ts +31 -52
- three/src/helpers/DirectionalLightHelper.d.ts +32 -53
- three/src/helpers/GridHelper.d.ts +15 -29
- three/src/helpers/HemisphereLightHelper.d.ts +26 -49
- three/src/helpers/PlaneHelper.d.ts +21 -33
- three/src/helpers/PointLightHelper.d.ts +25 -50
- three/src/helpers/PolarGridHelper.d.ts +19 -32
- three/src/helpers/SkeletonHelper.d.ts +26 -50
- three/src/helpers/SpotLightHelper.d.ts +28 -55
- three/src/lights/AmbientLight.d.ts +15 -23
- three/src/lights/DirectionalLight.d.ts +40 -82
- three/src/lights/DirectionalLightShadow.d.ts +6 -61
- three/src/lights/HemisphereLight.d.ts +20 -47
- three/src/lights/Light.d.ts +18 -48
- three/src/lights/LightProbe.d.ts +24 -29
- three/src/lights/LightShadow.d.ts +107 -91
- three/src/lights/PointLight.d.ts +36 -77
- three/src/lights/PointLightShadow.d.ts +9 -6
- three/src/lights/RectAreaLight.d.ts +39 -59
- three/src/lights/SpotLight.d.ts +62 -116
- three/src/lights/SpotLightShadow.d.ts +17 -59
- three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
- three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
- three/src/materials/MeshLambertMaterial.d.ts +6 -0
- three/src/materials/MeshPhongMaterial.d.ts +6 -0
- three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
- three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
- three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
- three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/NodeMaterial.d.ts +9 -3
- three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
- three/src/math/Color.d.ts +1 -0
- three/src/math/Vector3.d.ts +2 -2
- three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
- three/src/nodes/Nodes.d.ts +55 -35
- three/src/nodes/TSL.d.ts +2 -5
- three/src/nodes/accessors/Arrays.d.ts +19 -10
- three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
- three/src/nodes/accessors/BufferNode.d.ts +21 -7
- three/src/nodes/accessors/Camera.d.ts +10 -10
- three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
- three/src/nodes/accessors/InstanceNode.d.ts +6 -0
- three/src/nodes/accessors/Lights.d.ts +9 -6
- three/src/nodes/accessors/MaterialNode.d.ts +1 -3
- three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
- three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/ModelNode.d.ts +34 -17
- three/src/nodes/accessors/MorphNode.d.ts +1 -1
- three/src/nodes/accessors/Normal.d.ts +13 -15
- three/src/nodes/accessors/Object3DNode.d.ts +35 -16
- three/src/nodes/accessors/Position.d.ts +9 -7
- three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
- three/src/nodes/accessors/ReflectVector.d.ts +4 -5
- three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/SceneProperties.d.ts +5 -0
- three/src/nodes/accessors/SkinningNode.d.ts +5 -3
- three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
- three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
- three/src/nodes/accessors/Tangent.d.ts +5 -7
- three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
- three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
- three/src/nodes/accessors/TextureNode.d.ts +19 -18
- three/src/nodes/accessors/UV.d.ts +1 -1
- three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
- three/src/nodes/accessors/UserDataNode.d.ts +1 -1
- three/src/nodes/accessors/VelocityNode.d.ts +3 -3
- three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
- three/src/nodes/code/FunctionCallNode.d.ts +0 -1
- three/src/nodes/code/FunctionNode.d.ts +7 -3
- three/src/nodes/core/ArrayNode.d.ts +2 -3
- three/src/nodes/core/AttributeNode.d.ts +12 -6
- three/src/nodes/core/BypassNode.d.ts +2 -3
- three/src/nodes/core/ConstNode.d.ts +10 -3
- three/src/nodes/core/ContextNode.d.ts +23 -28
- three/src/nodes/core/IndexNode.d.ts +1 -1
- three/src/nodes/core/InputNode.d.ts +12 -4
- three/src/nodes/core/InspectorNode.d.ts +2 -3
- three/src/nodes/core/IsolateNode.d.ts +2 -7
- three/src/nodes/core/MRTNode.d.ts +7 -0
- three/src/nodes/core/Node.d.ts +258 -39
- three/src/nodes/core/NodeAttribute.d.ts +30 -5
- three/src/nodes/core/NodeBuilder.d.ts +5 -3
- three/src/nodes/core/NodeCache.d.ts +24 -48
- three/src/nodes/core/NodeError.d.ts +9 -0
- three/src/nodes/core/NodeParser.d.ts +2 -0
- three/src/nodes/core/NodeUniform.d.ts +33 -9
- three/src/nodes/core/NodeVar.d.ts +33 -5
- three/src/nodes/core/NodeVarying.d.ts +32 -4
- three/src/nodes/core/ParameterNode.d.ts +11 -4
- three/src/nodes/core/PropertyNode.d.ts +45 -35
- three/src/nodes/core/StackTrace.d.ts +9 -0
- three/src/nodes/core/StructType.d.ts +3 -1
- three/src/nodes/core/StructTypeNode.d.ts +19 -5
- three/src/nodes/core/TempNode.d.ts +9 -3
- three/src/nodes/core/UniformNode.d.ts +53 -15
- three/src/nodes/core/VarNode.d.ts +15 -14
- three/src/nodes/core/VaryingNode.d.ts +14 -19
- three/src/nodes/core/constants.d.ts +9 -4
- three/src/nodes/display/BlendModes.d.ts +7 -27
- three/src/nodes/display/ColorAdjustment.d.ts +8 -9
- three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
- three/src/nodes/display/FrontFacingNode.d.ts +1 -1
- three/src/nodes/display/PassNode.d.ts +9 -5
- three/src/nodes/display/RenderOutputNode.d.ts +3 -7
- three/src/nodes/display/ScreenNode.d.ts +25 -17
- three/src/nodes/display/ToneMappingNode.d.ts +3 -7
- three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
- three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
- three/src/nodes/fog/Fog.d.ts +5 -3
- three/src/nodes/geometry/RangeNode.d.ts +51 -9
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
- three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
- three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
- three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
- three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
- three/src/nodes/lighting/LightUtils.d.ts +1 -1
- three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
- three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
- three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
- three/src/nodes/math/BitcountNode.d.ts +2 -0
- three/src/nodes/math/ConditionalNode.d.ts +43 -22
- three/src/nodes/math/Hash.d.ts +1 -1
- three/src/nodes/math/MathNode.d.ts +603 -267
- three/src/nodes/math/MathUtils.d.ts +9 -5
- three/src/nodes/math/OperatorNode.d.ts +490 -227
- three/src/nodes/math/TriNoise3D.d.ts +3 -3
- three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
- three/src/nodes/procedural/Checker.d.ts +1 -1
- three/src/nodes/tsl/TSLCore.d.ts +1683 -224
- three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
- three/src/nodes/utils/DebugNode.d.ts +2 -5
- three/src/nodes/utils/Discard.d.ts +2 -3
- three/src/nodes/utils/FlipNode.d.ts +11 -0
- three/src/nodes/utils/LoopNode.d.ts +17 -13
- three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
- three/src/nodes/utils/Oscillators.d.ts +4 -4
- three/src/nodes/utils/Packing.d.ts +3 -3
- three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
- three/src/nodes/utils/RemapNode.d.ts +33 -39
- three/src/nodes/utils/RotateNode.d.ts +17 -8
- three/src/nodes/utils/SplitNode.d.ts +1 -2
- three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
- three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
- three/src/nodes/utils/Timer.d.ts +4 -4
- three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
- three/src/nodes/utils/UVUtils.d.ts +6 -4
- three/src/objects/BatchedMesh.d.ts +6 -4
- three/src/objects/InstancedMesh.d.ts +32 -24
- three/src/renderers/WebGLRenderer.d.ts +4 -93
- three/src/renderers/common/Animation.d.ts +46 -9
- three/src/renderers/common/Attributes.d.ts +11 -13
- three/src/renderers/common/Backend.d.ts +0 -2
- three/src/renderers/common/Background.d.ts +17 -15
- three/src/renderers/common/BindGroup.d.ts +27 -13
- three/src/renderers/common/Binding.d.ts +15 -3
- three/src/renderers/common/Bindings.d.ts +41 -17
- three/src/renderers/common/BlendMode.d.ts +22 -0
- three/src/renderers/common/Buffer.d.ts +35 -11
- three/src/renderers/common/BufferUtils.d.ts +3 -4
- three/src/renderers/common/BundleGroup.d.ts +16 -6
- three/src/renderers/common/CanvasTarget.d.ts +76 -13
- three/src/renderers/common/ChainMap.d.ts +12 -9
- three/src/renderers/common/ClippingContext.d.ts +61 -10
- three/src/renderers/common/Color4.d.ts +10 -5
- three/src/renderers/common/ComputePipeline.d.ts +16 -2
- three/src/renderers/common/Constants.d.ts +5 -3
- three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
- three/src/renderers/common/DataMap.d.ts +10 -18
- three/src/renderers/common/Geometries.d.ts +39 -20
- three/src/renderers/common/Info.d.ts +62 -9
- three/src/renderers/common/InspectorBase.d.ts +19 -7
- three/src/renderers/common/Lighting.d.ts +2 -6
- three/src/renderers/common/Pipeline.d.ts +14 -2
- three/src/renderers/common/Pipelines.d.ts +58 -60
- three/src/renderers/common/PostProcessing.d.ts +14 -17
- three/src/renderers/common/ProgrammableStage.d.ts +48 -8
- three/src/renderers/common/RenderBundle.d.ts +4 -2
- three/src/renderers/common/RenderBundles.d.ts +6 -3
- three/src/renderers/common/RenderContext.d.ts +175 -7
- three/src/renderers/common/RenderContexts.d.ts +20 -25
- three/src/renderers/common/RenderList.d.ts +77 -11
- three/src/renderers/common/RenderLists.d.ts +16 -4
- three/src/renderers/common/RenderObject.d.ts +223 -47
- three/src/renderers/common/RenderObjectPipeline.d.ts +33 -0
- three/src/renderers/common/RenderObjects.d.ts +55 -22
- three/src/renderers/common/RenderPipeline.d.ts +20 -17
- three/src/renderers/common/Renderer.d.ts +625 -207
- three/src/renderers/common/Textures.d.ts +24 -46
- three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
- three/src/renderers/common/Uniform.d.ts +143 -58
- three/src/renderers/common/UniformBuffer.d.ts +7 -5
- three/src/renderers/common/UniformsGroup.d.ts +50 -35
- three/src/renderers/common/XRManager.d.ts +321 -83
- three/src/renderers/common/XRRenderTarget.d.ts +49 -6
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
- three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
- three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
- three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
- three/src/renderers/shaders/UniformsLib.d.ts +0 -3
- three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
- three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
- three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
- three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
- three/src/renderers/webgl/WebGLLights.d.ts +19 -18
- three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
- three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
- three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
- three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
- three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
- three/src/renderers/webgl/WebGLState.d.ts +305 -28
- three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
- three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
- three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
- three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
- three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
- three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
- three/src/scenes/Fog.d.ts +31 -37
- three/src/scenes/FogExp2.d.ts +26 -31
- three/src/scenes/Scene.d.ts +51 -65
- three/src/textures/CompressedArrayTexture.d.ts +1 -1
- three/src/textures/DataArrayTexture.d.ts +1 -1
- three/src/utils.d.ts +5 -0
- three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
- three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
- three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
- three/src/nodes/accessors/SceneNode.d.ts +0 -21
- three/src/nodes/code/ScriptableNode.d.ts +0 -21
- three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
- three/src/nodes/display/PosterizeNode.d.ts +0 -13
- three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
- three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
- three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
three/src/constants.d.ts
CHANGED
|
@@ -50,13 +50,15 @@ export const AdditiveBlending: 2;
|
|
|
50
50
|
export const SubtractiveBlending: 3;
|
|
51
51
|
export const MultiplyBlending: 4;
|
|
52
52
|
export const CustomBlending: 5;
|
|
53
|
+
export const MaterialBlending: 6;
|
|
53
54
|
export type Blending =
|
|
54
55
|
| typeof NoBlending
|
|
55
56
|
| typeof NormalBlending
|
|
56
57
|
| typeof AdditiveBlending
|
|
57
58
|
| typeof SubtractiveBlending
|
|
58
59
|
| typeof MultiplyBlending
|
|
59
|
-
| typeof CustomBlending
|
|
60
|
+
| typeof CustomBlending
|
|
61
|
+
| typeof MaterialBlending;
|
|
60
62
|
|
|
61
63
|
// custom blending equations
|
|
62
64
|
// (numbers start from 100 not to clash with other
|
|
@@ -651,7 +653,12 @@ export type AnimationActionLoopStyles = typeof LoopOnce | typeof LoopRepeat | ty
|
|
|
651
653
|
export const InterpolateDiscrete: 2300;
|
|
652
654
|
export const InterpolateLinear: 2301;
|
|
653
655
|
export const InterpolateSmooth: 2302;
|
|
654
|
-
export
|
|
656
|
+
export const InterpolateBezier: 2303;
|
|
657
|
+
export type InterpolationModes =
|
|
658
|
+
| typeof InterpolateDiscrete
|
|
659
|
+
| typeof InterpolateLinear
|
|
660
|
+
| typeof InterpolateSmooth
|
|
661
|
+
| typeof InterpolateBezier;
|
|
655
662
|
|
|
656
663
|
// Interpolant ending modes
|
|
657
664
|
export const ZeroCurvatureEnding: 2400;
|
|
@@ -824,6 +831,11 @@ export type InterpolationSamplingMode =
|
|
|
824
831
|
| typeof InterpolationSamplingMode.FIRST
|
|
825
832
|
| typeof InterpolationSamplingMode.EITHER;
|
|
826
833
|
|
|
834
|
+
export const Compatibility: {
|
|
835
|
+
TEXTURE_COMPARE: "depthTextureCompare";
|
|
836
|
+
};
|
|
837
|
+
export type Compatibility = typeof Compatibility.TEXTURE_COMPARE;
|
|
838
|
+
|
|
827
839
|
///////////////////////////////////////////////////////////////////////////////
|
|
828
840
|
// Texture - Internal Pixel Formats
|
|
829
841
|
|
three/src/core/Clock.d.ts
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
* [performance.now]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance/now}.
|
|
4
4
|
* @see [Official Documentation]{@link https://threejs.org/docs/index.html#api/en/core/Clock}
|
|
5
5
|
* @see [Source]{@link https://github.com/mrdoob/three.js/blob/master/src/core/Clock.js}
|
|
6
|
+
*
|
|
7
|
+
* @deprecated Please use THREE.Timer instead.
|
|
6
8
|
*/
|
|
7
9
|
export class Clock {
|
|
8
10
|
/**
|
|
9
11
|
* Create a new instance of {@link THREE.Clock | Clock}
|
|
12
|
+
* @deprecated Please use THREE.Timer instead.
|
|
10
13
|
* @param autoStart - Whether to automatically start the clock when {@link getDelta | .getDelta()} is called for the first time. Default `true`
|
|
11
14
|
*/
|
|
12
15
|
constructor(autoStart?: boolean);
|
three/src/core/Object3D.d.ts
CHANGED
|
@@ -28,12 +28,15 @@ export interface Object3DJSONObject {
|
|
|
28
28
|
visible?: boolean;
|
|
29
29
|
frustumCulled?: boolean;
|
|
30
30
|
renderOrder?: number;
|
|
31
|
+
static?: boolean;
|
|
31
32
|
userData?: Record<string, unknown>;
|
|
32
33
|
|
|
33
34
|
layers: number;
|
|
34
35
|
matrix: Matrix4Tuple;
|
|
35
36
|
up: Vector3Tuple;
|
|
36
37
|
|
|
38
|
+
pivot?: Vector3Tuple;
|
|
39
|
+
|
|
37
40
|
matrixAutoUpdate?: boolean;
|
|
38
41
|
|
|
39
42
|
material?: string | string[];
|
|
@@ -265,13 +268,6 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
|
|
|
265
268
|
*/
|
|
266
269
|
animations: AnimationClip[];
|
|
267
270
|
|
|
268
|
-
/**
|
|
269
|
-
* An object that can be used to store custom data about the {@link Object3D}.
|
|
270
|
-
* @remarks It should not hold references to _functions_ as these **will not** be cloned.
|
|
271
|
-
* @default `{}`
|
|
272
|
-
*/
|
|
273
|
-
userData: Record<string, any>;
|
|
274
|
-
|
|
275
271
|
/**
|
|
276
272
|
* Custom depth material to be used when rendering to the depth map.
|
|
277
273
|
* @remarks Can only be used in context of meshes.
|
|
@@ -287,6 +283,34 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
|
|
|
287
283
|
*/
|
|
288
284
|
customDistanceMaterial?: Material | undefined;
|
|
289
285
|
|
|
286
|
+
/**
|
|
287
|
+
* Whether the 3D object is supposed to be static or not. If set to `true`, it means
|
|
288
|
+
* the 3D object is not going to be changed after the initial renderer. This includes
|
|
289
|
+
* geometry and material settings. A static 3D object can be processed by the renderer
|
|
290
|
+
* slightly faster since certain state checks can be bypassed.
|
|
291
|
+
*
|
|
292
|
+
* Only relevant in context of {@link WebGPURenderer}.
|
|
293
|
+
*
|
|
294
|
+
* @default false
|
|
295
|
+
*/
|
|
296
|
+
static: boolean;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* An object that can be used to store custom data about the {@link Object3D}.
|
|
300
|
+
* @remarks It should not hold references to _functions_ as these **will not** be cloned.
|
|
301
|
+
* @default `{}`
|
|
302
|
+
*/
|
|
303
|
+
userData: Record<string, any>;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* The pivot point for rotation and scale transformations.
|
|
307
|
+
* When set, rotation and scale are applied around this point
|
|
308
|
+
* instead of the object's origin.
|
|
309
|
+
*
|
|
310
|
+
* @default null
|
|
311
|
+
*/
|
|
312
|
+
pivot: Vector3 | null;
|
|
313
|
+
|
|
290
314
|
/**
|
|
291
315
|
* An optional callback that is executed immediately before a 3D object is rendered to a shadow map.
|
|
292
316
|
* @remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { BufferGeometry } from "../core/BufferGeometry.js";
|
|
2
2
|
|
|
3
|
+
export interface TorusGeometryJSON {
|
|
4
|
+
radius: number;
|
|
5
|
+
tube: number;
|
|
6
|
+
radialSegments: number;
|
|
7
|
+
tubularSegments: number;
|
|
8
|
+
arc: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
3
11
|
/**
|
|
4
12
|
* A class for generating torus geometries.
|
|
5
13
|
* @example
|
|
@@ -21,8 +29,18 @@ export class TorusGeometry extends BufferGeometry {
|
|
|
21
29
|
* @param radialSegments Default is `12`.
|
|
22
30
|
* @param tubularSegments Default is `48`.
|
|
23
31
|
* @param arc Central angle. Default is Math.PI * 2.
|
|
32
|
+
* @param {number} [thetaStart=0] - Start of the tubular sweep in radians.
|
|
33
|
+
* @param {number} [thetaLength=Math.PI times 2] - Length of the tubular sweep in radians.
|
|
24
34
|
*/
|
|
25
|
-
constructor(
|
|
35
|
+
constructor(
|
|
36
|
+
radius?: number,
|
|
37
|
+
tube?: number,
|
|
38
|
+
radialSegments?: number,
|
|
39
|
+
tubularSegments?: number,
|
|
40
|
+
arc?: number,
|
|
41
|
+
thetaStart?: number,
|
|
42
|
+
thetaLength?: number,
|
|
43
|
+
);
|
|
26
44
|
|
|
27
45
|
/**
|
|
28
46
|
* A Read-only _string_ to check if `this` object type.
|
|
@@ -41,8 +59,9 @@ export class TorusGeometry extends BufferGeometry {
|
|
|
41
59
|
readonly radialSegments: number;
|
|
42
60
|
readonly tubularSegments: number;
|
|
43
61
|
readonly arc: number;
|
|
62
|
+
readonly thetaStart: number;
|
|
63
|
+
readonly thetaLength: number;
|
|
44
64
|
};
|
|
45
65
|
|
|
46
|
-
|
|
47
|
-
static fromJSON(data: any): TorusGeometry;
|
|
66
|
+
static fromJSON(data: TorusGeometryJSON): TorusGeometry;
|
|
48
67
|
}
|
|
@@ -6,30 +6,31 @@ import { Mesh } from "../objects/Mesh.js";
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* An 3D arrow object for visualizing directions.
|
|
9
|
-
*
|
|
10
|
-
* ```
|
|
11
|
-
* const dir = new THREE.Vector3(1, 2, 0);
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* const dir = new THREE.Vector3( 1, 2, 0 );
|
|
12
|
+
*
|
|
12
13
|
* //normalize the direction vector (convert to vector of length 1)
|
|
13
14
|
* dir.normalize();
|
|
14
|
-
*
|
|
15
|
+
*
|
|
16
|
+
* const origin = new THREE.Vector3( 0, 0, 0 );
|
|
15
17
|
* const length = 1;
|
|
16
18
|
* const hex = 0xffff00;
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
+
*
|
|
20
|
+
* const arrowHelper = new THREE.ArrowHelper( dir, origin, length, hex );
|
|
21
|
+
* scene.add( arrowHelper );
|
|
19
22
|
* ```
|
|
20
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_shadowmesh | WebGL / shadowmesh}
|
|
21
|
-
* @see {@link https://threejs.org/docs/index.html#api/en/helpers/ArrowHelper | Official Documentation}
|
|
22
|
-
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/ArrowHelper.js | Source}
|
|
23
23
|
*/
|
|
24
24
|
export class ArrowHelper extends Object3D {
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
26
|
+
* Constructs a new arrow helper.
|
|
27
|
+
*
|
|
28
|
+
* @param {Vector3} [dir=(0, 0, 1)] - The (normalized) direction vector.
|
|
29
|
+
* @param {Vector3} [origin=(0, 0, 0)] - Point at which the arrow starts.
|
|
30
|
+
* @param {number} [length=1] - Length of the arrow in world units.
|
|
31
|
+
* @param {(number|Color|string)} [color=0xffff00] - Color of the arrow.
|
|
32
|
+
* @param {number} [headLength=length times 0.2] - The length of the head of the arrow.
|
|
33
|
+
* @param {number} [headWidth=headLength times 0.2] - The width of the head of the arrow.
|
|
33
34
|
*/
|
|
34
35
|
constructor(
|
|
35
36
|
dir?: Vector3,
|
|
@@ -39,55 +40,38 @@ export class ArrowHelper extends Object3D {
|
|
|
39
40
|
headLength?: number,
|
|
40
41
|
headWidth?: number,
|
|
41
42
|
);
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* A Read-only _string_ to check if `this` object type.
|
|
45
|
-
* @remarks Sub-classes will update this value.
|
|
46
|
-
* @override
|
|
47
|
-
* @defaultValue `ArrowHelper`
|
|
48
|
-
*/
|
|
49
|
-
override readonly type: string | "ArrowHelper";
|
|
50
|
-
|
|
51
43
|
/**
|
|
52
|
-
*
|
|
44
|
+
* The line part of the arrow helper.
|
|
53
45
|
*/
|
|
54
46
|
line: Line;
|
|
55
|
-
|
|
56
47
|
/**
|
|
57
|
-
*
|
|
48
|
+
* The cone part of the arrow helper.
|
|
58
49
|
*/
|
|
59
50
|
cone: Mesh;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Sets the color of the arrowHelper.
|
|
63
|
-
* @param color The desired color.
|
|
64
|
-
*/
|
|
65
|
-
setColor(color: ColorRepresentation): void;
|
|
66
|
-
|
|
67
51
|
/**
|
|
68
|
-
*
|
|
52
|
+
* Sets the direction of the helper.
|
|
53
|
+
*
|
|
54
|
+
* @param {Vector3} dir - The normalized direction vector.
|
|
69
55
|
*/
|
|
70
56
|
setDirection(dir: Vector3): void;
|
|
71
|
-
|
|
72
57
|
/**
|
|
73
|
-
* Sets the length of the
|
|
74
|
-
*
|
|
75
|
-
* @param
|
|
76
|
-
* @param
|
|
58
|
+
* Sets the length of the helper.
|
|
59
|
+
*
|
|
60
|
+
* @param {number} length - Length of the arrow in world units.
|
|
61
|
+
* @param {number} [headLength=length times 0.2] - The length of the head of the arrow.
|
|
62
|
+
* @param {number} [headWidth=headLength times 0.2] - The width of the head of the arrow.
|
|
77
63
|
*/
|
|
78
64
|
setLength(length: number, headLength?: number, headWidth?: number): void;
|
|
79
|
-
|
|
80
65
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @param
|
|
66
|
+
* Sets the color of the helper.
|
|
67
|
+
*
|
|
68
|
+
* @param {number|Color|string} color - The color to set.
|
|
84
69
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
70
|
+
setColor(color: ColorRepresentation): void;
|
|
71
|
+
copy(source: ArrowHelper): this;
|
|
87
72
|
/**
|
|
88
|
-
* Frees the GPU-related resources allocated by this instance
|
|
89
|
-
*
|
|
90
|
-
* Call this method whenever this instance is no longer used in your app.
|
|
73
|
+
* Frees the GPU-related resources allocated by this instance. Call this
|
|
74
|
+
* method whenever this instance is no longer used in your app.
|
|
91
75
|
*/
|
|
92
76
|
dispose(): void;
|
|
93
77
|
}
|
|
@@ -1,52 +1,38 @@
|
|
|
1
|
-
import { BufferGeometry } from "../core/BufferGeometry.js";
|
|
2
|
-
import { LineBasicMaterial } from "../materials/LineBasicMaterial.js";
|
|
3
1
|
import { ColorRepresentation } from "../math/Color.js";
|
|
4
2
|
import { LineSegments } from "../objects/LineSegments.js";
|
|
5
3
|
|
|
6
4
|
/**
|
|
7
5
|
* An axis object to visualize the 3 axes in a simple way.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const {@link AxesHelper} = new THREE.AxesHelper(5);
|
|
15
|
-
* scene.add(axesHelper);
|
|
6
|
+
* The X axis is red. The Y axis is green. The Z axis is blue.
|
|
7
|
+
*
|
|
8
|
+
* ```js
|
|
9
|
+
* const axesHelper = new THREE.AxesHelper( 5 );
|
|
10
|
+
* scene.add( axesHelper );
|
|
16
11
|
* ```
|
|
17
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_compression | WebGL / buffergeometry / compression}
|
|
18
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_convex | WebGL / geometry / convex}
|
|
19
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_loader_nrrd | WebGL / loader / nrrd}
|
|
20
|
-
* @see {@link https://threejs.org/docs/index.html#api/en/helpers/AxesHelper | Official Documentation}
|
|
21
|
-
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/AxesHelper.js | Source}
|
|
22
12
|
*/
|
|
23
|
-
export class AxesHelper extends LineSegments
|
|
13
|
+
export class AxesHelper extends LineSegments {
|
|
24
14
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
15
|
+
* Constructs a new axes helper.
|
|
16
|
+
*
|
|
17
|
+
* @param {number} [size=1] - Size of the lines representing the axes.
|
|
27
18
|
*/
|
|
28
19
|
constructor(size?: number);
|
|
29
|
-
|
|
30
20
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
34
|
-
* @
|
|
21
|
+
* Defines the colors of the axes helper.
|
|
22
|
+
*
|
|
23
|
+
* @param {number|Color|string} xAxisColor - The color for the x axis.
|
|
24
|
+
* @param {number|Color|string} yAxisColor - The color for the y axis.
|
|
25
|
+
* @param {number|Color|string} zAxisColor - The color for the z axis.
|
|
26
|
+
* @return {AxesHelper} A reference to this axes helper.
|
|
35
27
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
* @param yAxisColor
|
|
42
|
-
* @param zAxisColor
|
|
43
|
-
*/
|
|
44
|
-
setColors(xAxisColor: ColorRepresentation, yAxisColor: ColorRepresentation, zAxisColor: ColorRepresentation): this;
|
|
45
|
-
|
|
28
|
+
setColors(
|
|
29
|
+
xAxisColor: ColorRepresentation,
|
|
30
|
+
yAxisColor: ColorRepresentation,
|
|
31
|
+
zAxisColor: ColorRepresentation,
|
|
32
|
+
): AxesHelper;
|
|
46
33
|
/**
|
|
47
|
-
* Frees the GPU-related resources allocated by this instance
|
|
48
|
-
*
|
|
49
|
-
* Call this method whenever this instance is no longer used in your app.
|
|
34
|
+
* Frees the GPU-related resources allocated by this instance. Call this
|
|
35
|
+
* method whenever this instance is no longer used in your app.
|
|
50
36
|
*/
|
|
51
37
|
dispose(): void;
|
|
52
38
|
}
|
|
@@ -3,42 +3,31 @@ import { ColorRepresentation } from "../math/Color.js";
|
|
|
3
3
|
import { LineSegments } from "../objects/LineSegments.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* ```
|
|
6
|
+
* A helper object to visualize an instance of {@link Box3}.
|
|
7
|
+
*
|
|
8
|
+
* ```js
|
|
9
9
|
* const box = new THREE.Box3();
|
|
10
|
-
* box.setFromCenterAndSize(new THREE.Vector3(1, 1, 1), new THREE.Vector3(2, 1, 3));
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* box.setFromCenterAndSize( new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 2, 1, 3 ) );
|
|
11
|
+
*
|
|
12
|
+
* const helper = new THREE.Box3Helper( box, 0xffff00 );
|
|
13
|
+
* scene.add( helper )
|
|
13
14
|
* ```
|
|
14
|
-
* @see {@link https://threejs.org/docs/index.html#api/en/helpers/Box3Helper | Official Documentation}
|
|
15
|
-
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/Box3Helper.js | Source}
|
|
16
15
|
*/
|
|
17
16
|
export class Box3Helper extends LineSegments {
|
|
18
17
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @param
|
|
18
|
+
* Constructs a new box3 helper.
|
|
19
|
+
*
|
|
20
|
+
* @param {Box3} box - The box to visualize.
|
|
21
|
+
* @param {number|Color|string} [color=0xffff00] - The box's color.
|
|
22
22
|
*/
|
|
23
23
|
constructor(box: Box3, color?: ColorRepresentation);
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @remarks Sub-classes will update this value.
|
|
28
|
-
* @override
|
|
29
|
-
* @defaultValue `Box3Helper`
|
|
30
|
-
*/
|
|
31
|
-
override readonly type: string | "Box3Helper";
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* The Box3 being visualized.
|
|
25
|
+
* The box being visualized.
|
|
35
26
|
*/
|
|
36
27
|
box: Box3;
|
|
37
|
-
|
|
38
28
|
/**
|
|
39
|
-
* Frees the GPU-related resources allocated by this instance
|
|
40
|
-
*
|
|
41
|
-
* Call this method whenever this instance is no longer used in your app.
|
|
29
|
+
* Frees the GPU-related resources allocated by this instance. Call this
|
|
30
|
+
* method whenever this instance is no longer used in your app.
|
|
42
31
|
*/
|
|
43
32
|
dispose(): void;
|
|
44
33
|
}
|
three/src/helpers/BoxHelper.d.ts
CHANGED
|
@@ -1,64 +1,53 @@
|
|
|
1
1
|
import { BufferGeometry } from "../core/BufferGeometry.js";
|
|
2
2
|
import { Object3D } from "../core/Object3D.js";
|
|
3
3
|
import { LineBasicMaterial } from "../materials/LineBasicMaterial.js";
|
|
4
|
+
import { Box3 } from "../math/Box3.js";
|
|
4
5
|
import { ColorRepresentation } from "../math/Color.js";
|
|
5
6
|
import { LineSegments } from "../objects/LineSegments.js";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
|
-
* Helper object to graphically show the world-axis-aligned bounding box
|
|
9
|
-
* @
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Note that the object must have a
|
|
13
|
-
*
|
|
14
|
-
*
|
|
9
|
+
* Helper object to graphically show the world-axis-aligned bounding box
|
|
10
|
+
* around an object. The actual bounding box is handled with {@link Box3},
|
|
11
|
+
* this is just a visual helper for debugging. It can be automatically
|
|
12
|
+
* resized with {@link BoxHelper#update} when the object it's created from
|
|
13
|
+
* is transformed. Note that the object must have a geometry for this to work,
|
|
14
|
+
* so it won't work with sprites.
|
|
15
|
+
*
|
|
16
|
+
* ```js
|
|
15
17
|
* const sphere = new THREE.SphereGeometry();
|
|
16
|
-
* const object = new THREE.Mesh(sphere, new THREE.MeshBasicMaterial(0xff0000));
|
|
17
|
-
* const box = new THREE.BoxHelper(object, 0xffff00);
|
|
18
|
-
* scene.add(box);
|
|
18
|
+
* const object = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( 0xff0000 ) );
|
|
19
|
+
* const box = new THREE.BoxHelper( object, 0xffff00 );
|
|
20
|
+
* scene.add( box );
|
|
19
21
|
* ```
|
|
20
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_helpers | WebGL / helpers}
|
|
21
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_loader_nrrd | WebGL / loader / nrrd}
|
|
22
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_drawrange | WebGL / buffergeometry / drawrange}
|
|
23
|
-
* @see {@link https://threejs.org/docs/index.html#api/en/helpers/BoxHelper | Official Documentation}
|
|
24
|
-
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/BoxHelper.js | Source}
|
|
25
22
|
*/
|
|
26
23
|
export class BoxHelper extends LineSegments<BufferGeometry, LineBasicMaterial> {
|
|
27
24
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @param object The object3D to show the world-axis-aligned bounding box.
|
|
33
|
-
* @param color Hexadecimal value that defines the box's color. Default `0xffff00`
|
|
25
|
+
* Constructs a new box helper.
|
|
26
|
+
*
|
|
27
|
+
* @param {Object3D} [object] - The 3D object to show the world-axis-aligned bounding box.
|
|
28
|
+
* @param {number|Color|string} [color=0xffff00] - The box's color.
|
|
34
29
|
*/
|
|
35
30
|
constructor(object: Object3D, color?: ColorRepresentation);
|
|
36
|
-
|
|
37
31
|
/**
|
|
38
|
-
*
|
|
39
|
-
* @remarks Sub-classes will update this value.
|
|
40
|
-
* @override
|
|
41
|
-
* @defaultValue `BoxHelper`
|
|
32
|
+
* The 3D object being visualized.
|
|
42
33
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
object: Object3D;
|
|
45
35
|
/**
|
|
46
|
-
* Updates the helper's geometry to match the dimensions of the object,
|
|
47
|
-
*
|
|
48
|
-
* See {@link THREE.Box3.setFromObject | Box3.setFromObject}.
|
|
36
|
+
* Updates the helper's geometry to match the dimensions of the object,
|
|
37
|
+
* including any children.
|
|
49
38
|
*/
|
|
50
|
-
update(
|
|
51
|
-
|
|
39
|
+
update(): void;
|
|
52
40
|
/**
|
|
53
41
|
* Updates the wireframe box for the passed object.
|
|
54
|
-
*
|
|
42
|
+
*
|
|
43
|
+
* @param {Object3D} object - The 3D object to create the helper for.
|
|
44
|
+
* @return {BoxHelper} A reference to this instance.
|
|
55
45
|
*/
|
|
56
|
-
setFromObject(object: Object3D):
|
|
57
|
-
|
|
46
|
+
setFromObject(object: Object3D): BoxHelper;
|
|
47
|
+
copy(source: BoxHelper, recursive?: boolean): this;
|
|
58
48
|
/**
|
|
59
|
-
* Frees the GPU-related resources allocated by this instance
|
|
60
|
-
*
|
|
61
|
-
* Call this method whenever this instance is no longer used in your app.
|
|
49
|
+
* Frees the GPU-related resources allocated by this instance. Call this
|
|
50
|
+
* method whenever this instance is no longer used in your app.
|
|
62
51
|
*/
|
|
63
52
|
dispose(): void;
|
|
64
53
|
}
|
|
@@ -1,80 +1,59 @@
|
|
|
1
1
|
import { Camera } from "../cameras/Camera.js";
|
|
2
2
|
import { Color } from "../math/Color.js";
|
|
3
|
-
import { Matrix4 } from "../math/Matrix4.js";
|
|
4
3
|
import { LineSegments } from "../objects/LineSegments.js";
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
|
-
* This helps with visualizing what a camera contains in its frustum
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
6
|
+
* This helps with visualizing what a camera contains in its frustum. It
|
|
7
|
+
* visualizes the frustum of a camera using a line segments.
|
|
8
|
+
*
|
|
9
|
+
* Based on frustum visualization in [lightgl.js shadowmap example](https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html).
|
|
10
|
+
*
|
|
11
|
+
* `CameraHelper` must be a child of the scene.
|
|
12
|
+
*
|
|
13
|
+
* When the camera is transformed or its projection matrix is changed, it's necessary
|
|
14
|
+
* to call the `update()` method of the respective helper.
|
|
15
|
+
*
|
|
16
|
+
* ```js
|
|
17
|
+
* const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
|
|
18
|
+
* const helper = new THREE.CameraHelper( camera );
|
|
19
|
+
* scene.add( helper );
|
|
16
20
|
* ```
|
|
17
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_camera | WebGL / camera}
|
|
18
|
-
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_extrude_splines | WebGL / extrude / splines}
|
|
19
|
-
* @see {@link https://threejs.org/docs/index.html#api/en/helpers/CameraHelper | Official Documentation}
|
|
20
|
-
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/CameraHelper.js | Source}
|
|
21
21
|
*/
|
|
22
22
|
export class CameraHelper extends LineSegments {
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Constructs a new arrow helper.
|
|
25
|
+
*
|
|
26
|
+
* @param {Camera} camera - The camera to visualize.
|
|
26
27
|
*/
|
|
27
28
|
constructor(camera: Camera);
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* A Read-only _string_ to check if `this` object type.
|
|
31
|
-
* @remarks Sub-classes will update this value.
|
|
32
|
-
* @override
|
|
33
|
-
* @defaultValue `CameraHelper`
|
|
34
|
-
*/
|
|
35
|
-
override readonly type: string | "CameraHelper";
|
|
36
|
-
|
|
37
29
|
/**
|
|
38
30
|
* The camera being visualized.
|
|
39
31
|
*/
|
|
40
32
|
camera: Camera;
|
|
41
|
-
|
|
42
33
|
/**
|
|
43
34
|
* This contains the points used to visualize the camera.
|
|
44
35
|
*/
|
|
45
|
-
pointMap: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* Reference to the {@link THREE.Camera.matrixWorld | camera.matrixWorld}.
|
|
49
|
-
*/
|
|
50
|
-
matrix: Matrix4;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Is set to `false`, as the helper is using the {@link THREE.Camera.matrixWorld | camera.matrixWorld}.
|
|
54
|
-
* @see {@link THREE.Object3D.matrixAutoUpdate | Object3D.matrixAutoUpdate}.
|
|
55
|
-
* @defaultValue `false`.
|
|
56
|
-
*/
|
|
57
|
-
override matrixAutoUpdate: boolean;
|
|
58
|
-
|
|
36
|
+
pointMap: {
|
|
37
|
+
[x: string]: number[];
|
|
38
|
+
};
|
|
59
39
|
/**
|
|
60
40
|
* Defines the colors of the helper.
|
|
61
|
-
*
|
|
62
|
-
* @param
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
* @param
|
|
41
|
+
*
|
|
42
|
+
* @param {Color} frustum - The frustum line color.
|
|
43
|
+
* @param {Color} cone - The cone line color.
|
|
44
|
+
* @param {Color} up - The up line color.
|
|
45
|
+
* @param {Color} target - The target line color.
|
|
46
|
+
* @param {Color} cross - The cross line color.
|
|
47
|
+
* @return {CameraHelper} A reference to this helper.
|
|
66
48
|
*/
|
|
67
|
-
setColors(frustum: Color, cone: Color, up: Color, target: Color, cross: Color):
|
|
68
|
-
|
|
49
|
+
setColors(frustum: Color, cone: Color, up: Color, target: Color, cross: Color): CameraHelper;
|
|
69
50
|
/**
|
|
70
|
-
* Updates the helper based on the
|
|
51
|
+
* Updates the helper based on the projection matrix of the camera.
|
|
71
52
|
*/
|
|
72
53
|
update(): void;
|
|
73
|
-
|
|
74
54
|
/**
|
|
75
|
-
* Frees the GPU-related resources allocated by this instance
|
|
76
|
-
*
|
|
77
|
-
* Call this method whenever this instance is no longer used in your app.
|
|
55
|
+
* Frees the GPU-related resources allocated by this instance. Call this
|
|
56
|
+
* method whenever this instance is no longer used in your app.
|
|
78
57
|
*/
|
|
79
58
|
dispose(): void;
|
|
80
59
|
}
|