@anov/3d 0.0.1-alpha.6 → 0.0.1-alpha.8
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/dist/core/camera.js +1 -1
- package/dist/core/control/transformControls.d.ts +12 -0
- package/dist/core/control/transformControls.js +72 -0
- package/dist/core/global/global.d.ts +24 -0
- package/dist/core/{global.js → global/global.js} +37 -0
- package/dist/core/group.d.ts +19 -1
- package/dist/core/group.js +54 -2
- package/dist/core/line.d.ts +13 -0
- package/dist/core/line.js +61 -0
- package/dist/core/mesh.d.ts +4 -0
- package/dist/core/mesh.js +19 -1
- package/dist/core/model.js +2 -0
- package/dist/core/scene.js +31 -7
- package/dist/core/use/useframe.d.ts +6 -0
- package/dist/core/use/useframe.js +11 -0
- package/dist/export.d.ts +7 -1
- package/dist/export.js +8 -1
- package/dist/threeCell.d.ts +3 -0
- package/dist/threeCell.js +7 -1
- package/dist/utils/index.d.ts +21 -2
- package/dist/utils/index.js +43 -2
- package/dist/utils/line.d.ts +0 -0
- package/dist/utils/line.js +0 -0
- package/dist/utils/move.js +2 -2
- package/examples/fonts/LICENSE +13 -0
- package/examples/fonts/README.md +11 -0
- package/examples/fonts/droid/NOTICE +190 -0
- package/examples/fonts/droid/README.txt +18 -0
- package/examples/fonts/droid/droid_sans_bold.typeface.json +1 -0
- package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +1 -0
- package/examples/fonts/droid/droid_sans_regular.typeface.json +1 -0
- package/examples/fonts/droid/droid_serif_bold.typeface.json +1 -0
- package/examples/fonts/droid/droid_serif_regular.typeface.json +1 -0
- package/examples/fonts/gentilis_bold.typeface.json +1 -0
- package/examples/fonts/gentilis_regular.typeface.json +1 -0
- package/examples/fonts/helvetiker_bold.typeface.json +1 -0
- package/examples/fonts/helvetiker_regular.typeface.json +1 -0
- package/examples/fonts/optimer_bold.typeface.json +1 -0
- package/examples/fonts/optimer_regular.typeface.json +1 -0
- package/examples/fonts/ttf/README.md +9 -0
- package/examples/fonts/ttf/kenpixel.ttf +0 -0
- package/examples/jsm/animation/AnimationClipCreator.js +116 -0
- package/examples/jsm/animation/CCDIKSolver.js +482 -0
- package/examples/jsm/animation/MMDAnimationHelper.js +1207 -0
- package/examples/jsm/animation/MMDPhysics.js +1406 -0
- package/examples/jsm/cameras/CinematicCamera.js +208 -0
- package/examples/jsm/capabilities/WebGL.js +91 -0
- package/examples/jsm/capabilities/WebGPU.js +53 -0
- package/examples/jsm/controls/ArcballControls.js +3224 -0
- package/examples/jsm/controls/DragControls.js +220 -0
- package/examples/jsm/controls/FirstPersonControls.js +325 -0
- package/examples/jsm/controls/FlyControls.js +300 -0
- package/examples/jsm/controls/MapControls.js +28 -0
- package/examples/jsm/controls/OrbitControls.js +1388 -0
- package/examples/jsm/controls/PointerLockControls.js +162 -0
- package/examples/jsm/controls/TrackballControls.js +828 -0
- package/examples/jsm/controls/TransformControls.js +1557 -0
- package/examples/jsm/csm/CSM.js +384 -0
- package/examples/jsm/csm/CSMFrustum.js +152 -0
- package/examples/jsm/csm/CSMHelper.js +193 -0
- package/examples/jsm/csm/CSMShader.js +252 -0
- package/examples/jsm/curves/CurveExtras.js +422 -0
- package/examples/jsm/curves/NURBSCurve.js +80 -0
- package/examples/jsm/curves/NURBSSurface.js +52 -0
- package/examples/jsm/curves/NURBSUtils.js +487 -0
- package/examples/jsm/effects/AnaglyphEffect.js +154 -0
- package/examples/jsm/effects/AsciiEffect.js +263 -0
- package/examples/jsm/effects/OutlineEffect.js +539 -0
- package/examples/jsm/effects/ParallaxBarrierEffect.js +119 -0
- package/examples/jsm/effects/PeppersGhostEffect.js +153 -0
- package/examples/jsm/effects/StereoEffect.js +55 -0
- package/examples/jsm/environments/DebugEnvironment.js +52 -0
- package/examples/jsm/environments/RoomEnvironment.js +148 -0
- package/examples/jsm/exporters/DRACOExporter.js +267 -0
- package/examples/jsm/exporters/EXRExporter.js +501 -0
- package/examples/jsm/exporters/GLTFExporter.js +3161 -0
- package/examples/jsm/exporters/KTX2Exporter.js +292 -0
- package/examples/jsm/exporters/MMDExporter.js +217 -0
- package/examples/jsm/exporters/OBJExporter.js +284 -0
- package/examples/jsm/exporters/PLYExporter.js +528 -0
- package/examples/jsm/exporters/STLExporter.js +199 -0
- package/examples/jsm/exporters/USDZExporter.js +711 -0
- package/examples/jsm/geometries/BoxLineGeometry.js +69 -0
- package/examples/jsm/geometries/ConvexGeometry.js +53 -0
- package/examples/jsm/geometries/DecalGeometry.js +356 -0
- package/examples/jsm/geometries/ParametricGeometries.js +254 -0
- package/examples/jsm/geometries/ParametricGeometry.js +139 -0
- package/examples/jsm/geometries/RoundedBoxGeometry.js +155 -0
- package/examples/jsm/geometries/TeapotGeometry.js +704 -0
- package/examples/jsm/geometries/TextGeometry.js +57 -0
- package/examples/jsm/helpers/LightProbeHelper.js +130 -0
- package/examples/jsm/helpers/OctreeHelper.js +73 -0
- package/examples/jsm/helpers/PositionalAudioHelper.js +109 -0
- package/examples/jsm/helpers/RectAreaLightHelper.js +85 -0
- package/examples/jsm/helpers/VertexNormalsHelper.js +96 -0
- package/examples/jsm/helpers/VertexTangentsHelper.js +88 -0
- package/examples/jsm/helpers/ViewHelper.js +333 -0
- package/examples/jsm/interactive/HTMLMesh.js +565 -0
- package/examples/jsm/interactive/InteractiveGroup.js +116 -0
- package/examples/jsm/interactive/SelectionBox.js +227 -0
- package/examples/jsm/interactive/SelectionHelper.js +104 -0
- package/examples/jsm/libs/ammo.wasm.js +822 -0
- package/examples/jsm/libs/ammo.wasm.wasm +0 -0
- package/examples/jsm/libs/basis/README.md +46 -0
- package/examples/jsm/libs/basis/basis_transcoder.js +21 -0
- package/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
- package/examples/jsm/libs/chevrotain.module.min.js +141 -0
- package/examples/jsm/libs/draco/README.md +32 -0
- package/examples/jsm/libs/draco/draco_decoder.js +34 -0
- package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
- package/examples/jsm/libs/draco/draco_encoder.js +33 -0
- package/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
- package/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
- package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
- package/examples/jsm/libs/draco/gltf/draco_encoder.js +33 -0
- package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
- package/examples/jsm/libs/ecsy.module.js +1792 -0
- package/examples/jsm/libs/fflate.module.js +2474 -0
- package/examples/jsm/libs/ktx-parse.module.js +1 -0
- package/examples/jsm/libs/lil-gui.module.min.js +8 -0
- package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
- package/examples/jsm/libs/meshopt_decoder.module.js +178 -0
- package/examples/jsm/libs/mikktspace.module.js +128 -0
- package/examples/jsm/libs/mmdparser.module.js +11530 -0
- package/examples/jsm/libs/motion-controllers.module.js +397 -0
- package/examples/jsm/libs/opentype.module.js +14568 -0
- package/examples/jsm/libs/potpack.module.js +125 -0
- package/examples/jsm/libs/rhino3dm/rhino3dm.js +21 -0
- package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +16 -0
- package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/examples/jsm/libs/stats.module.js +167 -0
- package/examples/jsm/libs/tween.module.js +803 -0
- package/examples/jsm/libs/utif.module.js +1579 -0
- package/examples/jsm/libs/zstddec.module.js +1 -0
- package/examples/jsm/lights/IESSpotLight.js +25 -0
- package/examples/jsm/lights/LightProbeGenerator.js +252 -0
- package/examples/jsm/lights/RectAreaLightUniformsLib.js +79 -0
- package/examples/jsm/lines/Line2.js +19 -0
- package/examples/jsm/lines/LineGeometry.js +79 -0
- package/examples/jsm/lines/LineMaterial.js +702 -0
- package/examples/jsm/lines/LineSegments2.js +361 -0
- package/examples/jsm/lines/LineSegmentsGeometry.js +241 -0
- package/examples/jsm/lines/Wireframe.js +56 -0
- package/examples/jsm/lines/WireframeGeometry2.js +24 -0
- package/examples/jsm/loaders/3DMLoader.js +1497 -0
- package/examples/jsm/loaders/3MFLoader.js +1478 -0
- package/examples/jsm/loaders/AMFLoader.js +521 -0
- package/examples/jsm/loaders/BVHLoader.js +437 -0
- package/examples/jsm/loaders/ColladaLoader.js +4122 -0
- package/examples/jsm/loaders/DDSLoader.js +274 -0
- package/examples/jsm/loaders/DRACOLoader.js +612 -0
- package/examples/jsm/loaders/EXRLoader.js +2309 -0
- package/examples/jsm/loaders/FBXLoader.js +4142 -0
- package/examples/jsm/loaders/FontLoader.js +183 -0
- package/examples/jsm/loaders/GCodeLoader.js +261 -0
- package/examples/jsm/loaders/GLTFLoader.js +4576 -0
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +115 -0
- package/examples/jsm/loaders/IESLoader.js +337 -0
- package/examples/jsm/loaders/KMZLoader.js +130 -0
- package/examples/jsm/loaders/KTX2Loader.js +868 -0
- package/examples/jsm/loaders/KTXLoader.js +176 -0
- package/examples/jsm/loaders/LDrawLoader.js +2464 -0
- package/examples/jsm/loaders/LUT3dlLoader.js +151 -0
- package/examples/jsm/loaders/LUTCubeLoader.js +153 -0
- package/examples/jsm/loaders/LWOLoader.js +1052 -0
- package/examples/jsm/loaders/LogLuvLoader.js +606 -0
- package/examples/jsm/loaders/LottieLoader.js +77 -0
- package/examples/jsm/loaders/MD2Loader.js +399 -0
- package/examples/jsm/loaders/MDDLoader.js +102 -0
- package/examples/jsm/loaders/MMDLoader.js +2273 -0
- package/examples/jsm/loaders/MTLLoader.js +567 -0
- package/examples/jsm/loaders/MaterialXLoader.js +734 -0
- package/examples/jsm/loaders/NRRDLoader.js +699 -0
- package/examples/jsm/loaders/OBJLoader.js +905 -0
- package/examples/jsm/loaders/PCDLoader.js +467 -0
- package/examples/jsm/loaders/PDBLoader.js +232 -0
- package/examples/jsm/loaders/PLYLoader.js +771 -0
- package/examples/jsm/loaders/PVRLoader.js +251 -0
- package/examples/jsm/loaders/RGBELoader.js +468 -0
- package/examples/jsm/loaders/RGBMLoader.js +1065 -0
- package/examples/jsm/loaders/STLLoader.js +403 -0
- package/examples/jsm/loaders/SVGLoader.js +3172 -0
- package/examples/jsm/loaders/TDSLoader.js +1124 -0
- package/examples/jsm/loaders/TGALoader.js +517 -0
- package/examples/jsm/loaders/TIFFLoader.js +36 -0
- package/examples/jsm/loaders/TTFLoader.js +214 -0
- package/examples/jsm/loaders/TiltLoader.js +520 -0
- package/examples/jsm/loaders/USDZLoader.js +633 -0
- package/examples/jsm/loaders/VOXLoader.js +311 -0
- package/examples/jsm/loaders/VRMLLoader.js +3533 -0
- package/examples/jsm/loaders/VTKLoader.js +1163 -0
- package/examples/jsm/loaders/XYZLoader.js +106 -0
- package/examples/jsm/loaders/lwo/IFFParser.js +1218 -0
- package/examples/jsm/loaders/lwo/LWO2Parser.js +414 -0
- package/examples/jsm/loaders/lwo/LWO3Parser.js +373 -0
- package/examples/jsm/materials/MeshGouraudMaterial.js +420 -0
- package/examples/jsm/math/Capsule.js +137 -0
- package/examples/jsm/math/ColorConverter.js +36 -0
- package/examples/jsm/math/ConvexHull.js +1271 -0
- package/examples/jsm/math/ImprovedNoise.js +71 -0
- package/examples/jsm/math/Lut.js +204 -0
- package/examples/jsm/math/MeshSurfaceSampler.js +250 -0
- package/examples/jsm/math/OBB.js +423 -0
- package/examples/jsm/math/Octree.js +462 -0
- package/examples/jsm/math/SimplexNoise.js +444 -0
- package/examples/jsm/misc/ConvexObjectBreaker.js +519 -0
- package/examples/jsm/misc/GPUComputationRenderer.js +446 -0
- package/examples/jsm/misc/Gyroscope.js +66 -0
- package/examples/jsm/misc/MD2Character.js +276 -0
- package/examples/jsm/misc/MD2CharacterComplex.js +576 -0
- package/examples/jsm/misc/MorphAnimMesh.js +75 -0
- package/examples/jsm/misc/MorphBlendMesh.js +322 -0
- package/examples/jsm/misc/ProgressiveLightMap.js +323 -0
- package/examples/jsm/misc/RollerCoaster.js +566 -0
- package/examples/jsm/misc/TubePainter.js +205 -0
- package/examples/jsm/misc/Volume.js +473 -0
- package/examples/jsm/misc/VolumeSlice.js +229 -0
- package/examples/jsm/modifiers/CurveModifier.js +326 -0
- package/examples/jsm/modifiers/EdgeSplitModifier.js +279 -0
- package/examples/jsm/modifiers/SimplifyModifier.js +525 -0
- package/examples/jsm/modifiers/TessellateModifier.js +307 -0
- package/examples/jsm/nodes/Nodes.js +171 -0
- package/examples/jsm/nodes/accessors/BitangentNode.js +89 -0
- package/examples/jsm/nodes/accessors/BufferAttributeNode.js +99 -0
- package/examples/jsm/nodes/accessors/BufferNode.js +30 -0
- package/examples/jsm/nodes/accessors/CameraNode.js +98 -0
- package/examples/jsm/nodes/accessors/CubeTextureNode.js +103 -0
- package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +77 -0
- package/examples/jsm/nodes/accessors/InstanceNode.js +71 -0
- package/examples/jsm/nodes/accessors/MaterialNode.js +267 -0
- package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +39 -0
- package/examples/jsm/nodes/accessors/ModelNode.js +34 -0
- package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +29 -0
- package/examples/jsm/nodes/accessors/MorphNode.js +70 -0
- package/examples/jsm/nodes/accessors/NormalNode.js +96 -0
- package/examples/jsm/nodes/accessors/Object3DNode.js +150 -0
- package/examples/jsm/nodes/accessors/PointUVNode.js +26 -0
- package/examples/jsm/nodes/accessors/PositionNode.js +104 -0
- package/examples/jsm/nodes/accessors/ReferenceNode.js +72 -0
- package/examples/jsm/nodes/accessors/ReflectVectorNode.js +35 -0
- package/examples/jsm/nodes/accessors/SceneNode.js +52 -0
- package/examples/jsm/nodes/accessors/SkinningNode.js +93 -0
- package/examples/jsm/nodes/accessors/StorageBufferNode.js +27 -0
- package/examples/jsm/nodes/accessors/TangentNode.js +103 -0
- package/examples/jsm/nodes/accessors/TextureBicubicNode.js +94 -0
- package/examples/jsm/nodes/accessors/TextureNode.js +271 -0
- package/examples/jsm/nodes/accessors/TextureSizeNode.js +35 -0
- package/examples/jsm/nodes/accessors/UVNode.js +47 -0
- package/examples/jsm/nodes/accessors/UserDataNode.js +29 -0
- package/examples/jsm/nodes/code/CodeNode.js +78 -0
- package/examples/jsm/nodes/code/ExpressionNode.js +37 -0
- package/examples/jsm/nodes/code/FunctionCallNode.js +96 -0
- package/examples/jsm/nodes/code/FunctionNode.js +127 -0
- package/examples/jsm/nodes/code/ScriptableNode.js +488 -0
- package/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
- package/examples/jsm/nodes/core/ArrayUniformNode.js +26 -0
- package/examples/jsm/nodes/core/AttributeNode.js +102 -0
- package/examples/jsm/nodes/core/BypassNode.js +45 -0
- package/examples/jsm/nodes/core/CacheNode.js +46 -0
- package/examples/jsm/nodes/core/ConstNode.js +32 -0
- package/examples/jsm/nodes/core/ContextNode.js +61 -0
- package/examples/jsm/nodes/core/IndexNode.js +66 -0
- package/examples/jsm/nodes/core/InputNode.js +83 -0
- package/examples/jsm/nodes/core/LightingModel.js +15 -0
- package/examples/jsm/nodes/core/Node.js +454 -0
- package/examples/jsm/nodes/core/NodeAttribute.js +15 -0
- package/examples/jsm/nodes/core/NodeBuilder.js +1016 -0
- package/examples/jsm/nodes/core/NodeCache.js +26 -0
- package/examples/jsm/nodes/core/NodeCode.js +15 -0
- package/examples/jsm/nodes/core/NodeFrame.js +110 -0
- package/examples/jsm/nodes/core/NodeFunction.js +22 -0
- package/examples/jsm/nodes/core/NodeFunctionInput.js +17 -0
- package/examples/jsm/nodes/core/NodeKeywords.js +80 -0
- package/examples/jsm/nodes/core/NodeParser.js +11 -0
- package/examples/jsm/nodes/core/NodeUniform.js +28 -0
- package/examples/jsm/nodes/core/NodeUtils.js +212 -0
- package/examples/jsm/nodes/core/NodeVar.js +14 -0
- package/examples/jsm/nodes/core/NodeVarying.js +17 -0
- package/examples/jsm/nodes/core/PropertyNode.js +61 -0
- package/examples/jsm/nodes/core/StackNode.js +99 -0
- package/examples/jsm/nodes/core/TempNode.js +58 -0
- package/examples/jsm/nodes/core/UniformNode.js +61 -0
- package/examples/jsm/nodes/core/VarNode.js +87 -0
- package/examples/jsm/nodes/core/VaryingNode.js +69 -0
- package/examples/jsm/nodes/core/constants.js +27 -0
- package/examples/jsm/nodes/display/BlendModeNode.js +99 -0
- package/examples/jsm/nodes/display/BumpMapNode.js +77 -0
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +100 -0
- package/examples/jsm/nodes/display/ColorSpaceNode.js +108 -0
- package/examples/jsm/nodes/display/FrontFacingNode.js +27 -0
- package/examples/jsm/nodes/display/NormalMapNode.js +106 -0
- package/examples/jsm/nodes/display/PosterizeNode.js +32 -0
- package/examples/jsm/nodes/display/ToneMappingNode.js +141 -0
- package/examples/jsm/nodes/display/ViewportDepthNode.js +69 -0
- package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +34 -0
- package/examples/jsm/nodes/display/ViewportNode.js +115 -0
- package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +31 -0
- package/examples/jsm/nodes/display/ViewportTextureNode.js +75 -0
- package/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
- package/examples/jsm/nodes/fog/FogNode.js +37 -0
- package/examples/jsm/nodes/fog/FogRangeNode.js +34 -0
- package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +40 -0
- package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
- package/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +43 -0
- package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +29 -0
- package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
- package/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +13 -0
- package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +16 -0
- package/examples/jsm/nodes/functions/BSDF/Schlick_to_F0.js +13 -0
- package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +20 -0
- package/examples/jsm/nodes/functions/PhongLightingModel.js +67 -0
- package/examples/jsm/nodes/functions/PhysicalLightingModel.js +343 -0
- package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +13 -0
- package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
- package/examples/jsm/nodes/geometry/RangeNode.js +104 -0
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +85 -0
- package/examples/jsm/nodes/lighting/AONode.js +27 -0
- package/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
- package/examples/jsm/nodes/lighting/AnalyticLightNode.js +184 -0
- package/examples/jsm/nodes/lighting/DirectionalLightNode.js +40 -0
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +191 -0
- package/examples/jsm/nodes/lighting/HemisphereLightNode.js +55 -0
- package/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
- package/examples/jsm/nodes/lighting/LightNode.js +57 -0
- package/examples/jsm/nodes/lighting/LightUtils.js +17 -0
- package/examples/jsm/nodes/lighting/LightingContextNode.js +102 -0
- package/examples/jsm/nodes/lighting/LightingNode.js +21 -0
- package/examples/jsm/nodes/lighting/LightsNode.js +128 -0
- package/examples/jsm/nodes/lighting/PointLightNode.js +68 -0
- package/examples/jsm/nodes/lighting/SpotLightNode.js +89 -0
- package/examples/jsm/nodes/loaders/NodeLoader.js +108 -0
- package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +59 -0
- package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
- package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +28 -0
- package/examples/jsm/nodes/materials/Materials.js +12 -0
- package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +27 -0
- package/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +34 -0
- package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +40 -0
- package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +65 -0
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +128 -0
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +80 -0
- package/examples/jsm/nodes/materials/NodeMaterial.js +536 -0
- package/examples/jsm/nodes/materials/PointsNodeMaterial.js +49 -0
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +103 -0
- package/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
- package/examples/jsm/nodes/materialx/MaterialXNodes.js +68 -0
- package/examples/jsm/nodes/materialx/lib/mx_hsv.js +56 -0
- package/examples/jsm/nodes/materialx/lib/mx_noise.js +618 -0
- package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +19 -0
- package/examples/jsm/nodes/math/CondNode.js +86 -0
- package/examples/jsm/nodes/math/MathNode.js +359 -0
- package/examples/jsm/nodes/math/OperatorNode.js +269 -0
- package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +152 -0
- package/examples/jsm/nodes/parsers/GLSLNodeParser.js +14 -0
- package/examples/jsm/nodes/procedural/CheckerNode.js +42 -0
- package/examples/jsm/nodes/shadernode/ShaderNode.js +420 -0
- package/examples/jsm/nodes/utils/ArrayElementNode.js +33 -0
- package/examples/jsm/nodes/utils/ConvertNode.js +65 -0
- package/examples/jsm/nodes/utils/DiscardNode.js +26 -0
- package/examples/jsm/nodes/utils/EquirectUVNode.js +33 -0
- package/examples/jsm/nodes/utils/JoinNode.js +51 -0
- package/examples/jsm/nodes/utils/LoopNode.js +186 -0
- package/examples/jsm/nodes/utils/MatcapUVNode.js +30 -0
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +46 -0
- package/examples/jsm/nodes/utils/OscNode.js +81 -0
- package/examples/jsm/nodes/utils/PackingNode.js +55 -0
- package/examples/jsm/nodes/utils/RemapNode.js +42 -0
- package/examples/jsm/nodes/utils/RotateUVNode.js +43 -0
- package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
- package/examples/jsm/nodes/utils/SplitNode.js +104 -0
- package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +41 -0
- package/examples/jsm/nodes/utils/TimerNode.js +94 -0
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +62 -0
- package/examples/jsm/objects/GroundProjectedSkybox.js +172 -0
- package/examples/jsm/objects/Lensflare.js +377 -0
- package/examples/jsm/objects/MarchingCubes.js +1176 -0
- package/examples/jsm/objects/Reflector.js +264 -0
- package/examples/jsm/objects/ReflectorForSSRPass.js +349 -0
- package/examples/jsm/objects/Refractor.js +324 -0
- package/examples/jsm/objects/ShadowMesh.js +80 -0
- package/examples/jsm/objects/Sky.js +219 -0
- package/examples/jsm/objects/Water.js +330 -0
- package/examples/jsm/objects/Water2.js +358 -0
- package/examples/jsm/offscreen/jank.js +45 -0
- package/examples/jsm/offscreen/offscreen.js +8 -0
- package/examples/jsm/offscreen/scene.js +86 -0
- package/examples/jsm/physics/AmmoPhysics.js +285 -0
- package/examples/jsm/physics/RapierPhysics.js +199 -0
- package/examples/jsm/postprocessing/AfterimagePass.js +104 -0
- package/examples/jsm/postprocessing/BloomPass.js +172 -0
- package/examples/jsm/postprocessing/BokehPass.js +140 -0
- package/examples/jsm/postprocessing/ClearPass.js +46 -0
- package/examples/jsm/postprocessing/CubeTexturePass.js +85 -0
- package/examples/jsm/postprocessing/DotScreenPass.js +65 -0
- package/examples/jsm/postprocessing/EffectComposer.js +231 -0
- package/examples/jsm/postprocessing/FilmPass.js +66 -0
- package/examples/jsm/postprocessing/GlitchPass.js +128 -0
- package/examples/jsm/postprocessing/HalftonePass.js +79 -0
- package/examples/jsm/postprocessing/LUTPass.js +173 -0
- package/examples/jsm/postprocessing/MaskPass.js +104 -0
- package/examples/jsm/postprocessing/OutlinePass.js +654 -0
- package/examples/jsm/postprocessing/OutputPass.js +91 -0
- package/examples/jsm/postprocessing/Pass.js +84 -0
- package/examples/jsm/postprocessing/RenderPass.js +81 -0
- package/examples/jsm/postprocessing/RenderPixelatedPass.js +235 -0
- package/examples/jsm/postprocessing/SAOPass.js +411 -0
- package/examples/jsm/postprocessing/SMAAPass.js +201 -0
- package/examples/jsm/postprocessing/SSAARenderPass.js +228 -0
- package/examples/jsm/postprocessing/SSAOPass.js +440 -0
- package/examples/jsm/postprocessing/SSRPass.js +641 -0
- package/examples/jsm/postprocessing/SavePass.js +79 -0
- package/examples/jsm/postprocessing/ShaderPass.js +77 -0
- package/examples/jsm/postprocessing/TAARenderPass.js +189 -0
- package/examples/jsm/postprocessing/TexturePass.js +67 -0
- package/examples/jsm/postprocessing/UnrealBloomPass.js +415 -0
- package/examples/jsm/renderers/CSS2DRenderer.js +215 -0
- package/examples/jsm/renderers/CSS3DRenderer.js +335 -0
- package/examples/jsm/renderers/Projector.js +918 -0
- package/examples/jsm/renderers/SVGRenderer.js +553 -0
- package/examples/jsm/renderers/common/Animation.js +58 -0
- package/examples/jsm/renderers/common/Attributes.js +75 -0
- package/examples/jsm/renderers/common/Backend.js +162 -0
- package/examples/jsm/renderers/common/Background.js +136 -0
- package/examples/jsm/renderers/common/Binding.js +19 -0
- package/examples/jsm/renderers/common/Bindings.js +165 -0
- package/examples/jsm/renderers/common/Buffer.js +38 -0
- package/examples/jsm/renderers/common/BufferUtils.js +33 -0
- package/examples/jsm/renderers/common/ChainMap.js +89 -0
- package/examples/jsm/renderers/common/ComputePipeline.js +17 -0
- package/examples/jsm/renderers/common/Constants.js +14 -0
- package/examples/jsm/renderers/common/CubeRenderTarget.js +65 -0
- package/examples/jsm/renderers/common/DataMap.js +54 -0
- package/examples/jsm/renderers/common/Geometries.js +215 -0
- package/examples/jsm/renderers/common/Info.js +73 -0
- package/examples/jsm/renderers/common/Pipeline.js +13 -0
- package/examples/jsm/renderers/common/Pipelines.js +370 -0
- package/examples/jsm/renderers/common/ProgrammableStage.js +18 -0
- package/examples/jsm/renderers/common/RenderContext.js +38 -0
- package/examples/jsm/renderers/common/RenderContexts.js +49 -0
- package/examples/jsm/renderers/common/RenderList.js +178 -0
- package/examples/jsm/renderers/common/RenderLists.js +38 -0
- package/examples/jsm/renderers/common/RenderObject.js +129 -0
- package/examples/jsm/renderers/common/RenderObjects.js +95 -0
- package/examples/jsm/renderers/common/RenderPipeline.js +16 -0
- package/examples/jsm/renderers/common/Renderer.js +895 -0
- package/examples/jsm/renderers/common/SampledTexture.js +80 -0
- package/examples/jsm/renderers/common/Sampler.js +18 -0
- package/examples/jsm/renderers/common/StorageBuffer.js +17 -0
- package/examples/jsm/renderers/common/Textures.js +218 -0
- package/examples/jsm/renderers/common/Uniform.js +140 -0
- package/examples/jsm/renderers/common/UniformBuffer.js +15 -0
- package/examples/jsm/renderers/common/UniformsGroup.js +299 -0
- package/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +39 -0
- package/examples/jsm/renderers/common/nodes/NodeSampler.js +21 -0
- package/examples/jsm/renderers/common/nodes/NodeUniform.js +135 -0
- package/examples/jsm/renderers/common/nodes/Nodes.js +330 -0
- package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +340 -0
- package/examples/jsm/renderers/webgl/nodes/SlotNode.js +26 -0
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +764 -0
- package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +49 -0
- package/examples/jsm/renderers/webgpu/WebGPUBackend.js +844 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +32 -0
- package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +902 -0
- package/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +104 -0
- package/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.js +14 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +274 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +223 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUConstants.js +324 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +533 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureMipmapUtils.js +163 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +964 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +92 -0
- package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +87 -0
- package/examples/jsm/shaders/AfterimageShader.js +56 -0
- package/examples/jsm/shaders/BasicShader.js +27 -0
- package/examples/jsm/shaders/BleachBypassShader.js +62 -0
- package/examples/jsm/shaders/BlendShader.js +47 -0
- package/examples/jsm/shaders/BokehShader.js +143 -0
- package/examples/jsm/shaders/BokehShader2.js +393 -0
- package/examples/jsm/shaders/BrightnessContrastShader.js +54 -0
- package/examples/jsm/shaders/ColorCorrectionShader.js +50 -0
- package/examples/jsm/shaders/ColorifyShader.js +51 -0
- package/examples/jsm/shaders/ConvolutionShader.js +103 -0
- package/examples/jsm/shaders/CopyShader.js +45 -0
- package/examples/jsm/shaders/DOFMipMapShader.js +54 -0
- package/examples/jsm/shaders/DepthLimitedBlurShader.js +166 -0
- package/examples/jsm/shaders/DigitalGlitch.js +101 -0
- package/examples/jsm/shaders/DotScreenShader.js +70 -0
- package/examples/jsm/shaders/ExposureShader.js +44 -0
- package/examples/jsm/shaders/FXAAShader.js +286 -0
- package/examples/jsm/shaders/FilmShader.js +102 -0
- package/examples/jsm/shaders/FocusShader.js +87 -0
- package/examples/jsm/shaders/FreiChenShader.js +94 -0
- package/examples/jsm/shaders/GammaCorrectionShader.js +43 -0
- package/examples/jsm/shaders/GodRaysShader.js +313 -0
- package/examples/jsm/shaders/HalftoneShader.js +310 -0
- package/examples/jsm/shaders/HorizontalBlurShader.js +59 -0
- package/examples/jsm/shaders/HorizontalTiltShiftShader.js +61 -0
- package/examples/jsm/shaders/HueSaturationShader.js +65 -0
- package/examples/jsm/shaders/KaleidoShader.js +56 -0
- package/examples/jsm/shaders/LuminosityHighPassShader.js +64 -0
- package/examples/jsm/shaders/LuminosityShader.js +46 -0
- package/examples/jsm/shaders/MMDToonShader.js +132 -0
- package/examples/jsm/shaders/MirrorShader.js +54 -0
- package/examples/jsm/shaders/NormalMapShader.js +53 -0
- package/examples/jsm/shaders/OutputShader.js +78 -0
- package/examples/jsm/shaders/RGBShiftShader.js +54 -0
- package/examples/jsm/shaders/SAOShader.js +188 -0
- package/examples/jsm/shaders/SMAAShader.js +460 -0
- package/examples/jsm/shaders/SSAOShader.js +288 -0
- package/examples/jsm/shaders/SSRShader.js +364 -0
- package/examples/jsm/shaders/SepiaShader.js +52 -0
- package/examples/jsm/shaders/SobelOperatorShader.js +90 -0
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +88 -0
- package/examples/jsm/shaders/TechnicolorShader.js +43 -0
- package/examples/jsm/shaders/ToonShader.js +326 -0
- package/examples/jsm/shaders/TriangleBlurShader.js +72 -0
- package/examples/jsm/shaders/UnpackDepthRGBAShader.js +45 -0
- package/examples/jsm/shaders/VelocityShader.js +128 -0
- package/examples/jsm/shaders/VerticalBlurShader.js +59 -0
- package/examples/jsm/shaders/VerticalTiltShiftShader.js +61 -0
- package/examples/jsm/shaders/VignetteShader.js +51 -0
- package/examples/jsm/shaders/VolumeShader.js +289 -0
- package/examples/jsm/shaders/WaterRefractionShader.js +93 -0
- package/examples/jsm/textures/FlakesTexture.js +40 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
- package/examples/jsm/utils/CameraUtils.js +73 -0
- package/examples/jsm/utils/GPUStatsPanel.js +128 -0
- package/examples/jsm/utils/GeometryCompressionUtils.js +639 -0
- package/examples/jsm/utils/GeometryUtils.js +221 -0
- package/examples/jsm/utils/LDrawUtils.js +202 -0
- package/examples/jsm/utils/PackedPhongMaterial.js +178 -0
- package/examples/jsm/utils/SceneUtils.js +254 -0
- package/examples/jsm/utils/ShadowMapViewer.js +210 -0
- package/examples/jsm/utils/SkeletonUtils.js +413 -0
- package/examples/jsm/utils/TextureUtils.js +86 -0
- package/examples/jsm/utils/UVsDebug.js +165 -0
- package/examples/jsm/utils/WorkerPool.js +102 -0
- package/examples/jsm/webxr/ARButton.js +208 -0
- package/examples/jsm/webxr/OculusHandModel.js +109 -0
- package/examples/jsm/webxr/OculusHandPointerModel.js +413 -0
- package/examples/jsm/webxr/Text2D.js +38 -0
- package/examples/jsm/webxr/VRButton.js +200 -0
- package/examples/jsm/webxr/XRButton.js +198 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +299 -0
- package/examples/jsm/webxr/XREstimatedLight.js +223 -0
- package/examples/jsm/webxr/XRHandMeshModel.js +112 -0
- package/examples/jsm/webxr/XRHandModelFactory.js +105 -0
- package/examples/jsm/webxr/XRHandPrimitiveModel.js +103 -0
- package/examples/jsm/webxr/XRPlanes.js +100 -0
- package/lib/3d.min.js +1 -1
- package/package.json +23 -10
- package/dist/core/global.d.ts +0 -10
- /package/dist/core/{globalControl.d.ts → global/globalControl.d.ts} +0 -0
- /package/dist/core/{globalControl.js → global/globalControl.js} +0 -0
package/dist/core/camera.js
CHANGED
|
@@ -20,7 +20,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
20
20
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
21
21
|
import { BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, PerspectiveCamera as TPerspectiveCamera } from 'three';
|
|
22
22
|
import { Direction, moveTo, moveWithLine } from "../utils/move";
|
|
23
|
-
import globalObjectManage from "./global";
|
|
23
|
+
import globalObjectManage from "./global/global";
|
|
24
24
|
var PerspectiveCamera = /*#__PURE__*/function (_TPerspectiveCamera) {
|
|
25
25
|
_inherits(PerspectiveCamera, _TPerspectiveCamera);
|
|
26
26
|
var _super = _createSuper(PerspectiveCamera);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TransformControls as TTransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
2
|
+
import type { Camera } from 'three';
|
|
3
|
+
export declare class TransformControls extends TTransformControls {
|
|
4
|
+
constructor(object: Camera, domElement?: HTMLElement);
|
|
5
|
+
dispose(): void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* create TransformControls
|
|
9
|
+
* note: 不可使用await,否则会导致渲染器无法完成初始化
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const createTransformControls: (size?: number) => Promise<TransformControls>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
8
|
+
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
9
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
10
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
11
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
12
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
13
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
14
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
15
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
16
|
+
import { TransformControls as TTransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
17
|
+
import globalObjectManage from "../global/global";
|
|
18
|
+
import { emitter } from "../../utils";
|
|
19
|
+
export var TransformControls = /*#__PURE__*/function (_TTransformControls) {
|
|
20
|
+
_inherits(TransformControls, _TTransformControls);
|
|
21
|
+
var _super = _createSuper(TransformControls);
|
|
22
|
+
function TransformControls(object, domElement) {
|
|
23
|
+
_classCallCheck(this, TransformControls);
|
|
24
|
+
return _super.call(this, object, domElement);
|
|
25
|
+
}
|
|
26
|
+
_createClass(TransformControls, [{
|
|
27
|
+
key: "dispose",
|
|
28
|
+
value: function dispose() {
|
|
29
|
+
var _this = this;
|
|
30
|
+
_get(_getPrototypeOf(TransformControls.prototype), "dispose", this).call(this);
|
|
31
|
+
var index = globalObjectManage.transformControls.findIndex(function (item) {
|
|
32
|
+
return item === _this;
|
|
33
|
+
});
|
|
34
|
+
if (index > -1) globalObjectManage.transformControls.splice(index, 1);
|
|
35
|
+
}
|
|
36
|
+
}]);
|
|
37
|
+
return TransformControls;
|
|
38
|
+
}(TTransformControls);
|
|
39
|
+
var create = function create() {
|
|
40
|
+
var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
|
|
41
|
+
var transformControl = new TransformControls(globalObjectManage.camera, globalObjectManage.domElement);
|
|
42
|
+
transformControl.size = size;
|
|
43
|
+
transformControl.addEventListener('change', function () {});
|
|
44
|
+
transformControl.addEventListener('dragging-changed', function (event) {
|
|
45
|
+
var controls = globalObjectManage.orbitControls;
|
|
46
|
+
if (controls) controls.enabled = !event.value;
|
|
47
|
+
});
|
|
48
|
+
globalObjectManage.setTransformControls(transformControl);
|
|
49
|
+
|
|
50
|
+
// maybe many controls
|
|
51
|
+
globalObjectManage.scene.add(transformControl);
|
|
52
|
+
return transformControl;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* create TransformControls
|
|
57
|
+
* note: 不可使用await,否则会导致渲染器无法完成初始化
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
export var createTransformControls = function createTransformControls() {
|
|
61
|
+
var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
|
|
62
|
+
var promise = new Promise(function (resolve) {
|
|
63
|
+
if (!(globalObjectManage.camera && globalObjectManage.domElement)) {
|
|
64
|
+
emitter.on('after-render', function () {
|
|
65
|
+
resolve(create(size));
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
resolve(create(size));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return promise;
|
|
72
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Scene } from 'three';
|
|
2
|
+
import type { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
3
|
+
import type { TransformControls } from '../control/transformControls';
|
|
4
|
+
import type { PerspectiveCamera } from '../camera';
|
|
5
|
+
declare class GlobalObjectManage {
|
|
6
|
+
scene: Scene | null;
|
|
7
|
+
triggerClick: boolean;
|
|
8
|
+
camera: PerspectiveCamera | null;
|
|
9
|
+
domElement: HTMLElement | null;
|
|
10
|
+
orbitControls: OrbitControls | null;
|
|
11
|
+
transformControls: TransformControls[];
|
|
12
|
+
frameCallbacks: Set<() => void>;
|
|
13
|
+
constructor();
|
|
14
|
+
addScene(object3d: Scene): void;
|
|
15
|
+
setCamera(camera: PerspectiveCamera): void;
|
|
16
|
+
setDomElement(domElement: HTMLElement): void;
|
|
17
|
+
setOrbitControls(orbitControls: OrbitControls): void;
|
|
18
|
+
setTransformControls(transformControls: TransformControls): void;
|
|
19
|
+
setTriggerClickState(state: boolean): void;
|
|
20
|
+
addFrameCallback(cb: () => void): void;
|
|
21
|
+
removeFrameCallback(cb: () => void): void;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: GlobalObjectManage;
|
|
24
|
+
export default _default;
|
|
@@ -6,21 +6,58 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
6
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
8
|
var GlobalObjectManage = /*#__PURE__*/function () {
|
|
9
|
+
// hooks callback
|
|
10
|
+
|
|
9
11
|
function GlobalObjectManage() {
|
|
10
12
|
_classCallCheck(this, GlobalObjectManage);
|
|
11
13
|
_defineProperty(this, "scene", null);
|
|
12
14
|
_defineProperty(this, "triggerClick", false);
|
|
15
|
+
_defineProperty(this, "camera", null);
|
|
16
|
+
_defineProperty(this, "domElement", null);
|
|
17
|
+
_defineProperty(this, "orbitControls", null);
|
|
18
|
+
_defineProperty(this, "transformControls", []);
|
|
19
|
+
_defineProperty(this, "frameCallbacks", new Set());
|
|
13
20
|
}
|
|
14
21
|
_createClass(GlobalObjectManage, [{
|
|
15
22
|
key: "addScene",
|
|
16
23
|
value: function addScene(object3d) {
|
|
17
24
|
this.scene = object3d;
|
|
18
25
|
}
|
|
26
|
+
}, {
|
|
27
|
+
key: "setCamera",
|
|
28
|
+
value: function setCamera(camera) {
|
|
29
|
+
this.camera = camera;
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
key: "setDomElement",
|
|
33
|
+
value: function setDomElement(domElement) {
|
|
34
|
+
this.domElement = domElement;
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "setOrbitControls",
|
|
38
|
+
value: function setOrbitControls(orbitControls) {
|
|
39
|
+
this.orbitControls = orbitControls;
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "setTransformControls",
|
|
43
|
+
value: function setTransformControls(transformControls) {
|
|
44
|
+
this.transformControls.push(transformControls);
|
|
45
|
+
}
|
|
19
46
|
}, {
|
|
20
47
|
key: "setTriggerClickState",
|
|
21
48
|
value: function setTriggerClickState(state) {
|
|
22
49
|
this.triggerClick = state;
|
|
23
50
|
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "addFrameCallback",
|
|
53
|
+
value: function addFrameCallback(cb) {
|
|
54
|
+
this.frameCallbacks.add(cb);
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "removeFrameCallback",
|
|
58
|
+
value: function removeFrameCallback(cb) {
|
|
59
|
+
this.frameCallbacks.delete(cb);
|
|
60
|
+
}
|
|
24
61
|
}]);
|
|
25
62
|
return GlobalObjectManage;
|
|
26
63
|
}();
|
package/dist/core/group.d.ts
CHANGED
|
@@ -20,7 +20,25 @@ declare class Group extends TGroup {
|
|
|
20
20
|
*/
|
|
21
21
|
removeAllNatureEventListener(): void;
|
|
22
22
|
/**
|
|
23
|
-
|
|
23
|
+
* handle intersect event
|
|
24
|
+
* @param intersects
|
|
25
|
+
* @param eventType
|
|
26
|
+
*/
|
|
27
|
+
private handleClick;
|
|
28
|
+
/**
|
|
29
|
+
* handle pointermove event
|
|
30
|
+
* @param intersects
|
|
31
|
+
* @param natureEvent
|
|
32
|
+
*/
|
|
33
|
+
private handlePointerMove;
|
|
34
|
+
/**
|
|
35
|
+
* handle pointerleave event
|
|
36
|
+
* @param intersects
|
|
37
|
+
* @param natureEvent
|
|
38
|
+
*/
|
|
39
|
+
private handlePointerleave;
|
|
40
|
+
/**
|
|
41
|
+
* raycastGroup
|
|
24
42
|
* handle intersect event
|
|
25
43
|
*/
|
|
26
44
|
raycastGroup(): void;
|
package/dist/core/group.js
CHANGED
|
@@ -13,6 +13,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
13
13
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
14
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
15
|
import { Group as TGroup } from 'three';
|
|
16
|
+
import globalObjectManage from "./global/global";
|
|
16
17
|
var Group = /*#__PURE__*/function (_TGroup) {
|
|
17
18
|
_inherits(Group, _TGroup);
|
|
18
19
|
var _super = _createSuper(Group);
|
|
@@ -62,13 +63,64 @@ var Group = /*#__PURE__*/function (_TGroup) {
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
/**
|
|
65
|
-
|
|
66
|
+
* handle intersect event
|
|
67
|
+
* @param intersects
|
|
68
|
+
* @param eventType
|
|
69
|
+
*/
|
|
70
|
+
}, {
|
|
71
|
+
key: "handleClick",
|
|
72
|
+
value: function handleClick(natureEvent) {
|
|
73
|
+
if (!globalObjectManage.triggerClick) return;
|
|
74
|
+
|
|
75
|
+
// get nature event
|
|
76
|
+
natureEvent.forEach(function (handlefn) {
|
|
77
|
+
// handlefn(this)
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* handle pointermove event
|
|
83
|
+
* @param intersects
|
|
84
|
+
* @param natureEvent
|
|
85
|
+
*/
|
|
86
|
+
}, {
|
|
87
|
+
key: "handlePointerMove",
|
|
88
|
+
value: function handlePointerMove(natureEvent) {
|
|
89
|
+
natureEvent.forEach(function (handlefn) {
|
|
90
|
+
// handlefn(this)
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* handle pointerleave event
|
|
96
|
+
* @param intersects
|
|
97
|
+
* @param natureEvent
|
|
98
|
+
*/
|
|
99
|
+
}, {
|
|
100
|
+
key: "handlePointerleave",
|
|
101
|
+
value: function handlePointerleave() {
|
|
102
|
+
var pointerleaveCallback = this.natureEventMap.get('pointerleave');
|
|
103
|
+
pointerleaveCallback && pointerleaveCallback.length > 0 && pointerleaveCallback.forEach(function (handlefn) {
|
|
104
|
+
// handlefn(this)
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* raycastGroup
|
|
66
110
|
* handle intersect event
|
|
67
111
|
*/
|
|
68
112
|
}, {
|
|
69
113
|
key: "raycastGroup",
|
|
70
114
|
value: function raycastGroup() {
|
|
71
|
-
//
|
|
115
|
+
// const clickCallback = this.natureEventMap.get('click')
|
|
116
|
+
// const pointerupCallback = this.natureEventMap.get('pointerup')
|
|
117
|
+
// const pointerdownCallback = this.natureEventMap.get('pointerdown')
|
|
118
|
+
// const pointermoveCallback = this.natureEventMap.get('pointermove')
|
|
119
|
+
|
|
120
|
+
// clickCallback && clickCallback.length > 0 && this.handleClick(clickCallback)
|
|
121
|
+
// pointerupCallback && pointerupCallback.length > 0 && this.handleClick(pointerupCallback)
|
|
122
|
+
// pointerdownCallback && pointerdownCallback.length > 0 && this.handleClick(pointerdownCallback)
|
|
123
|
+
// pointermoveCallback && pointermoveCallback.length > 0 && this.handlePointerMove(pointermoveCallback)
|
|
72
124
|
}
|
|
73
125
|
}]);
|
|
74
126
|
return Group;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CatmullRomCurve3, Line, Vector3 } from 'three';
|
|
2
|
+
import type { TransformControls } from './control/transformControls';
|
|
3
|
+
declare type CatmullRomCurve3WithMesh = CatmullRomCurve3 & {
|
|
4
|
+
mesh: Line;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* 可控制曲线
|
|
8
|
+
* @param points
|
|
9
|
+
* @param transformControl
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const createControlLine: (points: Vector3[], transformControl: TransformControls) => CatmullRomCurve3WithMesh;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BoxGeometry, BufferAttribute, BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, MeshBasicMaterial, Vector3 } from 'three';
|
|
2
|
+
import Mesh from "./mesh";
|
|
3
|
+
import globalObjectManage from "./global/global";
|
|
4
|
+
var point = new Vector3(0, 0, 0);
|
|
5
|
+
var createSplineControlObject3d = function createSplineControlObject3d(position, transformControl) {
|
|
6
|
+
var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
7
|
+
var height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
8
|
+
var depth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
9
|
+
var boxGeometry = new BoxGeometry(width, height, depth);
|
|
10
|
+
var material = new MeshBasicMaterial({
|
|
11
|
+
color: Math.random() * 0xFFFFFF
|
|
12
|
+
});
|
|
13
|
+
var object = new Mesh(boxGeometry, material);
|
|
14
|
+
object.addNatureEventListener('pointermove', function (mesh) {
|
|
15
|
+
transformControl.attach(mesh);
|
|
16
|
+
});
|
|
17
|
+
object.position.copy(position);
|
|
18
|
+
globalObjectManage.scene.add(object);
|
|
19
|
+
return object;
|
|
20
|
+
};
|
|
21
|
+
var createCatmullRomCurve3 = function createCatmullRomCurve3(positions) {
|
|
22
|
+
var geometry = new BufferGeometry();
|
|
23
|
+
geometry.setAttribute('position', new BufferAttribute(new Float32Array(200 * 3), 3));
|
|
24
|
+
var curve = new CatmullRomCurve3(positions);
|
|
25
|
+
curve.mesh = new Line(geometry.clone(), new LineBasicMaterial({
|
|
26
|
+
color: 'red',
|
|
27
|
+
opacity: 1
|
|
28
|
+
}));
|
|
29
|
+
return curve;
|
|
30
|
+
};
|
|
31
|
+
var updateCatmullRomCurve3 = function updateCatmullRomCurve3(curve) {
|
|
32
|
+
var splineMesh = curve.mesh;
|
|
33
|
+
var position = splineMesh.geometry.attributes.position;
|
|
34
|
+
|
|
35
|
+
// update 200 points
|
|
36
|
+
for (var i = 0; i < 200; i++) {
|
|
37
|
+
var t = i / (200 - 1);
|
|
38
|
+
curve.getPoint(t, point);
|
|
39
|
+
position.setXYZ(i, point.x, point.y, point.z);
|
|
40
|
+
}
|
|
41
|
+
position.needsUpdate = true;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 可控制曲线
|
|
46
|
+
* @param points
|
|
47
|
+
* @param transformControl
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
export var createControlLine = function createControlLine(points, transformControl) {
|
|
51
|
+
var splineControlObject3d = [];
|
|
52
|
+
points.forEach(function (point) {
|
|
53
|
+
splineControlObject3d.push(createSplineControlObject3d(point, transformControl));
|
|
54
|
+
});
|
|
55
|
+
var curve = createCatmullRomCurve3(points);
|
|
56
|
+
updateCatmullRomCurve3(curve);
|
|
57
|
+
transformControl.addEventListener('objectChange', function () {
|
|
58
|
+
updateCatmullRomCurve3(curve);
|
|
59
|
+
});
|
|
60
|
+
return curve;
|
|
61
|
+
};
|
package/dist/core/mesh.d.ts
CHANGED
package/dist/core/mesh.js
CHANGED
|
@@ -15,7 +15,9 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
15
15
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
16
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
17
|
import { Mesh as TMesh } from 'three';
|
|
18
|
-
import
|
|
18
|
+
import { getObject3dAncestorsNodes } from "../utils";
|
|
19
|
+
import Group from "./group";
|
|
20
|
+
import globalObjectManage from "./global/global";
|
|
19
21
|
var Mesh = /*#__PURE__*/function (_TMesh) {
|
|
20
22
|
_inherits(Mesh, _TMesh);
|
|
21
23
|
var _super = _createSuper(Mesh);
|
|
@@ -111,6 +113,18 @@ var Mesh = /*#__PURE__*/function (_TMesh) {
|
|
|
111
113
|
});
|
|
112
114
|
}
|
|
113
115
|
|
|
116
|
+
/**
|
|
117
|
+
* bubbling
|
|
118
|
+
*/
|
|
119
|
+
}, {
|
|
120
|
+
key: "bubbling",
|
|
121
|
+
value: function bubbling() {
|
|
122
|
+
var ancestorsNodes = getObject3dAncestorsNodes(this);
|
|
123
|
+
ancestorsNodes.forEach(function (node) {
|
|
124
|
+
if (node instanceof Group) node.raycastGroup();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
|
|
114
128
|
/**
|
|
115
129
|
* handle mesh raycaster
|
|
116
130
|
* @param raycaster
|
|
@@ -129,6 +143,10 @@ var Mesh = /*#__PURE__*/function (_TMesh) {
|
|
|
129
143
|
var object = intersect && intersect.object;
|
|
130
144
|
if (object === this) {
|
|
131
145
|
this.entered = true;
|
|
146
|
+
|
|
147
|
+
// bubbling
|
|
148
|
+
// this.bubbling()
|
|
149
|
+
|
|
132
150
|
clickCallback && clickCallback.length > 0 && this.handleClick(clickCallback, intersect);
|
|
133
151
|
pointerupCallback && pointerupCallback.length > 0 && this.handleClick(pointerupCallback, intersect);
|
|
134
152
|
pointerdownCallback && pointerdownCallback.length > 0 && this.handleClick(pointerdownCallback, intersect);
|
package/dist/core/model.js
CHANGED
|
@@ -24,6 +24,8 @@ var ModelLoader = /*#__PURE__*/function () {
|
|
|
24
24
|
function loadGLTF(url, onLoad, onProgress, onError) {
|
|
25
25
|
var loader = new GLTFLoader();
|
|
26
26
|
var dracoLoader = new DRACOLoader();
|
|
27
|
+
|
|
28
|
+
// todo: 调优
|
|
27
29
|
dracoLoader.setDecoderPath('./draco/');
|
|
28
30
|
dracoLoader.setDecoderConfig({
|
|
29
31
|
type: 'js'
|
package/dist/core/scene.js
CHANGED
|
@@ -8,9 +8,11 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
8
8
|
import { ACESFilmicToneMapping, AmbientLight, Raycaster, Scene as TScene, Vector2, Vector3, WebGLRenderer } from 'three';
|
|
9
9
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
10
10
|
import * as TWEEN from '@tweenjs/tween.js';
|
|
11
|
+
import { emitter } from "../utils";
|
|
12
|
+
import Mesh from "./mesh";
|
|
11
13
|
import Cssrenderer from "./cssRenderer";
|
|
12
|
-
import globalControl from "./globalControl";
|
|
13
|
-
import globalObjectManage from "./global";
|
|
14
|
+
import globalControl from "./global/globalControl";
|
|
15
|
+
import globalObjectManage from "./global/global";
|
|
14
16
|
import { PerspectiveCamera } from "./camera";
|
|
15
17
|
var Scene = /*#__PURE__*/function () {
|
|
16
18
|
function Scene(opts) {
|
|
@@ -39,6 +41,7 @@ var Scene = /*#__PURE__*/function () {
|
|
|
39
41
|
value: function defaultInit() {
|
|
40
42
|
var camera = this.initDefaultPerspectiveCamera();
|
|
41
43
|
this.camera = camera;
|
|
44
|
+
globalObjectManage.setCamera(camera);
|
|
42
45
|
this.scene.add(camera);
|
|
43
46
|
var renderer = this.initRenderer();
|
|
44
47
|
this.renderer = renderer;
|
|
@@ -101,7 +104,7 @@ var Scene = /*#__PURE__*/function () {
|
|
|
101
104
|
key: "initDefaultPerspectiveCamera",
|
|
102
105
|
value: function initDefaultPerspectiveCamera() {
|
|
103
106
|
var rendererOps = this.opts.defCameraOps || {};
|
|
104
|
-
var camera = new PerspectiveCamera(rendererOps.fov || 90, window.innerWidth / window.innerHeight, rendererOps.near || 0.1, rendererOps.far ||
|
|
107
|
+
var camera = new PerspectiveCamera(rendererOps.fov || 90, window.innerWidth / window.innerHeight, rendererOps.near || 0.1, rendererOps.far || 5000);
|
|
105
108
|
var position = rendererOps.position || new Vector3(0, 10, 10);
|
|
106
109
|
camera.position.set(position.x, position.y, position.z);
|
|
107
110
|
return camera;
|
|
@@ -134,6 +137,9 @@ var Scene = /*#__PURE__*/function () {
|
|
|
134
137
|
var _this = this;
|
|
135
138
|
if (!this.renderer || !this.scene || !this.camera) throw new Error('scene or camera or renderer is not init');
|
|
136
139
|
if (frameAnimate) frameAnimate(this.renderer);
|
|
140
|
+
if (globalObjectManage.frameCallbacks.size > 0) globalObjectManage.frameCallbacks.forEach(function (cb) {
|
|
141
|
+
cb();
|
|
142
|
+
});
|
|
137
143
|
globalControl.update();
|
|
138
144
|
TWEEN.update();
|
|
139
145
|
this.renderer.render(this.scene, this.camera);
|
|
@@ -161,7 +167,12 @@ var Scene = /*#__PURE__*/function () {
|
|
|
161
167
|
key: "updateRaycaster",
|
|
162
168
|
value: function updateRaycaster() {
|
|
163
169
|
this.raycaster.setFromCamera(this.pointer, this.camera);
|
|
164
|
-
|
|
170
|
+
|
|
171
|
+
// need expand
|
|
172
|
+
var object3ds = this.scene.children.filter(function (item) {
|
|
173
|
+
return item instanceof Mesh;
|
|
174
|
+
});
|
|
175
|
+
this.raycaster.intersectObjects(object3ds);
|
|
165
176
|
}
|
|
166
177
|
}, {
|
|
167
178
|
key: "getPointerPosition",
|
|
@@ -178,6 +189,12 @@ var Scene = /*#__PURE__*/function () {
|
|
|
178
189
|
key: "onPointerPointerup",
|
|
179
190
|
value: function onPointerPointerup(event) {
|
|
180
191
|
globalObjectManage.setTriggerClickState(false);
|
|
192
|
+
var transformControls = globalObjectManage.transformControls;
|
|
193
|
+
if (transformControls.length > 0) {
|
|
194
|
+
transformControls.forEach(function (transformControl) {
|
|
195
|
+
transformControl.detach();
|
|
196
|
+
});
|
|
197
|
+
}
|
|
181
198
|
this.getPointerPosition(event);
|
|
182
199
|
this.updateRaycaster();
|
|
183
200
|
}
|
|
@@ -241,19 +258,26 @@ var Scene = /*#__PURE__*/function () {
|
|
|
241
258
|
key: "render",
|
|
242
259
|
value: function render(target) {
|
|
243
260
|
var _this3 = this;
|
|
261
|
+
emitter.emit('before-render');
|
|
244
262
|
var currentControlDom = null;
|
|
263
|
+
var domElement = this.renderer.domElement;
|
|
245
264
|
if (this.cssRenderer) {
|
|
246
265
|
currentControlDom = this.cssRenderer.cssRenderer.domElement;
|
|
247
266
|
target.appendChild(currentControlDom);
|
|
248
267
|
currentControlDom.style.position = 'absolute';
|
|
249
268
|
currentControlDom.style.top = '0';
|
|
250
269
|
}
|
|
251
|
-
if (this.opts.orbitControls)
|
|
252
|
-
|
|
253
|
-
|
|
270
|
+
if (this.opts.orbitControls) {
|
|
271
|
+
this.controls = new OrbitControls(this.camera, currentControlDom || domElement);
|
|
272
|
+
globalObjectManage.setOrbitControls(this.controls);
|
|
273
|
+
}
|
|
274
|
+
globalObjectManage.setDomElement(currentControlDom || domElement);
|
|
275
|
+
target.appendChild(domElement);
|
|
276
|
+
this.registerEvent(currentControlDom || domElement);
|
|
254
277
|
target.addEventListener('resize', function () {
|
|
255
278
|
return _this3.resetScene(_this3.camera, _this3.renderer);
|
|
256
279
|
});
|
|
280
|
+
emitter.emit('after-render');
|
|
257
281
|
}
|
|
258
282
|
}, {
|
|
259
283
|
key: "destroy",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import globalObjectManage from "../global/global";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* frame hook
|
|
5
|
+
* @param cb
|
|
6
|
+
*/
|
|
7
|
+
var useframe = function useframe(cb) {
|
|
8
|
+
globalObjectManage.addFrameCallback(cb);
|
|
9
|
+
return globalObjectManage.removeFrameCallback.bind(globalObjectManage, cb);
|
|
10
|
+
};
|
|
11
|
+
export default useframe;
|
package/dist/export.d.ts
CHANGED
|
@@ -4,7 +4,10 @@ import { PerspectiveCamera } from './core/camera';
|
|
|
4
4
|
import ModelLoader from './core/model';
|
|
5
5
|
import { ModelType } from './commonEnu';
|
|
6
6
|
import { createLabel } from './utils/createLabel';
|
|
7
|
+
import { createControlLine } from './core/line';
|
|
8
|
+
import { TransformControls, createTransformControls } from './core/control/transformControls';
|
|
7
9
|
import { Direction } from './utils/move';
|
|
10
|
+
import globalObjectManage from './core/global/global';
|
|
8
11
|
declare const utils: {
|
|
9
12
|
moveTo: (currentObject3D: import("three").Object3D<import("three").Event>, targetObject3D: import("three").Object3D<import("three").Event>, distance: number, direction: Direction, duration?: number | undefined, animationMethod?: string | undefined) => import("@tweenjs/tween.js").Tween<import("three").Vector3>;
|
|
10
13
|
moveLine: (currentObject3D: import("three").Object3D<import("three").Event>, targetObject3D: import("three").Object3D<import("three").Event>) => void;
|
|
@@ -23,6 +26,9 @@ declare const dom: {
|
|
|
23
26
|
[key: string]: () => void;
|
|
24
27
|
} | undefined) => void;
|
|
25
28
|
};
|
|
29
|
+
declare const use: {
|
|
30
|
+
useframe: (cb: () => void) => () => void;
|
|
31
|
+
};
|
|
26
32
|
export * from 'three';
|
|
27
33
|
export * from './threeCell';
|
|
28
|
-
export { Scene, Mesh, PerspectiveCamera, ModelLoader, createLabel, ModelType, Direction, utils, dom, };
|
|
34
|
+
export { Scene, Mesh, PerspectiveCamera, ModelLoader, TransformControls, createControlLine, createLabel, ModelType, Direction, createTransformControls, utils, dom, use, globalObjectManage, };
|
package/dist/export.js
CHANGED
|
@@ -5,8 +5,12 @@ import { PerspectiveCamera } from "./core/camera";
|
|
|
5
5
|
import ModelLoader from "./core/model";
|
|
6
6
|
import { ModelType } from "./commonEnu";
|
|
7
7
|
import { createLabel } from "./utils/createLabel";
|
|
8
|
+
import { createControlLine } from "./core/line";
|
|
9
|
+
import { TransformControls, createTransformControls } from "./core/control/transformControls";
|
|
8
10
|
import { Direction, moveLine, moveTo, moveWithLine, moveWithRound } from "./utils/move";
|
|
9
11
|
import { appendChildren, create, createElement, setAttributes, setClassList, setEventListeners } from "./utils/createElement";
|
|
12
|
+
import globalObjectManage from "./core/global/global";
|
|
13
|
+
import useframe from "./core/use/useframe";
|
|
10
14
|
var utils = {
|
|
11
15
|
moveTo: moveTo,
|
|
12
16
|
moveLine: moveLine,
|
|
@@ -21,6 +25,9 @@ var dom = {
|
|
|
21
25
|
setClassList: setClassList,
|
|
22
26
|
setEventListeners: setEventListeners
|
|
23
27
|
};
|
|
28
|
+
var use = {
|
|
29
|
+
useframe: useframe
|
|
30
|
+
};
|
|
24
31
|
export * from 'three';
|
|
25
32
|
export * from "./threeCell";
|
|
26
|
-
export { Scene, Mesh, PerspectiveCamera, ModelLoader, createLabel, ModelType, Direction, utils, dom };
|
|
33
|
+
export { Scene, Mesh, PerspectiveCamera, ModelLoader, TransformControls, createControlLine, createLabel, ModelType, Direction, createTransformControls, utils, dom, use, globalObjectManage };
|
package/dist/threeCell.d.ts
CHANGED
|
@@ -3,3 +3,6 @@ export { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
|
|
|
3
3
|
export { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
4
4
|
export { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
5
5
|
export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
6
|
+
export { LineGeometry } from 'three/examples/jsm/lines/LineGeometry';
|
|
7
|
+
export { LineMaterial } from 'three/examples/jsm/lines/LineMaterial';
|
|
8
|
+
export { Line2 } from 'three/examples/jsm/lines/Line2';
|
package/dist/threeCell.js
CHANGED
|
@@ -7,4 +7,10 @@ export { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
|
7
7
|
|
|
8
8
|
// renderer
|
|
9
9
|
export { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
10
|
-
export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
10
|
+
export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
11
|
+
|
|
12
|
+
// line
|
|
13
|
+
|
|
14
|
+
export { LineGeometry } from 'three/examples/jsm/lines/LineGeometry';
|
|
15
|
+
export { LineMaterial } from 'three/examples/jsm/lines/LineMaterial';
|
|
16
|
+
export { Line2 } from 'three/examples/jsm/lines/Line2';
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Object3D } from 'three';
|
|
1
2
|
import { Vector3 } from 'three';
|
|
2
3
|
export declare const emitter: {
|
|
3
4
|
on: {
|
|
@@ -14,9 +15,26 @@ export declare const emitter: {
|
|
|
14
15
|
};
|
|
15
16
|
all: import("mitt").EventHandlerMap<Record<import("mitt").EventType, unknown>>;
|
|
16
17
|
};
|
|
18
|
+
interface Node {
|
|
19
|
+
children?: Node[];
|
|
20
|
+
[k: string]: any;
|
|
21
|
+
}
|
|
17
22
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
23
|
+
* get ancestors nodes
|
|
24
|
+
* @param array
|
|
25
|
+
* @param targetId
|
|
26
|
+
* @param key
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare const getAncestorsNodes: <T extends Node>(array: T[], targetId: string | number, key?: string) => T[];
|
|
30
|
+
/**
|
|
31
|
+
* get object3d ancestors nodes
|
|
32
|
+
* @param object3d
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export declare const getObject3dAncestorsNodes: (object3d: Object3D) => Object3D<import("three").Event>[];
|
|
36
|
+
/**
|
|
37
|
+
* mousePointTo3DPoint
|
|
20
38
|
* @param mouseX
|
|
21
39
|
* @param mouseY
|
|
22
40
|
* @param camera
|
|
@@ -24,3 +42,4 @@ export declare const emitter: {
|
|
|
24
42
|
* @returns
|
|
25
43
|
*/
|
|
26
44
|
export declare const mousePointTo3DPoint: (mouseX: number, mouseY: number, camera: THREE.Camera, renderer: THREE.WebGLRenderer) => Vector3;
|
|
45
|
+
export {};
|