@realsee/five 5.0.0-alpha.12 → 5.0.0-alpha.120

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 (199) hide show
  1. package/README.md +75 -63
  2. package/docs/.nojekyll +1 -0
  3. package/docs/assets/highlight.css +134 -0
  4. package/docs/assets/icons.css +1043 -0
  5. package/docs/assets/{images/icons.png → icons.png} +0 -0
  6. package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  7. package/docs/assets/main.js +52 -0
  8. package/docs/assets/search.js +1 -0
  9. package/docs/assets/style.css +1413 -0
  10. package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  11. package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  12. package/docs/classes/five.AnimationFrameLoop.html +15 -0
  13. package/docs/classes/five.BVH.html +10 -0
  14. package/docs/classes/five.BVHIntersect.html +1 -0
  15. package/docs/classes/five.BVHNode.html +7 -0
  16. package/docs/classes/five.BVHVector3.html +1 -0
  17. package/docs/classes/five.Camera.html +11 -0
  18. package/docs/classes/five.Five.html +303 -0
  19. package/docs/classes/five.InternalWebGLRenderer.html +1 -0
  20. package/docs/classes/five.IntersectMesh.html +1 -0
  21. package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
  22. package/docs/classes/five.Model.html +77 -0
  23. package/docs/classes/five.NetworkSubscribe.html +50 -0
  24. package/docs/classes/five.PBMContainer.html +17 -0
  25. package/docs/classes/five.PBMGroup.html +19 -0
  26. package/docs/classes/five.PBMMaterial.html +15 -0
  27. package/docs/classes/five.PBMMesh.html +7 -0
  28. package/docs/classes/five.PanoCircleMesh.html +7 -0
  29. package/docs/classes/five.Scene.html +3 -0
  30. package/docs/classes/five.Subscribe.html +56 -0
  31. package/docs/classes/five.Work.html +30 -0
  32. package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
  33. package/docs/classes/gltf_loader.GLTFObject.html +7 -0
  34. package/docs/classes/line.Line.html +1 -0
  35. package/docs/classes/line.LineGeometry.html +1 -0
  36. package/docs/classes/line.LineMaterial.html +1 -0
  37. package/docs/classes/line.LineSegmentsGeometry.html +1 -0
  38. package/docs/classes/line.THREE_Line2.html +1 -0
  39. package/docs/classes/line.THREE_LineSegments2.html +1 -0
  40. package/docs/classes/react.Store.html +29 -0
  41. package/docs/classes/server.BVH.html +10 -0
  42. package/docs/classes/server.BVHIntersect.html +1 -0
  43. package/docs/classes/server.BVHNode.html +7 -0
  44. package/docs/classes/server.BVHVector3.html +1 -0
  45. package/docs/classes/server.Model.html +63 -0
  46. package/docs/classes/server.PBMGroup.html +9 -0
  47. package/docs/classes/server.PBMMesh.html +7 -0
  48. package/docs/classes/sticker.Sticker.html +32 -0
  49. package/docs/index.html +166 -421
  50. package/docs/interfaces/five.AddableObject.html +1 -0
  51. package/docs/interfaces/five.AnimationFrame.html +1 -0
  52. package/docs/interfaces/five.CameraPose.html +1 -0
  53. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
  54. package/docs/interfaces/five.EventCallback.html +391 -0
  55. package/docs/interfaces/five.FiveInitArgs.html +98 -0
  56. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +15 -0
  57. package/docs/interfaces/five.ImageOptions.html +18 -0
  58. package/docs/interfaces/five.ImageURLMappings.html +1 -0
  59. package/docs/interfaces/five.ImageURLOptions.html +17 -0
  60. package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
  61. package/docs/interfaces/five.Intersection.html +7 -0
  62. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
  63. package/docs/interfaces/five.ModelEventCallback.html +22 -0
  64. package/docs/interfaces/five.MovePanoOptions.html +40 -0
  65. package/docs/interfaces/five.PBMPanoPicture.html +7 -0
  66. package/docs/interfaces/five.PBMParameters.html +15 -0
  67. package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
  68. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +28 -0
  69. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
  70. package/docs/interfaces/five.Pose.html +35 -0
  71. package/docs/interfaces/five.Scissor.html +14 -0
  72. package/docs/interfaces/five.State.html +19 -0
  73. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
  74. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
  75. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
  76. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
  77. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
  78. package/docs/interfaces/five.TextureOptions.html +20 -0
  79. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -0
  80. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +24 -0
  81. package/docs/interfaces/five.WorkCubeImage.html +13 -0
  82. package/docs/interfaces/five.WorkImage.html +21 -0
  83. package/docs/interfaces/five.WorkInitial.html +13 -0
  84. package/docs/interfaces/five.WorkModel.html +11 -0
  85. package/docs/interfaces/five.WorkObserver.html +25 -0
  86. package/docs/interfaces/five.WorkTile.html +1 -0
  87. package/docs/interfaces/five.WorkVideo.html +9 -0
  88. package/docs/interfaces/gltf_loader.GLTF.html +7 -0
  89. package/docs/interfaces/react.FiveActionReactCallbacks.html +62 -0
  90. package/docs/interfaces/react.FiveInjectionTypes.html +191 -0
  91. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
  92. package/docs/interfaces/server.Intersection.html +7 -0
  93. package/docs/interfaces/server.ModelEventCallback.html +18 -0
  94. package/docs/interfaces/sticker.IntersectionLike.html +8 -0
  95. package/docs/modules/five.SubscribeMixinType.html +1 -0
  96. package/docs/modules/five.html +481 -0
  97. package/docs/modules/gltf_loader.html +1 -0
  98. package/docs/modules/line.html +1 -0
  99. package/docs/modules/react.html +130 -1178
  100. package/docs/modules/server.html +18 -0
  101. package/docs/modules/sticker.html +1 -0
  102. package/docs/modules.html +1 -120
  103. package/exporters/staticify.js +210 -0
  104. package/{index.d.ts → five/index.d.ts} +612 -325
  105. package/five/index.js +372 -0
  106. package/gltf-loader/index.d.ts +75 -0
  107. package/gltf-loader/index.js +260 -0
  108. package/line/index.d.ts +68 -0
  109. package/line/index.js +260 -0
  110. package/package.json +21 -18
  111. package/react/index.d.ts +164 -96
  112. package/react/index.js +260 -1
  113. package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
  114. package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
  115. package/resource/gltf/draco_decoder.js +31 -0
  116. package/resource/gltf/draco_decoder.wasm +0 -0
  117. package/resource/gltf/draco_wasm_wrapper.js +119 -0
  118. package/scripts/five-staticify.js +26 -0
  119. package/server/index.d.ts +183 -27
  120. package/server/index.js +367 -1
  121. package/sticker/index.d.ts +70 -0
  122. package/sticker/index.js +260 -0
  123. package/templates/plugin/examples/index.html +1 -1
  124. package/templates/quick-start/README.md +1 -1
  125. package/templates/quick-start/index.tsx +1 -1
  126. package/templates/quick-start/package.json +1 -1
  127. package/templates/react-component/examples/index.html +1 -1
  128. package/templates/react-component/examples/index.tsx +4 -4
  129. package/templates/react-component/lib/index.tsx +5 -5
  130. package/umd/five-gltf-loader.js +2 -0
  131. package/umd/five-gltf-loader.js.LICENSE.txt +14 -0
  132. package/umd/five-line.js +2 -0
  133. package/umd/five-line.js.LICENSE.txt +14 -0
  134. package/umd/five-react.js +2 -0
  135. package/umd/five-react.js.LICENSE.txt +14 -0
  136. package/umd/five-sticker.js +2 -0
  137. package/umd/five-sticker.js.LICENSE.txt +14 -0
  138. package/umd/five.js +2 -0
  139. package/umd/five.js.LICENSE.txt +116 -0
  140. package/bundles/five.js +0 -2
  141. package/bundles/five.js.LICENSE.txt +0 -160
  142. package/docs/assets/css/main.css +0 -2660
  143. package/docs/assets/js/main.js +0 -248
  144. package/docs/assets/js/search.js +0 -1
  145. package/docs/classes/index.five.html +0 -2463
  146. package/docs/classes/index.fivecamera.html +0 -311
  147. package/docs/classes/index.fivehashcubetexture.html +0 -240
  148. package/docs/classes/index.fiveline.html +0 -342
  149. package/docs/classes/index.fivelinegeometry.html +0 -500
  150. package/docs/classes/index.fivelinematerial.html +0 -276
  151. package/docs/classes/index.fivelinesegmentsgeometry.html +0 -447
  152. package/docs/classes/index.fivescene.html +0 -186
  153. package/docs/classes/index.internalwebglrenderer.html +0 -200
  154. package/docs/classes/index.model.html +0 -883
  155. package/docs/classes/index.pbmgroup.html +0 -415
  156. package/docs/classes/index.pbmmaterial.html +0 -521
  157. package/docs/classes/index.pbmmesh.html +0 -242
  158. package/docs/classes/index.subscribe.html +0 -556
  159. package/docs/classes/react.store.html +0 -584
  160. package/docs/interfaces/index.depthpanoramacontrollercustominitargs.html +0 -408
  161. package/docs/interfaces/index.eventcallback.html +0 -2452
  162. package/docs/interfaces/index.fiveinitargs.html +0 -695
  163. package/docs/interfaces/index.floorplancontrollercustominitargs.html +0 -283
  164. package/docs/interfaces/index.imageoptions.html +0 -320
  165. package/docs/interfaces/index.intersection.html +0 -215
  166. package/docs/interfaces/index.intersectmeshinterface.html +0 -176
  167. package/docs/interfaces/index.modelcontrollercustominitargs.html +0 -354
  168. package/docs/interfaces/index.modeleventcallback.html +0 -316
  169. package/docs/interfaces/index.movepanooptions.html +0 -457
  170. package/docs/interfaces/index.panocirclemeshinterface.html +0 -349
  171. package/docs/interfaces/index.panoramacontrollercustominitargs.html +0 -433
  172. package/docs/interfaces/index.panoramalikecontrollercustominitargs.html +0 -352
  173. package/docs/interfaces/index.pbmparameters.html +0 -462
  174. package/docs/interfaces/index.pose.html +0 -258
  175. package/docs/interfaces/index.scissor.html +0 -240
  176. package/docs/interfaces/index.state.html +0 -288
  177. package/docs/interfaces/index.subscribemixintype.emit.html +0 -180
  178. package/docs/interfaces/index.subscribemixintype.haslistener.html +0 -171
  179. package/docs/interfaces/index.subscribemixintype.off.html +0 -198
  180. package/docs/interfaces/index.subscribemixintype.on.html +0 -213
  181. package/docs/interfaces/index.subscribemixintype.once.html +0 -210
  182. package/docs/interfaces/index.topviewcontrollercustominitargs.html +0 -214
  183. package/docs/interfaces/index.vrpanoramacontrollercustominitargs.html +0 -420
  184. package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -559
  185. package/docs/interfaces/react.fiveinjectiontypes.html +0 -1473
  186. package/docs/interfaces/react.injectfivetoprops.html +0 -259
  187. package/docs/modules/index.html +0 -3024
  188. package/docs/modules/index.subscribemixintype.html +0 -143
  189. package/five.js.LICENSE.txt +0 -160
  190. package/index.js +0 -1
  191. package/scripts/export-five-resource/chfs.exe +0 -0
  192. package/scripts/export-five-resource/fileify.js +0 -192
  193. package/scripts/export-five-resource/format-work.js +0 -71
  194. package/scripts/export-five-resource/staticify.js +0 -327
  195. package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
  196. package/scripts/transcode-model/LoaderSupport.js +0 -1545
  197. package/scripts/transcode-model/MTLLoader.js +0 -602
  198. package/scripts/transcode-model/OBJLoader2.js +0 -1470
  199. package/scripts/transcode-model/obj2pbm.js +0 -65
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>server | 如视 Five SDK - v5.0.0-alpha.120</title><meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.120"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视 Five SDK - v5.0.0-alpha.120</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视 Five SDK - v5.0.0-alpha.120</a></li><li><a href="server.html">server</a></li></ul><h1>Module server</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>References</h3><ul class="tsd-index-list"><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#EventCallback" class="tsd-kind-icon">Event<wbr/>Callback</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#EventType" class="tsd-kind-icon">Event<wbr/>Type</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWork" class="tsd-kind-icon">Loose<wbr/>Work</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkInitial" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Initial</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkModel" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Model</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkObserver" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Observer</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkPanorama" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Panorama</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkVideo" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Video</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Mode" class="tsd-kind-icon">Mode</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#ParseWorkOptions" class="tsd-kind-icon">Parse<wbr/>Work<wbr/>Options</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Pose" class="tsd-kind-icon">Pose</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#State" class="tsd-kind-icon">State</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Subscribe" class="tsd-kind-icon">Subscribe</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#SubscribeEventMap" class="tsd-kind-icon">Subscribe<wbr/>Event<wbr/>Map</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#SubscribeMixinType" class="tsd-kind-icon">Subscribe<wbr/>Mixin<wbr/>Type</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Work" class="tsd-kind-icon">Work</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkCubeImage" class="tsd-kind-icon">Work<wbr/>Cube<wbr/>Image</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkImage" class="tsd-kind-icon">Work<wbr/>Image</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkInitial" class="tsd-kind-icon">Work<wbr/>Initial</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkModel" class="tsd-kind-icon">Work<wbr/>Model</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkObserver" class="tsd-kind-icon">Work<wbr/>Observer</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkTile" class="tsd-kind-icon">Work<wbr/>Tile</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkVideo" class="tsd-kind-icon">Work<wbr/>Video</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#parseWork" class="tsd-kind-icon">parse<wbr/>Work</a></li></ul></section><section class="tsd-index-section "><h3>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVH.html" class="tsd-kind-icon">BVH</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHIntersect.html" class="tsd-kind-icon">BVHIntersect</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHNode.html" class="tsd-kind-icon">BVHNode</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHVector3.html" class="tsd-kind-icon">BVHVector3</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.Model.html" class="tsd-kind-icon">Model</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.PBMGroup.html" class="tsd-kind-icon">PBMGroup</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.PBMMesh.html" class="tsd-kind-icon">PBMMesh</a></li></ul></section><section class="tsd-index-section "><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/server.Intersection.html" class="tsd-kind-icon">Intersection</a></li><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/server.ModelEventCallback.html" class="tsd-kind-icon">Model<wbr/>Event<wbr/>Callback</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="server.html#ModelEventType" class="tsd-kind-icon">Model<wbr/>Event<wbr/>Type</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>References</h2><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="EventCallback" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Event<wbr/>Callback<a href="#EventCallback" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Renames and re-exports <a href="../interfaces/server.ModelEventCallback.html">ModelEventCallback</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="EventType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Event<wbr/>Type<a href="#EventType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Renames and re-exports <a href="server.html#ModelEventType">ModelEventType</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWork" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<a href="#LooseWork" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWork">LooseWork</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWorkInitial" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<wbr/>Initial<a href="#LooseWorkInitial" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWorkInitial">LooseWorkInitial</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWorkModel" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<wbr/>Model<a href="#LooseWorkModel" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWorkModel">LooseWorkModel</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWorkObserver" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<wbr/>Observer<a href="#LooseWorkObserver" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWorkObserver">LooseWorkObserver</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWorkPanorama" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<wbr/>Panorama<a href="#LooseWorkPanorama" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWorkPanorama">LooseWorkPanorama</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="LooseWorkVideo" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Loose<wbr/>Work<wbr/>Video<a href="#LooseWorkVideo" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#LooseWorkVideo">LooseWorkVideo</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="Mode" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Mode<a href="#Mode" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#Mode">Mode</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="ParseWorkOptions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Parse<wbr/>Work<wbr/>Options<a href="#ParseWorkOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#ParseWorkOptions">ParseWorkOptions</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="Pose" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Pose<a href="#Pose" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.Pose.html">Pose</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="State" class="tsd-anchor"></a><h3 class="tsd-anchor-link">State<a href="#State" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.State.html">State</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="Subscribe" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Subscribe<a href="#Subscribe" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../classes/five.Subscribe.html">Subscribe</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="SubscribeEventMap" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Subscribe<wbr/>Event<wbr/>Map<a href="#SubscribeEventMap" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#SubscribeEventMap">SubscribeEventMap</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="SubscribeMixinType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Subscribe<wbr/>Mixin<wbr/>Type<a href="#SubscribeMixinType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.SubscribeMixinType.html">SubscribeMixinType</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="Work" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<a href="#Work" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../classes/five.Work.html">Work</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkCubeImage" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Cube<wbr/>Image<a href="#WorkCubeImage" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkCubeImage.html">WorkCubeImage</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkImage" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Image<a href="#WorkImage" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkImage.html">WorkImage</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkInitial" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Initial<a href="#WorkInitial" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkInitial.html">WorkInitial</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkModel" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Model<a href="#WorkModel" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkModel.html">WorkModel</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkObserver" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Observer<a href="#WorkObserver" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkObserver.html">WorkObserver</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkTile" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Tile<a href="#WorkTile" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkTile.html">WorkTile</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="WorkVideo" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Work<wbr/>Video<a href="#WorkVideo" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="../interfaces/five.WorkVideo.html">WorkVideo</a></section><section class="tsd-panel tsd-member tsd-kind-reference tsd-parent-kind-module"><a id="parseWork" class="tsd-anchor"></a><h3 class="tsd-anchor-link">parse<wbr/>Work<a href="#parseWork" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3>Re-exports <a href="five.html#parseWork">parseWork</a></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"><a id="ModelEventType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Model<wbr/>Event<wbr/>Type<a href="#ModelEventType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Model<wbr/>Event<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>bvhLoaded<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>error<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>geometryLoaded<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>loaded<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>materialLoaded<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:50</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
+ <p>模型事件列表</p>
3
+ </div><dl class="tsd-comment-tags"><dt>description</dt><dd><p>具体事件列表 请查看 <a href="../interfaces/server.ModelEventCallback.html">ModelEventCallback</a></p>
4
+ </dd></dl></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>bvh<wbr/>Loaded<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">bvh<wbr/>Loaded<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:57</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
5
+ <p>模型 bvh树 计算完成</p>
6
+ </div><dl class="tsd-comment-tags"><dt>description</dt><dd><p>bvh 树用于高效的碰撞检测,可以在 <code>model.bvh</code> 属性来设置是否开启。默认开启。
7
+ bvh 树计算需要一定事件,可能会暂时影响一些性能。计算完毕后,会对碰撞检测带来质的提升。</p>
8
+ </dd></dl></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li><li class="tsd-parameter"><h5>error<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">error<span class="tsd-signature-symbol">(</span>error<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:68</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
9
+ <p>内部错误</p>
10
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>error: <span class="tsd-signature-type">Error</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
11
+ <p>错误对象</p>
12
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li><li class="tsd-parameter"><h5>geometry<wbr/>Loaded<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">geometry<wbr/>Loaded<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:59</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
13
+ <p>模型三角面片结构加载完成</p>
14
+ </div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li><li class="tsd-parameter"><h5>loaded<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">loaded<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:63</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
15
+ <p>模型加载完成</p>
16
+ </div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li><li class="tsd-parameter"><h5>material<wbr/>Loaded<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">material<wbr/>Loaded<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in lib/five/server/model/index.ts:61</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
17
+ <p>模型材质结构加载完成</p>
18
+ </div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="five.html">five</a></li><li class=" tsd-kind-module"><a href="gltf_loader.html">gltf-<wbr/>loader</a></li><li class=" tsd-kind-module"><a href="line.html">line</a></li><li class=" tsd-kind-module"><a href="react.html">react</a></li><li class="current tsd-kind-module"><a href="server.html">server</a></li><li class=" tsd-kind-module"><a href="sticker.html">sticker</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#EventCallback" class="tsd-kind-icon">Event<wbr/>Callback</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#EventType" class="tsd-kind-icon">Event<wbr/>Type</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWork" class="tsd-kind-icon">Loose<wbr/>Work</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkInitial" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Initial</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkModel" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Model</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkObserver" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Observer</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkPanorama" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Panorama</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#LooseWorkVideo" class="tsd-kind-icon">Loose<wbr/>Work<wbr/>Video</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Mode" class="tsd-kind-icon">Mode</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#ParseWorkOptions" class="tsd-kind-icon">Parse<wbr/>Work<wbr/>Options</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Pose" class="tsd-kind-icon">Pose</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#State" class="tsd-kind-icon">State</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Subscribe" class="tsd-kind-icon">Subscribe</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#SubscribeEventMap" class="tsd-kind-icon">Subscribe<wbr/>Event<wbr/>Map</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#SubscribeMixinType" class="tsd-kind-icon">Subscribe<wbr/>Mixin<wbr/>Type</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#Work" class="tsd-kind-icon">Work</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkCubeImage" class="tsd-kind-icon">Work<wbr/>Cube<wbr/>Image</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkImage" class="tsd-kind-icon">Work<wbr/>Image</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkInitial" class="tsd-kind-icon">Work<wbr/>Initial</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkModel" class="tsd-kind-icon">Work<wbr/>Model</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkObserver" class="tsd-kind-icon">Work<wbr/>Observer</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkTile" class="tsd-kind-icon">Work<wbr/>Tile</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#WorkVideo" class="tsd-kind-icon">Work<wbr/>Video</a></li><li class="tsd-kind-reference tsd-parent-kind-module"><a href="server.html#parseWork" class="tsd-kind-icon">parse<wbr/>Work</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVH.html" class="tsd-kind-icon">BVH</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHIntersect.html" class="tsd-kind-icon">BVHIntersect</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHNode.html" class="tsd-kind-icon">BVHNode</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.BVHVector3.html" class="tsd-kind-icon">BVHVector3</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.Model.html" class="tsd-kind-icon">Model</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.PBMGroup.html" class="tsd-kind-icon">PBMGroup</a></li><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/server.PBMMesh.html" class="tsd-kind-icon">PBMMesh</a></li><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/server.Intersection.html" class="tsd-kind-icon">Intersection</a></li><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/server.ModelEventCallback.html" class="tsd-kind-icon">Model<wbr/>Event<wbr/>Callback</a></li><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="server.html#ModelEventType" class="tsd-kind-icon">Model<wbr/>Event<wbr/>Type</a></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li><li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li><li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>sticker | 如视 Five SDK - v5.0.0-alpha.120</title><meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.120"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视 Five SDK - v5.0.0-alpha.120</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视 Five SDK - v5.0.0-alpha.120</a></li><li><a href="sticker.html">sticker</a></li></ul><h1>Module sticker</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/sticker.Sticker.html" class="tsd-kind-icon">Sticker</a></li></ul></section><section class="tsd-index-section "><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/sticker.IntersectionLike.html" class="tsd-kind-icon">Intersection<wbr/>Like</a></li></ul></section></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="five.html">five</a></li><li class=" tsd-kind-module"><a href="gltf_loader.html">gltf-<wbr/>loader</a></li><li class=" tsd-kind-module"><a href="line.html">line</a></li><li class=" tsd-kind-module"><a href="react.html">react</a></li><li class=" tsd-kind-module"><a href="server.html">server</a></li><li class="current tsd-kind-module"><a href="sticker.html">sticker</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-class tsd-parent-kind-module"><a href="../classes/sticker.Sticker.html" class="tsd-kind-icon">Sticker</a></li><li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/sticker.IntersectionLike.html" class="tsd-kind-icon">Intersection<wbr/>Like</a></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li><li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li><li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
package/docs/modules.html CHANGED
@@ -1,120 +1 @@
1
- <!doctype html>
2
- <html class="default no-js">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <title>如视 Five SDK - v5.0.0-alpha.12</title>
7
- <meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.12">
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <link rel="stylesheet" href="assets/css/main.css">
10
- <script async src="assets/js/search.js" id="search-script"></script>
11
- </head>
12
- <body>
13
- <header>
14
- <div class="tsd-page-toolbar">
15
- <div class="container">
16
- <div class="table-wrap">
17
- <div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
18
- <div class="field">
19
- <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
20
- <input id="tsd-search-field" type="text" />
21
- </div>
22
- <ul class="results">
23
- <li class="state loading">Preparing search index...</li>
24
- <li class="state failure">The search index is not available</li>
25
- </ul>
26
- <a href="index.html" class="title">如视 Five SDK - v5.0.0-alpha.12</a>
27
- </div>
28
- <div class="table-cell" id="tsd-widgets">
29
- <div id="tsd-filter">
30
- <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
31
- <div class="tsd-filter-group">
32
- <div class="tsd-select" id="tsd-filter-visibility">
33
- <span class="tsd-select-label">All</span>
34
- <ul class="tsd-select-list">
35
- <li data-value="public">Public</li>
36
- <li data-value="protected">Public/Protected</li>
37
- <li data-value="private" class="selected">All</li>
38
- </ul>
39
- </div>
40
- <input type="checkbox" id="tsd-filter-inherited" checked />
41
- <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
42
- </div>
43
- </div>
44
- <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- <div class="tsd-page-title">
50
- <div class="container">
51
- <h1>如视 Five SDK - v5.0.0-alpha.12</h1>
52
- </div>
53
- </div>
54
- </header>
55
- <div class="container container-main">
56
- <div class="row">
57
- <div class="col-8 col-content">
58
- <section class="tsd-panel-group tsd-index-group">
59
- <h2>Index</h2>
60
- <section class="tsd-panel tsd-index-panel">
61
- <div class="tsd-index-content">
62
- <section class="tsd-index-section ">
63
- <h3>Modules</h3>
64
- <ul class="tsd-index-list">
65
- <li class="tsd-kind-module"><a href="modules/index.html" class="tsd-kind-icon">index</a></li>
66
- <li class="tsd-kind-module"><a href="modules/react.html" class="tsd-kind-icon">react</a></li>
67
- </ul>
68
- </section>
69
- </div>
70
- </section>
71
- </section>
72
- </div>
73
- <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
74
- <nav class="tsd-navigation primary">
75
- <ul>
76
- <li class="current ">
77
- <a href="modules.html">Modules</a>
78
- </li>
79
- <li class=" tsd-kind-module">
80
- <a href="modules/index.html">index</a>
81
- </li>
82
- <li class=" tsd-kind-module">
83
- <a href="modules/react.html">react</a>
84
- </li>
85
- </ul>
86
- </nav>
87
- <nav class="tsd-navigation secondary menu-sticky">
88
- <ul class="before-current">
89
- </ul>
90
- </nav>
91
- </div>
92
- </div>
93
- </div>
94
- <footer>
95
- <div class="container">
96
- <h2>Legend</h2>
97
- <div class="tsd-legend-group">
98
- <ul class="tsd-legend">
99
- <li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li>
100
- <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
101
- <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
102
- <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
103
- <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
104
- <li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
105
- </ul>
106
- <ul class="tsd-legend">
107
- <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
108
- <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
109
- </ul>
110
- <ul class="tsd-legend">
111
- <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
112
- <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
113
- </ul>
114
- </div>
115
- </div>
116
- </footer>
117
- <div class="overlay"></div>
118
- <script src="assets/js/main.js"></script>
119
- </body>
120
- </html>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>如视 Five SDK - v5.0.0-alpha.120</title><meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.120"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">如视 Five SDK - v5.0.0-alpha.120</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1> 如视 Five SDK - v5.0.0-alpha.120</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Modules</h3><ul class="tsd-index-list"><li class="tsd-kind-module"><a href="modules/five.html" class="tsd-kind-icon">five</a></li><li class="tsd-kind-module"><a href="modules/gltf_loader.html" class="tsd-kind-icon">gltf-<wbr/>loader</a></li><li class="tsd-kind-module"><a href="modules/line.html" class="tsd-kind-icon">line</a></li><li class="tsd-kind-module"><a href="modules/react.html" class="tsd-kind-icon">react</a></li><li class="tsd-kind-module"><a href="modules/server.html" class="tsd-kind-icon">server</a></li><li class="tsd-kind-module"><a href="modules/sticker.html" class="tsd-kind-icon">sticker</a></li></ul></section></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="modules/five.html">five</a></li><li class=" tsd-kind-module"><a href="modules/gltf_loader.html">gltf-<wbr/>loader</a></li><li class=" tsd-kind-module"><a href="modules/line.html">line</a></li><li class=" tsd-kind-module"><a href="modules/react.html">react</a></li><li class=" tsd-kind-module"><a href="modules/server.html">server</a></li><li class=" tsd-kind-module"><a href="modules/sticker.html">sticker</a></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li><li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li><li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="assets/main.js"></script></body></html>
@@ -0,0 +1,210 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+ const archiver = require("archiver");
4
+ const ejs = require("ejs");
5
+ const { parseWork } = require("@realsee/five/server");
6
+
7
+ function matchJsonpFunctionName(url) {
8
+ const regExps = [
9
+ /\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,
10
+ /jsonp_([0-9a-z]+)([\?\#].*)?$/i
11
+ ];
12
+ for (const regExp of regExps) {
13
+ const matched = url.match(regExp);
14
+ if (matched) {
15
+ return "jsonp_" + matched[1];
16
+ }
17
+ }
18
+ return null;
19
+ };
20
+
21
+ const CDN_PUBLIC_BASE = "//vrlab-public.ljcdn.com";
22
+ const CDN_IMAGE_BASE = "//vrlab-image4.ljcdn.com";
23
+ const CDN_TEST_PUBLIC_BASE = "//test-vr-public.realsee-cdn.com";
24
+ const CDN_TEST_IMAGE_BASE = "//test-vr-image.realsee-cdn.com";
25
+ function imageURL(url, size) {
26
+ if (url.indexOf(CDN_PUBLIC_BASE) >= 0) {
27
+ if (/\.(jpg|png)$/.test(url)) {
28
+ // 默认使用数据万象
29
+ // https://cloud.tencent.com/document/product/460/36544
30
+ if (size) {
31
+ let suffix = "?imageMogr2";
32
+ if (size) suffix += "/thumbnail/" + size + "x";
33
+ url = url.replace(CDN_PUBLIC_BASE, CDN_IMAGE_BASE) + suffix;
34
+ }
35
+ }
36
+ }
37
+ if (url.indexOf(CDN_TEST_PUBLIC_BASE) >= 0) {
38
+ if (/\.(jpg|png)$/.test(url)) {
39
+ // 默认使用数据万象
40
+ // https://cloud.tencent.com/document/product/460/36544
41
+ if (size) {
42
+ let suffix = "?imageMogr2";
43
+ if (size) suffix += "/thumbnail/" + size + "x";
44
+ url = url.replace(CDN_TEST_PUBLIC_BASE, CDN_TEST_IMAGE_BASE) + suffix;
45
+ }
46
+ }
47
+ }
48
+ return url;
49
+ }
50
+
51
+ async function download(url, jsonpHandleKey) {
52
+ const request = /^https\:/.test(url) ? require("https") : require("http");
53
+ return new Promise((resolve, reject) => {
54
+ const req = request.get(url, res => {
55
+ const mime = res.headers['content-type'];
56
+ const buffers = [];
57
+
58
+ res.on('data', chunk => buffers.push(chunk));
59
+ res.on('end', () => {
60
+ const contents = Buffer.concat(buffers);
61
+ if (jsonpHandleKey) {
62
+ const dataURL = `data:${mime};base64,${contents.toString('base64')}`;
63
+ const jsopContents = `window[${JSON.stringify(jsonpHandleKey)}] && window[${JSON.stringify(jsonpHandleKey)}](${JSON.stringify(dataURL)})`;
64
+ resolve(Buffer.from(jsopContents));
65
+ } else {
66
+ resolve(Buffer.from(contents));
67
+ }
68
+ })
69
+ res.on("error", () => reject(new Error(`fetch ${url} got error`)));
70
+ });
71
+ req.on("error", () => reject(new Error(`fetch ${url} got error`)));
72
+ })
73
+ }
74
+
75
+ const template = `
76
+ <!DOCTYPE html>
77
+ <html lang="en">
78
+ <head>
79
+ <meta charset="UTF-8">
80
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
81
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
82
+ <title>REALSEE PREVIEW</title>
83
+ <style>
84
+ * { margin: 0; padding: 0; }
85
+ html, body { height: 100%; width: 100%; overflow: hidden; }
86
+ #app { position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; }
87
+ .buttons { position: fixed; top: 10px; left: 10px; pointer-events: none; }
88
+ .buttons h3 { margin-top: 10px; text-shadow: 0 0 2px rgba(255, 255, 255, 0.5); }
89
+ .buttons button { pointer-events: auto; display: block; font-size: 14px; color: #FFF; background: #5a6268; padding: 3px 10px; border: 1px solid #333; margin-right: 2px; border-radius: 2px; cursor: pointer; margin-top: 10px; }
90
+ .buttons button:active { background: #333; }
91
+ </style>
92
+ <script src="./three.min.js"></script>
93
+ <script src="./five.js"></script>
94
+ <script>const workJSON = <%- JSON.stringify(work_json) %></script>
95
+ </head>
96
+ <body>
97
+ <!-- 试图渲染容器 -->
98
+ <div id="app"></div>
99
+ <script>
100
+ const five = new FiveSDK.Five();
101
+ five.appendTo(document.getElementById("app"));
102
+ const work = FiveSDK.parseWork(workJSON, { baseURL: "./", shortPath: <%- JSON.stringify(short_path) %>, jsonp: <%- JSON.stringify(jsonp) %> });
103
+ five.load(work);
104
+
105
+ const modeButtons = [
106
+ { mode: "Panorama", label: "全景模式" },
107
+ { mode: "Floorplan", label: "模型纵览模式" },
108
+ { mode: "Topview", label: "模型俯视模式" },
109
+ { mode: "Model", label: "模型漫游模式" },
110
+ ];
111
+
112
+ const buttons = document.createElement("div");
113
+ buttons.className = "buttons";
114
+ document.body.appendChild(buttons);
115
+ buttons.appendChild(document.createElement("h3")).innerHTML = "模式控制";
116
+
117
+ // 模态按钮
118
+ for (let i = 0; i < modeButtons.length; i++) {
119
+ const button = document.createElement("button");
120
+ button.innerHTML = modeButtons[i].label;
121
+ button.addEventListener('click', () => {
122
+ // 通过 changeMode 方法可以切换模态
123
+ five.changeMode(FiveSDK.Five.Mode[modeButtons[i].mode]);
124
+ });
125
+ buttons.appendChild(button);
126
+ }
127
+ window.addEventListener("resize", () => five.refresh(), false);
128
+ </script>
129
+ </body>
130
+ </html>
131
+ `;
132
+
133
+ function getThreeJsBuffer() {
134
+ let tempPath = path.resolve(__dirname);
135
+ while (!(tempPath === '/' || tempPath === ".")) {
136
+ const threeFilePath = path.join(tempPath, "node_modules/three/build/three.min.js");
137
+ if (fs.existsSync(threeFilePath)) {
138
+ return fs.readFileSync(threeFilePath);
139
+ }
140
+ tempPath = path.dirname(tempPath);
141
+ }
142
+ throw new Error("three.js is not found");
143
+ }
144
+
145
+ function getFiveJsBuffer() {
146
+ return fs.readFileSync(path.join(__dirname, "../umd/five.js"));
147
+ }
148
+
149
+ async function staticify(work, output, shortPath = false, jsonp = false, preview = true) {
150
+ const zipFilename = /\.zip$/.test(output) ? output : output + ".zip";
151
+ const outputStream = fs.createWriteStream(zipFilename);
152
+ const archive = archiver("zip", { zlib: { level: 9 } });
153
+ archive.on("error", (err) => { throw err; });
154
+ outputStream.on("close", function() {
155
+ console.log(`zip ${archive.pointer()} total bytes`);
156
+ console.log(`dist ${zipFilename}`);
157
+ });
158
+ archive.pipe(outputStream);
159
+
160
+ const resources = [];
161
+ const workJSONObject = JSON.parse(fs.readFileSync(work, "utf8"));
162
+ parseWork(workJSONObject, { shortPath, jsonp }, (origin, _, relative, type) => {
163
+ resources.push({ origin, relative, type });
164
+ });
165
+
166
+ const textureCount = resources.filter(({ type }) => type === "texture").length;
167
+ let textureSize;
168
+ if (textureCount > 50) {
169
+ textureSize = 64;
170
+ } else if (textureCount > 40) {
171
+ textureSize = 128;
172
+ } else if (textureCount > 30) {
173
+ textureSize = 256;
174
+ } else if (textureCount > 15) {
175
+ textureSize = 512;
176
+ } else if (textureCount > 10) {
177
+ textureSize = 1024;
178
+ }
179
+ if (textureSize) {
180
+ for (const resource of resources) {
181
+ if (resource.type === "texture") {
182
+ resource.origin = imageURL(resource.origin, textureSize);
183
+ }
184
+ }
185
+ }
186
+ for (const { origin, relative } of resources) {
187
+ const buffer = await download(origin, matchJsonpFunctionName(relative));
188
+ console.log(`${origin} -> ${relative}`);
189
+ archive.append(buffer, { name: relative });
190
+ }
191
+ archive.append(fs.readFileSync(work), { name: "work.json" });
192
+
193
+ if (preview) {
194
+ archive.append(getFiveJsBuffer(), { name: "five.js" });
195
+ archive.append(getThreeJsBuffer(), { name: "three.min.js" });
196
+
197
+ const data = {
198
+ work_json: workJSONObject,
199
+ short_path: Boolean(shortPath),
200
+ jsonp: Boolean(jsonp),
201
+ };
202
+
203
+ const html = typeof preview === 'string' ? ejs.render(fs.readFileSync(preview, "utf8"), data) : ejs.render(template, data);
204
+ archive.append(html, { name: "index.html" });
205
+ }
206
+
207
+ archive.finalize();
208
+ }
209
+
210
+ module.exports = staticify;