From 494c4f94bcab362858ef28b61c7645e482139a39 Mon Sep 17 00:00:00 2001
From: Kurpanik <71767601+Kurpanik@users.noreply.github.com>
Date: Wed, 1 Dec 2021 10:45:11 +0100
Subject: [PATCH] Update to gldf 0.9-beta.7
---
.../DomainTests/EmitterReferencesTest.cs | 43 ---
.../DomainTests/EmitterTests.cs | 34 ++
src/Gldf.Net.Tests/Gldf.Net.Tests.csproj | 2 +
src/Gldf.Net.Tests/ModelSerializationTests.cs | 6 +
.../TestData/Container/GldfWithFiles.gldf | Bin 1676 -> 1675 bytes
.../Container/GldfWithHeaderMandatory.gldf | Bin 683 -> 700 bytes
.../Container/GldfWithInvalidRoot.gldf | Bin 686 -> 702 bytes
.../Container/GldfWithLargeFiles.gldf | Bin 53470 -> 53487 bytes
.../Container/GldfWithMissingFiles.gldf | Bin 862 -> 881 bytes
.../TestData/Container/GldfWithNoFiles.gldf | Bin 683 -> 700 bytes
.../Container/GldfWithOrphanedFiles.gldf | Bin 4238 -> 4255 bytes
.../TestData/Container/GldfWithSignature.gldf | Bin 822 -> 839 bytes
.../ControlGears/ControlGearCompleteModel.cs | 25 +-
.../ControlGears/ControlGearCompleteXml.xml | 11 +-
.../ControlGears/ControlGearMandatoryModel.cs | 21 +-
.../ControlGears/ControlGearMandatoryXml.xml | 11 +-
.../Descriptive/DescriptiveAttributesModel.cs | 63 ++--
.../Descriptive/DescriptiveAttributesXml.xml | 35 +-
.../TestData/EmbeddedXmlTestData.cs | 13 +-
.../TestData/Emitters/EmitterCompleteModel.cs | 196 ++++++++++
.../TestData/Emitters/EmitterCompleteXml.xml | 79 ++++
.../Emitters/EmitterMandatoryModel.cs | 99 +++++
.../TestData/Emitters/EmitterMandatoryXml.xml | 43 +++
.../Equipments/EquipmentCompleteModel.cs | 21 +-
.../Equipments/EquipmentCompleteXml.xml | 11 +-
.../Equipments/EquipmentMandatoryModel.cs | 21 +-
.../Equipments/EquipmentMandatoryXml.xml | 11 +-
.../TestData/Files/FilesCompleteModel.cs | 21 +-
.../TestData/Files/FilesCompleteXml.xml | 11 +-
.../TestData/Files/FilesMandatoryModel.cs | 21 +-
.../TestData/Files/FilesMandatoryXml.xml | 11 +-
.../Geometries/GeometryCompleteModel.cs | 21 +-
.../Geometries/GeometryCompleteXml.xml | 11 +-
.../Geometries/GeometryMandatoryModel.cs | 21 +-
.../Geometries/GeometryMandatoryXml.xml | 11 +-
.../TestData/Head/HeaderCompleteModel.cs | 21 +-
.../TestData/Head/HeaderCompleteXml.xml | 11 +-
.../TestData/Head/HeaderMandatoryModel.cs | 21 +-
.../TestData/Head/HeaderMandatoryXml.xml | 11 +-
.../LightSources/LightSourceCompleteModel.cs | 21 +-
.../LightSources/LightSourceCompleteXml.xml | 11 +-
.../LightSources/LightSourceMandatoryModel.cs | 21 +-
.../LightSources/LightSourceMandatoryXml.xml | 11 +-
.../MetaData/ProductMetaDataCompleteModel.cs | 21 +-
.../MetaData/ProductMetaDataCompleteXml.xml | 11 +-
.../MetaData/ProductMetaDataMandatoryModel.cs | 21 +-
.../MetaData/ProductMetaDataMandatoryXml.xml | 11 +-
.../Photometries/PhotometryCompleteModel.cs | 21 +-
.../Photometries/PhotometryCompleteXml.xml | 11 +-
.../Photometries/PhotometryMandatoryModel.cs | 21 +-
.../Photometries/PhotometryMandatoryXml.xml | 11 +-
.../TestData/Sensors/SensorsCompleteModel.cs | 21 +-
.../TestData/Sensors/SensorsCompleteXml.xml | 11 +-
.../TestData/Sensors/SensorsMandatoryModel.cs | 21 +-
.../TestData/Sensors/SensorsMandatoryXml.xml | 11 +-
.../Simple/RootWithHeaderUnintendedXml.xml | 2 +-
.../TestData/Simple/RootWithHeaderXml.xml | 2 +-
.../Spectrums/SpectrumCompleteModel.cs | 21 +-
.../Spectrums/SpectrumCompleteXml.xml | 11 +-
.../Spectrums/SpectrumMandatoryModel.cs | 21 +-
.../Spectrums/SpectrumMandatoryXml.xml | 11 +-
.../TestData/Variants/VariantCompleteModel.cs | 218 ++++++-----
.../TestData/Variants/VariantCompleteXml.xml | 96 ++---
.../Variants/VariantMandatoryModel.cs | 21 +-
.../TestData/Variants/VariantMandatoryXml.xml | 11 +-
src/Gldf.Net/Domain/Definition/Emitter.cs | 22 ++
.../Domain/Definition/GeneralDefinitions.cs | 3 +
.../Domain/Definition/Types/EmitterBase.cs | 6 +
.../Domain/Product/Types/EmitterReference.cs | 10 +
...ctReference.cs => EmitterReferenceBase.cs} | 2 +-
.../Domain/Product/Types/EmitterReferences.cs | 18 -
.../Types/GeometryEmissionObjectReference.cs | 15 -
...ference.cs => GeometryEmitterReference.cs} | 5 +-
.../Domain/Product/Types/GeometryReference.cs | 6 +-
...ghtEmitterReference.cs => LightEmitter.cs} | 5 +-
.../Mounting/{Ceilling.cs => Ceiling.cs} | 2 +-
.../Product/Types/Mounting/Mountings.cs | 2 +-
.../{SensorReference.cs => SensorEmitter.cs} | 9 +-
src/Gldf.Net/Domain/Product/Variant.cs | 5 +-
src/Gldf.Net/Domain/Root.cs | 2 +-
src/Gldf.Net/Xsd/V09.xsd | 356 ++++++++++--------
81 files changed, 1416 insertions(+), 659 deletions(-)
delete mode 100644 src/Gldf.Net.Tests/DomainTests/EmitterReferencesTest.cs
create mode 100644 src/Gldf.Net.Tests/DomainTests/EmitterTests.cs
create mode 100644 src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteModel.cs
create mode 100644 src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteXml.xml
create mode 100644 src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryModel.cs
create mode 100644 src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryXml.xml
create mode 100644 src/Gldf.Net/Domain/Definition/Emitter.cs
create mode 100644 src/Gldf.Net/Domain/Definition/Types/EmitterBase.cs
create mode 100644 src/Gldf.Net/Domain/Product/Types/EmitterReference.cs
rename src/Gldf.Net/Domain/Product/Types/{EmissionObjectReference.cs => EmitterReferenceBase.cs} (53%)
delete mode 100644 src/Gldf.Net/Domain/Product/Types/EmitterReferences.cs
delete mode 100644 src/Gldf.Net/Domain/Product/Types/GeometryEmissionObjectReference.cs
rename src/Gldf.Net/Domain/Product/Types/{ExternalEmitterReference.cs => GeometryEmitterReference.cs} (78%)
rename src/Gldf.Net/Domain/Product/Types/{LightEmitterReference.cs => LightEmitter.cs} (87%)
rename src/Gldf.Net/Domain/Product/Types/Mounting/{Ceilling.cs => Ceiling.cs} (89%)
rename src/Gldf.Net/Domain/Product/Types/{SensorReference.cs => SensorEmitter.cs} (68%)
diff --git a/src/Gldf.Net.Tests/DomainTests/EmitterReferencesTest.cs b/src/Gldf.Net.Tests/DomainTests/EmitterReferencesTest.cs
deleted file mode 100644
index 773e2c4..0000000
--- a/src/Gldf.Net.Tests/DomainTests/EmitterReferencesTest.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using FluentAssertions;
-using Gldf.Net.Domain.Product.Types;
-using NUnit.Framework;
-
-namespace Gldf.Net.Tests.DomainTests
-{
- [TestFixture]
- public class EmitterReferencesTest
- {
- [Test]
- public void GetAsSensorReference_Should_Return_Expected()
- {
- var expectedReference = new SensorReference();
- var equipment = new EmitterReferences {Reference = expectedReference};
-
- var reference = equipment.GetAsSensorReference();
-
- reference.Should().Be(expectedReference);
- }
-
- [Test]
- public void GetAsLightEmitterReference_Should_Return_Expected()
- {
- var expectedReference = new LightEmitterReference();
- var equipment = new EmitterReferences {Reference = expectedReference};
-
- var reference = equipment.GetAsLightEmitterReference();
-
- reference.Should().Be(expectedReference);
- }
-
- [Test]
- public void GetAsGeometryReference_Should_Return_Expected()
- {
- var expectedReference = new GeometryReference();
- var equipment = new EmitterReferences {Reference = expectedReference};
-
- var reference = equipment.GetAsGeometryReference();
-
- reference.Should().Be(expectedReference);
- }
- }
-}
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/DomainTests/EmitterTests.cs b/src/Gldf.Net.Tests/DomainTests/EmitterTests.cs
new file mode 100644
index 0000000..c21b443
--- /dev/null
+++ b/src/Gldf.Net.Tests/DomainTests/EmitterTests.cs
@@ -0,0 +1,34 @@
+using FluentAssertions;
+using Gldf.Net.Domain.Definition;
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Product.Types;
+using NUnit.Framework;
+
+namespace Gldf.Net.Tests.DomainTests
+{
+ [TestFixture]
+ public class EmitterTests
+ {
+ [Test]
+ public void GetLightEmitters_Should_Return_Expected()
+ {
+ var possibleFittings = new EmitterBase[] { new LightEmitter(), new LightEmitter() };
+ var emitter = new Emitter { PossibleFittings = possibleFittings };
+
+ var lightEmitters = emitter.GetLightEmitters();
+
+ lightEmitters.Should().BeEquivalentTo(possibleFittings);
+ }
+
+ [Test]
+ public void GetSensorEmitters_Should_Return_Expected()
+ {
+ var possibleFittings = new EmitterBase[] { new SensorEmitter(), new SensorEmitter() };
+ var emitter = new Emitter { PossibleFittings = possibleFittings };
+
+ var sensorEmitters = emitter.GetSensorEmitters();
+
+ sensorEmitters.Should().BeEquivalentTo(possibleFittings);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/Gldf.Net.Tests.csproj b/src/Gldf.Net.Tests/Gldf.Net.Tests.csproj
index b08dfdf..f5b2451 100644
--- a/src/Gldf.Net.Tests/Gldf.Net.Tests.csproj
+++ b/src/Gldf.Net.Tests/Gldf.Net.Tests.csproj
@@ -24,6 +24,8 @@
+
+
diff --git a/src/Gldf.Net.Tests/ModelSerializationTests.cs b/src/Gldf.Net.Tests/ModelSerializationTests.cs
index 85316a1..af690da 100644
--- a/src/Gldf.Net.Tests/ModelSerializationTests.cs
+++ b/src/Gldf.Net.Tests/ModelSerializationTests.cs
@@ -77,6 +77,12 @@ public void SerializeAndDeserialize_Model_Should_BeSameAs_Origin(Root model, str
new TestCaseData(EmbeddedXmlTestData.GetEquipmentCompleteModel(),
EmbeddedXmlTestData.GetEquipmentCompleteXml())
{TestName = "Equipment complete property set"},
+ new TestCaseData(EmbeddedXmlTestData.GetEmitterMandatoryModel(),
+ EmbeddedXmlTestData.GetEmitterMandatoryXml())
+ {TestName = "Emitter mandatory property set"},
+ new TestCaseData(EmbeddedXmlTestData.GetEmitterCompleteModel(),
+ EmbeddedXmlTestData.GetEmitterCompleteXml())
+ {TestName = "Emitter complete property set"},
new TestCaseData(EmbeddedXmlTestData.GetGeometryMandatoryModel(),
EmbeddedXmlTestData.GetGeometryMandatoryXml())
{TestName = "Geometry mandatory property set"},
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithFiles.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithFiles.gldf
index 92a05b58d8ee53eaceb96c41080322c3f73e904d..9287b45105c975323fbddb3576201817ae51c93b 100644
GIT binary patch
delta 101
zcmeC-?dIJun~`^CU0txutef
tivD_fow4g*lGLxKlUK8vFrJzGfYpwXVX{1%6QjlCBsLYc9A*X}002(jB542s
delta 102
zcmeC??cv=pn~^slzbbf}=fN|=j0_ChC$C^sVicHsn(;sLz8_4R&oE7ALQ_z{s>8SP
u)OG)(kFGO1K3pGs^wH#1tR{?SC*NnaV`Q8x$L7RnIXRI{g)Ntv0SEx*+9c-y
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithHeaderMandatory.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithHeaderMandatory.gldf
index c3af5e7ef4b92ef2a8ca5e2b99e198be5c733960..bc2be98c0820d57e968bfbc4d898598e4d542145 100644
GIT binary patch
delta 649
zcmV;40(SkY1-u1+P)h>@6aWAK2ms=Kep80?${HX7005c=000XB003}uZ)A02bS`*p
zY>iagj+-zLeXrDiKz;{9QmNg@VO8z+5-C|#+h|+$%?ksu1U53mCi`uD=qL3TYB1oC
zq^o`NoH?91;~De!_aAnBC=2fibS;!zk|+p?2QpEqkol5-G?@7x$aVbo4ZBwgJ;Rmt
z;!ukv*&$X7O85JHu%8D?=X4f^5&gMYe@}K$a$m?AxlDj~hQE;Nj+anZJOP_utAwMe
zX_aatl^1Ci2t^Nd+MQ__T=|cHJa}(&CP9o9&tqSKr=YvDi8fp|8Beg$20IQIb&;dr
zXy__$MF}^5Dus9!<gY`?ITU^lmW^7h(8|(No&wb4Y&(+#|N>`
zN|ziT?DfZ{VMZsAZI>SP%f5gF&5K*egcPk-J&K6}Y%qqNNS6efqA633#7mS!khp!W
zU`dKJp)Q3T*64!7!$9D`%c_8OxFazrQe?E1?hDy}VD#{9r%;uETJ+cyeeMiZV`%4j
z#%d++Ap;F&fxOH_t4SZ!NmKXL=;(q8_Nf$zpoiEY_KNIzVrMP#9S$UCc{OQZ>ZNCo
zMvjWM;llXy28Yd%tPjy$*WO#OPr4
zRBO5~ZZG?#S-JhO+i;>|5f=~JaB=F4wm;hVA5cpH0zUv0000080OEdrQ-<@(8Xy7y
j0Gg9g0xS*^C(l9p<<|kG!Rkl)<&%p78U{%M000001JEvd
delta 632
zcmV-;0*C#)1*-*rP)h>@6aWAK2mpLiagZk#X>eXrDiKz;|qZdElaFHx2B5-A&1=_;-I=D@&O0vnkjyZN?0^ppAvH5l;1
zZmPU_&K#dP;~Dt-`wzQ3l!f;Mx)w^VNfd;{1DU8)$b3zI8qE9;=3IJrThIp*e?U6bGit_i2mH%eouB#a$m?AxlDj~hQE^Pj+anZJOP`(RS8E^
z(<;?QDlgJ35Q-k^v^&!LN$K
z($H1jiW07WR0{DTTtt4j^cNS~=-p}=uEOvaqjTEiI;1}Y?mkvkA#5A*dDzOF;)B>{
zrAv+v_W5JeFryR5wo8xtWnVyo=EXH+LW)+a9>qifHW))sq-z3A(Ud7i;w4HVNZdYG
zuqH*CP?y3EYji>4VIXkeWmP~s+>sa*DKgqh_l0bKFnaj5Q>aQnEqZKO0HXlUl4h0Z=&TT-jENpOz4%*O2BHAmjVE^*hCkNrsc
zM7z=E#S1R;hUZ}XN)q>MPj+-hE$PVrMDCrXj^X70?{(0NCPoLV=e5|UQXqmJH=>>u68R429M3J;&2;7Hq~wd*&W=S~
zJS^4Ou$0000bBq`qj
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithInvalidRoot.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithInvalidRoot.gldf
index 64cd459ed09a371bf5142ccc54c49e8aa29e9d76..b2f56b7ba8917de108d3de052d4ef0e18d13f307 100644
GIT binary patch
delta 674
zcmZ3-x{tL!z?+#xgn@y9gW*?QU9d-(&21$n28OAu3=G^r(SoA?*E^odHtym-#T7*I;q;(G@(L4cq-RSeb4&lng9Fl99tj1(S7L!6-XO0%HKiD``iUm}*@o!NG<_dm~x=Iv(bLPsJ#+I*9&;M!$9JL7Qb+0ee8VA^tUv!puF3_B1
z^weXIiziFx?de?8Tu#{PyLj2WIpij;BA3SK9v8-1QY>r7-z6fM8~VFm%1q*P{Y}jf
z)dgaX
zUb=1Fo^CJI{#3&6-~BlDy%|X*8>-fs-WA_I{qLnUcmCbTwYa>oqq{wKhgGTD?fRTQ
z>;c}4O!f@85|j!sNr8X@m;@!S$=OVzd{?go#{PPGol)VpPU5epllz#Y*t~&>kbwaJ
DVDTyX
delta 635
zcmV->0)+j(1+E2uP)h>@6aWAK2mm{9dQ$*=dp{Ba003A8000XB003}uZ)A02bS`*p
zY>iY)Zrd;r-52N`2<|OPPEj-lt)NKy2@nTGYNSPXj5Lx7NTfiGZ0BrU^hmuzDNzzF
z+bOc+ym@@{hBMON-+%bkzAVTVOf9uq(kKWi0hQ=fs(eX*8_Z@O=vDmo4S&!YiRG$#
zv9INlZV;;lW4qlh*j)tL>5&OBi`<`r|6f>!66eW6AT`_9X?JE}a5;Md6v2C!vk7Xg5W>HLNWpYx8?A(DGLc|oEOr=h<|9wP
zHqcdG%Mz}Cbqeu3oJX_pVm7~ANADIF;UWxwadu3bT!-|B#LdU5Dx_;8J`X#YQ+yEn
ztW7EK(LH}`8|G{Rxpvt>zx)d*Frv7DOe)!G)uWg!zy)JSWV)o#6it~5q$JS_LE-wj
zf+dw|D+-xXf?e2{g2uxvU@yw5fNrkC^`J=`}V^j3G^HPnW
z8|4YBm3)8<4A|WvnT>8IEif<5{H@W^k%<;M`(SNNqthnAW87y}cK2=siXQff`=)&A
z$I&O+ZMLsn2$eS?2Wwc-xMvg9(K&OZ1OF4blPc{8^ZFW={6YmU<+0Q5_@gjVC>$Qa
zBi-Csw(dNO#<6*Zm;b-lK`)vZ9ju<$;-5;12xeS~`lyi1H+ak;e#>sBJ4e{0=8NLq
zk3)PsY}MKA;jH~l#{U3NO928u02BZK00;m(aC%b!e0x6<0ssJ5lVk!c4*10y$i?E<
V0l-jj%EjW7o&p*MI|2Xz002O$Aw2*9
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithLargeFiles.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithLargeFiles.gldf
index c582f316ecfa4335ca05df12a74e8d9e43bc836f..7905d4d8dd8a5448b7e64e4e2c22b327def7a91b 100644
GIT binary patch
delta 623
zcmV-#0+9XQp#$%s1F$U3e+hqnQ~o@0oDl*50Eh(u01E&B0B~||WOZY7E_iKhjZ|Ha
zn=lZ3uhjp5{0@esQhSlZsk-Y&q~ugxqifYSA1uTY*vKrG+`q5EfCEXZd-Kc=v$J@C
z-JZ(AdjVYwCD$YhLgIl;R4Qb?CJko(CvqFVf5#q`LeFSry*kxme@zaE)r!*N@faMJ
zfzml$gkeN~@3uda1C-nsvPLcwAfC~$q+L|d46UFn`ci<`L?rhMG%O>LqHrjCKfKi8>{7ysHc`r)1Qz^uYa1r_8
z(qG){qYtZPxC+BRe~iv$lgAnG(}UU9Q}xRiINBs_pcSKNs%UWC=w4luF(aF
z2QmtZ6d7%udS461mOl;(RSBp?&rR9au75Q`dwmzG*76ZDf6!p|#mfxZ%wkh#PTg~3
zrYkYnmr@{t9yuIcwU&t9R9ou2tG3IOknuXV(6n
zBkyTfcxcM!zF%KxKO}R}1($ilb160ssJrlZ4PL4yykOZTjWc0qj)~ar)(xzR(&5
JT+aXi001y|EyMr-
delta 606
zcmV-k0-^oyp#$Eb1F$U3e=l%)Q=1X4=l}u$080e`01E&B0B~||WOZY7E_iKhjZ|H4
zn=ll8pS1sA`8^ntX<8$PYHIgUsi~$e>ZZN9a3Pk!M&{C_|9%Do4kVrS=6mkpoOA7)
z@atn)kQXqu)M`VcAfyCTqEo5z4Q()6e4^L!`*-|NYb2Jd>h-afe;c|-tk#Sj4u{~d
z3be`DG7Ka3dwc&g*+VH7Qq?F_0+d+(TImN-LS2ajT>oAt0}~w8`g?{*t)=Tvdg1W5kzXCv%PuVqdi>1wOg!kL|#mO&~We
zJDHb%0|iDDw~$FCTdjH&lLfe9EQw4v6q=$bQ-O04r@$7
z;{l97ia#v
zG1DwY3thaX*45~=NpOz)&em?+tw7PkzVXnM&;29xjdq9a9T!67jmW`9Ry6L}M0Iq|
z9O)$gMDEO`{h9o~hb6z^;H5lvJ{^A&Mhb<)C3vKJxtH$TzQEA;3@`uhtb<-O2|7f*
zti`{S5)sU}BNX+_NalN-bBN!wyXn>uHt~E@+~;wKuZOL=xILV;e~$5Avs}+C0Szy3
sdQ+PbuIK;)002vqmC!5>*Y1tE#p2fiV-pL##p09C&>99y&j0`b0J`EOyZ`_I
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithMissingFiles.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithMissingFiles.gldf
index 5a800bdfa02285e3d8c3d50c1c3ad534d3718a5d..a3e1fb2c65d5705a89c6e3ecbe12c42ea82f174e 100644
GIT binary patch
delta 662
zcmV;H0%`r;2Jr?LP)h>@6aWAK2ml;^ep7tLfF;!e004-Q7b5|nkvk{_&FJH!W|3$q
z0j-geCx7dgQr%JkWkD0L`D>L>gL_(1iKr}R>69z7E7^WcqUqV>5e%KawK+_LXe9{Z
z&p;XI{TibiDyx(xrqZY#2QhJxE5FdN-}#;kxKIq%^JqSsM2pG%?0)uUxrmlg^dlzy
zvd-hczHzg8UlcjF$5;=`7IUgMu#ZX$Y98$CUw`9)W73iAammqn<4+(#)BF-rE_ux=
zTNuy525lH{whE!jE5WD;7@gLSvUb&9KL&J4Q3)c~49
zIY33#2gI}wh(k8OvRy*}99cdMBT@GuF_YZ^B7f?fk85`0
zp4l$#W1q#N$_XZXOiYh38$!QxjsB9>DYF6Hp&m4^Rh4vrHfVoqzigCI0*vMdt*buU
z$!A!b)tpMxyb7o68}?+^lUds`
zSK<8n9XGsL$8KY|&+1N%o6f`NT)8Q-GtuK%#l_7`4E8=I_20_%Ul~wK0Rle&6aWAK
w2ml;^ep7tLfF;!e004-S1OqG%gS>!)`sLRFC?2AR`sI^80~!YY0ssI20EOK+Y5)KL
delta 643
zcmV-}0(|}P2Hpl2P)h>@6aWAK2mohrdQ-AJ4^_ef002di7b5`_kvk{_z0o&Aagk^#
z0j`mfCx7#oQr%JkWkD0L{pTwZ8#kNxMUiv6jrFi>F{gS1`>3>_=E1)HHGgh6CLPIcmmKXk{sa;<%`YM4lGm)V
zh4CD0(1rnLs}QQZ5{#NKNR%`n&HZx$t1xE?ah9wMh)?;R%2&z6H+M_@*2o!#x@BsB7Q2T+}11wnD12UCV
z0wyDZmXC_|DD`KN^{8CX3<&BzB--PR%3&nx-Y(@hvV0mwqV7YYlimR$e`?RiHM{Yi
z*)Hv4pT(of2^u~o+9S+{&_B6Gf637)vjN?q9yD*OD(L`i(Eiqb*(jp~7|jn_SADjV
z-G=twI?1Y$caVYxyeNaZ?p5danm9CZPqiKOny970+o7(h6{`}{*PU~N7wsiA^dLLq
zwi1tryXRokS2w=eoXV`ie{U5wEW`C7JCOVInAoJF{yVsnD)pQH_ZpZyQo*5|cDlRx
zfoe{rXjD4(0063TF)9E6
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithNoFiles.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithNoFiles.gldf
index f3e5f7d5acd8e06008af00f4ab67e6bcd6a96857..7581f45ef84ad2bc0d3960d5c878af838a90893b 100644
GIT binary patch
delta 649
zcmV;40(SkY1-u1+P)h>@6aWAK2mmX8ep80?${HX7005c=000XB003}uZ)A02bS`*p
zY>iagj+-zLeXrDiKz;{9QmNg@VO8z+5-C|#+h|+$%?ksu1U53mCi`uD=qL3TYB1oC
zq^o`NoH?91;~De!_aAnBC=2fibS;!zk|+p?2QpEqkol5-G?@7x$aVbo4ZBwgJ;Rmt
z;!ukv*&$X7O85JHu%8D?=X4f^5&gMYe@}K$a$m?AxlDj~hQE;Nj+anZJOP_utAwMe
zX_aatl^1Ci2t^Nd+MQ__T=|cHJa}(&CP9o9&tqSKr=YvDi8fp|8Beg$20IQIb&;dr
zXy__$MF}^5Dus9!<gY`?ITU^lmW^7h(8|(No&wb4Y&(+#|N>`
zN|ziT?DfZ{VMZsAZI>SP%f5gF&5K*egcPk-J&K6}Y%qqNNS6efqA633#7mS!khp!W
zU`dKJp)Q3T*64!7!$9D`%c_8OxFazrQe?E1?hDy}VD#{9r%;uETJ+cyeeMiZV`%4j
z#%d++Ap;F&fxOH_t4SZ!NmKXL=;(q8_Nf$zpoiEY_KNIzVrMP#9S$UCc{OQZ>ZNCo
zMvjWM;llXy28Yd%tPjy$*WO#OPr4
zRBO5~ZZG?#S-JhO+i;>|5f=~JaB=F4wm;hVA5cpH0zUv00000804slfQ-<@(8Xy7y
j0Gg9g0xS*=^DmS7<<|ipxrvtg<&%p78U{%M00000BK9oj
delta 632
zcmV-;0*C#)1*-*rP)h>@6aWAK2mp6*dQ&y@Ttg26003PD000XB003}uZ)A02bS`*p
zY>iY)Zrd;r-52N`2<|OPc2P72t)NKy2@nTGYNSPXj5Lx7NTfiGV&`mK^hmuzDNzzF
z+bOc+ym@@{hBMON-+%b!zAVTSm|AMJqEQf10xHp|RQZa3Hki#m(98Jk8-A}f63bQf
za$n08-6B>?#&)}1uv-M$>5&OBm{hn;06f>!66eW6AT`_9X?JE}a4~xX6v2C!vk7Xg5W>HLNWpYx8?A+EGLc|oEOr=h<|9wP
zGSF4t$P%u9bPDl2oJX^8F`Hj(qIb(hxD3NzoE_69*CG8Oar?2V3hCO2&%;jU6d%Ms
zYf}n*aL*sxhB=!+u3dJ}FaH7xj3}-llS;N)^(ZC_aKRW7nXV`_MN_5%DM_?KP`G)n
zU`2~GVLpW&)|i6E!$4p!%Bp~NxFazrQsk_a?hCnpVD#{9t5KJLM)uegeeMiZW9a62
z!fGY&Ap-+;fkJj2WX-|L_kO^gm!&uj5dr9=cXu0(xQNakBS<`BPSH`ARXY*O<@aqq_=
zJ|4E}?DlZh{ww2uP)h*u$0002~8yyJ%
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithOrphanedFiles.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithOrphanedFiles.gldf
index 88523fedc5bbad5cad2617420aaa96ca7b014c7f..382246a5c00d56d0f4d52b716397c3820a699a8c 100644
GIT binary patch
delta 804
zcmV+<1Ka$LA)g_z$pQ^Ge|}R!Cv$+w0ssJilhy(w14-K=ll%f2e;{B@>#O*lJAQtg
zyWqqZdr<_>pewHACS1&;FaVh<#$~<8%vN=~|
zU$MiQMDvfcCopvWf8ORW5u%kKh`#}4pbu+|ZmFy@nwnapb{fRQMXvl(!(rzKF5prz
zNS4uZF^g8S<;RD`yY(tsN73(?49j|t1N+I%_ET9F+#Vwtmo4U8Z((1Q7Suf2uRp;9
z$D}9O9EF~^w
ztcG1Fng^S1g-M31dBF_2!qo_xLp4H0)d$414~RoH!n6q=7Sog1V#Nl`927y-2gLLw
zP>ceFA1FLPJqpx*p!NVumJNVRrM19_V9H0u^d$99nGdL3&>RTrJ|w26jmmK(>Ry*}
z8d*J$BT@Gue=$9c1lb>TD=AHykAnU8PpEm^jr=+LHDhmJZ-(F!Qlo1@nw*bo_S2r(
zJ{w|R#FHurCVWgxPcU1;uyd{cn${_^1>K__HLq2b_JB6%-nHMi$|wOw^P|>RU+iRe
zp}n`xsv6`yWS{{r%Anczy7#^&4o%!soud&G@n^w}e*xXbPO(>kUH9zV@O*39B4_!!
zcYwZ^V|8cbWYZ=by`q|fYsKo+40V^e#oPXh8hVsn;;t4?hy9%Ere_coROU7QwDD*%
zOpeuoJe0@87M&RH;m&qx+W+r+VDZEb4&}7-)5VWeb1F^yB{=2Ks%N{NExKm83WxW5
zZF!5HAko(9kky|THEiNJBk~gfXgYg1v(1ihKn-J=v7L1xOe@K-yAkF=A37fEBDRGvu
z8lFngJlLF8m}Iz`7tCN+xEeuos79!$`haNrfH-6$Ol$bCXis8`6&o;fPy|&U5ba5z
z7zGMHP`Z+Eqt;iS?PPbM
zy|+%X8sr^hpaCz+ps9P+`@JR(P25vmM}sCBY4mnze`;#Q>eLK%=iJ~$dr1vF%Fej0
z#pChrIU3E?jjy(#GOzJlg$>IvIc5j)kRB78^rHVB?xafd=KsG2CQnpwD5st7E`Fez
zQ)$|l;FQC;J=yha(H)!1aCm>OEpO3lv~6{q6@L-j7|`8FRD(i1-M002UhQ4K5(BxGS3#^Toj
z;i7&U#^RHU4Kx9ulfVsF0mYLU4qyWE1(SOYUjZMJ+YVX*Mw2!VVgYrNnGaY2nv?Pm
RU;)RIQxHZ5^acO`001A1c4Pnm
diff --git a/src/Gldf.Net.Tests/TestData/Container/GldfWithSignature.gldf b/src/Gldf.Net.Tests/TestData/Container/GldfWithSignature.gldf
index c4d8b0873c7d81eb65488ec025f2435f0a006e28..ea19e59fb3fc358a14c76f8eb0d7c7578a083777 100644
GIT binary patch
delta 648
zcmV;30(bqk2FC_}P)h>@6aWAK2mnTZep80?${HX7005c=000XB003}uZ)A02bS`*p
zY>iagj+-zLeXrDiKz;{9QmNg@VO8z+5-C|#+h|+$%?ksu1U53mCi`uD=qL3TYB1oC
zq^o`NoH?91;~De!_aAnBC=2fibS;!zk|+p?2QpEqkol5-G?@7x$aVbo4ZBwgJ;Rmt
z;!ukv*&$X7O85JHu%8D?=X4f^5&gMYe@}K$a$m?AxlDj~hQE;Nj+anZJOP_utAwMe
zX_aatl^1Ci2t^Nd+MQ__T=|cHJa}(&CP9o9&tqSKr=YvDi8fp|8Beg$20IQIb&;dr
zXy__$MF}^5Dus9!<gY`?ITU^lmW^7h(8|(No&wb4Y&(+#|N>`
zN|ziT?DfZ{VMZsAZI>SP%f5gF&5K*egcPk-J&K6}Y%qqNNS6efqA633#7mS!khp!W
zU`dKJp)Q3T*64!7!$9D`%c_8OxFazrQe?E1?hDy}VD#{9r%;uETJ+cyeeMiZV`%4j
z#%d++Ap;F&fxOH_t4SZ!NmKXL=;(q8_Nf$zpoiEY_KNIzVrMP#9S$UCc{OQZ>ZNCo
zMvjWM;llXy28Yd%tPjy$*WO#OPr4
zRBO5~ZZG?#S-JhO+i;>|5f=~JaB=F4wm;hVACou&JPk&Fep80?${HX7005ekfdVWJ
i8Uqor`sLRFA84?%`sI_m0yF_hlkfsS26+Mi0002w;x7RJ
delta 631
zcmV--0*L*`2DS!&P)h>@6aWAK2mp?7dQ&y@Ttg26003PD000XB003}uZ)A02bS`*p
zY>iY)Zrd;r-52N`2<|OPc2P72t)NKy2@nTGYNSPXj5Lx7NTfiGV&`mK^hmuzDNzzF
z+bOc+ym@@{hBMON-+%b!zAVTSm|AMJqEQf10xHp|RQZa3Hki#m(98Jk8-A}f63bQf
za$n08-6B>?#&)}1uv-M$>5&OBm{hn;06f>!66eW6AT`_9X?JE}a4~xX6v2C!vk7Xg5W>HLNWpYx8?A+EGLc|oEOr=h<|9wP
zGSF4t$P%u9bPDl2oJX^8F`Hj(qIb(hxD3NzoE_69*CG8Oar?2V3hCO2&%;jU6d%Ms
zYf}n*aL*sxhB=!+u3dJ}FaH7xj3}-llS;N)^(ZC_aKRW7nXV`_MN_5%DM_?KP`G)n
zU`2~GVLpW&)|i6E!$4p!%Bp~NxFazrQsk_a?hCnpVD#{9t5KJLM)uegeeMiZW9a62
z!fGY&Ap-+;fkJj2WX-|L_kO^gm!&uj5dr9=cXu0(xQNakBS<`BPSH`ARXY*O<@aqq_=
zJ|4E}?DlZh{ww2ulSu+R4UTYnQ#JHlLk|J~09})k0xS-=t
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -62,6 +62,11 @@
+
+
+
+
+
@@ -77,9 +82,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryModel.cs
index b254b0e..e02206f 100644
--- a/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryModel.cs
@@ -56,6 +56,20 @@ public class ControlGearMandatoryModel
}
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -88,12 +102,9 @@ public class ControlGearMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryXml.xml
index 78e7f46..1f6f69c 100644
--- a/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/ControlGears/ControlGearMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -23,6 +23,11 @@
+
+
+
+
+
@@ -38,9 +43,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesModel.cs b/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesModel.cs
index 5f8e354..7f0e7e8 100644
--- a/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesModel.cs
@@ -44,6 +44,20 @@ public class DescriptiveAttributesModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -76,12 +90,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -190,12 +201,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 2" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -381,12 +389,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 3" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -409,12 +414,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 4" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -437,12 +439,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 5" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -465,12 +464,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 6" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
@@ -492,12 +488,9 @@ public class DescriptiveAttributesModel
{
new Locale { Language = "en", Text = "Variant 7" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
VariantDescriptiveAttributes = new DescriptiveAttributes
{
diff --git a/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesXml.xml b/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesXml.xml
index c162b5f..c02a24f 100644
--- a/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Descriptive/DescriptiveAttributesXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
Manufacturer
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
0
@@ -133,9 +136,7 @@
Variant 2
-
-
-
+
I
@@ -293,9 +294,7 @@
Variant 3
-
-
-
+
II
@@ -311,9 +310,7 @@
Variant 4
-
-
-
+
III
@@ -329,9 +326,7 @@
Variant 5
-
-
-
+
0I
@@ -347,9 +342,7 @@
Variant 6
-
-
-
+
IP69
@@ -364,9 +357,7 @@
Variant 7
-
-
-
+
IP69K
diff --git a/src/Gldf.Net.Tests/TestData/EmbeddedXmlTestData.cs b/src/Gldf.Net.Tests/TestData/EmbeddedXmlTestData.cs
index 2587a2d..9898d51 100644
--- a/src/Gldf.Net.Tests/TestData/EmbeddedXmlTestData.cs
+++ b/src/Gldf.Net.Tests/TestData/EmbeddedXmlTestData.cs
@@ -1,6 +1,7 @@
using Gldf.Net.Domain;
using Gldf.Net.Tests.TestData.ControlGears;
using Gldf.Net.Tests.TestData.Descriptive;
+using Gldf.Net.Tests.TestData.Emitters;
using Gldf.Net.Tests.TestData.Equipments;
using Gldf.Net.Tests.TestData.Files;
using Gldf.Net.Tests.TestData.Geometries;
@@ -36,6 +37,8 @@ public static class EmbeddedXmlTestData
private const string ControlGearCompleteXml = "TestData.ControlGears.ControlGearCompleteXml.xml";
private const string EquipmentMandatoryXml = "TestData.Equipments.EquipmentMandatoryXml.xml";
private const string EquipmentCompleteXml = "TestData.Equipments.EquipmentCompleteXml.xml";
+ private const string EmitterMandatoryXml = "TestData.Emitters.EmitterMandatoryXml.xml";
+ private const string EmitterCompleteXml = "TestData.Emitters.EmitterCompleteXml.xml";
private const string GeometryMandatoryXml = "TestData.Geometries.GeometryMandatoryXml.xml";
private const string GeometryCompleteXml = "TestData.Geometries.GeometryCompleteXml.xml";
private const string MetaDataMandatoryXml = "TestData.MetaData.ProductMetaDataMandatoryXml.xml";
@@ -64,6 +67,8 @@ public static class EmbeddedXmlTestData
new TestCaseData(GetControlGearCompleteXml()).SetName("ControlGear Complete"),
new TestCaseData(GetEquipmentMandatoryXml()).SetName("Equipment Mandatory"),
new TestCaseData(GetEquipmentCompleteXml()).SetName("Equipment Complete"),
+ new TestCaseData(GetEmitterMandatoryXml()).SetName("Emitter Mandatory"),
+ new TestCaseData(GetEmitterCompleteXml()).SetName("Emitter Complete"),
new TestCaseData(GetGeometryMandatoryXml()).SetName("Geometry Mandatory"),
new TestCaseData(GetGeometryCompleteXml()).SetName("Geometry Complete"),
new TestCaseData(GetMetaDataMandatoryXml()).SetName("MetaData Mandatory"),
@@ -126,6 +131,12 @@ public static class EmbeddedXmlTestData
public static Root GetEquipmentMandatoryModel() => EquipmentMandatoryModel.Root;
public static Root GetEquipmentCompleteModel() => EquipmentCompleteModel.Root;
+ // GeneralDefinitions => Emitters
+ public static string GetEmitterMandatoryXml() => ResourceLoader.LoadEmbeddedXml(EmitterMandatoryXml);
+ public static string GetEmitterCompleteXml() => ResourceLoader.LoadEmbeddedXml(EmitterCompleteXml);
+ public static Root GetEmitterMandatoryModel() => EmitterMandatoryModel.Root;
+ public static Root GetEmitterCompleteModel() => EmitterCompleteModel.Root;
+
// GeneralDefinitions => Geometries
public static string GetGeometryMandatoryXml() => ResourceLoader.LoadEmbeddedXml(GeometryMandatoryXml);
public static string GetGeometryCompleteXml() => ResourceLoader.LoadEmbeddedXml(GeometryCompleteXml);
@@ -138,7 +149,7 @@ public static class EmbeddedXmlTestData
public static Root GetMetaDataMandatoryModel() => ProductMetaDataMandatoryModel.Root;
public static Root GetMetaDataCompleteModel() => ProductMetaDataCompleteModel.Root;
- // GeneralDefinitions => Variants
+ // GeneralDefinitions => Emitters
public static string GetVariantMandatoryXml() => ResourceLoader.LoadEmbeddedXml(VariantMandatoryXml);
public static string GetVariantCompleteXml() => ResourceLoader.LoadEmbeddedXml(VariantCompleteXml);
public static Root GetVariantMandatoryModel() => VariantMandatoryModel.Root;
diff --git a/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteModel.cs
new file mode 100644
index 0000000..46be6f3
--- /dev/null
+++ b/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteModel.cs
@@ -0,0 +1,196 @@
+using Gldf.Net.Domain;
+using Gldf.Net.Domain.Definition;
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Global;
+using Gldf.Net.Domain.Head;
+using Gldf.Net.Domain.Product;
+using Gldf.Net.Domain.Product.Types;
+using System;
+
+namespace Gldf.Net.Tests.TestData.Emitters
+{
+ public class EmitterCompleteModel
+ {
+ public static Root Root => new()
+ {
+ Header = new Header
+ {
+ Manufacturer = "DIAL",
+ CreationTimeCode = new DateTime(2021, 3, 29, 14, 30, 0, DateTimeKind.Utc),
+ CreatedWithApplication = "Visual Studio Code"
+ },
+ GeneralDefinitions = new GeneralDefinitions
+ {
+ Files = new[]
+ {
+ new GldfFile
+ {
+ Id = "eulumdat",
+ ContentType = FileContentType.LdcEulumdat,
+ Type = FileType.Url,
+ File = "https://example.org/eulumdat.ldt"
+ },
+ new GldfFile
+ {
+ Id = "sensorFile",
+ ContentType = FileContentType.SensorSensXml,
+ Type = FileType.Url,
+ File = "https://example.org/sensor.xml"
+ }
+ },
+ Sensors = new []
+ {
+ new Sensor
+ {
+ Id = "sensor",
+ SensorFileReference = new SensorFileReference
+ {
+ FileId = "sensorFile"
+ }
+ }
+ },
+ Photometries = new[]
+ {
+ new Photometry
+ {
+ Id = "photometry",
+ Content = new PhotometryFileReference
+ {
+ FileId = "eulumdat"
+ }
+ }
+ },
+ LightSources = new []
+ {
+ new LightSource
+ {
+ Id = "lightSource",
+ LightSourceType = new FixedLightSource()
+ }
+ },
+ Equipments = new []
+ {
+ new Equipment
+ {
+ Id = "equipment",
+ LightSourceReference = new LightSourceReference
+ {
+ LightSourceId = "lightSource"
+ },
+ RatedInputPower = 10,
+ RatedLuminousFlux = 50
+ }
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter-1",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ DisplayName = new []
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Display name"
+ },new Locale
+ {
+ Language = "de",
+ Text = "Anzeigename"
+ }
+ }
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EquipmentId = "equipment"
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EmergencyBehaviour = EmergencyBehaviour.None
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EmergencyBehaviour = EmergencyBehaviour.Combined
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EmergencyBehaviour = EmergencyBehaviour.EmergencyOnly
+ }
+ }
+ }, new Emitter
+ {
+ Id = "emitter-2",
+ PossibleFittings = new EmitterBase[]
+ {
+ new SensorEmitter
+ {
+ SensorId = "sensor",
+ DisplayName = new []
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Display name"
+ },new Locale
+ {
+ Language = "de",
+ Text = "Anzeigename"
+ }
+ }
+ },
+ new SensorEmitter
+ {
+ SensorId = "sensor"
+ }
+ }
+ }
+ }
+ },
+ ProductDefinitions = new ProductDefinitions
+ {
+ ProductMetaData = new ProductMetaData
+ {
+ ProductNumber = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Product number"
+ }
+ },
+ ProductName = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Product name"
+ }
+ }
+ },
+ Variants = new[]
+ {
+ new Variant
+ {
+ Id = "variant-1",
+ VariantName = new[]
+ {
+ new Locale { Language = "en", Text = "Variant 1" }
+ },
+ Reference = new EmitterReference
+ {
+ EmitterId = "emitter-1"
+ }
+ }
+ }
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteXml.xml
new file mode 100644
index 0000000..2a7e3b3
--- /dev/null
+++ b/src/Gldf.Net.Tests/TestData/Emitters/EmitterCompleteXml.xml
@@ -0,0 +1,79 @@
+
+
+
+ DIAL
+ 2021-03-29T14:30:00Z
+ Visual Studio Code
+ 0.9
+
+
+
+ https://example.org/eulumdat.ldt
+ https://example.org/sensor.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ 50
+
+
+
+
+
+
+ Display name
+ Anzeigename
+
+
+
+
+
+
+
+
+
+
+ Display name
+ Anzeigename
+
+
+
+
+
+
+
+
+
+ Product number
+
+
+ Product name
+
+
+
+
+
+ Variant 1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryModel.cs
new file mode 100644
index 0000000..01a1205
--- /dev/null
+++ b/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryModel.cs
@@ -0,0 +1,99 @@
+using Gldf.Net.Domain;
+using Gldf.Net.Domain.Definition;
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Global;
+using Gldf.Net.Domain.Head;
+using Gldf.Net.Domain.Product;
+using Gldf.Net.Domain.Product.Types;
+using System;
+
+namespace Gldf.Net.Tests.TestData.Emitters
+{
+ public class EmitterMandatoryModel
+ {
+ public static Root Root => new()
+ {
+ Header = new Header
+ {
+ Manufacturer = "DIAL",
+ CreationTimeCode = new DateTime(2021, 3, 29, 14, 30, 0, DateTimeKind.Utc),
+ CreatedWithApplication = "Visual Studio Code"
+ },
+ GeneralDefinitions = new GeneralDefinitions
+ {
+ Files = new[]
+ {
+ new GldfFile
+ {
+ Id = "eulumdat",
+ ContentType = FileContentType.LdcEulumdat,
+ Type = FileType.Url,
+ File = "https://example.org/eulumdat.ldt"
+ }
+ },
+ Photometries = new[]
+ {
+ new Photometry
+ {
+ Id = "photometry",
+ Content = new PhotometryFileReference
+ {
+ FileId = "eulumdat"
+ }
+ }
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
+ }
+ },
+ ProductDefinitions = new ProductDefinitions
+ {
+ ProductMetaData = new ProductMetaData
+ {
+ ProductNumber = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Product number"
+ }
+ },
+ ProductName = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Product name"
+ }
+ }
+ },
+ Variants = new[]
+ {
+ new Variant
+ {
+ Id = "variant-1",
+ VariantName = new[]
+ {
+ new Locale { Language = "en", Text = "Variant 1" }
+ },
+ Reference = new EmitterReference
+ {
+ EmitterId = "emitter"
+ }
+ }
+ }
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryXml.xml
new file mode 100644
index 0000000..b7d0944
--- /dev/null
+++ b/src/Gldf.Net.Tests/TestData/Emitters/EmitterMandatoryXml.xml
@@ -0,0 +1,43 @@
+
+
+
+ DIAL
+ 2021-03-29T14:30:00Z
+ Visual Studio Code
+ 0.9
+
+
+
+ https://example.org/eulumdat.ldt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Product number
+
+
+ Product name
+
+
+
+
+
+ Variant 1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteModel.cs
index a689d5a..b21413f 100644
--- a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteModel.cs
@@ -92,6 +92,20 @@ public class EquipmentCompleteModel
RatedLuminousFlux = 1,
EmergencyModeOutput = new EmergencyRatedLuminousFlux {Flux = 2}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -124,12 +138,9 @@ public class EquipmentCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteXml.xml
index f2cbda1..5da6a3c 100644
--- a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -44,6 +44,11 @@
2
+
+
+
+
+
@@ -59,9 +64,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryModel.cs
index 8e830f3..0c566fe 100644
--- a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryModel.cs
@@ -59,6 +59,20 @@ public class EquipmentMandatoryModel
RatedInputPower = 0.1,
RatedLuminousFlux = 1
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -91,12 +105,9 @@ public class EquipmentMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryXml.xml
index 4b3eab3..dd8378f 100644
--- a/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Equipments/EquipmentMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -28,6 +28,11 @@
1
+
+
+
+
+
@@ -43,9 +48,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Files/FilesCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Files/FilesCompleteModel.cs
index 806d57e..377afdd 100644
--- a/src/Gldf.Net.Tests/TestData/Files/FilesCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Files/FilesCompleteModel.cs
@@ -164,6 +164,20 @@ public class FilesCompleteModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -196,12 +210,9 @@ public class FilesCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Files/FilesCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Files/FilesCompleteXml.xml
index 0e8e0f6..2892bb5 100644
--- a/src/Gldf.Net.Tests/TestData/Files/FilesCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Files/FilesCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
Manufacturer
2021-03-29T14:30:00Z
@@ -31,6 +31,11 @@
+
+
+
+
+
@@ -46,9 +51,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryModel.cs
index 418d5f5..8e8e8e6 100644
--- a/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryModel.cs
@@ -41,6 +41,20 @@ public class FilesMandatoryModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -73,12 +87,9 @@ public class FilesMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryXml.xml
index 6706d38..879fbda 100644
--- a/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Files/FilesMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
Manufacturer
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteModel.cs
index 3f9f87e..695f637 100644
--- a/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteModel.cs
@@ -49,6 +49,20 @@ public class GeometryCompleteModel
}
}
},
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
+ },
Geometries = new[]
{
new Geometry
@@ -104,12 +118,9 @@ public class GeometryCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteXml.xml
index 11ad611..abcbaf2 100644
--- a/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Geometries/GeometryCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -17,6 +17,11 @@
+
+
+
+
+
@@ -39,9 +44,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryModel.cs
index a618213..9c544bc 100644
--- a/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryModel.cs
@@ -49,6 +49,20 @@ public class GeometryMandatoryModel
}
}
},
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
+ },
Geometries = new[]
{
new Geometry
@@ -94,12 +108,9 @@ public class GeometryMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryXml.xml
index cdbce96..adb7522 100644
--- a/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Geometries/GeometryMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -17,6 +17,11 @@
+
+
+
+
+
@@ -37,9 +42,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteModel.cs
index 411f5b4..4849389 100644
--- a/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteModel.cs
@@ -116,6 +116,20 @@ public class HeaderCompleteModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -148,12 +162,9 @@ public class HeaderCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteXml.xml
index 2bd703a..c5f7f9c 100644
--- a/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Head/HeaderCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd" checksum="Checksum">
Author
Manufacturer
@@ -51,6 +51,11 @@
+
+
+
+
+
@@ -66,9 +71,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryModel.cs
index 32d47ff..f233ec4 100644
--- a/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryModel.cs
@@ -41,6 +41,20 @@ public class HeaderMandatoryModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -73,12 +87,9 @@ public class HeaderMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryXml.xml
index 64b3980..09461ca 100644
--- a/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Head/HeaderMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
Manufacturer
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteModel.cs b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteModel.cs
index 0ad58ed..4e6eb73 100644
--- a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteModel.cs
@@ -396,6 +396,20 @@ public class LightSourceCompleteModel
}
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -428,12 +442,9 @@ public class LightSourceCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteXml.xml b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteXml.xml
index 13a0868..4ed83d9 100644
--- a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -213,6 +213,11 @@
+
+
+
+
+
@@ -228,9 +233,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryModel.cs
index ef0c572..ad30f5d 100644
--- a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryModel.cs
@@ -49,6 +49,20 @@ public class LightSourceMandatoryModel
Id = "lightSource",
LightSourceType = new FixedLightSource()
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -81,12 +95,9 @@ public class LightSourceMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryXml.xml
index c954935..e6c72c7 100644
--- a/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/LightSources/LightSourceMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -21,6 +21,11 @@
+
+
+
+
+
@@ -36,9 +41,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteModel.cs b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteModel.cs
index b11651d..381f067 100644
--- a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteModel.cs
@@ -51,6 +51,20 @@ public class ProductMetaDataCompleteModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -577,12 +591,9 @@ public class ProductMetaDataCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteXml.xml b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteXml.xml
index acf30f2..6dda1bd 100644
--- a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -17,6 +17,11 @@
+
+
+
+
+
@@ -270,9 +275,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryModel.cs
index 25e0ab3..be3ecfd 100644
--- a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryModel.cs
@@ -41,6 +41,20 @@ public class ProductMetaDataMandatoryModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -83,12 +97,9 @@ public class ProductMetaDataMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryXml.xml
index d9cc40b..a665d79 100644
--- a/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/MetaData/ProductMetaDataMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -33,9 +38,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteModel.cs
index 14f11f7..4d992b1 100644
--- a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteModel.cs
@@ -60,6 +60,20 @@ public class PhotometryCompleteModel
LightDistributionBugRating = "LightDistributionBUG-Rating"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -92,12 +106,9 @@ public class PhotometryCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteXml.xml
index 4f4abce..0513556 100644
--- a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -36,6 +36,11 @@
+
+
+
+
+
@@ -51,9 +56,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryModel.cs
index 86c800d..a40fe38 100644
--- a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryModel.cs
@@ -41,6 +41,20 @@ public class PhotometryMandatoryModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -73,12 +87,9 @@ public class PhotometryMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryXml.xml
index 2ba70ea..bbf1a0f 100644
--- a/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Photometries/PhotometryMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteModel.cs
index acd1d13..449159c 100644
--- a/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteModel.cs
@@ -65,6 +65,20 @@ public class SensorsCompleteModel
DetectorType.Other
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new SensorEmitter
+ {
+ SensorId = "sensor"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -97,12 +111,9 @@ public class SensorsCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new SensorReference
- {
- SensorId = "sensor"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteXml.xml
index c7faa29..f4feaf2 100644
--- a/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Sensors/SensorsCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -35,6 +35,11 @@
+
+
+
+
+
@@ -50,9 +55,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryModel.cs
index 13da52c..44fc121 100644
--- a/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryModel.cs
@@ -43,6 +43,20 @@ public class SensorsMandatoryModel
FileId = "sensorFile"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new SensorEmitter
+ {
+ SensorId = "sensor"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -75,12 +89,9 @@ public class SensorsMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new SensorReference
- {
- SensorId = "sensor"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryXml.xml
index 9f3ca80..0b08457 100644
--- a/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Sensors/SensorsMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderUnintendedXml.xml b/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderUnintendedXml.xml
index 2b1b6f6..8ebf622 100644
--- a/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderUnintendedXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderUnintendedXml.xml
@@ -1 +1 @@
-Manufacturer2021-03-29T14:30:00ZVisual Studio Code0.9
\ No newline at end of file
+Manufacturer2021-03-29T14:30:00ZVisual Studio Code0.9
\ No newline at end of file
diff --git a/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderXml.xml b/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderXml.xml
index 3b24c19..428222d 100644
--- a/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Simple/RootWithHeaderXml.xml
@@ -1,5 +1,5 @@
-
+
Manufacturer
2021-03-29T14:30:00Z
diff --git a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteModel.cs
index 75b8154..af6ef0a 100644
--- a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteModel.cs
@@ -81,6 +81,20 @@ public class SpectrumCompleteModel
}
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -113,12 +127,9 @@ public class SpectrumCompleteModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteXml.xml
index e18a495..b0f853c 100644
--- a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -27,6 +27,11 @@
0.3
+
+
+
+
+
@@ -42,9 +47,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryModel.cs
index 510e876..c7af6c2 100644
--- a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryModel.cs
@@ -59,6 +59,20 @@ public class SpectrumMandatoryModel
FileId = "spectrumFile"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -91,12 +105,9 @@ public class SpectrumMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryXml.xml
index 1b3e531..9f8c0e4 100644
--- a/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Spectrums/SpectrumMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -22,6 +22,11 @@
+
+
+
+
+
@@ -37,9 +42,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteModel.cs b/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteModel.cs
index 9f6bbf3..8f49045 100644
--- a/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteModel.cs
@@ -99,6 +99,86 @@ public class VariantCompleteModel
RatedLuminousFlux = 2
}
},
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ },
+ new Emitter
+ {
+ Id = "leoEmitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EquipmentId = "equipment",
+ DisplayName = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Display name"
+ },
+ new Locale
+ {
+ Language = "de",
+ Text = "Anzeigename"
+ }
+ }
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EmergencyBehaviour = EmergencyBehaviour.None
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EquipmentId = "equipment",
+ EmergencyBehaviour = EmergencyBehaviour.EmergencyOnly
+ },
+ new LightEmitter
+ {
+ PhotometryId = "photometry",
+ EquipmentId = "equipment",
+ EmergencyBehaviour = EmergencyBehaviour.Combined
+ }
+ }
+ },
+ new Emitter
+ {
+ Id = "sensorEmitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new SensorEmitter
+ {
+ SensorId = "sensor",
+ DisplayName = new[]
+ {
+ new Locale
+ {
+ Language = "en",
+ Text = "Display name"
+ },
+ new Locale
+ {
+ Language = "de",
+ Text = "Anzeigename"
+ }
+ }
+ }
+ }
+ }
+ },
Geometries = new[]
{
new Geometry
@@ -183,7 +263,7 @@ public class VariantCompleteModel
ProductNumber = "ProductNumber",
Mountings = new Mountings
{
- Ceilling = new Ceilling
+ Ceiling = new Ceiling
{
Recessed = new Recessed
{
@@ -242,12 +322,9 @@ public class VariantCompleteModel
}
}
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
},
Pictures = new[]
{
@@ -286,7 +363,7 @@ public class VariantCompleteModel
},
Mountings = new Mountings
{
- Ceilling = new Ceilling
+ Ceiling = new Ceiling
{
Recessed = new Recessed
{
@@ -326,12 +403,9 @@ public class VariantCompleteModel
}
}
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new SensorReference
- {
- SensorId = "sensor"
- }
+ EmitterId = "emitter"
}
},
new Variant
@@ -342,61 +416,15 @@ public class VariantCompleteModel
{
new Locale { Language = "en", Text = "Variant 3" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new GeometryReference
{
- Reference = new GeometryReference
+ GeometryId = "geometry",
+ EmitterReferences = new[]
{
- GeometryId = "geometry",
- EmissionObjectReference = new[]
+ new GeometryEmitterReference
{
- new GeometryEmissionObjectReference
- {
- EmitterReference = new EmissionObjectReference[]
- {
- new LightEmitterReference
- {
- PhotometryId = "photometry",
- EquipmentId = "equipment",
- DisplayName = new[]
- {
- new Locale
- {
- Language = "en",
- Text = "Display name"
- },
- new Locale
- {
- Language = "de",
- Text = "Anzeigename"
- }
- }
- },
- new LightEmitterReference
- {
- PhotometryId = "photometry",
- EmergencyBehaviour = EmergencyBehaviour.None
- },
- new LightEmitterReference
- {
- PhotometryId = "photometry",
- EquipmentId = "equipment",
- EmergencyBehaviour = EmergencyBehaviour.EmergencyOnly
- },
- new LightEmitterReference
- {
- PhotometryId = "photometry",
- EquipmentId = "equipment",
- EmergencyBehaviour = EmergencyBehaviour.Combined
- }
- },
- ExternalEmitterReferences = new[]
- {
- new ExternalEmitterReference
- {
- EmitterObjectExternalName = "leo1"
- }
- }
- }
+ EmitterId = "leoEmitter",
+ EmitterObjectExternalName = "leo1"
}
}
}
@@ -409,44 +437,28 @@ public class VariantCompleteModel
{
new Locale { Language = "en", Text = "Variant 4" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new GeometryReference
{
- Reference = new GeometryReference
+ GeometryId = "geometry",
+ EmitterReferences = new[]
{
- GeometryId = "geometry",
- EmissionObjectReference = new[]
+ new GeometryEmitterReference
{
- new GeometryEmissionObjectReference
- {
- EmitterReference = new EmissionObjectReference[]
- {
- new SensorReference
- {
- SensorId = "sensor",
- DisplayName = new[]
- {
- new Locale
- {
- Language = "en",
- Text = "Display name"
- },
- new Locale
- {
- Language = "de",
- Text = "Anzeigename"
- }
- }
- }
- },
- ExternalEmitterReferences = new[]
- {
- new ExternalEmitterReference
- {
- TargetModelType = TargetModelType.L3d,
- EmitterObjectExternalName = "leo2"
- }
- }
- }
+ EmitterId = "sensorEmitter",
+ EmitterObjectExternalName = "sensor1",
+ TargetModelType = TargetModelType.L3d
+ },
+ new GeometryEmitterReference
+ {
+ EmitterId = "sensorEmitter",
+ EmitterObjectExternalName = "sensor1",
+ TargetModelType = TargetModelType.M3d
+ },
+ new GeometryEmitterReference
+ {
+ EmitterId = "sensorEmitter",
+ EmitterObjectExternalName = "sensor1",
+ TargetModelType = TargetModelType.R3d
}
}
},
@@ -480,7 +492,7 @@ public class VariantCompleteModel
Text = "Variantenbeschreibung"
}
},
- Pictures = new []
+ Pictures = new[]
{
new Image
{
@@ -503,7 +515,7 @@ public class VariantCompleteModel
ImageType = ImageType.Other
}
},
- Hyperlinks = new []
+ Hyperlinks = new[]
{
new Hyperlink
{
@@ -515,7 +527,7 @@ public class VariantCompleteModel
Href = "href2",
Region = "region",
Language = "en",
- CountryCode= "de",
+ CountryCode = "de",
PlainText = "Hyperlink 2"
}
}
@@ -534,7 +546,7 @@ public class VariantCompleteModel
Language = "de",
Text = "Variantenname 2"
}
- },
+ }
}
},
VariantDescriptiveAttributes = new DescriptiveAttributes
diff --git a/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteXml.xml b/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteXml.xml
index e4f9e08..de10326 100644
--- a/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Variants/VariantCompleteXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -36,6 +36,31 @@
2
+
+
+
+
+
+
+
+ Display name
+ Anzeigename
+
+
+
+
+
+
+
+
+
+ Display name
+ Anzeigename
+
+
+
+
+
@@ -68,7 +93,7 @@
12345678
ProductNumber
-
+
0.2
@@ -77,7 +102,7 @@
-
+
@@ -104,9 +129,7 @@
-
-
-
+
@@ -120,7 +143,7 @@
Variant 2
-
+
0.17
@@ -128,7 +151,7 @@
0.19
-
+
@@ -147,56 +170,33 @@
-
-
-
+
Variant 3
-
-
-
-
-
- Display name
- Anzeigename
-
-
-
-
-
-
-
- leo1
-
-
-
-
-
+
+
+ leo1
+
+
Variant 4
-
-
-
-
-
- Display name
- Anzeigename
-
-
-
-
- leo2
-
-
-
-
-
+
+
+ sensor1
+
+
+ sensor1
+
+
+ sensor1
+
+
diff --git a/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryModel.cs b/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryModel.cs
index e5b6ad1..c6c47ca 100644
--- a/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryModel.cs
+++ b/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryModel.cs
@@ -41,6 +41,20 @@ public class VariantMandatoryModel
FileId = "eulumdat"
}
}
+ },
+ Emitters = new[]
+ {
+ new Emitter
+ {
+ Id = "emitter",
+ PossibleFittings = new EmitterBase[]
+ {
+ new LightEmitter
+ {
+ PhotometryId = "photometry"
+ }
+ }
+ }
}
},
ProductDefinitions = new ProductDefinitions
@@ -73,12 +87,9 @@ public class VariantMandatoryModel
{
new Locale { Language = "en", Text = "Variant 1" }
},
- EmitterReferences = new EmitterReferences
+ Reference = new EmitterReference
{
- Reference = new LightEmitterReference
- {
- PhotometryId = "photometry"
- }
+ EmitterId = "emitter"
}
}
}
diff --git a/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryXml.xml b/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryXml.xml
index 2ba70ea..b7d0944 100644
--- a/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryXml.xml
+++ b/src/Gldf.Net.Tests/TestData/Variants/VariantMandatoryXml.xml
@@ -1,6 +1,6 @@
+ xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd">
DIAL
2021-03-29T14:30:00Z
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -31,9 +36,7 @@
Variant 1
-
-
-
+
diff --git a/src/Gldf.Net/Domain/Definition/Emitter.cs b/src/Gldf.Net/Domain/Definition/Emitter.cs
new file mode 100644
index 0000000..fa0677c
--- /dev/null
+++ b/src/Gldf.Net/Domain/Definition/Emitter.cs
@@ -0,0 +1,22 @@
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Product.Types;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml.Serialization;
+
+namespace Gldf.Net.Domain.Definition
+{
+ public class Emitter
+ {
+ [XmlAttribute(DataType = "ID", AttributeName = "id")]
+ public string Id { get; set; }
+
+ [XmlElement("LightEmitter", typeof(LightEmitter))]
+ [XmlElement("Sensor", typeof(SensorEmitter))]
+ public EmitterBase[] PossibleFittings { get; set; }
+
+ public IEnumerable GetLightEmitters() => PossibleFittings?.OfType();
+
+ public IEnumerable GetSensorEmitters() => PossibleFittings?.OfType();
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Definition/GeneralDefinitions.cs b/src/Gldf.Net/Domain/Definition/GeneralDefinitions.cs
index 87b41e3..dbcd21b 100644
--- a/src/Gldf.Net/Domain/Definition/GeneralDefinitions.cs
+++ b/src/Gldf.Net/Domain/Definition/GeneralDefinitions.cs
@@ -25,6 +25,9 @@ public class GeneralDefinitions
[XmlArrayItem("Equipment")]
public Equipment[] Equipments { get; set; }
+ [XmlArrayItem("Emitter")]
+ public Emitter[] Emitters { get; set; }
+
[XmlArrayItem("Geometry")]
public Geometry[] Geometries { get; set; }
}
diff --git a/src/Gldf.Net/Domain/Definition/Types/EmitterBase.cs b/src/Gldf.Net/Domain/Definition/Types/EmitterBase.cs
new file mode 100644
index 0000000..68dd0b3
--- /dev/null
+++ b/src/Gldf.Net/Domain/Definition/Types/EmitterBase.cs
@@ -0,0 +1,6 @@
+namespace Gldf.Net.Domain.Definition.Types
+{
+ public abstract class EmitterBase
+ {
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/EmitterReference.cs b/src/Gldf.Net/Domain/Product/Types/EmitterReference.cs
new file mode 100644
index 0000000..204869a
--- /dev/null
+++ b/src/Gldf.Net/Domain/Product/Types/EmitterReference.cs
@@ -0,0 +1,10 @@
+using System.Xml.Serialization;
+
+namespace Gldf.Net.Domain.Product.Types
+{
+ public class EmitterReference : EmitterReferenceBase
+ {
+ [XmlAttribute(DataType = "ID", AttributeName = "emitterId")]
+ public string EmitterId { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/EmissionObjectReference.cs b/src/Gldf.Net/Domain/Product/Types/EmitterReferenceBase.cs
similarity index 53%
rename from src/Gldf.Net/Domain/Product/Types/EmissionObjectReference.cs
rename to src/Gldf.Net/Domain/Product/Types/EmitterReferenceBase.cs
index 91064f9..86211a7 100644
--- a/src/Gldf.Net/Domain/Product/Types/EmissionObjectReference.cs
+++ b/src/Gldf.Net/Domain/Product/Types/EmitterReferenceBase.cs
@@ -1,6 +1,6 @@
namespace Gldf.Net.Domain.Product.Types
{
- public abstract class EmissionObjectReference
+ public abstract class EmitterReferenceBase
{
}
}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/EmitterReferences.cs b/src/Gldf.Net/Domain/Product/Types/EmitterReferences.cs
deleted file mode 100644
index 7da0d6e..0000000
--- a/src/Gldf.Net/Domain/Product/Types/EmitterReferences.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Gldf.Net.Domain.Product.Types
-{
- public class EmitterReferences
- {
- [XmlElement("GeometryReference", typeof(GeometryReference))]
- [XmlElement("LightEmitterReference", typeof(LightEmitterReference))]
- [XmlElement("SensorReference", typeof(SensorReference))]
- public EmissionObjectReference Reference { get; set; }
-
- public GeometryReference GetAsGeometryReference() => Reference as GeometryReference;
-
- public LightEmitterReference GetAsLightEmitterReference() => Reference as LightEmitterReference;
-
- public SensorReference GetAsSensorReference() => Reference as SensorReference;
- }
-}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/GeometryEmissionObjectReference.cs b/src/Gldf.Net/Domain/Product/Types/GeometryEmissionObjectReference.cs
deleted file mode 100644
index 7b124f0..0000000
--- a/src/Gldf.Net/Domain/Product/Types/GeometryEmissionObjectReference.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Gldf.Net.Domain.Product.Types
-{
- public class GeometryEmissionObjectReference
- {
- [XmlElement("LightEmitterReference", typeof(LightEmitterReference))]
- [XmlElement("SensorReference", typeof(SensorReference))]
- public EmissionObjectReference[] EmitterReference { get; set; }
-
- [XmlArray("ExternalEmitterReferences"), XmlArrayItem("ExternalEmitterReference")]
- public ExternalEmitterReference[] ExternalEmitterReferences { get; set; }
- }
-
-}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/ExternalEmitterReference.cs b/src/Gldf.Net/Domain/Product/Types/GeometryEmitterReference.cs
similarity index 78%
rename from src/Gldf.Net/Domain/Product/Types/ExternalEmitterReference.cs
rename to src/Gldf.Net/Domain/Product/Types/GeometryEmitterReference.cs
index 6040041..48d98da 100644
--- a/src/Gldf.Net/Domain/Product/Types/ExternalEmitterReference.cs
+++ b/src/Gldf.Net/Domain/Product/Types/GeometryEmitterReference.cs
@@ -2,8 +2,11 @@
namespace Gldf.Net.Domain.Product.Types
{
- public class ExternalEmitterReference
+ public class GeometryEmitterReference
{
+ [XmlAttribute(DataType = "ID", AttributeName = "emitterId")]
+ public string EmitterId { get; set; }
+
private TargetModelType _targetModelType;
[XmlAttribute("targetModelType")]
diff --git a/src/Gldf.Net/Domain/Product/Types/GeometryReference.cs b/src/Gldf.Net/Domain/Product/Types/GeometryReference.cs
index f5918ef..d3d613c 100644
--- a/src/Gldf.Net/Domain/Product/Types/GeometryReference.cs
+++ b/src/Gldf.Net/Domain/Product/Types/GeometryReference.cs
@@ -2,12 +2,12 @@
namespace Gldf.Net.Domain.Product.Types
{
- public class GeometryReference : EmissionObjectReference
+ public class GeometryReference : EmitterReferenceBase
{
[XmlAttribute(DataType = "NCName", AttributeName = "geometryId")]
public string GeometryId { get; set; }
- [XmlElement("EmissionObjectReference")]
- public GeometryEmissionObjectReference[] EmissionObjectReference { get; set; }
+ [XmlElement("EmitterReference")]
+ public GeometryEmitterReference[] EmitterReferences { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Types/LightEmitterReference.cs b/src/Gldf.Net/Domain/Product/Types/LightEmitter.cs
similarity index 87%
rename from src/Gldf.Net/Domain/Product/Types/LightEmitterReference.cs
rename to src/Gldf.Net/Domain/Product/Types/LightEmitter.cs
index 5a35a86..cf222da 100644
--- a/src/Gldf.Net/Domain/Product/Types/LightEmitterReference.cs
+++ b/src/Gldf.Net/Domain/Product/Types/LightEmitter.cs
@@ -1,9 +1,10 @@
-using Gldf.Net.Domain.Global;
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Global;
using System.Xml.Serialization;
namespace Gldf.Net.Domain.Product.Types
{
- public class LightEmitterReference : EmissionObjectReference
+ public class LightEmitter : EmitterBase
{
[XmlAttribute(DataType = "NCName", AttributeName = "photometryId")]
public string PhotometryId { get; set; }
diff --git a/src/Gldf.Net/Domain/Product/Types/Mounting/Ceilling.cs b/src/Gldf.Net/Domain/Product/Types/Mounting/Ceiling.cs
similarity index 89%
rename from src/Gldf.Net/Domain/Product/Types/Mounting/Ceilling.cs
rename to src/Gldf.Net/Domain/Product/Types/Mounting/Ceiling.cs
index 87cd9cd..e04325b 100644
--- a/src/Gldf.Net/Domain/Product/Types/Mounting/Ceilling.cs
+++ b/src/Gldf.Net/Domain/Product/Types/Mounting/Ceiling.cs
@@ -1,6 +1,6 @@
namespace Gldf.Net.Domain.Product.Types.Mounting
{
- public class Ceilling
+ public class Ceiling
{
public Recessed Recessed { get; set; }
diff --git a/src/Gldf.Net/Domain/Product/Types/Mounting/Mountings.cs b/src/Gldf.Net/Domain/Product/Types/Mounting/Mountings.cs
index a9a6086..91e0b55 100644
--- a/src/Gldf.Net/Domain/Product/Types/Mounting/Mountings.cs
+++ b/src/Gldf.Net/Domain/Product/Types/Mounting/Mountings.cs
@@ -2,7 +2,7 @@
{
public class Mountings
{
- public Ceilling Ceilling { get; set; }
+ public Ceiling Ceiling { get; set; }
public Wall Wall { get; set; }
diff --git a/src/Gldf.Net/Domain/Product/Types/SensorReference.cs b/src/Gldf.Net/Domain/Product/Types/SensorEmitter.cs
similarity index 68%
rename from src/Gldf.Net/Domain/Product/Types/SensorReference.cs
rename to src/Gldf.Net/Domain/Product/Types/SensorEmitter.cs
index af3e6ea..ff23a1b 100644
--- a/src/Gldf.Net/Domain/Product/Types/SensorReference.cs
+++ b/src/Gldf.Net/Domain/Product/Types/SensorEmitter.cs
@@ -1,13 +1,14 @@
-using Gldf.Net.Domain.Global;
+using Gldf.Net.Domain.Definition.Types;
+using Gldf.Net.Domain.Global;
using System.Xml.Serialization;
namespace Gldf.Net.Domain.Product.Types
{
- public class SensorReference : EmissionObjectReference
+ public class SensorEmitter : EmitterBase
{
- public Locale[] DisplayName { get; set; }
-
[XmlAttribute(DataType = "NCName", AttributeName = "sensorId")]
public string SensorId { get; set; }
+
+ public Locale[] DisplayName { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Gldf.Net/Domain/Product/Variant.cs b/src/Gldf.Net/Domain/Product/Variant.cs
index 92ef6e1..ad33406 100644
--- a/src/Gldf.Net/Domain/Product/Variant.cs
+++ b/src/Gldf.Net/Domain/Product/Variant.cs
@@ -41,7 +41,10 @@ public int SortOrder
public Mountings Mountings { get; set; }
- public EmitterReferences EmitterReferences { get; set; }
+
+ [XmlElement("EmitterReference", typeof(EmitterReference))]
+ [XmlElement("GeometryReference", typeof(GeometryReference))]
+ public EmitterReferenceBase Reference { get; set; }
[XmlArrayItem("ProductSerie")]
public ProductSerie[] ProductSeries { get; set; }
diff --git a/src/Gldf.Net/Domain/Root.cs b/src/Gldf.Net/Domain/Root.cs
index de89e36..f1ed984 100644
--- a/src/Gldf.Net/Domain/Root.cs
+++ b/src/Gldf.Net/Domain/Root.cs
@@ -10,7 +10,7 @@ public class Root
[XmlAttribute(AttributeName = SchemaAttributeName, Namespace = SchemaAttributePrefixNamespace)]
public string SchemaLocation
{
- get => "https://gldf.io/xsd/gldf/0.9-beta.6/gldf.xsd";
+ get => "https://gldf.io/xsd/gldf/0.9-beta.7/gldf.xsd";
set => _ = value;
}
diff --git a/src/Gldf.Net/Xsd/V09.xsd b/src/Gldf.Net/Xsd/V09.xsd
index bfbbe5a..034a46a 100644
--- a/src/Gldf.Net/Xsd/V09.xsd
+++ b/src/Gldf.Net/Xsd/V09.xsd
@@ -56,6 +56,10 @@
+
+
+
+
@@ -96,6 +100,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -112,33 +128,17 @@
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -373,6 +373,7 @@
Equipments used in this product
+
Geometries used in this product
@@ -616,7 +617,7 @@
-
+
Quotient of the luminous flux emitted by the luminaire and the power absorbed by the light source and associated circuits of the luminaire
@@ -1493,7 +1494,17 @@ Note: These types are used in IES photometry files
- Initial luminous flux, being operated at a ambient temperature of 25°C. See also 13032-4:2015 (Unit lm)
+ Initial luminous flux of the entire equipment, being operated at a ambient temperature of 25°C. See also 13032-4:2015 (Unit lm)
+
+
+
+
+
+
+
+
+
+ Initial luminous flux of the RGB module part. Covers only the coloured light portion (Unit lm)
@@ -1534,6 +1545,89 @@ Note: These types are used in IES photometry files
+
+
+ Definition of Emitters (light/sensor radiation) used in this product
+
+
+
+
+ Single Emitter (light/sensor radiation). Emitters are groups of LightEmitters or Sensors
+
+
+
+
+ Multiple definitions are possible. In this case they are treated as interchangable emitters
+
+
+
+
+ Definition of an emission object for the luminous part of the product. It combines a photometry with an optional equipment into a LightEmitter
+
+
+
+
+
+ Translatable display name of the LightEmitter. Could be shown in applications like DIALux and Relux. Intended for documentation purposes
+
+
+
+
+
+ Id reference to a Photometry element defined under GeneralDefinitions/Photometries
+
+
+
+
+ Id reference to an Equipment element defined under GeneralDefinitions/Equipments
+
+
+
+
+ Set to Combined, if this LightEmitter is intended for normal and emergency lighting. Set to EmergencyOnly, if this LightEmitter is intended for emergency lighting scenarios only. The default value or if the attribute is missing is None, which means: intended for normal light only
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Definition of an emission object for the sensor part of the product
+
+
+
+
+
+ Translatable display name of the Sensor. Could be shown in applications like DIALux and Relux. Intended for documentation purposes
+
+
+
+
+
+ Id reference to a Sensor element defined under GeneralDefinitions/Sensors.
+
+
+
+
+
+
+
+
+ Unique identifier of the emitter
+
+
+
+
+
+
Definition of 3d geometries used in this product
@@ -1807,27 +1901,27 @@ Note: These types are used in IES photometry files
-
+
- Mounting place: ceilling
+ Mounting place: ceiling
- Mounting type: recessed (into the ceilling)
+ Mounting type: recessed (into the ceiling)
- Rectangular cutout into the ceilling
+ Rectangular cutout into the ceiling
- Width of the rectangular cutout into the ceilling
+ Width of the rectangular cutout into the ceiling
@@ -1837,7 +1931,7 @@ Note: These types are used in IES photometry files
- Length of the rectangular cutout into the ceilling
+ Length of the rectangular cutout into the ceiling
@@ -1847,7 +1941,7 @@ Note: These types are used in IES photometry files
- Depth of the rectangular cutout into the ceilling
+ Depth of the rectangular cutout into the ceiling
@@ -1860,13 +1954,13 @@ Note: These types are used in IES photometry files
- Circular cutout into the ceilling
+ Circular cutout into the ceiling
- Diameter of the circular cutout into the ceilling
+ Diameter of the circular cutout into the ceiling
@@ -1876,7 +1970,7 @@ Note: These types are used in IES photometry files
- Depth of the circular cutout into the ceilling
+ Depth of the circular cutout into the ceiling
@@ -1890,7 +1984,7 @@ Note: These types are used in IES photometry files
- Recessed depth into ceilling
+ Recessed depth into ceiling
@@ -1902,7 +1996,7 @@ Note: These types are used in IES photometry files
- Mounting type: surface (of the ceilling)
+ Mounting type: surface (of the ceiling)
@@ -2198,83 +2292,68 @@ Note: These types are used in IES photometry files
-
+
- Variant emission objects. Emission objects are groups of LightEmitters and/or Sensors, assigned to a specific part inside the luminaire model
+ Light and sensor emission objects (Emitter). With or without reference to a 3D geometry
-
-
-
+
+
+ Emitter reference (Use this Node without 3D geometry)
+
+
+
- A single emission object reference. Containing light emitter and/or sensor references
+ Id reference to an Emitter element defined under GeneralDefinitions/Emitters
-
-
-
-
-
-
-
-
-
-
-
- Information related to the emitter object inside the referenced 3D geometry (referenced by geometryId)
-
-
-
-
-
- Define external emitter object names for up to three possible 3D models (l3d, m3d, r3d). Or simply one if all models uses the same name for the emitter object
-
-
-
-
-
- Name of the radiation emitter object inside the referenced 3D geometry (referenced by geometryId)
-
-
-
-
-
- Only required if multiple 3D model types (l3d, m3d, r3d) with different emitter object names are defined.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Id reference to an Geoemtry element defined under GeneralDefinitions/Geometries
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Geometry reference (Use this Node with a 3D model of this variant)
+
+
+
+
+
+ Emitter reference inside the 3D model
+
+
+
+
+
+ Name of the emitter object inside the referenced 3D geometry (referenced by geometryId)
+
+
+
+
+
+ Id reference to an Emitter element defined under GeneralDefinitions/Emitters
+
+
+
+
+ Only required if multiple 3D model types (l3d, m3d, r3d) with different emitter object names are defined.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Id reference to a Geometry element defined under GeneralDefinitions/Geometries
+
+
+
+
+
Product series applicable to a single variant of the product.
@@ -2317,61 +2396,6 @@ Note: These types are used in IES photometry files
-
-
- Definition of a EmissionObject for the luminous parts of the product. It combines a photometry with an optional equipment into a LightEmitter, which is assigned to its parent EmissionObject
-
-
-
-
-
- Translatable display name of the LightEmitter. Could be shown in applications like DIALux and Relux. Intended for documentation purposes
-
-
-
-
-
- Id reference to a Photometry element defined under GeneralDefinitions/Photometries
-
-
-
-
- Id reference to an Equipment element defined under GeneralDefinitions/Equipments
-
-
-
-
- Set to Combined, if this LightEmitter is intended for normal and emergency lighting. Set to EmergencyOnly, if this LightEmitter is intended for emergency lighting scenarios only. The default value or if the attribute is missing is None, which means: intended for normal light only
-
-
-
-
-
-
-
-
-
-
-
-
-
- Definition of a EmissionObject for the sensor parts of the product
-
-
-
-
-
- Translatable display name of the Sensor. Could be shown in applications like DIALux and Relux. Intended for documentation purposes
-
-
-
-
-
- Id reference to a Sensor element defined under GeneralDefinitions/Sensors.
-
-
-
-
Definition of global attributes