@shapediver/viewer.shared.types 1.15.7 → 2.0.2

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 (260) hide show
  1. package/dist/implementation/data/AnimationData.d.ts +32 -0
  2. package/dist/implementation/data/AnimationData.d.ts.map +1 -0
  3. package/dist/{data → implementation/data}/AnimationData.js +8 -3
  4. package/dist/implementation/data/AnimationData.js.map +1 -0
  5. package/dist/implementation/data/BoneData.d.ts +15 -0
  6. package/dist/implementation/data/BoneData.d.ts.map +1 -0
  7. package/dist/implementation/data/BoneData.js +25 -0
  8. package/dist/implementation/data/BoneData.js.map +1 -0
  9. package/dist/{data → implementation/data}/CustomData.d.ts +4 -3
  10. package/dist/implementation/data/CustomData.d.ts.map +1 -0
  11. package/dist/{data → implementation/data}/CustomData.js +0 -0
  12. package/dist/implementation/data/CustomData.js.map +1 -0
  13. package/dist/{data → implementation/data}/GeometryData.d.ts +31 -39
  14. package/dist/implementation/data/GeometryData.d.ts.map +1 -0
  15. package/dist/{data → implementation/data}/GeometryData.js +9 -16
  16. package/dist/implementation/data/GeometryData.js.map +1 -0
  17. package/dist/{data → implementation/data}/HTMLElementAnchorData.d.ts +20 -40
  18. package/dist/implementation/data/HTMLElementAnchorData.d.ts.map +1 -0
  19. package/dist/{data → implementation/data}/HTMLElementAnchorData.js +15 -15
  20. package/dist/implementation/data/HTMLElementAnchorData.js.map +1 -0
  21. package/dist/implementation/material/AbstractMaterialData.d.ts +64 -0
  22. package/dist/implementation/material/AbstractMaterialData.d.ts.map +1 -0
  23. package/dist/{data → implementation}/material/AbstractMaterialData.js +6 -22
  24. package/dist/implementation/material/AbstractMaterialData.js.map +1 -0
  25. package/dist/{data → implementation}/material/MapData.d.ts +4 -16
  26. package/dist/implementation/material/MapData.d.ts.map +1 -0
  27. package/dist/{data → implementation}/material/MapData.js +10 -23
  28. package/dist/implementation/material/MapData.js.map +1 -0
  29. package/dist/implementation/material/MaterialSpecularGlossinessData.d.ts +27 -0
  30. package/dist/implementation/material/MaterialSpecularGlossinessData.d.ts.map +1 -0
  31. package/dist/{data → implementation}/material/MaterialSpecularGlossinessData.js +26 -25
  32. package/dist/implementation/material/MaterialSpecularGlossinessData.js.map +1 -0
  33. package/dist/implementation/material/MaterialStandardData.d.ts +75 -0
  34. package/dist/implementation/material/MaterialStandardData.d.ts.map +1 -0
  35. package/dist/{data → implementation}/material/MaterialStandardData.js +5 -4
  36. package/dist/implementation/material/MaterialStandardData.js.map +1 -0
  37. package/dist/implementation/material/MaterialUnlitData.d.ts +15 -0
  38. package/dist/implementation/material/MaterialUnlitData.d.ts.map +1 -0
  39. package/dist/{data → implementation}/material/MaterialUnlitData.js +5 -5
  40. package/dist/implementation/material/MaterialUnlitData.js.map +1 -0
  41. package/dist/implementation/material/MaterialVariantsData.d.ts +16 -0
  42. package/dist/implementation/material/MaterialVariantsData.d.ts.map +1 -0
  43. package/dist/{data → implementation}/material/MaterialVariantsData.js +0 -0
  44. package/dist/implementation/material/MaterialVariantsData.js.map +1 -0
  45. package/dist/implementation/sdtf/SDTFAttributesData.d.ts +23 -0
  46. package/dist/implementation/sdtf/SDTFAttributesData.d.ts.map +1 -0
  47. package/dist/{data → implementation}/sdtf/SDTFAttributesData.js +0 -0
  48. package/dist/implementation/sdtf/SDTFAttributesData.js.map +1 -0
  49. package/dist/implementation/sdtf/SDTFItemData.d.ts +20 -0
  50. package/dist/implementation/sdtf/SDTFItemData.d.ts.map +1 -0
  51. package/dist/{data → implementation}/sdtf/SDTFItemData.js +0 -0
  52. package/dist/implementation/sdtf/SDTFItemData.js.map +1 -0
  53. package/dist/implementation/sdtf/SDTFOverviewData.d.ts +13 -0
  54. package/dist/implementation/sdtf/SDTFOverviewData.d.ts.map +1 -0
  55. package/dist/{data/sdtf/SDTFAttributeOverview.js → implementation/sdtf/SDTFOverviewData.js} +10 -10
  56. package/dist/{data/sdtf/SDTFAttributeOverview.js.map → implementation/sdtf/SDTFOverviewData.js.map} +1 -1
  57. package/dist/index.d.ts +45 -27
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +32 -30
  60. package/dist/index.js.map +1 -1
  61. package/dist/interfaces/data/IAnimationData.d.ts +27 -0
  62. package/dist/interfaces/data/IAnimationData.d.ts.map +1 -0
  63. package/dist/{events/ISettingsEvent.js → interfaces/data/IAnimationData.js} +1 -1
  64. package/dist/interfaces/data/IAnimationData.js.map +1 -0
  65. package/dist/interfaces/data/IBoneData.d.ts +5 -0
  66. package/dist/interfaces/data/IBoneData.d.ts.map +1 -0
  67. package/dist/{events/IViewerEvent.js → interfaces/data/IBoneData.js} +1 -1
  68. package/dist/interfaces/data/IBoneData.js.map +1 -0
  69. package/dist/interfaces/data/ICustomData.d.ts +8 -0
  70. package/dist/interfaces/data/ICustomData.d.ts.map +1 -0
  71. package/dist/interfaces/data/ICustomData.js +3 -0
  72. package/dist/interfaces/data/ICustomData.js.map +1 -0
  73. package/dist/interfaces/data/IGeometryData.d.ts +61 -0
  74. package/dist/interfaces/data/IGeometryData.d.ts.map +1 -0
  75. package/dist/interfaces/data/IGeometryData.js +14 -0
  76. package/dist/interfaces/data/IGeometryData.js.map +1 -0
  77. package/dist/interfaces/data/IHTMLElementAnchorData.d.ts +49 -0
  78. package/dist/interfaces/data/IHTMLElementAnchorData.d.ts.map +1 -0
  79. package/dist/interfaces/data/IHTMLElementAnchorData.js +3 -0
  80. package/dist/interfaces/data/IHTMLElementAnchorData.js.map +1 -0
  81. package/dist/interfaces/data/material/IMapData.d.ts +31 -0
  82. package/dist/interfaces/data/material/IMapData.d.ts.map +1 -0
  83. package/dist/interfaces/data/material/IMapData.js +20 -0
  84. package/dist/interfaces/data/material/IMapData.js.map +1 -0
  85. package/dist/interfaces/data/material/IMaterialAbstractData.d.ts +59 -0
  86. package/dist/interfaces/data/material/IMaterialAbstractData.d.ts.map +1 -0
  87. package/dist/interfaces/data/material/IMaterialAbstractData.js +21 -0
  88. package/dist/interfaces/data/material/IMaterialAbstractData.js.map +1 -0
  89. package/dist/interfaces/data/material/IMaterialSpecularGlossinessDataProperties.d.ts +19 -0
  90. package/dist/interfaces/data/material/IMaterialSpecularGlossinessDataProperties.d.ts.map +1 -0
  91. package/dist/interfaces/data/material/IMaterialSpecularGlossinessDataProperties.js +4 -0
  92. package/dist/interfaces/data/material/IMaterialSpecularGlossinessDataProperties.js.map +1 -0
  93. package/dist/interfaces/data/material/IMaterialStandardData.d.ts +67 -0
  94. package/dist/interfaces/data/material/IMaterialStandardData.d.ts.map +1 -0
  95. package/dist/interfaces/data/material/IMaterialStandardData.js +4 -0
  96. package/dist/interfaces/data/material/IMaterialStandardData.js.map +1 -0
  97. package/dist/interfaces/data/material/IMaterialUnlitData.d.ts +8 -0
  98. package/dist/interfaces/data/material/IMaterialUnlitData.d.ts.map +1 -0
  99. package/dist/interfaces/data/material/IMaterialUnlitData.js +4 -0
  100. package/dist/interfaces/data/material/IMaterialUnlitData.js.map +1 -0
  101. package/dist/interfaces/data/material/IMaterialVariantsData.d.ts +9 -0
  102. package/dist/interfaces/data/material/IMaterialVariantsData.d.ts.map +1 -0
  103. package/dist/interfaces/data/material/IMaterialVariantsData.js +3 -0
  104. package/dist/interfaces/data/material/IMaterialVariantsData.js.map +1 -0
  105. package/dist/interfaces/events/EventResponseMapping.d.ts +37 -0
  106. package/dist/interfaces/events/EventResponseMapping.d.ts.map +1 -0
  107. package/dist/interfaces/events/EventResponseMapping.js +4 -0
  108. package/dist/interfaces/events/EventResponseMapping.js.map +1 -0
  109. package/dist/interfaces/events/ICameraEvent.d.ts +5 -0
  110. package/dist/interfaces/events/ICameraEvent.d.ts.map +1 -0
  111. package/dist/{events → interfaces/events}/ICameraEvent.js +0 -0
  112. package/dist/interfaces/events/ICameraEvent.js.map +1 -0
  113. package/dist/interfaces/events/IDragEvent.d.ts +8 -0
  114. package/dist/interfaces/events/IDragEvent.d.ts.map +1 -0
  115. package/dist/interfaces/events/IDragEvent.js +3 -0
  116. package/dist/interfaces/events/IDragEvent.js.map +1 -0
  117. package/dist/interfaces/events/IHoverEvent.d.ts +6 -0
  118. package/dist/interfaces/events/IHoverEvent.d.ts.map +1 -0
  119. package/dist/interfaces/events/IHoverEvent.js +3 -0
  120. package/dist/interfaces/events/IHoverEvent.js.map +1 -0
  121. package/dist/interfaces/events/IMultiSelectEvent.d.ts +7 -0
  122. package/dist/interfaces/events/IMultiSelectEvent.d.ts.map +1 -0
  123. package/dist/{events/IEnvironmentEvent.js → interfaces/events/IMultiSelectEvent.js} +1 -1
  124. package/dist/interfaces/events/IMultiSelectEvent.js.map +1 -0
  125. package/dist/interfaces/events/ISceneEvent.d.ts +9 -0
  126. package/dist/interfaces/events/ISceneEvent.d.ts.map +1 -0
  127. package/dist/{events → interfaces/events}/ISceneEvent.js +0 -0
  128. package/dist/interfaces/events/ISceneEvent.js.map +1 -0
  129. package/dist/interfaces/events/ISelectEvent.d.ts +6 -0
  130. package/dist/interfaces/events/ISelectEvent.d.ts.map +1 -0
  131. package/dist/interfaces/events/ISelectEvent.js +3 -0
  132. package/dist/interfaces/events/ISelectEvent.js.map +1 -0
  133. package/dist/{events → interfaces/events}/ISessionEvent.d.ts +0 -0
  134. package/dist/interfaces/events/ISessionEvent.d.ts.map +1 -0
  135. package/dist/{events → interfaces/events}/ISessionEvent.js +0 -0
  136. package/dist/interfaces/events/ISessionEvent.js.map +1 -0
  137. package/dist/{events → interfaces/events}/ITaskEvent.d.ts +3 -3
  138. package/dist/interfaces/events/ITaskEvent.d.ts.map +1 -0
  139. package/dist/interfaces/events/ITaskEvent.js +15 -0
  140. package/dist/interfaces/events/ITaskEvent.js.map +1 -0
  141. package/dist/interfaces/events/IViewportEvent.d.ts +5 -0
  142. package/dist/interfaces/events/IViewportEvent.d.ts.map +1 -0
  143. package/dist/interfaces/events/IViewportEvent.js +3 -0
  144. package/dist/interfaces/events/IViewportEvent.js.map +1 -0
  145. package/dist/interfaces/sdtf/ISDTFAttributeVisualizationData.d.ts +7 -0
  146. package/dist/interfaces/sdtf/ISDTFAttributeVisualizationData.d.ts.map +1 -0
  147. package/dist/interfaces/sdtf/ISDTFAttributeVisualizationData.js +3 -0
  148. package/dist/interfaces/sdtf/ISDTFAttributeVisualizationData.js.map +1 -0
  149. package/dist/interfaces/sdtf/ISDTFAttributesData.d.ts +13 -0
  150. package/dist/interfaces/sdtf/ISDTFAttributesData.d.ts.map +1 -0
  151. package/dist/interfaces/sdtf/ISDTFAttributesData.js +3 -0
  152. package/dist/interfaces/sdtf/ISDTFAttributesData.js.map +1 -0
  153. package/dist/interfaces/sdtf/ISDTFItemData.d.ts +12 -0
  154. package/dist/interfaces/sdtf/ISDTFItemData.d.ts.map +1 -0
  155. package/dist/interfaces/sdtf/ISDTFItemData.js +3 -0
  156. package/dist/interfaces/sdtf/ISDTFItemData.js.map +1 -0
  157. package/dist/interfaces/sdtf/ISDTFOverviewData.d.ts +17 -0
  158. package/dist/interfaces/sdtf/ISDTFOverviewData.d.ts.map +1 -0
  159. package/dist/interfaces/sdtf/ISDTFOverviewData.js +4 -0
  160. package/dist/interfaces/sdtf/ISDTFOverviewData.js.map +1 -0
  161. package/package.json +13 -10
  162. package/src/implementation/data/AnimationData.ts +286 -0
  163. package/src/implementation/data/BoneData.ts +31 -0
  164. package/src/implementation/data/CustomData.ts +51 -0
  165. package/src/implementation/data/GeometryData.ts +399 -0
  166. package/src/implementation/data/HTMLElementAnchorData.ts +365 -0
  167. package/src/implementation/material/AbstractMaterialData.ts +233 -0
  168. package/src/implementation/material/MapData.ts +108 -0
  169. package/src/implementation/material/MaterialSpecularGlossinessData.ts +166 -0
  170. package/src/implementation/material/MaterialStandardData.ts +478 -0
  171. package/src/implementation/material/MaterialUnlitData.ts +91 -0
  172. package/src/implementation/material/MaterialVariantsData.ts +60 -0
  173. package/src/implementation/sdtf/SDTFAttributesData.ts +118 -0
  174. package/src/implementation/sdtf/SDTFItemData.ts +64 -0
  175. package/src/implementation/sdtf/SDTFOverviewData.ts +79 -0
  176. package/src/index.ts +72 -0
  177. package/src/interfaces/data/IAnimationData.ts +42 -0
  178. package/src/interfaces/data/IBoneData.ts +9 -0
  179. package/src/interfaces/data/ICustomData.ts +15 -0
  180. package/src/interfaces/data/IGeometryData.ts +87 -0
  181. package/src/interfaces/data/IHTMLElementAnchorData.ts +66 -0
  182. package/src/interfaces/data/material/IMapData.ts +42 -0
  183. package/src/interfaces/data/material/IMaterialAbstractData.ts +76 -0
  184. package/src/interfaces/data/material/IMaterialSpecularGlossinessDataProperties.ts +29 -0
  185. package/src/interfaces/data/material/IMaterialStandardData.ts +77 -0
  186. package/src/interfaces/data/material/IMaterialUnlitData.ts +12 -0
  187. package/src/interfaces/data/material/IMaterialVariantsData.ts +19 -0
  188. package/src/interfaces/events/EventResponseMapping.ts +37 -0
  189. package/src/interfaces/events/ICameraEvent.ts +5 -0
  190. package/src/interfaces/events/IDragEvent.ts +10 -0
  191. package/src/interfaces/events/IHoverEvent.ts +7 -0
  192. package/src/interfaces/events/IMultiSelectEvent.ts +8 -0
  193. package/src/interfaces/events/ISceneEvent.ts +6 -0
  194. package/src/interfaces/events/ISelectEvent.ts +7 -0
  195. package/src/interfaces/events/ISessionEvent.ts +5 -0
  196. package/src/interfaces/events/ITaskEvent.ts +20 -0
  197. package/src/interfaces/events/IViewportEvent.ts +5 -0
  198. package/src/interfaces/sdtf/ISDTFAttributeVisualizationData.ts +7 -0
  199. package/src/interfaces/sdtf/ISDTFAttributesData.ts +27 -0
  200. package/src/interfaces/sdtf/ISDTFItemData.ts +23 -0
  201. package/src/interfaces/sdtf/ISDTFOverviewData.ts +31 -0
  202. package/tsconfig.json +17 -0
  203. package/dist/data/AnimationData.d.ts +0 -41
  204. package/dist/data/AnimationData.d.ts.map +0 -1
  205. package/dist/data/AnimationData.js.map +0 -1
  206. package/dist/data/CustomData.d.ts.map +0 -1
  207. package/dist/data/CustomData.js.map +0 -1
  208. package/dist/data/GeometryData.d.ts.map +0 -1
  209. package/dist/data/GeometryData.js.map +0 -1
  210. package/dist/data/HTMLElementAnchorData.d.ts.map +0 -1
  211. package/dist/data/HTMLElementAnchorData.js.map +0 -1
  212. package/dist/data/material/AbstractMaterialData.d.ts +0 -96
  213. package/dist/data/material/AbstractMaterialData.d.ts.map +0 -1
  214. package/dist/data/material/AbstractMaterialData.js.map +0 -1
  215. package/dist/data/material/MapData.d.ts.map +0 -1
  216. package/dist/data/material/MapData.js.map +0 -1
  217. package/dist/data/material/MaterialSpecularGlossinessData.d.ts +0 -33
  218. package/dist/data/material/MaterialSpecularGlossinessData.d.ts.map +0 -1
  219. package/dist/data/material/MaterialSpecularGlossinessData.js.map +0 -1
  220. package/dist/data/material/MaterialStandardData.d.ts +0 -105
  221. package/dist/data/material/MaterialStandardData.d.ts.map +0 -1
  222. package/dist/data/material/MaterialStandardData.js.map +0 -1
  223. package/dist/data/material/MaterialUnlitData.d.ts +0 -16
  224. package/dist/data/material/MaterialUnlitData.d.ts.map +0 -1
  225. package/dist/data/material/MaterialUnlitData.js.map +0 -1
  226. package/dist/data/material/MaterialVariantsData.d.ts +0 -15
  227. package/dist/data/material/MaterialVariantsData.d.ts.map +0 -1
  228. package/dist/data/material/MaterialVariantsData.js.map +0 -1
  229. package/dist/data/sdtf/SDTFAttributeOverview.d.ts +0 -22
  230. package/dist/data/sdtf/SDTFAttributeOverview.d.ts.map +0 -1
  231. package/dist/data/sdtf/SDTFAttributeVisualization.d.ts +0 -22
  232. package/dist/data/sdtf/SDTFAttributeVisualization.d.ts.map +0 -1
  233. package/dist/data/sdtf/SDTFAttributeVisualization.js +0 -200
  234. package/dist/data/sdtf/SDTFAttributeVisualization.js.map +0 -1
  235. package/dist/data/sdtf/SDTFAttributesData.d.ts +0 -21
  236. package/dist/data/sdtf/SDTFAttributesData.d.ts.map +0 -1
  237. package/dist/data/sdtf/SDTFAttributesData.js.map +0 -1
  238. package/dist/data/sdtf/SDTFItemData.d.ts +0 -19
  239. package/dist/data/sdtf/SDTFItemData.d.ts.map +0 -1
  240. package/dist/data/sdtf/SDTFItemData.js.map +0 -1
  241. package/dist/events/ICameraEvent.d.ts +0 -5
  242. package/dist/events/ICameraEvent.d.ts.map +0 -1
  243. package/dist/events/ICameraEvent.js.map +0 -1
  244. package/dist/events/IEnvironmentEvent.d.ts +0 -5
  245. package/dist/events/IEnvironmentEvent.d.ts.map +0 -1
  246. package/dist/events/IEnvironmentEvent.js.map +0 -1
  247. package/dist/events/ISceneEvent.d.ts +0 -9
  248. package/dist/events/ISceneEvent.d.ts.map +0 -1
  249. package/dist/events/ISceneEvent.js.map +0 -1
  250. package/dist/events/ISessionEvent.d.ts.map +0 -1
  251. package/dist/events/ISessionEvent.js.map +0 -1
  252. package/dist/events/ISettingsEvent.d.ts +0 -24
  253. package/dist/events/ISettingsEvent.d.ts.map +0 -1
  254. package/dist/events/ISettingsEvent.js.map +0 -1
  255. package/dist/events/ITaskEvent.d.ts.map +0 -1
  256. package/dist/events/ITaskEvent.js +0 -15
  257. package/dist/events/ITaskEvent.js.map +0 -1
  258. package/dist/events/IViewerEvent.d.ts +0 -5
  259. package/dist/events/IViewerEvent.d.ts.map +0 -1
  260. package/dist/events/IViewerEvent.js.map +0 -1
@@ -0,0 +1,166 @@
1
+ import { AbstractMaterialData } from './AbstractMaterialData';
2
+ import { IMaterialSpecularGlossinessData, IMaterialSpecularGlossinessDataProperties } from '../../interfaces/data/material/IMaterialSpecularGlossinessDataProperties';
3
+ import { MATERIAL_ALPHA, MATERIAL_SHADING, MATERIAL_SIDE } from '../../interfaces/data/material/IMaterialAbstractData';
4
+ import { IMapData } from '../../interfaces/data/material/IMapData';
5
+
6
+ export class MaterialSpecularGlossinessData extends AbstractMaterialData implements IMaterialSpecularGlossinessData {
7
+ // #region Properties (5)
8
+
9
+ #glossiness: number = 1;
10
+ #glossinessMap?: IMapData;
11
+ #specular: string = '#ffffff';
12
+ #specularGlossinessMap?: IMapData;
13
+ #specularMap?: IMapData;
14
+
15
+ // #endregion Properties (5)
16
+
17
+ // #region Constructors (1)
18
+
19
+ /**
20
+ * Creates a material data object.
21
+ *
22
+ * @param _attributes the attributes of the material
23
+ * @param id the id
24
+ */
25
+ constructor(
26
+ properties?: IMaterialSpecularGlossinessDataProperties,
27
+ id?: string
28
+ ) {
29
+ super(properties, id);
30
+ if (!properties) return;
31
+ if (properties.glossiness !== undefined) this.glossiness = properties.glossiness;
32
+ if (properties.specular !== undefined) this.specular = properties.specular;
33
+ if (properties.specularGlossinessMap !== undefined) this.specularGlossinessMap = properties.specularGlossinessMap;
34
+ if (properties.specularMap !== undefined) this.specularMap = properties.specularMap;
35
+ if (properties.glossinessMap !== undefined) this.glossinessMap = properties.glossinessMap;
36
+ }
37
+
38
+ // #endregion Constructors (1)
39
+
40
+ // #region Public Accessors (10)
41
+
42
+ public get glossiness(): number {
43
+ return this.#glossiness;
44
+ }
45
+
46
+ public set glossiness(value: number) {
47
+ this.#glossiness = value;
48
+ }
49
+
50
+ public get glossinessMap(): IMapData | undefined {
51
+ return this.#glossinessMap;
52
+ }
53
+
54
+ public set glossinessMap(value: IMapData | undefined) {
55
+ this.#glossinessMap = value;
56
+ }
57
+
58
+ public get specular(): string {
59
+ return this.#specular;
60
+ }
61
+
62
+ public set specular(value: string) {
63
+ this.#specular = value;
64
+ }
65
+
66
+ public get specularGlossinessMap(): IMapData | undefined {
67
+ return this.#specularGlossinessMap;
68
+ }
69
+
70
+ public set specularGlossinessMap(value: IMapData | undefined) {
71
+ this.#specularGlossinessMap = value;
72
+ }
73
+
74
+ public get specularMap(): IMapData | undefined {
75
+ return this.#specularMap;
76
+ }
77
+
78
+ public set specularMap(value: IMapData | undefined) {
79
+ this.#specularMap = value;
80
+ }
81
+
82
+ // #endregion Public Accessors (10)
83
+
84
+ // #region Public Methods (3)
85
+
86
+ public clone(): IMaterialSpecularGlossinessData {
87
+ return new MaterialSpecularGlossinessData({
88
+ alphaMap: this.alphaMap,
89
+ alphaCutoff: this.alphaCutoff,
90
+ alphaMode: this.alphaMode,
91
+ aoMap: this.aoMap,
92
+ aoMapIntensity: this.aoMapIntensity,
93
+ bumpMap: this.bumpMap,
94
+ bumpScale: this.bumpScale,
95
+ color: this.color,
96
+ emissiveMap: this.emissiveMap,
97
+ emissiveness: this.emissiveness,
98
+ shading: this.shading,
99
+ map: this.map,
100
+ name: this.name,
101
+ normalMap: this.normalMap,
102
+ normalScale: this.normalScale,
103
+ opacity: this.opacity,
104
+ side: this.side,
105
+ specular: this.specular,
106
+ specularMap: this.specularMap,
107
+ specularGlossinessMap: this.specularGlossinessMap,
108
+ glossiness: this.glossiness,
109
+ glossinessMap: this.glossinessMap,
110
+ }, this.id);
111
+ }
112
+
113
+ public copy(source: MaterialSpecularGlossinessData): void {
114
+ this.alphaCutoff = source.alphaCutoff;
115
+ this.alphaMap = source.alphaMap;
116
+ this.alphaMode = source.alphaMode;
117
+ this.aoMap = source.aoMap;
118
+ this.aoMapIntensity = source.aoMapIntensity;
119
+ this.bumpMap = source.bumpMap;
120
+ this.bumpScale = source.bumpScale;
121
+ this.color = source.color;
122
+ this.emissiveMap = source.emissiveMap;
123
+ this.emissiveness = source.emissiveness;
124
+ this.materialOutput = source.materialOutput;
125
+ this.map = source.map;
126
+ this.normalMap = source.normalMap;
127
+ this.normalScale = source.normalScale;
128
+ this.opacity = source.opacity;
129
+ this.shading = source.shading;
130
+ this.side = source.side;
131
+
132
+ this.glossiness = source.glossiness;
133
+ this.specular = source.specular;
134
+ this.specularGlossinessMap = source.specularGlossinessMap;
135
+ this.specularMap = source.specularMap;
136
+ this.glossinessMap = source.glossinessMap;
137
+ }
138
+
139
+ public reset(): void {
140
+ this.alphaCutoff = 0;
141
+ this.alphaMap = undefined;
142
+ this.alphaMode = MATERIAL_ALPHA.OPAQUE;
143
+ this.aoMap = undefined;
144
+ this.aoMapIntensity = 1.0;
145
+ this.bumpMap = undefined;
146
+ this.bumpScale = 1.0;
147
+ this.color = '#ffffff';
148
+ this.emissiveMap = undefined;
149
+ this.emissiveness = '#000000';
150
+ this.materialOutput = false;
151
+ this.map = undefined;
152
+ this.normalMap = undefined;
153
+ this.normalScale = 1.0;
154
+ this.opacity = 1.0;
155
+ this.shading = MATERIAL_SHADING.SMOOTH;
156
+ this.side = MATERIAL_SIDE.DOUBLE;
157
+
158
+ this.glossiness = 1;
159
+ this.specular = '#ffffff';
160
+ this.specularGlossinessMap = undefined;
161
+ this.specularMap = undefined;
162
+ this.glossinessMap = undefined;
163
+ }
164
+
165
+ // #endregion Public Methods (3)
166
+ }
@@ -0,0 +1,478 @@
1
+ import { AbstractMaterialData } from './AbstractMaterialData';
2
+ import { IMaterialStandardData, IMaterialStandardDataProperties } from '../../interfaces/data/material/IMaterialStandardData';
3
+ import { IMapData } from '../../interfaces/data/material/IMapData';
4
+ import { MATERIAL_ALPHA, MATERIAL_SHADING, MATERIAL_SIDE } from '../../interfaces/data/material/IMaterialAbstractData';
5
+
6
+ export class MaterialStandardData extends AbstractMaterialData implements IMaterialStandardData {
7
+ // #region Properties (26)
8
+
9
+ #attenuationColor: string = '#ffffff';
10
+ #attenuationDistance = 0.0;
11
+ #clearcoat: number = 0;
12
+ #clearcoatMap?: IMapData;
13
+ #clearcoatNormalMap?: IMapData;
14
+ #clearcoatRoughness: number = 0;
15
+ #clearcoatRoughnessMap?: IMapData;
16
+ #displacementMap?: IMapData;
17
+ #displacementScale: number = 1;
18
+ #displacementBias: number = 0;
19
+ #ior: number = 1.5;
20
+ #metalness = 1.0;
21
+ #metalnessMap?: IMapData;
22
+ #metalnessRoughnessMap?: IMapData;
23
+ #roughness = 1.0;
24
+ #roughnessMap?: IMapData;
25
+ #sheen = 0.0;
26
+ #sheenColor: string = '#ffffff';
27
+ #sheenColorMap?: IMapData;
28
+ #sheenRoughness = 1.0;
29
+ #sheenRoughnessMap?: IMapData;
30
+ #specularColor: string = '#ffffff';
31
+ #specularColorMap?: IMapData;
32
+ #specularIntensity = 1.0;
33
+ #specularIntensityMap?: IMapData;
34
+ #thickness = 0.0;
35
+ #thicknessMap?: IMapData;
36
+ #transmission = 0.0;
37
+ #transmissionMap?: IMapData;
38
+
39
+ // #endregion Properties (26)
40
+
41
+ // #region Constructors (1)
42
+
43
+ /**
44
+ * Creates a material data object.
45
+ *
46
+ * @param _attributes the attributes of the material
47
+ * @param id the id
48
+ */
49
+ constructor(
50
+ properties?: IMaterialStandardDataProperties,
51
+ id?: string
52
+ ) {
53
+ super(properties, id);
54
+ if (!properties) return;
55
+ if (properties.metalness !== undefined) this.metalness = properties.metalness;
56
+ if (properties.metalnessMap !== undefined) this.metalnessMap = properties.metalnessMap;
57
+ if (properties.metalnessRoughnessMap !== undefined) this.metalnessRoughnessMap = properties.metalnessRoughnessMap;
58
+ if (properties.roughness !== undefined) this.roughness = properties.roughness;
59
+ if (properties.roughnessMap !== undefined) this.roughnessMap = properties.roughnessMap;
60
+ if (properties.clearcoat !== undefined) this.clearcoat = properties.clearcoat;
61
+ if (properties.clearcoatMap !== undefined) this.clearcoatMap = properties.clearcoatMap;
62
+ if (properties.clearcoatNormalMap !== undefined) this.clearcoatNormalMap = properties.clearcoatNormalMap;
63
+ if (properties.clearcoatRoughness !== undefined) this.clearcoatRoughness = properties.clearcoatRoughness;
64
+ if (properties.clearcoatRoughnessMap !== undefined) this.clearcoatRoughnessMap = properties.clearcoatRoughnessMap;
65
+ if (properties.displacementMap !== undefined) this.displacementMap = properties.displacementMap;
66
+ if (properties.displacementScale !== undefined) this.displacementScale = properties.displacementScale;
67
+ if (properties.displacementBias !== undefined) this.displacementBias = properties.displacementBias;
68
+ if (properties.ior !== undefined) this.ior = properties.ior;
69
+ if (properties.transmission !== undefined) this.transmission = properties.transmission;
70
+ if (properties.transmissionMap !== undefined) this.transmissionMap = properties.transmissionMap;
71
+ if (properties.thickness !== undefined) this.thickness = properties.thickness;
72
+ if (properties.thicknessMap !== undefined) this.thicknessMap = properties.thicknessMap;
73
+ if (properties.attenuationDistance !== undefined) this.attenuationDistance = properties.attenuationDistance;
74
+ if (properties.attenuationColor !== undefined) this.attenuationColor = properties.attenuationColor;
75
+ if (properties.sheen !== undefined) this.sheen = properties.sheen;
76
+ if (properties.sheenColor !== undefined) this.sheenColor = properties.sheenColor;
77
+ if (properties.sheenRoughness !== undefined) this.sheenRoughness = properties.sheenRoughness;
78
+ if (properties.sheenColorMap !== undefined) this.sheenColorMap = properties.sheenColorMap;
79
+ if (properties.sheenRoughnessMap !== undefined) this.sheenRoughnessMap = properties.sheenRoughnessMap;
80
+ if (properties.specularColor !== undefined) this.specularColor = properties.specularColor;
81
+ if (properties.specularColorMap !== undefined) this.specularColorMap = properties.specularColorMap;
82
+ if (properties.specularIntensity !== undefined) this.specularIntensity = properties.specularIntensity;
83
+ if (properties.specularIntensityMap !== undefined) this.specularIntensityMap = properties.specularIntensityMap;
84
+ }
85
+
86
+ // #endregion Constructors (1)
87
+
88
+ // #region Public Accessors (52)
89
+
90
+ public get attenuationColor(): string {
91
+ return this.#attenuationColor;
92
+ }
93
+
94
+ public set attenuationColor(value: string) {
95
+ this.#attenuationColor = value;
96
+ }
97
+
98
+ public get attenuationDistance(): number {
99
+ return this.#attenuationDistance;
100
+ }
101
+
102
+ public set attenuationDistance(value: number) {
103
+ this.#attenuationDistance = value;
104
+ }
105
+
106
+ public get clearcoat(): number {
107
+ return this.#clearcoat;
108
+ }
109
+
110
+ public set clearcoat(value: number) {
111
+ this.#clearcoat = value;
112
+ }
113
+
114
+ public get clearcoatMap(): IMapData | undefined {
115
+ return this.#clearcoatMap;
116
+ }
117
+
118
+ public set clearcoatMap(value: IMapData | undefined) {
119
+ this.#clearcoatMap = value;
120
+ }
121
+
122
+ public get clearcoatNormalMap(): IMapData | undefined {
123
+ return this.#clearcoatNormalMap;
124
+ }
125
+
126
+ public set clearcoatNormalMap(value: IMapData | undefined) {
127
+ this.#clearcoatNormalMap = value;
128
+ }
129
+
130
+ public get clearcoatRoughness(): number {
131
+ return this.#clearcoatRoughness;
132
+ }
133
+
134
+ public set clearcoatRoughness(value: number) {
135
+ this.#clearcoatRoughness = value;
136
+ }
137
+
138
+ public get clearcoatRoughnessMap(): IMapData | undefined {
139
+ return this.#clearcoatRoughnessMap;
140
+ }
141
+
142
+ public set clearcoatRoughnessMap(value: IMapData | undefined) {
143
+ this.#clearcoatRoughnessMap = value;
144
+ }
145
+
146
+ public get displacementMap(): IMapData | undefined {
147
+ return this.#displacementMap;
148
+ }
149
+
150
+ public set displacementMap(value: IMapData | undefined) {
151
+ this.#displacementMap = value;
152
+ }
153
+
154
+ public get displacementScale(): number {
155
+ return this.#displacementScale;
156
+ }
157
+
158
+ public set displacementScale(value: number) {
159
+ this.#displacementScale = value;
160
+ }
161
+
162
+ public get displacementBias(): number {
163
+ return this.#displacementBias;
164
+ }
165
+
166
+ public set displacementBias(value: number) {
167
+ this.#displacementBias = value;
168
+ }
169
+
170
+ public get ior(): number {
171
+ return this.#ior;
172
+ }
173
+
174
+ public set ior(value: number) {
175
+ this.#ior = value;
176
+ }
177
+
178
+ public get metalness(): number {
179
+ return this.#metalness;
180
+ }
181
+
182
+ public set metalness(value: number) {
183
+ this.#metalness = value;
184
+ }
185
+
186
+ public get metalnessMap(): IMapData | undefined {
187
+ return this.#metalnessMap;
188
+ }
189
+
190
+ public set metalnessMap(value: IMapData | undefined) {
191
+ this.#metalnessMap = value;
192
+ }
193
+
194
+ public get metalnessRoughnessMap(): IMapData | undefined {
195
+ return this.#metalnessRoughnessMap;
196
+ }
197
+
198
+ public set metalnessRoughnessMap(value: IMapData | undefined) {
199
+ this.#metalnessRoughnessMap = value;
200
+ }
201
+
202
+ public get roughness(): number {
203
+ return this.#roughness;
204
+ }
205
+
206
+ public set roughness(value: number) {
207
+ this.#roughness = value;
208
+ }
209
+
210
+ public get roughnessMap(): IMapData | undefined {
211
+ return this.#roughnessMap;
212
+ }
213
+
214
+ public set roughnessMap(value: IMapData | undefined) {
215
+ this.#roughnessMap = value;
216
+ }
217
+
218
+ public get sheen(): number {
219
+ return this.#sheen;
220
+ }
221
+
222
+ public set sheen(value: number) {
223
+ this.#sheen = value;
224
+ }
225
+
226
+ public get sheenColor(): string {
227
+ return this.#sheenColor;
228
+ }
229
+
230
+ public set sheenColor(value: string) {
231
+ this.#sheenColor = value;
232
+ }
233
+
234
+ public get sheenColorMap(): IMapData | undefined {
235
+ return this.#sheenColorMap;
236
+ }
237
+
238
+ public set sheenColorMap(value: IMapData | undefined) {
239
+ this.#sheenColorMap = value;
240
+ }
241
+
242
+ public get sheenRoughness(): number {
243
+ return this.#sheenRoughness;
244
+ }
245
+
246
+ public set sheenRoughness(value: number) {
247
+ this.#sheenRoughness = value;
248
+ }
249
+
250
+ public get sheenRoughnessMap(): IMapData | undefined {
251
+ return this.#sheenRoughnessMap;
252
+ }
253
+
254
+ public set sheenRoughnessMap(value: IMapData | undefined) {
255
+ this.#sheenRoughnessMap = value;
256
+ }
257
+
258
+ public get specularColor(): string {
259
+ return this.#specularColor;
260
+ }
261
+
262
+ public set specularColor(value: string) {
263
+ this.#specularColor = value;
264
+ }
265
+
266
+ public get specularColorMap(): IMapData | undefined {
267
+ return this.#specularColorMap;
268
+ }
269
+
270
+ public set specularColorMap(value: IMapData | undefined) {
271
+ this.#specularColorMap = value;
272
+ }
273
+
274
+ public get specularIntensity(): number {
275
+ return this.#specularIntensity;
276
+ }
277
+
278
+ public set specularIntensity(value: number) {
279
+ this.#specularIntensity = value;
280
+ }
281
+
282
+ public get specularIntensityMap(): IMapData | undefined {
283
+ return this.#specularIntensityMap;
284
+ }
285
+
286
+ public set specularIntensityMap(value: IMapData | undefined) {
287
+ this.#specularIntensityMap = value;
288
+ }
289
+
290
+ public get thickness(): number {
291
+ return this.#thickness;
292
+ }
293
+
294
+ public set thickness(value: number) {
295
+ this.#thickness = value;
296
+ }
297
+
298
+ public get thicknessMap(): IMapData | undefined {
299
+ return this.#thicknessMap;
300
+ }
301
+
302
+ public set thicknessMap(value: IMapData | undefined) {
303
+ this.#thicknessMap = value;
304
+ }
305
+
306
+ public get transmission(): number {
307
+ return this.#transmission;
308
+ }
309
+
310
+ public set transmission(value: number) {
311
+ this.#transmission = value;
312
+ }
313
+
314
+ public get transmissionMap(): IMapData | undefined {
315
+ return this.#transmissionMap;
316
+ }
317
+
318
+ public set transmissionMap(value: IMapData | undefined) {
319
+ this.#transmissionMap = value;
320
+ }
321
+
322
+ // #endregion Public Accessors (52)
323
+
324
+ // #region Public Methods (1)
325
+
326
+ public reset(): void {
327
+ this.alphaCutoff = 0;
328
+ this.alphaMap = undefined;
329
+ this.alphaMode = MATERIAL_ALPHA.OPAQUE;
330
+ this.aoMap = undefined;
331
+ this.aoMapIntensity = 1.0;
332
+ this.bumpMap = undefined;
333
+ this.bumpScale = 1.0;
334
+ this.color = '#ffffff';
335
+ this.emissiveMap = undefined;
336
+ this.emissiveness = '#000000';
337
+ this.materialOutput = false;
338
+ this.map = undefined;
339
+ this.normalMap = undefined;
340
+ this.normalScale = 1.0;
341
+ this.opacity = 1.0;
342
+ this.shading = MATERIAL_SHADING.SMOOTH;
343
+ this.side = MATERIAL_SIDE.DOUBLE;
344
+
345
+ this.attenuationColor = '#ffffff';
346
+ this.attenuationDistance = 1;
347
+ this.clearcoat = 0;
348
+ this.clearcoatMap = undefined;
349
+ this.clearcoatNormalMap = undefined;
350
+ this.clearcoatRoughness = 0;
351
+ this.clearcoatRoughnessMap = undefined;
352
+ this.displacementMap = undefined;
353
+ this.displacementScale = 1;
354
+ this.displacementBias = 0;
355
+ this.ior = 1;
356
+ this.metalness = 0;
357
+ this.metalnessMap = undefined;
358
+ this.metalnessRoughnessMap = undefined;
359
+ this.roughness = 0.5;
360
+ this.roughnessMap = undefined;
361
+ this.sheen = 0;
362
+ this.sheenColor = '#ffffff';
363
+ this.sheenColorMap = undefined;
364
+ this.sheenRoughness = 0;
365
+ this.sheenRoughnessMap = undefined;
366
+ this.specularColor = '#ffffff';
367
+ this.specularColorMap = undefined;
368
+ this.specularIntensity = 1;
369
+ this.specularIntensityMap = undefined;
370
+ this.thickness = 0.1;
371
+ this.thicknessMap = undefined;
372
+ this.transmission = 0;
373
+ this.transmissionMap = undefined;
374
+ }
375
+
376
+ public clone(): IMaterialStandardData {
377
+ return new MaterialStandardData({
378
+ alphaMap: this.alphaMap,
379
+ alphaCutoff: this.alphaCutoff,
380
+ alphaMode: this.alphaMode,
381
+ aoMap: this.aoMap,
382
+ aoMapIntensity: this.aoMapIntensity,
383
+ bumpMap: this.bumpMap,
384
+ bumpScale: this.bumpScale,
385
+ color: this.color,
386
+ emissiveMap: this.emissiveMap,
387
+ emissiveness: this.emissiveness,
388
+ shading: this.shading,
389
+ map: this.map,
390
+ metalness: this.metalness,
391
+ metalnessMap: this.metalnessMap,
392
+ metalnessRoughnessMap: this.metalnessRoughnessMap,
393
+ name: this.name,
394
+ normalMap: this.normalMap,
395
+ normalScale: this.normalScale,
396
+ opacity: this.opacity,
397
+ roughness: this.roughness,
398
+ roughnessMap: this.roughnessMap,
399
+ side: this.side,
400
+ clearcoat: this.clearcoat,
401
+ clearcoatMap: this.clearcoatMap,
402
+ clearcoatNormalMap: this.clearcoatNormalMap,
403
+ clearcoatRoughness: this.clearcoatRoughness,
404
+ clearcoatRoughnessMap: this.clearcoatRoughnessMap,
405
+ displacementMap: this.displacementMap,
406
+ displacementScale: this.displacementScale,
407
+ displacementBias: this.displacementBias,
408
+ ior: this.ior,
409
+ transmission: this.transmission,
410
+ transmissionMap: this.transmissionMap,
411
+ thickness: this.thickness,
412
+ thicknessMap: this.thicknessMap,
413
+ attenuationDistance: this.attenuationDistance,
414
+ attenuationColor: this.attenuationColor,
415
+ sheen: this.sheen,
416
+ sheenColor: this.sheenColor,
417
+ sheenColorMap: this.sheenColorMap,
418
+ sheenRoughness: this.sheenRoughness,
419
+ sheenRoughnessMap: this.sheenRoughnessMap,
420
+ specularColor: this.specularColor,
421
+ specularColorMap: this.specularColorMap,
422
+ specularIntensity: this.specularIntensity,
423
+ specularIntensityMap: this.specularIntensityMap,
424
+ }, this.id);
425
+ }
426
+
427
+ public copy(source: MaterialStandardData): void {
428
+ this.alphaCutoff = source.alphaCutoff;
429
+ this.alphaMap = source.alphaMap;
430
+ this.alphaMode = source.alphaMode;
431
+ this.aoMap = source.aoMap;
432
+ this.aoMapIntensity = source.aoMapIntensity;
433
+ this.bumpMap = source.bumpMap;
434
+ this.bumpScale = source.bumpScale;
435
+ this.color = source.color;
436
+ this.emissiveMap = source.emissiveMap;
437
+ this.emissiveness = source.emissiveness;
438
+ this.materialOutput = source.materialOutput;
439
+ this.map = source.map;
440
+ this.normalMap = source.normalMap;
441
+ this.normalScale = source.normalScale;
442
+ this.opacity = source.opacity;
443
+ this.shading = source.shading;
444
+ this.side = source.side;
445
+
446
+ this.attenuationColor = source.attenuationColor;
447
+ this.attenuationDistance = source.attenuationDistance;
448
+ this.clearcoat = source.clearcoat;
449
+ this.clearcoatMap = source.clearcoatMap;
450
+ this.clearcoatNormalMap = source.clearcoatNormalMap;
451
+ this.clearcoatRoughness = source.clearcoatRoughness;
452
+ this.clearcoatRoughnessMap = source.clearcoatRoughnessMap;
453
+ this.displacementMap = source.displacementMap;
454
+ this.displacementScale = source.displacementScale;
455
+ this.displacementBias = source.displacementBias;
456
+ this.ior = source.ior;
457
+ this.metalness = source.metalness;
458
+ this.metalnessMap = source.metalnessMap;
459
+ this.metalnessRoughnessMap = source.metalnessRoughnessMap;
460
+ this.roughness = source.roughness;
461
+ this.roughnessMap = source.roughnessMap;
462
+ this.sheen = source.sheen;
463
+ this.sheenColor = source.sheenColor;
464
+ this.sheenColorMap = source.sheenColorMap;
465
+ this.sheenRoughness = source.sheenRoughness;
466
+ this.sheenRoughnessMap = source.sheenRoughnessMap;
467
+ this.specularColor = source.specularColor;
468
+ this.specularColorMap = source.specularColorMap;
469
+ this.specularIntensity = source.specularIntensity;
470
+ this.specularIntensityMap = source.specularIntensityMap;
471
+ this.thickness = source.thickness;
472
+ this.thicknessMap = source.thicknessMap;
473
+ this.transmission = source.transmission;
474
+ this.transmissionMap = source.transmissionMap;
475
+ }
476
+
477
+ // #endregion Public Methods (1)
478
+ }