@combeenation/3d-viewer 18.0.0-beta1 → 18.0.0-beta2

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 (39) hide show
  1. package/dist/lib-cjs/buildinfo.json +1 -1
  2. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  3. package/dist/lib-cjs/index.d.ts +6 -0
  4. package/dist/lib-cjs/index.js +6 -0
  5. package/dist/lib-cjs/index.js.map +1 -1
  6. package/dist/lib-cjs/internal/cloning-helper.js +1 -1
  7. package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
  8. package/dist/lib-cjs/manager/camera-manager.d.ts +23 -2
  9. package/dist/lib-cjs/manager/camera-manager.js +90 -25
  10. package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
  11. package/dist/lib-cjs/manager/debug-manager.d.ts +1 -1
  12. package/dist/lib-cjs/manager/debug-manager.js +2 -2
  13. package/dist/lib-cjs/manager/debug-manager.js.map +1 -1
  14. package/dist/lib-cjs/manager/dimension-line-manager.d.ts +126 -0
  15. package/dist/lib-cjs/manager/dimension-line-manager.js +138 -0
  16. package/dist/lib-cjs/manager/dimension-line-manager.js.map +1 -0
  17. package/dist/lib-cjs/manager/html-anchor-manager.d.ts +93 -0
  18. package/dist/lib-cjs/manager/html-anchor-manager.js +228 -0
  19. package/dist/lib-cjs/manager/html-anchor-manager.js.map +1 -0
  20. package/dist/lib-cjs/manager/model-manager.d.ts +0 -1
  21. package/dist/lib-cjs/manager/model-manager.js +0 -1
  22. package/dist/lib-cjs/manager/model-manager.js.map +1 -1
  23. package/dist/lib-cjs/manager/parameter-manager.d.ts +1 -1
  24. package/dist/lib-cjs/manager/scene-manager.js +9 -2
  25. package/dist/lib-cjs/manager/scene-manager.js.map +1 -1
  26. package/dist/lib-cjs/viewer.d.ts +6 -2
  27. package/dist/lib-cjs/viewer.js +13 -1
  28. package/dist/lib-cjs/viewer.js.map +1 -1
  29. package/package.json +2 -1
  30. package/src/index.ts +6 -0
  31. package/src/internal/cloning-helper.ts +1 -1
  32. package/src/manager/camera-manager.ts +152 -40
  33. package/src/manager/debug-manager.ts +2 -2
  34. package/src/manager/dimension-line-manager.ts +255 -0
  35. package/src/manager/html-anchor-manager.ts +332 -0
  36. package/src/manager/model-manager.ts +0 -1
  37. package/src/manager/parameter-manager.ts +1 -1
  38. package/src/manager/scene-manager.ts +11 -2
  39. package/src/viewer.ts +17 -1
package/src/viewer.ts CHANGED
@@ -5,10 +5,12 @@ import {
5
5
  CameraManager,
6
6
  DebugManager,
7
7
  DefaultSceneSettings,
8
+ DimensionLineManager,
8
9
  Engine,
9
10
  EngineOptions,
10
11
  EventManager,
11
12
  GltfExportManager,
13
+ HtmlAnchorManager,
12
14
  MaterialManager,
13
15
  ModelManager,
14
16
  NullEngine,
@@ -80,8 +82,10 @@ export class Viewer {
80
82
 
81
83
  protected _cameraManager!: CameraManager;
82
84
  protected _debugManager!: DebugManager;
85
+ protected _dimensionLineManager!: DimensionLineManager;
83
86
  protected _eventManager!: EventManager;
84
87
  protected _gltfExportManager!: GltfExportManager;
88
+ protected _htmlAnchorManager!: HtmlAnchorManager;
85
89
  protected _materialManager!: MaterialManager;
86
90
  protected _modelManager!: ModelManager;
87
91
  protected _parameterManager!: ParameterManager;
@@ -119,12 +123,18 @@ export class Viewer {
119
123
  get debugManager(): DebugManager {
120
124
  return this._debugManager;
121
125
  }
126
+ get dimensionLineManager(): DimensionLineManager {
127
+ return this._dimensionLineManager;
128
+ }
122
129
  get eventManager(): EventManager {
123
130
  return this._eventManager;
124
131
  }
125
132
  get gltfExportManager(): GltfExportManager {
126
133
  return this._gltfExportManager;
127
134
  }
135
+ get htmlAnchorManager(): HtmlAnchorManager {
136
+ return this._htmlAnchorManager;
137
+ }
128
138
  get materialManager(): MaterialManager {
129
139
  return this._materialManager;
130
140
  }
@@ -171,7 +181,7 @@ export class Viewer {
171
181
  }
172
182
 
173
183
  /**
174
- * Pause rendering can be usefull when doing internal scene processings that should not be visible to the user,
184
+ * Pause rendering can be useful when doing internal scene processings that should not be visible to the user,
175
185
  * e.g. cloning meshes for gltf export
176
186
  */
177
187
  public pauseRendering(): void {
@@ -227,14 +237,20 @@ export class Viewer {
227
237
  }
228
238
 
229
239
  this._scene = new Scene(engine);
240
+ // NOTE: rendering group id "1" is reserved for occlusion helper sphere (see `HtmlAnchorManager`)
241
+ // rendering group id "1" has the same depth buffer as 0 in order to make this work
242
+ // => use rendering group id "2" or higher for keeping meshes in foreground
243
+ this._scene.setRenderingAutoClearDepthStencil(1, false, false, false);
230
244
 
231
245
  // NOTE: order of manage seems to be a bit counter intuitive as it's sorted alphabetically
232
246
  // semantically one would start with scene manager, etc...
233
247
  // still this is a good test as the order of manager constructors should not matter
234
248
  this._cameraManager = new CameraManager(this);
235
249
  this._debugManager = new DebugManager(this);
250
+ this._dimensionLineManager = new DimensionLineManager(this);
236
251
  this._eventManager = new EventManager(this);
237
252
  this._gltfExportManager = new GltfExportManager(this);
253
+ this._htmlAnchorManager = new HtmlAnchorManager(this);
238
254
  this._materialManager = new MaterialManager(this);
239
255
  this._modelManager = new ModelManager(this);
240
256
  this._parameterManager = new ParameterManager(this);