@anov/3d 0.0.1-alpha.0 → 0.0.1-alpha.10

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.
Files changed (569) hide show
  1. package/README.md +89 -10
  2. package/dist/core/camera.d.ts +22 -6
  3. package/dist/core/camera.js +44 -31
  4. package/dist/core/control/transformControls.d.ts +12 -0
  5. package/dist/core/control/transformControls.js +72 -0
  6. package/dist/core/cssRenderer.d.ts +17 -0
  7. package/dist/core/{global.js → cssRenderer.js} +25 -10
  8. package/dist/core/global/global.d.ts +27 -0
  9. package/dist/core/global/global.js +72 -0
  10. package/dist/core/{globalControl.js → global/globalControl.js} +0 -1
  11. package/dist/core/group.d.ts +51 -3
  12. package/dist/core/group.js +124 -13
  13. package/dist/core/line.d.ts +13 -0
  14. package/dist/core/line.js +83 -0
  15. package/dist/core/mesh.d.ts +12 -7
  16. package/dist/core/mesh.js +57 -53
  17. package/dist/core/model.d.ts +11 -3
  18. package/dist/core/model.js +34 -7
  19. package/dist/core/scene.d.ts +77 -28
  20. package/dist/core/scene.js +173 -41
  21. package/dist/core/use/useframe.d.ts +6 -0
  22. package/dist/core/use/useframe.js +11 -0
  23. package/dist/export.d.ts +36 -0
  24. package/dist/export.js +35 -0
  25. package/dist/index.d.ts +3 -12
  26. package/dist/index.js +5 -12
  27. package/dist/threeCell.d.ts +8 -0
  28. package/dist/threeCell.js +16 -0
  29. package/dist/type.d.ts +4 -3
  30. package/dist/utils/createElement.d.ts +103 -0
  31. package/dist/utils/createElement.js +145 -0
  32. package/dist/utils/createLabel.d.ts +2 -0
  33. package/dist/utils/createLabel.js +4 -0
  34. package/dist/utils/index.d.ts +36 -0
  35. package/dist/utils/index.js +76 -0
  36. package/dist/utils/line.d.ts +0 -0
  37. package/dist/utils/line.js +0 -0
  38. package/dist/utils/move.d.ts +19 -10
  39. package/dist/utils/move.js +53 -15
  40. package/examples/fonts/LICENSE +13 -0
  41. package/examples/fonts/README.md +11 -0
  42. package/examples/fonts/droid/NOTICE +190 -0
  43. package/examples/fonts/droid/README.txt +18 -0
  44. package/examples/fonts/droid/droid_sans_bold.typeface.json +1 -0
  45. package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +1 -0
  46. package/examples/fonts/droid/droid_sans_regular.typeface.json +1 -0
  47. package/examples/fonts/droid/droid_serif_bold.typeface.json +1 -0
  48. package/examples/fonts/droid/droid_serif_regular.typeface.json +1 -0
  49. package/examples/fonts/gentilis_bold.typeface.json +1 -0
  50. package/examples/fonts/gentilis_regular.typeface.json +1 -0
  51. package/examples/fonts/helvetiker_bold.typeface.json +1 -0
  52. package/examples/fonts/helvetiker_regular.typeface.json +1 -0
  53. package/examples/fonts/optimer_bold.typeface.json +1 -0
  54. package/examples/fonts/optimer_regular.typeface.json +1 -0
  55. package/examples/fonts/ttf/README.md +9 -0
  56. package/examples/fonts/ttf/kenpixel.ttf +0 -0
  57. package/examples/jsm/animation/AnimationClipCreator.js +116 -0
  58. package/examples/jsm/animation/CCDIKSolver.js +482 -0
  59. package/examples/jsm/animation/MMDAnimationHelper.js +1207 -0
  60. package/examples/jsm/animation/MMDPhysics.js +1406 -0
  61. package/examples/jsm/cameras/CinematicCamera.js +208 -0
  62. package/examples/jsm/capabilities/WebGL.js +91 -0
  63. package/examples/jsm/capabilities/WebGPU.js +53 -0
  64. package/examples/jsm/controls/ArcballControls.js +3224 -0
  65. package/examples/jsm/controls/DragControls.js +220 -0
  66. package/examples/jsm/controls/FirstPersonControls.js +325 -0
  67. package/examples/jsm/controls/FlyControls.js +300 -0
  68. package/examples/jsm/controls/MapControls.js +28 -0
  69. package/examples/jsm/controls/OrbitControls.js +1388 -0
  70. package/examples/jsm/controls/PointerLockControls.js +162 -0
  71. package/examples/jsm/controls/TrackballControls.js +828 -0
  72. package/examples/jsm/controls/TransformControls.js +1557 -0
  73. package/examples/jsm/csm/CSM.js +384 -0
  74. package/examples/jsm/csm/CSMFrustum.js +152 -0
  75. package/examples/jsm/csm/CSMHelper.js +193 -0
  76. package/examples/jsm/csm/CSMShader.js +252 -0
  77. package/examples/jsm/curves/CurveExtras.js +422 -0
  78. package/examples/jsm/curves/NURBSCurve.js +80 -0
  79. package/examples/jsm/curves/NURBSSurface.js +52 -0
  80. package/examples/jsm/curves/NURBSUtils.js +487 -0
  81. package/examples/jsm/effects/AnaglyphEffect.js +154 -0
  82. package/examples/jsm/effects/AsciiEffect.js +263 -0
  83. package/examples/jsm/effects/OutlineEffect.js +539 -0
  84. package/examples/jsm/effects/ParallaxBarrierEffect.js +119 -0
  85. package/examples/jsm/effects/PeppersGhostEffect.js +153 -0
  86. package/examples/jsm/effects/StereoEffect.js +55 -0
  87. package/examples/jsm/environments/DebugEnvironment.js +52 -0
  88. package/examples/jsm/environments/RoomEnvironment.js +148 -0
  89. package/examples/jsm/exporters/DRACOExporter.js +267 -0
  90. package/examples/jsm/exporters/EXRExporter.js +501 -0
  91. package/examples/jsm/exporters/GLTFExporter.js +3161 -0
  92. package/examples/jsm/exporters/KTX2Exporter.js +292 -0
  93. package/examples/jsm/exporters/MMDExporter.js +217 -0
  94. package/examples/jsm/exporters/OBJExporter.js +284 -0
  95. package/examples/jsm/exporters/PLYExporter.js +528 -0
  96. package/examples/jsm/exporters/STLExporter.js +199 -0
  97. package/examples/jsm/exporters/USDZExporter.js +711 -0
  98. package/examples/jsm/geometries/BoxLineGeometry.js +69 -0
  99. package/examples/jsm/geometries/ConvexGeometry.js +53 -0
  100. package/examples/jsm/geometries/DecalGeometry.js +356 -0
  101. package/examples/jsm/geometries/ParametricGeometries.js +254 -0
  102. package/examples/jsm/geometries/ParametricGeometry.js +139 -0
  103. package/examples/jsm/geometries/RoundedBoxGeometry.js +155 -0
  104. package/examples/jsm/geometries/TeapotGeometry.js +704 -0
  105. package/examples/jsm/geometries/TextGeometry.js +57 -0
  106. package/examples/jsm/helpers/LightProbeHelper.js +130 -0
  107. package/examples/jsm/helpers/OctreeHelper.js +73 -0
  108. package/examples/jsm/helpers/PositionalAudioHelper.js +109 -0
  109. package/examples/jsm/helpers/RectAreaLightHelper.js +85 -0
  110. package/examples/jsm/helpers/VertexNormalsHelper.js +96 -0
  111. package/examples/jsm/helpers/VertexTangentsHelper.js +88 -0
  112. package/examples/jsm/helpers/ViewHelper.js +333 -0
  113. package/examples/jsm/interactive/HTMLMesh.js +565 -0
  114. package/examples/jsm/interactive/InteractiveGroup.js +116 -0
  115. package/examples/jsm/interactive/SelectionBox.js +227 -0
  116. package/examples/jsm/interactive/SelectionHelper.js +104 -0
  117. package/examples/jsm/libs/ammo.wasm.js +822 -0
  118. package/examples/jsm/libs/ammo.wasm.wasm +0 -0
  119. package/examples/jsm/libs/basis/README.md +46 -0
  120. package/examples/jsm/libs/basis/basis_transcoder.js +21 -0
  121. package/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  122. package/examples/jsm/libs/chevrotain.module.min.js +141 -0
  123. package/examples/jsm/libs/draco/README.md +32 -0
  124. package/examples/jsm/libs/draco/draco_decoder.js +34 -0
  125. package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
  126. package/examples/jsm/libs/draco/draco_encoder.js +33 -0
  127. package/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
  128. package/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
  129. package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
  130. package/examples/jsm/libs/draco/gltf/draco_encoder.js +33 -0
  131. package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
  132. package/examples/jsm/libs/ecsy.module.js +1792 -0
  133. package/examples/jsm/libs/fflate.module.js +2474 -0
  134. package/examples/jsm/libs/ktx-parse.module.js +1 -0
  135. package/examples/jsm/libs/lil-gui.module.min.js +8 -0
  136. package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
  137. package/examples/jsm/libs/meshopt_decoder.module.js +178 -0
  138. package/examples/jsm/libs/mikktspace.module.js +128 -0
  139. package/examples/jsm/libs/mmdparser.module.js +11530 -0
  140. package/examples/jsm/libs/motion-controllers.module.js +397 -0
  141. package/examples/jsm/libs/opentype.module.js +14568 -0
  142. package/examples/jsm/libs/potpack.module.js +125 -0
  143. package/examples/jsm/libs/rhino3dm/rhino3dm.js +21 -0
  144. package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +16 -0
  145. package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  146. package/examples/jsm/libs/stats.module.js +167 -0
  147. package/examples/jsm/libs/tween.module.js +803 -0
  148. package/examples/jsm/libs/utif.module.js +1579 -0
  149. package/examples/jsm/libs/zstddec.module.js +1 -0
  150. package/examples/jsm/lights/IESSpotLight.js +25 -0
  151. package/examples/jsm/lights/LightProbeGenerator.js +252 -0
  152. package/examples/jsm/lights/RectAreaLightUniformsLib.js +79 -0
  153. package/examples/jsm/lines/Line2.js +19 -0
  154. package/examples/jsm/lines/LineGeometry.js +79 -0
  155. package/examples/jsm/lines/LineMaterial.js +702 -0
  156. package/examples/jsm/lines/LineSegments2.js +361 -0
  157. package/examples/jsm/lines/LineSegmentsGeometry.js +241 -0
  158. package/examples/jsm/lines/Wireframe.js +56 -0
  159. package/examples/jsm/lines/WireframeGeometry2.js +24 -0
  160. package/examples/jsm/loaders/3DMLoader.js +1497 -0
  161. package/examples/jsm/loaders/3MFLoader.js +1478 -0
  162. package/examples/jsm/loaders/AMFLoader.js +521 -0
  163. package/examples/jsm/loaders/BVHLoader.js +437 -0
  164. package/examples/jsm/loaders/ColladaLoader.js +4122 -0
  165. package/examples/jsm/loaders/DDSLoader.js +274 -0
  166. package/examples/jsm/loaders/DRACOLoader.js +612 -0
  167. package/examples/jsm/loaders/EXRLoader.js +2309 -0
  168. package/examples/jsm/loaders/FBXLoader.js +4142 -0
  169. package/examples/jsm/loaders/FontLoader.js +183 -0
  170. package/examples/jsm/loaders/GCodeLoader.js +261 -0
  171. package/examples/jsm/loaders/GLTFLoader.js +4576 -0
  172. package/examples/jsm/loaders/HDRCubeTextureLoader.js +115 -0
  173. package/examples/jsm/loaders/IESLoader.js +337 -0
  174. package/examples/jsm/loaders/KMZLoader.js +130 -0
  175. package/examples/jsm/loaders/KTX2Loader.js +868 -0
  176. package/examples/jsm/loaders/KTXLoader.js +176 -0
  177. package/examples/jsm/loaders/LDrawLoader.js +2464 -0
  178. package/examples/jsm/loaders/LUT3dlLoader.js +151 -0
  179. package/examples/jsm/loaders/LUTCubeLoader.js +153 -0
  180. package/examples/jsm/loaders/LWOLoader.js +1052 -0
  181. package/examples/jsm/loaders/LogLuvLoader.js +606 -0
  182. package/examples/jsm/loaders/LottieLoader.js +77 -0
  183. package/examples/jsm/loaders/MD2Loader.js +399 -0
  184. package/examples/jsm/loaders/MDDLoader.js +102 -0
  185. package/examples/jsm/loaders/MMDLoader.js +2273 -0
  186. package/examples/jsm/loaders/MTLLoader.js +567 -0
  187. package/examples/jsm/loaders/MaterialXLoader.js +734 -0
  188. package/examples/jsm/loaders/NRRDLoader.js +699 -0
  189. package/examples/jsm/loaders/OBJLoader.js +905 -0
  190. package/examples/jsm/loaders/PCDLoader.js +467 -0
  191. package/examples/jsm/loaders/PDBLoader.js +232 -0
  192. package/examples/jsm/loaders/PLYLoader.js +771 -0
  193. package/examples/jsm/loaders/PVRLoader.js +251 -0
  194. package/examples/jsm/loaders/RGBELoader.js +468 -0
  195. package/examples/jsm/loaders/RGBMLoader.js +1065 -0
  196. package/examples/jsm/loaders/STLLoader.js +403 -0
  197. package/examples/jsm/loaders/SVGLoader.js +3172 -0
  198. package/examples/jsm/loaders/TDSLoader.js +1124 -0
  199. package/examples/jsm/loaders/TGALoader.js +517 -0
  200. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  201. package/examples/jsm/loaders/TTFLoader.js +214 -0
  202. package/examples/jsm/loaders/TiltLoader.js +520 -0
  203. package/examples/jsm/loaders/USDZLoader.js +633 -0
  204. package/examples/jsm/loaders/VOXLoader.js +311 -0
  205. package/examples/jsm/loaders/VRMLLoader.js +3533 -0
  206. package/examples/jsm/loaders/VTKLoader.js +1163 -0
  207. package/examples/jsm/loaders/XYZLoader.js +106 -0
  208. package/examples/jsm/loaders/lwo/IFFParser.js +1218 -0
  209. package/examples/jsm/loaders/lwo/LWO2Parser.js +414 -0
  210. package/examples/jsm/loaders/lwo/LWO3Parser.js +373 -0
  211. package/examples/jsm/materials/MeshGouraudMaterial.js +420 -0
  212. package/examples/jsm/math/Capsule.js +137 -0
  213. package/examples/jsm/math/ColorConverter.js +36 -0
  214. package/examples/jsm/math/ConvexHull.js +1271 -0
  215. package/examples/jsm/math/ImprovedNoise.js +71 -0
  216. package/examples/jsm/math/Lut.js +204 -0
  217. package/examples/jsm/math/MeshSurfaceSampler.js +250 -0
  218. package/examples/jsm/math/OBB.js +423 -0
  219. package/examples/jsm/math/Octree.js +462 -0
  220. package/examples/jsm/math/SimplexNoise.js +444 -0
  221. package/examples/jsm/misc/ConvexObjectBreaker.js +519 -0
  222. package/examples/jsm/misc/GPUComputationRenderer.js +446 -0
  223. package/examples/jsm/misc/Gyroscope.js +66 -0
  224. package/examples/jsm/misc/MD2Character.js +276 -0
  225. package/examples/jsm/misc/MD2CharacterComplex.js +576 -0
  226. package/examples/jsm/misc/MorphAnimMesh.js +75 -0
  227. package/examples/jsm/misc/MorphBlendMesh.js +322 -0
  228. package/examples/jsm/misc/ProgressiveLightMap.js +323 -0
  229. package/examples/jsm/misc/RollerCoaster.js +566 -0
  230. package/examples/jsm/misc/TubePainter.js +205 -0
  231. package/examples/jsm/misc/Volume.js +473 -0
  232. package/examples/jsm/misc/VolumeSlice.js +229 -0
  233. package/examples/jsm/modifiers/CurveModifier.js +326 -0
  234. package/examples/jsm/modifiers/EdgeSplitModifier.js +279 -0
  235. package/examples/jsm/modifiers/SimplifyModifier.js +525 -0
  236. package/examples/jsm/modifiers/TessellateModifier.js +307 -0
  237. package/examples/jsm/nodes/Nodes.js +171 -0
  238. package/examples/jsm/nodes/accessors/BitangentNode.js +89 -0
  239. package/examples/jsm/nodes/accessors/BufferAttributeNode.js +99 -0
  240. package/examples/jsm/nodes/accessors/BufferNode.js +30 -0
  241. package/examples/jsm/nodes/accessors/CameraNode.js +98 -0
  242. package/examples/jsm/nodes/accessors/CubeTextureNode.js +103 -0
  243. package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +77 -0
  244. package/examples/jsm/nodes/accessors/InstanceNode.js +71 -0
  245. package/examples/jsm/nodes/accessors/MaterialNode.js +267 -0
  246. package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +39 -0
  247. package/examples/jsm/nodes/accessors/ModelNode.js +34 -0
  248. package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +29 -0
  249. package/examples/jsm/nodes/accessors/MorphNode.js +70 -0
  250. package/examples/jsm/nodes/accessors/NormalNode.js +96 -0
  251. package/examples/jsm/nodes/accessors/Object3DNode.js +150 -0
  252. package/examples/jsm/nodes/accessors/PointUVNode.js +26 -0
  253. package/examples/jsm/nodes/accessors/PositionNode.js +104 -0
  254. package/examples/jsm/nodes/accessors/ReferenceNode.js +72 -0
  255. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +35 -0
  256. package/examples/jsm/nodes/accessors/SceneNode.js +52 -0
  257. package/examples/jsm/nodes/accessors/SkinningNode.js +93 -0
  258. package/examples/jsm/nodes/accessors/StorageBufferNode.js +27 -0
  259. package/examples/jsm/nodes/accessors/TangentNode.js +103 -0
  260. package/examples/jsm/nodes/accessors/TextureBicubicNode.js +94 -0
  261. package/examples/jsm/nodes/accessors/TextureNode.js +271 -0
  262. package/examples/jsm/nodes/accessors/TextureSizeNode.js +35 -0
  263. package/examples/jsm/nodes/accessors/UVNode.js +47 -0
  264. package/examples/jsm/nodes/accessors/UserDataNode.js +29 -0
  265. package/examples/jsm/nodes/code/CodeNode.js +78 -0
  266. package/examples/jsm/nodes/code/ExpressionNode.js +37 -0
  267. package/examples/jsm/nodes/code/FunctionCallNode.js +96 -0
  268. package/examples/jsm/nodes/code/FunctionNode.js +127 -0
  269. package/examples/jsm/nodes/code/ScriptableNode.js +488 -0
  270. package/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
  271. package/examples/jsm/nodes/core/ArrayUniformNode.js +26 -0
  272. package/examples/jsm/nodes/core/AttributeNode.js +102 -0
  273. package/examples/jsm/nodes/core/BypassNode.js +45 -0
  274. package/examples/jsm/nodes/core/CacheNode.js +46 -0
  275. package/examples/jsm/nodes/core/ConstNode.js +32 -0
  276. package/examples/jsm/nodes/core/ContextNode.js +61 -0
  277. package/examples/jsm/nodes/core/IndexNode.js +66 -0
  278. package/examples/jsm/nodes/core/InputNode.js +83 -0
  279. package/examples/jsm/nodes/core/LightingModel.js +15 -0
  280. package/examples/jsm/nodes/core/Node.js +454 -0
  281. package/examples/jsm/nodes/core/NodeAttribute.js +15 -0
  282. package/examples/jsm/nodes/core/NodeBuilder.js +1016 -0
  283. package/examples/jsm/nodes/core/NodeCache.js +26 -0
  284. package/examples/jsm/nodes/core/NodeCode.js +15 -0
  285. package/examples/jsm/nodes/core/NodeFrame.js +110 -0
  286. package/examples/jsm/nodes/core/NodeFunction.js +22 -0
  287. package/examples/jsm/nodes/core/NodeFunctionInput.js +17 -0
  288. package/examples/jsm/nodes/core/NodeKeywords.js +80 -0
  289. package/examples/jsm/nodes/core/NodeParser.js +11 -0
  290. package/examples/jsm/nodes/core/NodeUniform.js +28 -0
  291. package/examples/jsm/nodes/core/NodeUtils.js +212 -0
  292. package/examples/jsm/nodes/core/NodeVar.js +14 -0
  293. package/examples/jsm/nodes/core/NodeVarying.js +17 -0
  294. package/examples/jsm/nodes/core/PropertyNode.js +61 -0
  295. package/examples/jsm/nodes/core/StackNode.js +99 -0
  296. package/examples/jsm/nodes/core/TempNode.js +58 -0
  297. package/examples/jsm/nodes/core/UniformNode.js +61 -0
  298. package/examples/jsm/nodes/core/VarNode.js +87 -0
  299. package/examples/jsm/nodes/core/VaryingNode.js +69 -0
  300. package/examples/jsm/nodes/core/constants.js +27 -0
  301. package/examples/jsm/nodes/display/BlendModeNode.js +99 -0
  302. package/examples/jsm/nodes/display/BumpMapNode.js +77 -0
  303. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +100 -0
  304. package/examples/jsm/nodes/display/ColorSpaceNode.js +108 -0
  305. package/examples/jsm/nodes/display/FrontFacingNode.js +27 -0
  306. package/examples/jsm/nodes/display/NormalMapNode.js +106 -0
  307. package/examples/jsm/nodes/display/PosterizeNode.js +32 -0
  308. package/examples/jsm/nodes/display/ToneMappingNode.js +141 -0
  309. package/examples/jsm/nodes/display/ViewportDepthNode.js +69 -0
  310. package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +34 -0
  311. package/examples/jsm/nodes/display/ViewportNode.js +115 -0
  312. package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +31 -0
  313. package/examples/jsm/nodes/display/ViewportTextureNode.js +75 -0
  314. package/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
  315. package/examples/jsm/nodes/fog/FogNode.js +37 -0
  316. package/examples/jsm/nodes/fog/FogRangeNode.js +34 -0
  317. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +40 -0
  318. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  319. package/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +43 -0
  320. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +29 -0
  321. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
  322. package/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +13 -0
  323. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +16 -0
  324. package/examples/jsm/nodes/functions/BSDF/Schlick_to_F0.js +13 -0
  325. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +20 -0
  326. package/examples/jsm/nodes/functions/PhongLightingModel.js +67 -0
  327. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +343 -0
  328. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +13 -0
  329. package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  330. package/examples/jsm/nodes/geometry/RangeNode.js +104 -0
  331. package/examples/jsm/nodes/gpgpu/ComputeNode.js +85 -0
  332. package/examples/jsm/nodes/lighting/AONode.js +27 -0
  333. package/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
  334. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +184 -0
  335. package/examples/jsm/nodes/lighting/DirectionalLightNode.js +40 -0
  336. package/examples/jsm/nodes/lighting/EnvironmentNode.js +191 -0
  337. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +55 -0
  338. package/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
  339. package/examples/jsm/nodes/lighting/LightNode.js +57 -0
  340. package/examples/jsm/nodes/lighting/LightUtils.js +17 -0
  341. package/examples/jsm/nodes/lighting/LightingContextNode.js +102 -0
  342. package/examples/jsm/nodes/lighting/LightingNode.js +21 -0
  343. package/examples/jsm/nodes/lighting/LightsNode.js +128 -0
  344. package/examples/jsm/nodes/lighting/PointLightNode.js +68 -0
  345. package/examples/jsm/nodes/lighting/SpotLightNode.js +89 -0
  346. package/examples/jsm/nodes/loaders/NodeLoader.js +108 -0
  347. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +59 -0
  348. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  349. package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +28 -0
  350. package/examples/jsm/nodes/materials/Materials.js +12 -0
  351. package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +27 -0
  352. package/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +34 -0
  353. package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +40 -0
  354. package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +65 -0
  355. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +128 -0
  356. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +80 -0
  357. package/examples/jsm/nodes/materials/NodeMaterial.js +536 -0
  358. package/examples/jsm/nodes/materials/PointsNodeMaterial.js +49 -0
  359. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +103 -0
  360. package/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
  361. package/examples/jsm/nodes/materialx/MaterialXNodes.js +68 -0
  362. package/examples/jsm/nodes/materialx/lib/mx_hsv.js +56 -0
  363. package/examples/jsm/nodes/materialx/lib/mx_noise.js +618 -0
  364. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +19 -0
  365. package/examples/jsm/nodes/math/CondNode.js +86 -0
  366. package/examples/jsm/nodes/math/MathNode.js +359 -0
  367. package/examples/jsm/nodes/math/OperatorNode.js +269 -0
  368. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +152 -0
  369. package/examples/jsm/nodes/parsers/GLSLNodeParser.js +14 -0
  370. package/examples/jsm/nodes/procedural/CheckerNode.js +42 -0
  371. package/examples/jsm/nodes/shadernode/ShaderNode.js +420 -0
  372. package/examples/jsm/nodes/utils/ArrayElementNode.js +33 -0
  373. package/examples/jsm/nodes/utils/ConvertNode.js +65 -0
  374. package/examples/jsm/nodes/utils/DiscardNode.js +26 -0
  375. package/examples/jsm/nodes/utils/EquirectUVNode.js +33 -0
  376. package/examples/jsm/nodes/utils/JoinNode.js +51 -0
  377. package/examples/jsm/nodes/utils/LoopNode.js +186 -0
  378. package/examples/jsm/nodes/utils/MatcapUVNode.js +30 -0
  379. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +46 -0
  380. package/examples/jsm/nodes/utils/OscNode.js +81 -0
  381. package/examples/jsm/nodes/utils/PackingNode.js +55 -0
  382. package/examples/jsm/nodes/utils/RemapNode.js +42 -0
  383. package/examples/jsm/nodes/utils/RotateUVNode.js +43 -0
  384. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
  385. package/examples/jsm/nodes/utils/SplitNode.js +104 -0
  386. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +41 -0
  387. package/examples/jsm/nodes/utils/TimerNode.js +94 -0
  388. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +62 -0
  389. package/examples/jsm/objects/GroundProjectedSkybox.js +172 -0
  390. package/examples/jsm/objects/Lensflare.js +377 -0
  391. package/examples/jsm/objects/MarchingCubes.js +1176 -0
  392. package/examples/jsm/objects/Reflector.js +264 -0
  393. package/examples/jsm/objects/ReflectorForSSRPass.js +349 -0
  394. package/examples/jsm/objects/Refractor.js +324 -0
  395. package/examples/jsm/objects/ShadowMesh.js +80 -0
  396. package/examples/jsm/objects/Sky.js +219 -0
  397. package/examples/jsm/objects/Water.js +330 -0
  398. package/examples/jsm/objects/Water2.js +358 -0
  399. package/examples/jsm/offscreen/jank.js +45 -0
  400. package/examples/jsm/offscreen/offscreen.js +8 -0
  401. package/examples/jsm/offscreen/scene.js +86 -0
  402. package/examples/jsm/physics/AmmoPhysics.js +285 -0
  403. package/examples/jsm/physics/RapierPhysics.js +199 -0
  404. package/examples/jsm/postprocessing/AfterimagePass.js +104 -0
  405. package/examples/jsm/postprocessing/BloomPass.js +172 -0
  406. package/examples/jsm/postprocessing/BokehPass.js +140 -0
  407. package/examples/jsm/postprocessing/ClearPass.js +46 -0
  408. package/examples/jsm/postprocessing/CubeTexturePass.js +85 -0
  409. package/examples/jsm/postprocessing/DotScreenPass.js +65 -0
  410. package/examples/jsm/postprocessing/EffectComposer.js +231 -0
  411. package/examples/jsm/postprocessing/FilmPass.js +66 -0
  412. package/examples/jsm/postprocessing/GlitchPass.js +128 -0
  413. package/examples/jsm/postprocessing/HalftonePass.js +79 -0
  414. package/examples/jsm/postprocessing/LUTPass.js +173 -0
  415. package/examples/jsm/postprocessing/MaskPass.js +104 -0
  416. package/examples/jsm/postprocessing/OutlinePass.js +654 -0
  417. package/examples/jsm/postprocessing/OutputPass.js +91 -0
  418. package/examples/jsm/postprocessing/Pass.js +84 -0
  419. package/examples/jsm/postprocessing/RenderPass.js +81 -0
  420. package/examples/jsm/postprocessing/RenderPixelatedPass.js +235 -0
  421. package/examples/jsm/postprocessing/SAOPass.js +411 -0
  422. package/examples/jsm/postprocessing/SMAAPass.js +201 -0
  423. package/examples/jsm/postprocessing/SSAARenderPass.js +228 -0
  424. package/examples/jsm/postprocessing/SSAOPass.js +440 -0
  425. package/examples/jsm/postprocessing/SSRPass.js +641 -0
  426. package/examples/jsm/postprocessing/SavePass.js +79 -0
  427. package/examples/jsm/postprocessing/ShaderPass.js +77 -0
  428. package/examples/jsm/postprocessing/TAARenderPass.js +189 -0
  429. package/examples/jsm/postprocessing/TexturePass.js +67 -0
  430. package/examples/jsm/postprocessing/UnrealBloomPass.js +415 -0
  431. package/examples/jsm/renderers/CSS2DRenderer.js +215 -0
  432. package/examples/jsm/renderers/CSS3DRenderer.js +335 -0
  433. package/examples/jsm/renderers/Projector.js +918 -0
  434. package/examples/jsm/renderers/SVGRenderer.js +553 -0
  435. package/examples/jsm/renderers/common/Animation.js +58 -0
  436. package/examples/jsm/renderers/common/Attributes.js +75 -0
  437. package/examples/jsm/renderers/common/Backend.js +162 -0
  438. package/examples/jsm/renderers/common/Background.js +136 -0
  439. package/examples/jsm/renderers/common/Binding.js +19 -0
  440. package/examples/jsm/renderers/common/Bindings.js +165 -0
  441. package/examples/jsm/renderers/common/Buffer.js +38 -0
  442. package/examples/jsm/renderers/common/BufferUtils.js +33 -0
  443. package/examples/jsm/renderers/common/ChainMap.js +89 -0
  444. package/examples/jsm/renderers/common/ComputePipeline.js +17 -0
  445. package/examples/jsm/renderers/common/Constants.js +14 -0
  446. package/examples/jsm/renderers/common/CubeRenderTarget.js +65 -0
  447. package/examples/jsm/renderers/common/DataMap.js +54 -0
  448. package/examples/jsm/renderers/common/Geometries.js +215 -0
  449. package/examples/jsm/renderers/common/Info.js +73 -0
  450. package/examples/jsm/renderers/common/Pipeline.js +13 -0
  451. package/examples/jsm/renderers/common/Pipelines.js +370 -0
  452. package/examples/jsm/renderers/common/ProgrammableStage.js +18 -0
  453. package/examples/jsm/renderers/common/RenderContext.js +38 -0
  454. package/examples/jsm/renderers/common/RenderContexts.js +49 -0
  455. package/examples/jsm/renderers/common/RenderList.js +178 -0
  456. package/examples/jsm/renderers/common/RenderLists.js +38 -0
  457. package/examples/jsm/renderers/common/RenderObject.js +129 -0
  458. package/examples/jsm/renderers/common/RenderObjects.js +95 -0
  459. package/examples/jsm/renderers/common/RenderPipeline.js +16 -0
  460. package/examples/jsm/renderers/common/Renderer.js +895 -0
  461. package/examples/jsm/renderers/common/SampledTexture.js +80 -0
  462. package/examples/jsm/renderers/common/Sampler.js +18 -0
  463. package/examples/jsm/renderers/common/StorageBuffer.js +17 -0
  464. package/examples/jsm/renderers/common/Textures.js +218 -0
  465. package/examples/jsm/renderers/common/Uniform.js +140 -0
  466. package/examples/jsm/renderers/common/UniformBuffer.js +15 -0
  467. package/examples/jsm/renderers/common/UniformsGroup.js +299 -0
  468. package/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +39 -0
  469. package/examples/jsm/renderers/common/nodes/NodeSampler.js +21 -0
  470. package/examples/jsm/renderers/common/nodes/NodeUniform.js +135 -0
  471. package/examples/jsm/renderers/common/nodes/Nodes.js +330 -0
  472. package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +340 -0
  473. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +26 -0
  474. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +764 -0
  475. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +49 -0
  476. package/examples/jsm/renderers/webgpu/WebGPUBackend.js +844 -0
  477. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +32 -0
  478. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +902 -0
  479. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +104 -0
  480. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.js +14 -0
  481. package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +274 -0
  482. package/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +223 -0
  483. package/examples/jsm/renderers/webgpu/utils/WebGPUConstants.js +324 -0
  484. package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +533 -0
  485. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureMipmapUtils.js +163 -0
  486. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +964 -0
  487. package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +92 -0
  488. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +87 -0
  489. package/examples/jsm/shaders/AfterimageShader.js +56 -0
  490. package/examples/jsm/shaders/BasicShader.js +27 -0
  491. package/examples/jsm/shaders/BleachBypassShader.js +62 -0
  492. package/examples/jsm/shaders/BlendShader.js +47 -0
  493. package/examples/jsm/shaders/BokehShader.js +143 -0
  494. package/examples/jsm/shaders/BokehShader2.js +393 -0
  495. package/examples/jsm/shaders/BrightnessContrastShader.js +54 -0
  496. package/examples/jsm/shaders/ColorCorrectionShader.js +50 -0
  497. package/examples/jsm/shaders/ColorifyShader.js +51 -0
  498. package/examples/jsm/shaders/ConvolutionShader.js +103 -0
  499. package/examples/jsm/shaders/CopyShader.js +45 -0
  500. package/examples/jsm/shaders/DOFMipMapShader.js +54 -0
  501. package/examples/jsm/shaders/DepthLimitedBlurShader.js +166 -0
  502. package/examples/jsm/shaders/DigitalGlitch.js +101 -0
  503. package/examples/jsm/shaders/DotScreenShader.js +70 -0
  504. package/examples/jsm/shaders/ExposureShader.js +44 -0
  505. package/examples/jsm/shaders/FXAAShader.js +286 -0
  506. package/examples/jsm/shaders/FilmShader.js +102 -0
  507. package/examples/jsm/shaders/FocusShader.js +87 -0
  508. package/examples/jsm/shaders/FreiChenShader.js +94 -0
  509. package/examples/jsm/shaders/GammaCorrectionShader.js +43 -0
  510. package/examples/jsm/shaders/GodRaysShader.js +313 -0
  511. package/examples/jsm/shaders/HalftoneShader.js +310 -0
  512. package/examples/jsm/shaders/HorizontalBlurShader.js +59 -0
  513. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +61 -0
  514. package/examples/jsm/shaders/HueSaturationShader.js +65 -0
  515. package/examples/jsm/shaders/KaleidoShader.js +56 -0
  516. package/examples/jsm/shaders/LuminosityHighPassShader.js +64 -0
  517. package/examples/jsm/shaders/LuminosityShader.js +46 -0
  518. package/examples/jsm/shaders/MMDToonShader.js +132 -0
  519. package/examples/jsm/shaders/MirrorShader.js +54 -0
  520. package/examples/jsm/shaders/NormalMapShader.js +53 -0
  521. package/examples/jsm/shaders/OutputShader.js +78 -0
  522. package/examples/jsm/shaders/RGBShiftShader.js +54 -0
  523. package/examples/jsm/shaders/SAOShader.js +188 -0
  524. package/examples/jsm/shaders/SMAAShader.js +460 -0
  525. package/examples/jsm/shaders/SSAOShader.js +288 -0
  526. package/examples/jsm/shaders/SSRShader.js +364 -0
  527. package/examples/jsm/shaders/SepiaShader.js +52 -0
  528. package/examples/jsm/shaders/SobelOperatorShader.js +90 -0
  529. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +88 -0
  530. package/examples/jsm/shaders/TechnicolorShader.js +43 -0
  531. package/examples/jsm/shaders/ToonShader.js +326 -0
  532. package/examples/jsm/shaders/TriangleBlurShader.js +72 -0
  533. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +45 -0
  534. package/examples/jsm/shaders/VelocityShader.js +128 -0
  535. package/examples/jsm/shaders/VerticalBlurShader.js +59 -0
  536. package/examples/jsm/shaders/VerticalTiltShiftShader.js +61 -0
  537. package/examples/jsm/shaders/VignetteShader.js +51 -0
  538. package/examples/jsm/shaders/VolumeShader.js +289 -0
  539. package/examples/jsm/shaders/WaterRefractionShader.js +93 -0
  540. package/examples/jsm/textures/FlakesTexture.js +40 -0
  541. package/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
  542. package/examples/jsm/utils/CameraUtils.js +73 -0
  543. package/examples/jsm/utils/GPUStatsPanel.js +128 -0
  544. package/examples/jsm/utils/GeometryCompressionUtils.js +639 -0
  545. package/examples/jsm/utils/GeometryUtils.js +221 -0
  546. package/examples/jsm/utils/LDrawUtils.js +202 -0
  547. package/examples/jsm/utils/PackedPhongMaterial.js +178 -0
  548. package/examples/jsm/utils/SceneUtils.js +254 -0
  549. package/examples/jsm/utils/ShadowMapViewer.js +210 -0
  550. package/examples/jsm/utils/SkeletonUtils.js +413 -0
  551. package/examples/jsm/utils/TextureUtils.js +86 -0
  552. package/examples/jsm/utils/UVsDebug.js +165 -0
  553. package/examples/jsm/utils/WorkerPool.js +102 -0
  554. package/examples/jsm/webxr/ARButton.js +208 -0
  555. package/examples/jsm/webxr/OculusHandModel.js +109 -0
  556. package/examples/jsm/webxr/OculusHandPointerModel.js +413 -0
  557. package/examples/jsm/webxr/Text2D.js +38 -0
  558. package/examples/jsm/webxr/VRButton.js +200 -0
  559. package/examples/jsm/webxr/XRButton.js +198 -0
  560. package/examples/jsm/webxr/XRControllerModelFactory.js +299 -0
  561. package/examples/jsm/webxr/XREstimatedLight.js +223 -0
  562. package/examples/jsm/webxr/XRHandMeshModel.js +112 -0
  563. package/examples/jsm/webxr/XRHandModelFactory.js +105 -0
  564. package/examples/jsm/webxr/XRHandPrimitiveModel.js +103 -0
  565. package/examples/jsm/webxr/XRPlanes.js +100 -0
  566. package/lib/3d.min.js +1 -0
  567. package/package.json +25 -13
  568. package/dist/core/global.d.ts +0 -8
  569. /package/dist/core/{globalControl.d.ts → global/globalControl.d.ts} +0 -0
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  > anov 3d 核心包
4
4
 
5
+
6
+ [示例网站 (notes: 暂时需科学上网)](https://anov-3d-ecology.vercel.app/#base_scene)
5
7
  ### usage
6
8
 
7
9
  install
@@ -13,20 +15,22 @@ pnpm add @anov/3d
13
15
  init a base scene 「wip」
14
16
 
15
17
  ```ts
16
- import { Anov3DMesh, Anove3DScene } from '@anov/3d'
17
- import { BoxGeometry, MeshBasicMaterial } from 'three'
18
+ import { Mesh, Scene, BoxGeometry, MeshBasicMaterial } from '@anov/3d'
18
19
 
19
- const scene = new Anove3DScene({
20
+ const scene = new Scene({
20
21
  orbitControls: true,
21
22
  })
22
23
 
23
24
  const geometry = new BoxGeometry(2, 2, 2)
24
25
  const material = new MeshBasicMaterial({ color: 0x00FF00 })
25
- const box = new Anov3DMesh(geometry, material)
26
+ const box = new Mesh(geometry, material)
26
27
 
27
- box.addNatureEventListener('pointerdown', (object3D) => {
28
+ box.addNatureEventListener('pointermove', (object3D) => {
28
29
  (object3D.material as any).color.set(0xFF0000)
29
30
  })
31
+ box.addNatureEventListener('pointerleave', (object3D) => {
32
+ (object3D.material as any).color.set('#ccc')
33
+ })
30
34
 
31
35
  scene.add(box)
32
36
 
@@ -37,20 +41,19 @@ scene.startFrameAnimate()
37
41
  base object3d motion 「wip」
38
42
 
39
43
  ```ts
40
- import { Anov3DMesh, Anove3DScene, utils } from '@anov/3d'
41
- import { AxesHelper, BoxGeometry, GridHelper, MeshBasicMaterial } from 'three'
44
+ import { Mesh, Scene, utils, AxesHelper, BoxGeometry, GridHelper, MeshBasicMaterial } from '@anov/3d'
42
45
 
43
- const scene = new Anove3DScene({
46
+ const scene = new Scene({
44
47
  orbitControls: true,
45
48
  })
46
49
 
47
50
  const geometry = new BoxGeometry(2, 2, 2)
48
51
  const material = new MeshBasicMaterial({ color: 0x00FF00 })
49
- const box = new Anov3DMesh(geometry, material)
52
+ const box = new Mesh(geometry, material)
50
53
 
51
54
  const geometry2 = new BoxGeometry(2, 2, 2)
52
55
  const materia2 = new MeshBasicMaterial({ color: '#ccc' })
53
- const box2 = new Anov3DMesh(geometry2, materia2)
56
+ const box2 = new Mesh(geometry2, materia2)
54
57
 
55
58
  box.position.set(0, 0, 0)
56
59
  box2.position.set(10, 30, -30)
@@ -63,3 +66,79 @@ utils.moveWithRound(box2, 0.2, 100000)
63
66
  scene.render(document.querySelector('#app')!)
64
67
  scene.startFrameAnimate()
65
68
  ```
69
+
70
+ ## umd usage
71
+
72
+ ```html
73
+ <!DOCTYPE html>
74
+ <html lang="en">
75
+ <head>
76
+ <meta charset="UTF-8">
77
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
78
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
79
+ <title>Document</title>
80
+ <link rel="stylesheet" type="text/css" href="./source/base.css" />
81
+ </style>
82
+ </head>
83
+
84
+ <body>
85
+ <div id="describe">基本场景,鼠标点击移入移出点击交互</div>
86
+ <div id="my-sandbox"></div>
87
+ <script>
88
+ javascript: (function () {
89
+ var script = document.createElement('script');
90
+ script.onload = function () {
91
+ var stats = new Stats();
92
+ document.body.appendChild(stats.dom);
93
+ requestAnimationFrame(function loop() {
94
+ stats.update();
95
+ requestAnimationFrame(loop)
96
+ });
97
+ };
98
+ script.src = 'https://mrdoob.github.io/stats.js/build/stats.min.js';
99
+ document.head.appendChild(script);
100
+ })()
101
+ </script>
102
+ // umd包
103
+ <script src="https://cdn.jsdelivr.net/npm/@anov/3d@0.0.1-alpha.5/lib/3d.min.js"></script>
104
+
105
+ <script script type="module">
106
+ const scene = new ANOV.Scene({
107
+ orbitControls: true,
108
+ })
109
+
110
+ const geometry = new ANOV.BoxGeometry(2, 2, 2)
111
+ const material = new ANOV.MeshBasicMaterial()
112
+ const box = new ANOV.Mesh(geometry, material)
113
+
114
+ const geometry2 = new ANOV.BoxGeometry(2, 2, 2)
115
+ const material2 = new ANOV.MeshBasicMaterial()
116
+ const box2 = new ANOV.Mesh(geometry2, material2)
117
+
118
+ box.addNatureEventListener('pointermove', (object3D) => {
119
+ object3D.material.color.set(0xFF0000)
120
+ })
121
+ box.addNatureEventListener('pointerleave', (object3D) => {
122
+ object3D.material.color.set('#ccc')
123
+ })
124
+
125
+ box2.addNatureEventListener('click', (object3D) => {
126
+ object3D.material.color.set(0xFF0000)
127
+ })
128
+ box2.addNatureEventListener('pointerleave', (object3D) => {
129
+ object3D.material.color.set('#fff')
130
+ })
131
+
132
+ box2.position.set(5, 0, 0)
133
+ scene.add(box)
134
+ scene.add(box2)
135
+
136
+ scene.scene.background = new ANOV.Color('#345')
137
+ scene.render(document.querySelector('#my-sandbox'))
138
+ scene.startFrameAnimate()
139
+ </script>
140
+
141
+ </body>
142
+
143
+ </html>
144
+ ```
@@ -1,6 +1,6 @@
1
1
  import type { Object3D, Vector3 } from 'three';
2
- import { PerspectiveCamera } from 'three';
3
- declare class Anov3DPerspectiveCamera extends PerspectiveCamera {
2
+ import { PerspectiveCamera as TPerspectiveCamera } from 'three';
3
+ declare class PerspectiveCamera extends TPerspectiveCamera {
4
4
  constructor(fov: number, aspect: number, near: number, far: number);
5
5
  /**
6
6
  * 向目标物体推进
@@ -9,8 +9,24 @@ declare class Anov3DPerspectiveCamera extends PerspectiveCamera {
9
9
  * @param duration
10
10
  * @param animationMethod
11
11
  */
12
- promote(targetObject3D: Object3D, distance: number, duration?: number, animationMethod?: string): void;
13
- demote: (targetObject3D: Object3D<import("three").Event>, distance: number, animationMethod: string, duration: number) => void;
14
- surround: (targetObject3D: Object3D<import("three").Event>, radius: number, toward: Vector3) => void;
12
+ promote(targetObject3D: Object3D, distance: number, duration?: number, animationMethod?: string): import("@tweenjs/tween.js").Tween<Vector3>;
13
+ /**
14
+ * 向目标物体后退
15
+ * @param targetObject3D
16
+ * @param distance
17
+ * @param duration
18
+ * @param animationMethod
19
+ */
20
+ demote: (targetObject3D: Object3D, distance: number, duration?: number, animationMethod?: string) => import("@tweenjs/tween.js").Tween<Vector3>;
21
+ /**
22
+ * 相机曲线漫游
23
+ * @param vec
24
+ * @param points
25
+ * @param linePoints
26
+ * @param helpLine
27
+ * @param lookat
28
+ * @returns
29
+ */
30
+ surround: (vec: Vector3[], points?: number, linePoints?: number, helpLine?: boolean, lookat?: Vector3) => import("../utils/move").ControlsRetuenFuncType;
15
31
  }
16
- export { Anov3DPerspectiveCamera };
32
+ export { PerspectiveCamera };
@@ -1,4 +1,10 @@
1
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2
8
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
9
  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
10
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -12,34 +18,33 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
12
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
19
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
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); }
15
- import { PerspectiveCamera } from 'three';
16
- import { Direction, moveTo } from "../utils/move";
17
-
18
- /**
19
- * 向目标物体后退
20
- * @param targetObject3D
21
- * @param distance
22
- * @param animationMethod
23
- * @param duration
24
- */
25
- var demote = function demote(targetObject3D, distance, animationMethod, duration) {};
26
-
27
- /**
28
- * 相机围绕目标物体旋转
29
- * @param targetObject3D
30
- * @param radius
31
- * @param toward
32
- */
33
- var surround = function surround(targetObject3D, radius, toward) {};
34
- var Anov3DPerspectiveCamera = /*#__PURE__*/function (_PerspectiveCamera) {
35
- _inherits(Anov3DPerspectiveCamera, _PerspectiveCamera);
36
- var _super = _createSuper(Anov3DPerspectiveCamera);
37
- function Anov3DPerspectiveCamera(fov, aspect, near, far) {
21
+ import { BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, PerspectiveCamera as TPerspectiveCamera } from 'three';
22
+ import { Direction, moveTo, moveWithLine } from "../utils/move";
23
+ import globalObjectManage from "./global/global";
24
+ var PerspectiveCamera = /*#__PURE__*/function (_TPerspectiveCamera) {
25
+ _inherits(PerspectiveCamera, _TPerspectiveCamera);
26
+ var _super = _createSuper(PerspectiveCamera);
27
+ function PerspectiveCamera(fov, aspect, near, far) {
38
28
  var _this;
39
- _classCallCheck(this, Anov3DPerspectiveCamera);
29
+ _classCallCheck(this, PerspectiveCamera);
40
30
  _this = _super.call(this, fov, aspect, near, far);
41
- _defineProperty(_assertThisInitialized(_this), "demote", demote);
42
- _defineProperty(_assertThisInitialized(_this), "surround", surround);
31
+ _defineProperty(_assertThisInitialized(_this), "demote", function (targetObject3D, distance, duration, animationMethod) {
32
+ return moveTo(_assertThisInitialized(_this), targetObject3D, distance, Direction.minus, duration, animationMethod);
33
+ });
34
+ _defineProperty(_assertThisInitialized(_this), "surround", function (vec) {
35
+ var points = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
36
+ var linePoints = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
37
+ var helpLine = arguments.length > 3 ? arguments[3] : undefined;
38
+ var lookat = arguments.length > 4 ? arguments[4] : undefined;
39
+ var curve = new CatmullRomCurve3(_toConsumableArray(vec), true);
40
+ var geometry = new BufferGeometry().setFromPoints(curve.getPoints(points));
41
+ var material = new LineBasicMaterial({
42
+ color: '#fff'
43
+ });
44
+ var curveObject = new Line(geometry, material);
45
+ globalObjectManage.scene.add(curveObject);
46
+ return moveWithLine(_assertThisInitialized(_this), curve, linePoints, lookat);
47
+ });
43
48
  return _this;
44
49
  }
45
50
 
@@ -50,12 +55,20 @@ var Anov3DPerspectiveCamera = /*#__PURE__*/function (_PerspectiveCamera) {
50
55
  * @param duration
51
56
  * @param animationMethod
52
57
  */
53
- _createClass(Anov3DPerspectiveCamera, [{
58
+ _createClass(PerspectiveCamera, [{
54
59
  key: "promote",
55
60
  value: function promote(targetObject3D, distance, duration, animationMethod) {
56
- moveTo(this, targetObject3D, distance, Direction.plus, duration, animationMethod);
61
+ return moveTo(this, targetObject3D, distance, Direction.plus, duration, animationMethod);
57
62
  }
63
+
64
+ /**
65
+ * 向目标物体后退
66
+ * @param targetObject3D
67
+ * @param distance
68
+ * @param duration
69
+ * @param animationMethod
70
+ */
58
71
  }]);
59
- return Anov3DPerspectiveCamera;
60
- }(PerspectiveCamera);
61
- export { Anov3DPerspectiveCamera };
72
+ return PerspectiveCamera;
73
+ }(TPerspectiveCamera);
74
+ export { 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,17 @@
1
+ import type { Camera, Scene } from 'three';
2
+ import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
3
+ import { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
+ export declare type CssRendererType = 'base' | 'normal';
5
+ declare class CssRenderer {
6
+ private baseCssRenderer;
7
+ private normalCssRenderer;
8
+ cssRenderer: CSS2DRenderer | CSS3DRenderer;
9
+ constructor(type: CssRendererType);
10
+ getSize(): {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ setSize(width: number, height: number): void;
15
+ render(scene: Scene, camera: Camera): void;
16
+ }
17
+ export default CssRenderer;
@@ -5,17 +5,32 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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
- var GlobalObjectManage = /*#__PURE__*/function () {
9
- function GlobalObjectManage() {
10
- _classCallCheck(this, GlobalObjectManage);
11
- _defineProperty(this, "scene", null);
8
+ import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
9
+ import { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
10
+ var CssRenderer = /*#__PURE__*/function () {
11
+ function CssRenderer(type) {
12
+ _classCallCheck(this, CssRenderer);
13
+ _defineProperty(this, "baseCssRenderer", new CSS2DRenderer());
14
+ _defineProperty(this, "normalCssRenderer", new CSS3DRenderer());
15
+ _defineProperty(this, "cssRenderer", void 0);
16
+ this.cssRenderer = type === 'base' ? this.baseCssRenderer : this.normalCssRenderer;
12
17
  }
13
- _createClass(GlobalObjectManage, [{
14
- key: "addScene",
15
- value: function addScene(object3d) {
16
- this.scene = object3d;
18
+ _createClass(CssRenderer, [{
19
+ key: "getSize",
20
+ value: function getSize() {
21
+ return this.cssRenderer.getSize();
22
+ }
23
+ }, {
24
+ key: "setSize",
25
+ value: function setSize(width, height) {
26
+ this.cssRenderer.setSize(width, height);
27
+ }
28
+ }, {
29
+ key: "render",
30
+ value: function render(scene, camera) {
31
+ this.cssRenderer.render(scene, camera);
17
32
  }
18
33
  }]);
19
- return GlobalObjectManage;
34
+ return CssRenderer;
20
35
  }();
21
- export default new GlobalObjectManage();
36
+ export default CssRenderer;
@@ -0,0 +1,27 @@
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
+ import type Group from '../group';
6
+ declare class GlobalObjectManage {
7
+ scene: Scene | null;
8
+ triggerClick: boolean;
9
+ camera: PerspectiveCamera | null;
10
+ domElement: HTMLElement | null;
11
+ orbitControls: OrbitControls | null;
12
+ transformControls: TransformControls[];
13
+ frameCallbacks: Set<() => void>;
14
+ groupCatch: Group[];
15
+ constructor();
16
+ addScene(object3d: Scene): void;
17
+ setCamera(camera: PerspectiveCamera): void;
18
+ setDomElement(domElement: HTMLElement): void;
19
+ setOrbitControls(orbitControls: OrbitControls): void;
20
+ setTransformControls(transformControls: TransformControls): void;
21
+ setTriggerClickState(state: boolean): void;
22
+ addFrameCallback(cb: () => void): void;
23
+ removeFrameCallback(cb: () => void): void;
24
+ addCatch(group: Group): void;
25
+ }
26
+ declare const _default: GlobalObjectManage;
27
+ export default _default;
@@ -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 _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
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
+ var GlobalObjectManage = /*#__PURE__*/function () {
9
+ // hooks callback
10
+
11
+ // instance
12
+
13
+ function GlobalObjectManage() {
14
+ _classCallCheck(this, GlobalObjectManage);
15
+ _defineProperty(this, "scene", null);
16
+ _defineProperty(this, "triggerClick", false);
17
+ _defineProperty(this, "camera", null);
18
+ _defineProperty(this, "domElement", null);
19
+ _defineProperty(this, "orbitControls", null);
20
+ _defineProperty(this, "transformControls", []);
21
+ _defineProperty(this, "frameCallbacks", new Set());
22
+ _defineProperty(this, "groupCatch", []);
23
+ }
24
+ _createClass(GlobalObjectManage, [{
25
+ key: "addScene",
26
+ value: function addScene(object3d) {
27
+ this.scene = object3d;
28
+ }
29
+ }, {
30
+ key: "setCamera",
31
+ value: function setCamera(camera) {
32
+ this.camera = camera;
33
+ }
34
+ }, {
35
+ key: "setDomElement",
36
+ value: function setDomElement(domElement) {
37
+ this.domElement = domElement;
38
+ }
39
+ }, {
40
+ key: "setOrbitControls",
41
+ value: function setOrbitControls(orbitControls) {
42
+ this.orbitControls = orbitControls;
43
+ }
44
+ }, {
45
+ key: "setTransformControls",
46
+ value: function setTransformControls(transformControls) {
47
+ this.transformControls.push(transformControls);
48
+ }
49
+ }, {
50
+ key: "setTriggerClickState",
51
+ value: function setTriggerClickState(state) {
52
+ this.triggerClick = state;
53
+ }
54
+ }, {
55
+ key: "addFrameCallback",
56
+ value: function addFrameCallback(cb) {
57
+ this.frameCallbacks.add(cb);
58
+ }
59
+ }, {
60
+ key: "removeFrameCallback",
61
+ value: function removeFrameCallback(cb) {
62
+ this.frameCallbacks.delete(cb);
63
+ }
64
+ }, {
65
+ key: "addCatch",
66
+ value: function addCatch(group) {
67
+ this.groupCatch.push(group);
68
+ }
69
+ }]);
70
+ return GlobalObjectManage;
71
+ }();
72
+ export default new GlobalObjectManage();
@@ -21,7 +21,6 @@ var GlobalControl = /*#__PURE__*/function () {
21
21
  key: "update",
22
22
  value: function update() {
23
23
  if (this.task.size > 0) {
24
- // @ts-ignore
25
24
  _toConsumableArray(this.task.keys()).forEach(function (cb) {
26
25
  cb();
27
26
  });
@@ -1,5 +1,53 @@
1
- import { Group } from 'three';
2
- declare class Anov3DGroup extends Group {
1
+ import type { Intersection, Object3D } from 'three';
2
+ import { Group as TGroup } from 'three';
3
+ import type { CubeEventType, EventHandleFn } from '../type';
4
+ declare class Group extends TGroup {
5
+ private natureEventMap;
6
+ private object3d;
3
7
  constructor();
8
+ /**
9
+ * add model
10
+ * @param object
11
+ */
12
+ addModel(object: Object3D): void;
13
+ /**
14
+ * addNatureEventListener
15
+ * @param type
16
+ * @param handlefn
17
+ */
18
+ addNatureEventListener<T extends CubeEventType>(type: T, handlefn: EventHandleFn<T>): void;
19
+ /**
20
+ * removeNatureEventListener
21
+ * @param type
22
+ * @param handlefn
23
+ */
24
+ removeNatureEventListener<T extends CubeEventType>(type: T, handlefn: EventHandleFn<T>): void;
25
+ /**
26
+ * removeAllNatureEventListener
27
+ */
28
+ removeAllNatureEventListener(): void;
29
+ /**
30
+ * handle intersect event
31
+ * @param intersects
32
+ * @param eventType
33
+ */
34
+ private handleClick;
35
+ /**
36
+ * handle pointermove event
37
+ * @param intersects
38
+ * @param natureEvent
39
+ */
40
+ private handlePointerMove;
41
+ /**
42
+ * handle pointerleave event
43
+ * @param intersects
44
+ * @param natureEvent
45
+ */
46
+ private handlePointerleave;
47
+ /**
48
+ * raycastGroup
49
+ * handle intersect event
50
+ */
51
+ raycastGroup(intersets: Intersection<Object3D<Event>>[]): void;
4
52
  }
5
- export default Anov3DGroup;
53
+ export default Group;