@combeenation/3d-viewer 4.0.0-rc1 → 4.1.0

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 (103) hide show
  1. package/README.md +114 -114
  2. package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
  3. package/dist/lib-cjs/api/classes/animationInterface.js +1 -1
  4. package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
  5. package/dist/lib-cjs/api/classes/dottedPath.js +190 -190
  6. package/dist/lib-cjs/api/classes/element.d.ts +130 -130
  7. package/dist/lib-cjs/api/classes/element.js +746 -743
  8. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  9. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +14 -14
  10. package/dist/lib-cjs/api/classes/elementParameterizable.js +134 -134
  11. package/dist/lib-cjs/api/classes/event.d.ts +326 -326
  12. package/dist/lib-cjs/api/classes/event.js +371 -371
  13. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
  14. package/dist/lib-cjs/api/classes/eventBroadcaster.js +53 -53
  15. package/dist/lib-cjs/api/classes/parameter.d.ts +259 -259
  16. package/dist/lib-cjs/api/classes/parameter.js +387 -387
  17. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  18. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
  19. package/dist/lib-cjs/api/classes/parameterObservable.js +101 -101
  20. package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -15
  21. package/dist/lib-cjs/api/classes/parameterizable.js +149 -149
  22. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +43 -38
  23. package/dist/lib-cjs/api/classes/placementAnimation.js +160 -149
  24. package/dist/lib-cjs/api/classes/placementAnimation.js.map +1 -1
  25. package/dist/lib-cjs/api/classes/variant.d.ts +234 -234
  26. package/dist/lib-cjs/api/classes/variant.js +1147 -1147
  27. package/dist/lib-cjs/api/classes/variantInstance.d.ts +45 -45
  28. package/dist/lib-cjs/api/classes/variantInstance.js +108 -108
  29. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -17
  30. package/dist/lib-cjs/api/classes/variantParameterizable.js +99 -92
  31. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +1 -1
  32. package/dist/lib-cjs/api/classes/viewer.d.ts +131 -131
  33. package/dist/lib-cjs/api/classes/viewer.js +567 -567
  34. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  35. package/dist/lib-cjs/api/classes/viewerLight.d.ts +66 -66
  36. package/dist/lib-cjs/api/classes/viewerLight.js +392 -389
  37. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
  38. package/dist/lib-cjs/api/internal/debugViewer.d.ts +13 -13
  39. package/dist/lib-cjs/api/internal/debugViewer.js +87 -87
  40. package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
  41. package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
  42. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +10 -10
  43. package/dist/lib-cjs/api/internal/sceneSetup.js +231 -231
  44. package/dist/lib-cjs/api/manager/animationManager.d.ts +29 -29
  45. package/dist/lib-cjs/api/manager/animationManager.js +121 -121
  46. package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +35 -0
  47. package/dist/lib-cjs/api/manager/gltfExportManager.js +108 -0
  48. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -0
  49. package/dist/lib-cjs/api/manager/sceneManager.d.ts +32 -32
  50. package/dist/lib-cjs/api/manager/sceneManager.js +132 -132
  51. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +90 -90
  52. package/dist/lib-cjs/api/manager/variantInstanceManager.js +321 -321
  53. package/dist/lib-cjs/api/store/specStorage.d.ts +24 -24
  54. package/dist/lib-cjs/api/store/specStorage.js +51 -51
  55. package/dist/lib-cjs/api/util/babylonHelper.d.ts +166 -175
  56. package/dist/lib-cjs/api/util/babylonHelper.js +500 -520
  57. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  58. package/dist/lib-cjs/api/util/globalTypes.d.ts +338 -333
  59. package/dist/lib-cjs/api/util/globalTypes.js +1 -1
  60. package/dist/lib-cjs/api/util/resourceHelper.d.ts +53 -53
  61. package/dist/lib-cjs/api/util/resourceHelper.js +240 -240
  62. package/dist/lib-cjs/api/util/stringHelper.d.ts +9 -9
  63. package/dist/lib-cjs/api/util/stringHelper.js +25 -25
  64. package/dist/lib-cjs/buildinfo.json +3 -3
  65. package/dist/lib-cjs/index.d.ts +48 -48
  66. package/dist/lib-cjs/index.js +86 -86
  67. package/package.json +83 -83
  68. package/src/api/classes/animationInterface.ts +11 -11
  69. package/src/api/classes/dottedPath.ts +189 -189
  70. package/src/api/classes/element.ts +648 -644
  71. package/src/api/classes/event.ts +370 -370
  72. package/src/api/classes/eventBroadcaster.ts +54 -54
  73. package/src/api/classes/parameter.ts +408 -408
  74. package/src/api/classes/parameterObservable.ts +99 -99
  75. package/src/api/classes/parameterizable.ts +89 -89
  76. package/src/api/classes/placementAnimation.ts +157 -143
  77. package/src/api/classes/variant.ts +817 -817
  78. package/src/api/classes/variantInstance.ts +88 -88
  79. package/src/api/classes/variantParameterizable.ts +80 -73
  80. package/src/api/classes/viewer.ts +487 -487
  81. package/src/api/classes/viewerLight.ts +334 -330
  82. package/src/api/internal/debugViewer.ts +81 -81
  83. package/src/api/internal/lensRendering.ts +10 -10
  84. package/src/api/internal/sceneSetup.ts +193 -193
  85. package/src/api/manager/animationManager.ts +116 -116
  86. package/src/api/manager/sceneManager.ts +105 -105
  87. package/src/api/manager/variantInstanceManager.ts +236 -236
  88. package/src/api/store/specStorage.ts +53 -53
  89. package/src/api/util/babylonHelper.ts +534 -555
  90. package/src/api/util/globalTypes.ts +385 -379
  91. package/src/api/util/resourceHelper.ts +184 -184
  92. package/src/api/util/stringHelper.ts +25 -25
  93. package/src/buildinfo.json +2 -2
  94. package/src/commonjs.tsconfig.json +13 -13
  95. package/src/declaration.tsconfig.json +10 -10
  96. package/src/dev.ts +42 -42
  97. package/src/es6.tsconfig.json +13 -13
  98. package/src/index.ts +91 -91
  99. package/src/pagesconfig.json +65 -61
  100. package/src/tsconfig.json +43 -43
  101. package/src/tsconfig.types.json +9 -9
  102. package/src/types.d.ts +4 -4
  103. package/dist/webpack-stats.json +0 -0
@@ -1,99 +1,99 @@
1
- import { merge } from 'lodash-es';
2
- import { uuidv4 } from '../util/stringHelper';
3
- import { EventBroadcaster } from './eventBroadcaster';
4
-
5
- export abstract class ParameterObservable extends EventBroadcaster {
6
-
7
- public readonly uuid: string;
8
-
9
- public readonly parameters: ParameterBag = {};
10
-
11
- protected readonly parameterDeclaration: ParameterDeclarations = {};
12
-
13
- protected parameterObservers: Map<string, ParameterObserver[]> = new Map();
14
-
15
- protected constructor( parameterDeclaration: ParameterDeclarations = {}, parameters: ParameterBag = {} ) {
16
- super();
17
- this.uuid = uuidv4();
18
- this.parameterDeclaration = merge(this.parameterDeclaration, parameterDeclaration);
19
- this.parameters = merge(this.parameters, parameters);
20
- }
21
-
22
- /**
23
- * The uuid (if not overloaded).
24
- */
25
- get id(): string {
26
- return this.uuid;
27
- }
28
-
29
- /**
30
- * Adds an observer function for parameter changes.
31
- * The {@link ParameterObserver} gets 3 parameters: the {@link ParameterObservable}, the old {@link ParameterValue}
32
- * and the new {@link ParameterValue}.
33
- *
34
- * See {@page Parameters} for an example.
35
- */
36
- public addParameterObserver( parameter: string, observer: ParameterObserver ): ParameterObservable {
37
- if( this.parameterObservers.has( parameter ) ) {
38
- this.parameterObservers.get( parameter )!.push( observer );
39
- return this;
40
- }
41
- this.parameterObservers.set( parameter, [observer] );
42
- return this;
43
- }
44
-
45
- /**
46
- * Removes all {@link ParameterObserver}s for given parameter.
47
- */
48
- public removeParameterObservers( parameter: string ): ParameterObservable {
49
- this.parameterObservers.delete( parameter );
50
- return this;
51
- }
52
-
53
- /**
54
- * Invoke parameter observers for given parameter.
55
- */
56
- public async commitParameter( parameter: string, value: ParameterValue ): Promise<ParameterObservable> {
57
- const parameters: ParameterBag = {};
58
- parameters[parameter] = value;
59
- return this.commitParameters( parameters );
60
- }
61
-
62
- /**
63
- * Invoke parameter observers for given parameters.
64
- */
65
- public abstract commitParameters( parameters?: ParameterBag ): Promise<ParameterObservable>;
66
-
67
- /**
68
- * Asserts whether given parameter is declared and valid.
69
- */
70
- public assertParameter( parameterDeclaration: ParameterDeclarations, parameter: string, value: ParameterValue ) {
71
- if( !(parameter in parameterDeclaration) ) {
72
- // This is a valid case since we are not able to check parameters that are not declared.
73
- // We just ignore parameters that are not declared.
74
- return;
75
- }
76
- const declaration = parameterDeclaration[parameter];
77
- const genericError = `"${value}" is not a valid value for parameter "${parameter}" of type. ` +
78
- `"${declaration.type}" for ${this.constructor.name} "${this.id}".`;
79
- if( declaration.parser ) {
80
- try {
81
- declaration.parser( value );
82
- } catch( e ) {
83
- throw Error( genericError + e.message );
84
- }
85
- }
86
- switch( declaration.type ) {
87
- case 'select':
88
- if( !declaration.options ) {
89
- throw Error( `No options defined for parameter declaration "${parameter}"` +
90
- `of type "${declaration.type}" for ${this.constructor.name} "${this.id}".` );
91
- }
92
- if( declaration.options.indexOf( value ) === -1 ) {
93
- throw Error( genericError + ` Valid values are: "${declaration.options.join( '", "' )}".` );
94
- }
95
- break;
96
- }
97
- }
98
-
99
- }
1
+ import { merge } from 'lodash-es';
2
+ import { uuidv4 } from '../util/stringHelper';
3
+ import { EventBroadcaster } from './eventBroadcaster';
4
+
5
+ export abstract class ParameterObservable extends EventBroadcaster {
6
+
7
+ public readonly uuid: string;
8
+
9
+ public readonly parameters: ParameterBag = {};
10
+
11
+ protected readonly parameterDeclaration: ParameterDeclarations = {};
12
+
13
+ protected parameterObservers: Map<string, ParameterObserver[]> = new Map();
14
+
15
+ protected constructor( parameterDeclaration: ParameterDeclarations = {}, parameters: ParameterBag = {} ) {
16
+ super();
17
+ this.uuid = uuidv4();
18
+ this.parameterDeclaration = merge(this.parameterDeclaration, parameterDeclaration);
19
+ this.parameters = merge(this.parameters, parameters);
20
+ }
21
+
22
+ /**
23
+ * The uuid (if not overloaded).
24
+ */
25
+ get id(): string {
26
+ return this.uuid;
27
+ }
28
+
29
+ /**
30
+ * Adds an observer function for parameter changes.
31
+ * The {@link ParameterObserver} gets 3 parameters: the {@link ParameterObservable}, the old {@link ParameterValue}
32
+ * and the new {@link ParameterValue}.
33
+ *
34
+ * See {@page Parameters} for an example.
35
+ */
36
+ public addParameterObserver( parameter: string, observer: ParameterObserver ): ParameterObservable {
37
+ if( this.parameterObservers.has( parameter ) ) {
38
+ this.parameterObservers.get( parameter )!.push( observer );
39
+ return this;
40
+ }
41
+ this.parameterObservers.set( parameter, [observer] );
42
+ return this;
43
+ }
44
+
45
+ /**
46
+ * Removes all {@link ParameterObserver}s for given parameter.
47
+ */
48
+ public removeParameterObservers( parameter: string ): ParameterObservable {
49
+ this.parameterObservers.delete( parameter );
50
+ return this;
51
+ }
52
+
53
+ /**
54
+ * Invoke parameter observers for given parameter.
55
+ */
56
+ public async commitParameter( parameter: string, value: ParameterValue ): Promise<ParameterObservable> {
57
+ const parameters: ParameterBag = {};
58
+ parameters[parameter] = value;
59
+ return this.commitParameters( parameters );
60
+ }
61
+
62
+ /**
63
+ * Invoke parameter observers for given parameters.
64
+ */
65
+ public abstract commitParameters( parameters?: ParameterBag ): Promise<ParameterObservable>;
66
+
67
+ /**
68
+ * Asserts whether given parameter is declared and valid.
69
+ */
70
+ public assertParameter( parameterDeclaration: ParameterDeclarations, parameter: string, value: ParameterValue ) {
71
+ if( !(parameter in parameterDeclaration) ) {
72
+ // This is a valid case since we are not able to check parameters that are not declared.
73
+ // We just ignore parameters that are not declared.
74
+ return;
75
+ }
76
+ const declaration = parameterDeclaration[parameter];
77
+ const genericError = `"${value}" is not a valid value for parameter "${parameter}" of type. ` +
78
+ `"${declaration.type}" for ${this.constructor.name} "${this.id}".`;
79
+ if( declaration.parser ) {
80
+ try {
81
+ declaration.parser( value );
82
+ } catch( e ) {
83
+ throw Error( genericError + e.message );
84
+ }
85
+ }
86
+ switch( declaration.type ) {
87
+ case 'select':
88
+ if( !declaration.options ) {
89
+ throw Error( `No options defined for parameter declaration "${parameter}"` +
90
+ `of type "${declaration.type}" for ${this.constructor.name} "${this.id}".` );
91
+ }
92
+ if( declaration.options.indexOf( value ) === -1 ) {
93
+ throw Error( genericError + ` Valid values are: "${declaration.options.join( '", "' )}".` );
94
+ }
95
+ break;
96
+ }
97
+ }
98
+
99
+ }
@@ -1,89 +1,89 @@
1
- import { Parameter } from './parameter';
2
- import { ParameterObservable } from './parameterObservable';
3
-
4
- export abstract class Parameterizable extends ParameterObservable {
5
-
6
- protected parameterDeclaration: ParameterDeclarations = Parameter.declarations;
7
-
8
- get visible(): boolean | undefined {
9
- if( !(Parameter.VISIBLE in this.parameters) ) {
10
- return undefined;
11
- }
12
- try {
13
- return Parameter.parseBoolean( this.parameters[Parameter.VISIBLE] );
14
- } catch( e ) {
15
- return undefined;
16
- }
17
- }
18
-
19
- get highlighted(): boolean | undefined {
20
- if( !(Parameter.HIGHLIGHTED in this.parameters) ) {
21
- return undefined;
22
- }
23
- try {
24
- return Parameter.parseBoolean( this.parameters[Parameter.HIGHLIGHTED] );
25
- } catch( e ) {
26
- return undefined;
27
- }
28
- }
29
-
30
- get material(): string | undefined {
31
- if( !(Parameter.MATERIAL in this.parameters) ) {
32
- return undefined;
33
- }
34
- return this.parameters[Parameter.MATERIAL].toString();
35
- }
36
-
37
- get scaling(): string | undefined {
38
- if( !(Parameter.SCALING in this.parameters) ) {
39
- return undefined;
40
- }
41
- return this.parameters[Parameter.SCALING].toString();
42
- }
43
-
44
- get position(): string | undefined {
45
- if( !(Parameter.POSITION in this.parameters) ) {
46
- return undefined;
47
- }
48
- return this.parameters[Parameter.POSITION].toString();
49
- }
50
-
51
- get rotation(): string | undefined {
52
- if( !(Parameter.ROTATION in this.parameters) ) {
53
- return undefined;
54
- }
55
- return this.parameters[Parameter.ROTATION].toString();
56
- }
57
-
58
- get castShadow(): boolean | undefined {
59
- if( !(Parameter.CAST_SHADOW in this.parameters) ) {
60
- return undefined;
61
- }
62
- try {
63
- return Parameter.parseBoolean( this.parameters[Parameter.CAST_SHADOW] );
64
- } catch( e ) {
65
- return undefined;
66
- }
67
- }
68
-
69
- public async show(): Promise<ParameterObservable> {
70
- await this.commitParameter( Parameter.VISIBLE, true );
71
- return this;
72
- }
73
-
74
- public async hide(): Promise<ParameterObservable> {
75
- await this.commitParameter( Parameter.VISIBLE, false );
76
- return this;
77
- }
78
-
79
- public async toggle(): Promise<ParameterObservable> {
80
- await this.commitParameter( Parameter.VISIBLE, !this.visible );
81
- return this;
82
- }
83
-
84
- public async toggleHighlight(): Promise<ParameterObservable> {
85
- await this.commitParameter( Parameter.HIGHLIGHTED, !this.highlighted );
86
- return this;
87
- }
88
-
89
- }
1
+ import { Parameter } from './parameter';
2
+ import { ParameterObservable } from './parameterObservable';
3
+
4
+ export abstract class Parameterizable extends ParameterObservable {
5
+
6
+ protected parameterDeclaration: ParameterDeclarations = Parameter.declarations;
7
+
8
+ get visible(): boolean | undefined {
9
+ if( !(Parameter.VISIBLE in this.parameters) ) {
10
+ return undefined;
11
+ }
12
+ try {
13
+ return Parameter.parseBoolean( this.parameters[Parameter.VISIBLE] );
14
+ } catch( e ) {
15
+ return undefined;
16
+ }
17
+ }
18
+
19
+ get highlighted(): boolean | undefined {
20
+ if( !(Parameter.HIGHLIGHTED in this.parameters) ) {
21
+ return undefined;
22
+ }
23
+ try {
24
+ return Parameter.parseBoolean( this.parameters[Parameter.HIGHLIGHTED] );
25
+ } catch( e ) {
26
+ return undefined;
27
+ }
28
+ }
29
+
30
+ get material(): string | undefined {
31
+ if( !(Parameter.MATERIAL in this.parameters) ) {
32
+ return undefined;
33
+ }
34
+ return this.parameters[Parameter.MATERIAL].toString();
35
+ }
36
+
37
+ get scaling(): string | undefined {
38
+ if( !(Parameter.SCALING in this.parameters) ) {
39
+ return undefined;
40
+ }
41
+ return this.parameters[Parameter.SCALING].toString();
42
+ }
43
+
44
+ get position(): string | undefined {
45
+ if( !(Parameter.POSITION in this.parameters) ) {
46
+ return undefined;
47
+ }
48
+ return this.parameters[Parameter.POSITION].toString();
49
+ }
50
+
51
+ get rotation(): string | undefined {
52
+ if( !(Parameter.ROTATION in this.parameters) ) {
53
+ return undefined;
54
+ }
55
+ return this.parameters[Parameter.ROTATION].toString();
56
+ }
57
+
58
+ get castShadow(): boolean | undefined {
59
+ if( !(Parameter.CAST_SHADOW in this.parameters) ) {
60
+ return undefined;
61
+ }
62
+ try {
63
+ return Parameter.parseBoolean( this.parameters[Parameter.CAST_SHADOW] );
64
+ } catch( e ) {
65
+ return undefined;
66
+ }
67
+ }
68
+
69
+ public async show(): Promise<ParameterObservable> {
70
+ await this.commitParameter( Parameter.VISIBLE, true );
71
+ return this;
72
+ }
73
+
74
+ public async hide(): Promise<ParameterObservable> {
75
+ await this.commitParameter( Parameter.VISIBLE, false );
76
+ return this;
77
+ }
78
+
79
+ public async toggle(): Promise<ParameterObservable> {
80
+ await this.commitParameter( Parameter.VISIBLE, !this.visible );
81
+ return this;
82
+ }
83
+
84
+ public async toggleHighlight(): Promise<ParameterObservable> {
85
+ await this.commitParameter( Parameter.HIGHLIGHTED, !this.highlighted );
86
+ return this;
87
+ }
88
+
89
+ }