libMVRgdtf 40bc00a
A library for GDTF and MVR
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SceneDataExchange.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2//----- Copyright deersoft 2015 - 2017 www.deersoft.de
3//-----------------------------------------------------------------------------
4#pragma once
5
6using namespace VectorworksMVR::Filing;
7using namespace VectorworksMVR::VWFC;
8
9#include <unordered_map>
10
11#include "CieColor.h"
12#include "XmlFileHelper.h"
13
14namespace SceneData
15{
16
17 // ----------------------------------------------------------------------------------------------------------------------------------
18 // Predefines
19 class SceneDataExchange;
20 class SceneDataGroupObj;
21 class SceneDataGeoInstanceObj;
22 class SceneDataLayerObj;
23 class SceneDataSymDefObj;
24
26 typedef std::vector<SceneDataGeoInstanceObjPtr> SceneDataGeometryObjArray;
27 typedef std::vector<IFileIdentifierPtr> TFileIdentifierPtrArray;
28 typedef std::vector<IFolderIdentifierPtr> TFolderIdentifierArray;
29 typedef std::unordered_map<TXString, SceneDataSymDefObj*> TSymDefMap;
30
31 enum ESceneDataGUIDType : short
32 {
36 };
37
64
65 enum class ESearchUuidIn
66 {
67 Symbols,
68 Objects,
69 Layers,
70 Classes,
71 };
72
73 // ----------------------------------------------------------------------------------------------------------------------------------
74 // SceneDataGUID
76 {
77
78 public:
79 SceneDataGUID(const TXString& uuid);
80 SceneDataGUID(const Tools::VWUUID& uuid);
81 SceneDataGUID(ESceneDataGUIDType type, const TXString& debugMessage);
83
84 operator TXString();
85 bool operator == (const SceneDataGUID& uuid);
86
87
88 private:
89 Tools::VWUUID _uuid;
91 TXString _typeEntry;
92
93 public:
95 TXString GetUUIDString() const;
96 const VWFC::Tools::VWUUID& GetUuidObj() const;
97 };
98
99
100 // ----------------------------------------------------------------------------------------------------------------------------------
101 // SceneDataObj
103 {
104 friend SceneDataExchange;
105
106 public:
107 SceneDataObj(const SceneDataGUID& guid);
108 virtual ~SceneDataObj();
109
110
111 private:
112 SceneDataGUID fGuid;
113 TXString fName;
114 public:
116 const TXString& getName() const;
117 void setName(const TXString& value);
118
119 // Write
120 virtual void PrintToFile(IXMLFileNodePtr pContainerNode, SceneDataExchange* exchange);
121 void ReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
122
123 public:
125
126 protected:
127 virtual TXString GetNodeName() = 0;
128
129 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
130 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
131
132
133
134
135 };
137
138 // ----------------------------------------------------------------------------------------------------------------------------------
139 // SceneDataProviderObj
141 {
142
143 public:
145 SceneDataProviderObj(const TXString& proveride,const TXString& version);
146 virtual ~SceneDataProviderObj();
147
148
149 private:
150 TXString fVersion;
151 TXString fProvider;
152
153
154 TXStringArray fKeyArr;
155 TXStringArray fDataArr;
156
157 public:
158 const TXString& GetVersion();
159 const TXString& GetProvider();
160
161 protected:
162 virtual TXString GetNodeName();
164 virtual void OnPrintToFile(IXMLFileNodePtr pNod, SceneDataExchange* exchangee);
165 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
166
167 public:
168 void AddEntry(const TXString& key,const TXString& value );
169 size_t GetEntryCount();
170 TXString& GetKeyAt(size_t at);
171 TXString& GetValueAt(size_t at);
172
173
174 public:
175 };
177 typedef std::vector<SceneDataProviderObjPtr> SceneDataProviderObjArray;
178
179
180 // ----------------------------------------------------------------------------------------------------------------------------------
181 // SceneDataAuxObj
183 {
184
185 public:
186 SceneDataAuxObj(const SceneDataGUID& guid);
187 virtual ~SceneDataAuxObj();
188
189 private:
190
191 };
193 typedef std::vector<SceneDataAuxObjPtr> SceneDataAuxObjArray;
194
195
196 // ----------------------------------------------------------------------------------------------------------------------------------
197 // SceneDataSymDefObj
199 {
200
201 public:
203 virtual ~SceneDataSymDefObj();
204
205 private:
206 SceneDataGeometryObjArray fGeometries;
207
208 public:
210 void Add(SceneDataGeoInstanceObjPtr object);
211
212 protected:
213 virtual TXString GetNodeName();
215 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
216 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
217
218 };
220 typedef std::vector<SceneDataSymDefObjPtr> SceneDataSymDefObjArray;
221
222
223 // ----------------------------------------------------------------------------------------------------------------------------------
224 // SceneDataPositionObj
226 {
227
228 public:
230 virtual ~SceneDataPositionObj();
231
232 protected:
233 virtual TXString GetNodeName();
235 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
236 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
237
238 };
240 typedef std::vector<SceneDataPositionObjPtr> SceneDataPositionObjArray;
241
242 // ----------------------------------------------------------------------------------------------------------------------------------
243 // SceneDataClassObj
245 {
246
247 public:
248 SceneDataClassObj(const SceneDataGUID& guid);
249 virtual ~SceneDataClassObj();
250
251 protected:
252 virtual TXString GetNodeName();
254 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
255 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
256
257 };
259 typedef std::vector<SceneDataClassObjPtr> SceneDataClassObjArray;
260
261 // ----------------------------------------------------------------------------------------------------------------------------------
262 // SceneDataSourceObj
264 {
265
266 public:
268 SceneDataSourceObj(const TXString& value, const TXString& linkedGeometry, GdtfDefines::ESourceType);
269 virtual ~SceneDataSourceObj();
270
271 private:
272 TXString fValue;
273 TXString fLinkedGeometry;
275
276 public:
277 virtual const TXString& GetValue();
278 virtual const TXString& GetLinkedGeometry();
279 virtual ESourceType GetType();
280
281 virtual void SetValue(TXString value);
282 virtual void SetLinkedGeometry(TXString linkedGeometry);
283 virtual void SetType(GdtfDefines::ESourceType);
284
285 protected:
286 virtual TXString GetNodeName();
288
289 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
290 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
291
292 };
294 typedef std::vector<SceneDataSourceObjPtr> SceneDataSourceObjArray;
295
296 // ----------------------------------------------------------------------------------------------------------------------------------
297 // SceneDataMappingDefinitionObj
299 {
300
301 public:
305
306 private:
307 Uint32 fSizeX;
308 Uint32 fSizeY;
309 SceneDataSourceObjPtr fSource;
310 EScaleHandlingType fScaleHandling;
311
312 public:
313 virtual Uint32 GetSizeX();
314 virtual Uint32 GetSizeY();
317
318 virtual void SetSizeX(Uint32 sizeX);
319 virtual void SetSizeY(Uint32 sizeY);
320 virtual void SetSource(const TXString& value, const TXString& linkedGeometry, GdtfDefines::ESourceType);
321 virtual void SetScaleHandling(GdtfDefines::EScaleHandlingType scaleHandling);
322
323 protected:
324 virtual TXString GetNodeName();
326 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
327 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
328
329 };
331 typedef std::vector<SceneDataMappingDefinitionObjPtr> SceneDataMappingDefinitionObjArray;
332
333 // ----------------------------------------------------------------------------------------------------------------------------------
334 // SceneDataMappingObj
336 {
337
338 public:
340 SceneDataMappingObj(const SceneDataGUID& linkedDefUuid);
341 virtual ~SceneDataMappingObj();
342
343 private:
344
345 SceneDataGUID fLinkedDefUuid;
346 Uint32 fUx;
347 Uint32 fUy;
348 Uint32 fOx;
349 Uint32 fOy;
350 double fRz;
351
352 public:
354 virtual Uint32 GetUx();
355 virtual Uint32 GetUy();
356 virtual Uint32 GetOx();
357 virtual Uint32 GetOy();
358 virtual double GetRz();
359
360 virtual void SetLinkedDefUuid(const SceneDataGUID& linkedDefUuid);
361 virtual void SetUx(Uint32 value);
362 virtual void SetUy(Uint32 value);
363 virtual void SetOx(Uint32 value);
364 virtual void SetOy(Uint32 value);
365 virtual void SetRz(double value);
366
367 protected:
368 virtual TXString GetNodeName();
370 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
371 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
372
373 };
375 typedef std::vector<SceneDataMappingObjPtr> SceneDataMappingObjArray;
376
377 // ----------------------------------------------------------------------------------------------------------------------------------
378 // SceneDataCustomCommand
380 {
381
382 public:
384 SceneDataCustomCommand(const TXString& channelFunction, bool isPercentage, double value);
385 virtual ~SceneDataCustomCommand();
386
387 private:
388
389 TXString fChannelFunction;
390 bool fIsPercentage;
391 double fValue;
392
393 public:
394 virtual const TXString& GetChannelFunction();
395 virtual bool IsPercentage();
396 virtual double GetValue();
397
398 virtual void SetChannelFunction(const TXString& channelFunction);
399 virtual void SetIsPercentage(bool isPercentage);
400 virtual void SetValue(double value);
401
402 protected:
403 virtual TXString GetNodeName();
405 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
406 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
407
408 };
410 typedef std::vector<SceneDataCustomCommandPtr> SceneDataCustomCommandArray;
411
412 // ----------------------------------------------------------------------------------------------------------------------------------
413 // SceneDataAlignment
415 {
416
417 public:
419 SceneDataAlignment(const TXString& beamGeometry, const VWPoint3D& upVector, const VWPoint3D& direction);
420 virtual ~SceneDataAlignment();
421
422 private:
423
424 TXString fBeamGeometry;
425 VWPoint3D fUpVector;
426 VWPoint3D fDirection;
427
428 public:
429 virtual const TXString& GetBeamGeometry();
430 virtual const VWPoint3D& GetUpVector();
431 virtual const VWPoint3D& GetDirection();
432
433 virtual void SetBeamGeometry(const TXString& beamGeometry);
434 virtual void SetUpVector(double x, double y, double z);
435 virtual void SetDirection(double x, double y, double z);
436
437 protected:
438 virtual TXString GetNodeName();
440 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
441 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
442
443 };
445 typedef std::vector<SceneDataAlignmentPtr> SceneDataAlignmentArray;
446
447 // ----------------------------------------------------------------------------------------------------------------------------------
448 // SceneDataOverwrite
450 {
451
452 public:
454 SceneDataOverwrite(const TXString& universal, const TXString& target);
455 virtual ~SceneDataOverwrite();
456
457 private:
458
459 TXString fUniversal;
460 TXString fTarget;
461
462 public:
463 virtual const TXString& GetUniversal();
464 virtual const TXString& GetTarget();
465
466 virtual void SetUniversal(const TXString& universal);
467 virtual void SetTarget(const TXString& target);
468
469 protected:
470 virtual TXString GetNodeName();
472 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
473 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
474
475 };
477 typedef std::vector<SceneDataOverwritePtr> SceneDataOverwriteArray;
478
479 // ----------------------------------------------------------------------------------------------------------------------------------
480 // SceneDataConnectionObj
482 {
483
484 public:
486 SceneDataConnectionObj(const TXString& own, const TXString& other, const TXString& toObject);
487 SceneDataConnectionObj(const TXString& own, const TXString& other, const SceneDataGUID& toObject);
488
489 virtual ~SceneDataConnectionObj();
490
491 private:
492
493 TXString fOwn;
494 TXString fOther;
495 SceneDataGUID fToObject;
496
497 public:
498 virtual SceneDataGUID& GetToObject();
499 virtual TXString& GetOwn();
500 virtual TXString& GetOther();
501
502
503 virtual void SetToObject(SceneDataGUID uuid);
504 virtual void SetOwn(TXString& own);
505 virtual void SetOther(TXString& other);
506
507 protected:
508 virtual TXString GetNodeName();
510 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
511 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
512
513 };
515 typedef std::vector<SceneDataConnectionObjPtr> SceneDataConnectionObjArray;
516
517
518
519
520 // ----------------------------------------------------------------------------------------------------------------------------------
521 // SceneDataObjWithMatrix
523 {
524 friend SceneDataGroupObj;
525 friend SceneDataLayerObj; // To Acceses Next Object //
526 public:
528 virtual ~SceneDataObjWithMatrix();
529
530
531
532 private:
533 VWTransformMatrix fMatrix;
534 SceneDataGroupObj* fInContainer;
535 SceneDataObjWithMatrix* fNextObj;
536
538 TXString fUnresolvedClass;
539
540 // Geometry stuff
541 SceneDataGeometryObjArray fGeometries;
542
543 SceneDataCustomCommandArray fCustomCommands;
544 SceneDataAlignmentArray fAlignments;
545 SceneDataOverwriteArray fOverwrites;
546
547 SceneDataConnectionObjArray fConnections;
548
549 public:
550 void GetTransformMatric(VWTransformMatrix& matrix) const;
551 void SetTransformMatrix(const VWTransformMatrix& matrix);
552
555 const TXString& GetUnresolvedClass() const;
556
559
562
563 SceneDataCustomCommandPtr AddCustomCommand(const TXString& channelFunction, bool isPercentage, double value);
565
566 SceneDataAlignmentPtr AddAlignment(const TXString& beamGeometry, const VWPoint3D& upVector, const VWPoint3D& direction);
568
569 SceneDataOverwritePtr AddOverwrite(const TXString& universal, const TXString& target);
571
572 SceneDataConnectionObjPtr AddConnectionObj(const TXString& own, const TXString& other, const SceneDataGUID toObject);
574
575
576 protected:
577 void ReadMatrixNodeValue(const IXMLFileNodePtr& pNode, VWPoint3D& inOutPoint);
578 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
579 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
580
581 };
583 typedef std::vector<SceneDataObjWithMatrixPtr> SceneDataObjWithMatrixArray;
584
585 // ----------------------------------------------------------------------------------------------------------------------------------
586 // SceneDataGroupObj
588 {
589
590 public:
591 SceneDataGroupObj(const SceneDataGUID& guid);
592 virtual ~SceneDataGroupObj();
593 private:
595
596 public:
599
601 virtual void PrintToFile(IXMLFileNodePtr pContainerNode, SceneDataExchange* exchange);
602 protected:
603 virtual TXString GetNodeName();
604 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
605
606 };
608
610 {
611 public:
612 SceneDataGeoInstanceObj(const SceneDataGUID& guid, bool isSymbol);
613 virtual ~SceneDataGeoInstanceObj();
614
615 private:
616 bool fIsSymbol;
617
618 public:
619 bool IsSymDef() const;
620
621
622
623 };
624
625
626 // ----------------------------------------------------------------------------------------------------------------------------------
627 // SceneDataGDTFSpecObj
629 {
630 public:
634
635
636 const TXString& GetGdtfFile() const;
637 void SetGDTFFile(const TXString& path);
638
639 const TXString& GetGdtfDmxMode() const;
640 void SetGdtfDmxMode(const TXString& path);
641
642 protected:
643 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
644 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
645
646 private:
647 TXString fGdtfFile;
648 TXString fGdtfDmxMode;
649 };
650
652
653 // ----------------------------------------------------------------------------------------------------------------------------------
654 // SceneDataGeometryObj
656 {
657
658 public:
661
662
663
664 private:
665 TXString fFileName;
666 TXString fFileFullPath;
667
668 public:
669 const TXString& GetFileName() const;
670 void SetFileName(const TXString& fileName);
672
673 public:
675
676 protected:
677 virtual TXString GetNodeName();
678
679 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
680 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
681
682 };
684
685 // ----------------------------------------------------------------------------------------------------------------------------------
686 // SceneDataLayerObj
688 {
689
690 public:
691 SceneDataLayerObj(const SceneDataGUID& guid);
692 virtual ~SceneDataLayerObj();
693
694 public:
695 void SetNextLayer(SceneDataLayerObj* nextLayer);
696
697 protected:
698 virtual TXString GetNodeName();
700 };
702
703
704 // ----------------------------------------------------------------------------------------------------------------------------------
705 // SceneDataFocusPointObj
707 {
708
709 public:
711 virtual ~SceneDataFocusPointObj();
712
713 protected:
714 virtual TXString GetNodeName();
716
717 };
719 typedef std::vector<SceneDataFocusPointObjPtr> SceneDataFocusPointObjArray;
720
721 // ----------------------------------------------------------------------------------------------------------------------------------
722 // SceneDataFixtureObj
724 {
725 SceneDataDmxAdress(size_t universe, size_t adress, size_t breakId);
726 SceneDataDmxAdress(size_t absuluteAdress, size_t breakId);
727
729 size_t fBreak;
730
731 size_t GetAdress() const;
732 size_t GetUniverse() const;
733 };
734 typedef std::vector<SceneDataDmxAdress> SceneDataAdressArray;
735
736
738 {
739
740 public:
742 virtual ~SceneDataFixtureObj();
743
744
745
746 private:
747 TXString fFunction;
748 TXString fGobo;
749 double fGoboRotation;
750 SceneDataFocusPointObjPtr fFocusPoint;
751 SceneDataPositionObjPtr fPosition;
752 SceneDataAdressArray fAdresses;
753 TXString fFixtureId;
754 Sint32 fUnitNumber;
755 CCieColor fColor;
756 Sint8 fFixtureTypeId;
757 size_t fCustomId;
758 bool fCastShadow;
759 SceneDataMappingObjArray fMappings;
760
761
762 // Reading Storage
763 private:
764 TXString fUnresolvedFocus;
765 TXString fUnresolvedPosition;
766 TXString fGoboFullPath;
767
768 public:
772
773 public:
774
775 const TXString& GetFunction();
778 const TXString& GetFixtureId();
782 size_t GetCustomId();
784 const TXString& GetGobo();
785 double GetGoboRotation();
786 bool GetCastShadow();
788
789 void SetFunction(const TXString& str);
792 void AddAdress(const SceneDataDmxAdress& adress);
793 void SetColor(const CCieColor& color);
794 void SetFixtureTypeId(const Sint8& value);
795 void SetCustomId(const size_t& value);
796 void SetFixtureId(const TXString& value);
797 void SetUnitNumber(Sint32 value);
798 void SetGobo(const TXString& value);
799 void SetGoboRotation(double value);
800 void SetCastShadow(bool value);
801 void AddMapping(SceneDataGUID mappingDefinitionUuid);
802
803 protected:
804 virtual TXString GetNodeName();
806 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
807 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
808
809 };
811 typedef std::vector<SceneDataFixtureObjPtr> SceneDataFixtureObjArray;
812
813 // ----------------------------------------------------------------------------------------------------------------------------------
814 // SceneDataSceneryObj
816 {
817
818 public:
820 virtual ~SceneDataSceneryObj();
821
822 private:
823 virtual TXString GetNodeName();
824 virtual ESceneDataObjectType GetObjectType();
825 };
827
828 // ----------------------------------------------------------------------------------------------------------------------------------
829 // SceneDataObjWithMatrix
831 {
832
833 public:
834 SceneDataTrussObj(const SceneDataGUID& guid);
835 virtual ~SceneDataTrussObj();
836
837 private:
838 virtual TXString GetNodeName();
839 virtual ESceneDataObjectType GetObjectType();
840
841 };
843
844
846 {
847
848 public:
850 virtual ~SceneDataSupportObj();
851
852 private:
853 virtual TXString GetNodeName();
854 virtual ESceneDataObjectType GetObjectType();
855
856 };
858
859
860 // ----------------------------------------------------------------------------------------------------------------------------------
861 // SceneDataVideoScreenObj
863 {
864
865 public:
867 virtual ~SceneDataVideoScreenObj();
868
869 private:
870 SceneDataSourceObjPtr fSource;
871
872 public:
874 virtual void SetVideoSource(const TXString& value, const TXString& linkedGeometry, GdtfDefines::ESourceType);
875
876 private:
877 virtual TXString GetNodeName();
878 virtual ESceneDataObjectType GetObjectType();
879 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
880 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
881
882 };
884
885 // ----------------------------------------------------------------------------------------------------------------------------------
886 // SceneDataProjectorObj
888 {
889
890 public:
892 virtual ~SceneDataProjectorObj();
893
894 private:
895 SceneDataSourceObjPtr fSource;
896 EScaleHandlingType fScaleHandling;
897
898 public:
901
902 virtual void SetVideoSource(const TXString& value, const TXString& linkedGeometry, GdtfDefines::ESourceType);
903 virtual void SetScaleHandling(GdtfDefines::EScaleHandlingType scaleHandling);
904
905 private:
906 virtual TXString GetNodeName();
907 virtual ESceneDataObjectType GetObjectType();
908 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
909 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
910
911 };
913
914 // ----------------------------------------------------------------------------------------------------------------------------------
915 // SceneDataSymbolObj
917 {
918
919 public:
921 virtual ~SceneDataSymbolObj();
922
923 private:
924 SceneDataSymDefObjPtr fSymDef;
925 TXString fUnresolvedSymDef;
926
927 public:
928 void SetSymDef(SceneDataSymDefObjPtr symDef);
930 const TXString& GetUnresolvedSymDef() const;
931
932
933 private:
934 virtual TXString GetNodeName();
935 virtual ESceneDataObjectType GetObjectType();
936 virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange* exchange);
937 virtual void OnReadFromNode(const IXMLFileNodePtr& pNode, SceneDataExchange* exchange);
938 };
940
941 // ----------------------------------------------------------------------------------------------------------------------------------
942 // SceneDataExchange
944 {
945
946 public:
949
950
951 private:
952 // ---------------------------------------------------------------------------------------------------------------------
953 // Database
954 SceneDataProviderObjArray fProviderObjs;
955 SceneDataAuxObjArray fAuxDataObjs;
957
958
959 // Arrays for eachobject type
960 SceneDataObjWithMatrixArray fSceneObjects;
961 SceneDataFocusPointObjArray fFocusPoints;
962 SceneDataPositionObjArray fPositions;
963 SceneDataFixtureObjArray fFixtures;
964 SceneDataClassObjArray fClasses;
965
966
967 // File Operation Handeling
968 IFolderIdentifierPtr fWorkingFolder;
969 bool fUndoStarted;
970 //
971 TFileIdentifierPtrArray f3DS_FilesToAdd;
972 TFileIdentifierPtrArray f3DSLow_FilesToAdd;
973 TFileIdentifierPtrArray f3DSHigh_FilesToAdd;
974 TFileIdentifierPtrArray fSVG_FilesToAdd;
975 TFileIdentifierPtrArray fSVGSide_FilesToAdd;
976 TFileIdentifierPtrArray fSVGFront_FilesToAdd;
977 TFileIdentifierPtrArray fGLTF_FilesToAdd;
978 TFileIdentifierPtrArray fGLTFLow_FilesToAdd;
979 TFileIdentifierPtrArray fGLTFHigh_FilesToAdd;
980 TFileIdentifierPtrArray fWheel_Image_FilesToAdd;
981 TFileIdentifierPtrArray fFixtureResources_FilesToAdd;
982
983 std::vector<std::pair<TXString, ISceneDataZipBuffer*> > fBuffersToAdd;
984 //
985 TFileIdentifierPtrArray fFilesInZip;
986 TXStringArray fRequiredGdtfFiles;
987 TFolderIdentifierArray fGdtfFolderLocations;
988
989 // Resolve map
990 TSymDefMap fSymDefMap;
991
992 //
993 size_t fCountExportedGeometryProviders;
994
995 //Duplicated Uuids flag
996 bool fDuplicatedUuids;
997
998 public:
999 // ---------------------------------------------------------------------------------------------------------------------
1000 // Database
1004
1006
1007 private:
1008 SceneDataSymDefObjPtr GetSymDefByUUID(const SceneDataGUID& guid);
1009
1010 public:
1011 // ---------------------------------------------------------------------------------------------------------------------
1012 // Export
1013 void InitializeForExport();
1014 void InitializeForImport();
1015 IFolderIdentifierPtr GetWorkingFolder() { return fWorkingFolder; }
1016
1017 // ---------------------------------------------------------------------------------------------------------------------
1018 // Create calls
1019 public:
1020 SceneDataProviderObjPtr CreateDataProviderObject(const TXString& provider, const TXString& version);
1026
1027
1030 SceneDataGroupObjPtr CreateGroupObject( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1031 SceneDataFixtureObjPtr CreateFixture( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1032 SceneDataSceneryObjPtr CreateSceneryObject(const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1033 SceneDataFocusPointObjPtr CreateFocusPoint( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1034 SceneDataTrussObjPtr CreateTruss( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1035 SceneDataSupportObjPtr CreateSupport( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1036 SceneDataVideoScreenObjPtr CreateVideoScreen( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1037 SceneDataProjectorObjPtr CreateProjector( const SceneDataGUID& guid, const VWTransformMatrix& offset, const TXString& name, SceneDataGroupObjPtr addToContainer);
1038
1039
1040 // ---------------------------------------------------------------------------------------------------------------------
1041 // Read calls
1042 private:
1043 SceneDataProviderObjPtr ReadDataProviderObject( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1044 SceneDataPositionObjPtr ReadPositionObject( const IXMLFileNodePtr& node);
1045 SceneDataSymDefObjPtr ReadSymDefObject( const IXMLFileNodePtr& node);
1046 SceneDataClassObjPtr ReadClassObject( const IXMLFileNodePtr& node);
1047 SceneDataMappingDefinitionObjPtr ReadMappingDefinitionObject(const IXMLFileNodePtr& node);
1048
1049
1050 SceneDataLayerObjPtr ReadLayerObject( const SceneDataGUID& guid,const IXMLFileNodePtr& node);
1051 SceneDataGroupObjPtr ReadGroupObject( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1052 SceneDataFixtureObjPtr ReadFixture( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1053 SceneDataSceneryObjPtr ReadSceneryObject( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1054 SceneDataFocusPointObjPtr ReadFocusPoint( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1055 SceneDataTrussObjPtr ReadTruss( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1056 SceneDataSupportObjPtr ReadSupport( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1057 SceneDataVideoScreenObjPtr ReadVideoScreen( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1058 SceneDataProjectorObjPtr ReadProjector( const SceneDataGUID& guid,const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1059
1060 private:
1061
1062
1063 // ---------------------------------------------------------------------------------------------------------------------
1064 // Write calls
1065 public:
1066 bool WriteToFile(const IFileIdentifierPtr&);
1067 bool AddNeededGdtfFile(const TXString& gdtfName);
1068 void AddFileToZip(const IFileIdentifierPtr& file, ERessourceType resType);
1069 void AddBufferToZip(const TXString& fileName, ISceneDataZipBuffer* buffer);
1071
1072 private:
1073
1074 bool WriteXml(const IFolderIdentifierPtr& folder , IXMLFileIOBufferImpl& outBuffer);
1075
1076
1077
1078 // ---------------------------------------------------------------------------------------------------------------------
1079 // Read calls
1080 public:
1081 bool ReadFromFile(const IFileIdentifierPtr&);
1082
1083 size_t GetAttachedFileCount();
1084 bool GetAttachedFileCountAt(size_t at, IFileIdentifierPtr& outFile);
1085
1086 bool GetDuplicatedUuids() const;
1087
1088 private:
1089 void ReadFromGeneralSceneDescription(ISceneDataZipBuffer& xmlFile);
1090 void ProcessLayer(const IXMLFileNodePtr& node);
1091 void ReadChildObjs(const IXMLFileNodePtr & node, SceneDataGroupObjPtr addToContainer);
1092 SceneDataGroupObjPtr ProcessGroup(const IXMLFileNodePtr& node, SceneDataGroupObjPtr addToContainer);
1093
1094
1095
1096 };
1097
1098
1099}
int8_t Sint8
Definition GSTypes.h:34
int32_t Sint32
Definition GSTypes.h:36
uint32_t Uint32
Definition GSTypes.h:27
Definition XmlFileHelper.h:13
Definition XmlFileHelper.h:34
Definition SceneDataExchange.h:415
virtual ~SceneDataAlignment()
Definition SceneDataExchange.cpp:1219
virtual const TXString & GetBeamGeometry()
Definition SceneDataExchange.cpp:1224
virtual const VWPoint3D & GetUpVector()
Definition SceneDataExchange.cpp:1229
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1265
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1275
SceneDataAlignment()
Definition SceneDataExchange.cpp:1204
virtual void SetBeamGeometry(const TXString &beamGeometry)
Definition SceneDataExchange.cpp:1239
virtual void SetUpVector(double x, double y, double z)
Definition SceneDataExchange.cpp:1244
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1254
virtual const VWPoint3D & GetDirection()
Definition SceneDataExchange.cpp:1234
virtual void SetDirection(double x, double y, double z)
Definition SceneDataExchange.cpp:1249
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1280
Definition SceneDataExchange.h:183
virtual ~SceneDataAuxObj()
Definition SceneDataExchange.cpp:430
Definition SceneDataExchange.h:245
virtual ~SceneDataClassObj()
Definition SceneDataExchange.cpp:570
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:582
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:575
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:590
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:595
Definition SceneDataExchange.h:482
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1077
virtual void SetOwn(TXString &own)
Definition SceneDataExchange.cpp:1056
virtual void SetOther(TXString &other)
Definition SceneDataExchange.cpp:1065
virtual TXString & GetOwn()
Definition SceneDataExchange.cpp:1051
virtual void SetToObject(SceneDataGUID uuid)
Definition SceneDataExchange.cpp:1047
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1069
SceneDataConnectionObj()
Definition SceneDataExchange.cpp:1025
virtual TXString & GetOther()
Definition SceneDataExchange.cpp:1060
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1088
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1073
virtual SceneDataGUID & GetToObject()
Definition SceneDataExchange.cpp:1041
virtual ~SceneDataConnectionObj()
Definition SceneDataExchange.cpp:1037
Definition SceneDataExchange.h:380
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1197
virtual void SetChannelFunction(const TXString &channelFunction)
Definition SceneDataExchange.cpp:1137
virtual void SetValue(double value)
Definition SceneDataExchange.cpp:1147
virtual ~SceneDataCustomCommand()
Definition SceneDataExchange.cpp:1117
virtual bool IsPercentage()
Definition SceneDataExchange.cpp:1127
SceneDataCustomCommand()
Definition SceneDataExchange.cpp:1102
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1152
virtual double GetValue()
Definition SceneDataExchange.cpp:1132
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1192
virtual const TXString & GetChannelFunction()
Definition SceneDataExchange.cpp:1122
virtual void SetIsPercentage(bool isPercentage)
Definition SceneDataExchange.cpp:1142
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1165
Definition SceneDataExchange.h:944
SceneDataClassObjPtr CreateClassObject(const SceneDataGUID &guid, const TXString &name)
Definition SceneDataExchange.cpp:2901
bool AddNeededGdtfFile(const TXString &gdtfName)
Definition SceneDataExchange.cpp:3468
void AddLocationForGdtfFiles(IFolderIdentifierPtr folder)
Definition SceneDataExchange.cpp:3484
SceneDataFixtureObjPtr CreateFixture(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3015
SceneDataFocusPointObjPtr CreateFocusPoint(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3079
IFolderIdentifierPtr GetWorkingFolder()
Definition SceneDataExchange.h:1015
void InitializeForImport()
Definition SceneDataExchange.cpp:2714
SceneDataSymDefObjPtr CreateSymDefObject(const SceneDataGUID &guid, const TXString &name)
Definition SceneDataExchange.cpp:2767
SceneDataObjWithMatrixArray & GetChildObjects()
Definition SceneDataExchange.cpp:2734
SceneDataProviderObjArray & GetProviderObjects()
Definition SceneDataExchange.cpp:2724
void AddBufferToZip(const TXString &fileName, ISceneDataZipBuffer *buffer)
Definition SceneDataExchange.cpp:3912
SceneDataSceneryObjPtr CreateSceneryObject(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3053
SceneDataSymbolObjPtr CreateSymbol(const SceneDataGUID &guid, const VWTransformMatrix &offset, SceneDataSymDefObjPtr symDef)
Definition SceneDataExchange.cpp:3241
bool WriteToFile(const IFileIdentifierPtr &)
Definition SceneDataExchange.cpp:3251
SceneDataTrussObjPtr CreateTruss(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3141
SceneDataGroupObjPtr CreateGroupObject(const SceneDataGUID &guid, const VWTransformMatrix &offset, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:2987
SceneDataVideoScreenObjPtr CreateVideoScreen(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3191
SceneDataPositionObjPtr CreatePositionObject(const SceneDataGUID &guid, const TXString &name)
Definition SceneDataExchange.cpp:2846
SceneDataSupportObjPtr CreateSupport(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3166
SceneDataObjWithMatrixArray & GetSceneDataObjects()
Definition SceneDataExchange.cpp:2739
bool GetDuplicatedUuids() const
Definition SceneDataExchange.cpp:3930
SceneDataAuxObjArray & GetAuxDataObjects()
Definition SceneDataExchange.cpp:2729
void InitializeForExport()
Definition SceneDataExchange.cpp:2710
bool ReadFromFile(const IFileIdentifierPtr &)
Definition SceneDataExchange.cpp:3490
SceneDataExchange()
Definition SceneDataExchange.cpp:2670
void AddFileToZip(const IFileIdentifierPtr &file, ERessourceType resType)
Definition SceneDataExchange.cpp:3892
~SceneDataExchange()
Definition SceneDataExchange.cpp:2695
SceneDataMappingDefinitionObjPtr CreateMappingDefinitionObject(const SceneDataGUID &guid, const TXString &name)
Definition SceneDataExchange.cpp:2954
SceneDataProviderObjPtr CreateDataProviderObject(const TXString &provider, const TXString &version)
Definition SceneDataExchange.cpp:2759
size_t GetAttachedFileCount()
Definition SceneDataExchange.cpp:3917
SceneDataLayerObjPtr CreateLayerObject(const SceneDataGUID &guid, const TXString &name)
Definition SceneDataExchange.cpp:2801
SceneDataProjectorObjPtr CreateProjector(const SceneDataGUID &guid, const VWTransformMatrix &offset, const TXString &name, SceneDataGroupObjPtr addToContainer)
Definition SceneDataExchange.cpp:3216
bool GetAttachedFileCountAt(size_t at, IFileIdentifierPtr &outFile)
Definition SceneDataExchange.cpp:3922
Definition SceneDataExchange.h:738
const TXString & GetGobo()
Definition SceneDataExchange.cpp:1895
void SetGoboRotation(double value)
Definition SceneDataExchange.cpp:1995
void SetFocusPoint(SceneDataFocusPointObjPtr ptr)
Definition SceneDataExchange.cpp:1956
void SetFunction(const TXString &str)
Definition SceneDataExchange.cpp:1865
void SetCastShadow(bool value)
Definition SceneDataExchange.cpp:2010
TXString GetUnresolvedPositionUUID()
Definition SceneDataExchange.cpp:1845
CCieColor GetColor()
Definition SceneDataExchange.cpp:1880
size_t GetCustomId()
Definition SceneDataExchange.cpp:1890
void SetCustomId(const size_t &value)
Definition SceneDataExchange.cpp:2000
void AddAdress(const SceneDataDmxAdress &adress)
Definition SceneDataExchange.cpp:1962
void SetGobo(const TXString &value)
Definition SceneDataExchange.cpp:1990
void SetFixtureId(const TXString &value)
Definition SceneDataExchange.cpp:1980
Sint8 GetFixtureTypeId()
Definition SceneDataExchange.cpp:1885
void SetColor(const CCieColor &color)
Definition SceneDataExchange.cpp:1975
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1945
void SetUnitNumber(Sint32 value)
Definition SceneDataExchange.cpp:1985
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1940
bool GetCastShadow()
Definition SceneDataExchange.cpp:1925
const TXString & GetFixtureId()
Definition SceneDataExchange.cpp:1860
const TXString & GetFunction()
Definition SceneDataExchange.cpp:1870
virtual ~SceneDataFixtureObj()
Definition SceneDataExchange.cpp:1832
TXString GetUnresolvedFocusUUID()
Definition SceneDataExchange.cpp:1840
Sint32 GetUnitNumber()
Definition SceneDataExchange.cpp:1875
void AddMapping(SceneDataGUID mappingDefinitionUuid)
Definition SceneDataExchange.cpp:2015
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:2020
SceneDataFocusPointObjPtr GetFocusPoint()
Definition SceneDataExchange.cpp:1850
void SetFixtureTypeId(const Sint8 &value)
Definition SceneDataExchange.cpp:2005
const SceneDataAdressArray & GetAdressesArray()
Definition SceneDataExchange.cpp:1935
SceneDataMappingObjArray GetMappingsArray()
Definition SceneDataExchange.cpp:1930
SceneDataPositionObjPtr GetPosition()
Definition SceneDataExchange.cpp:1855
double GetGoboRotation()
Definition SceneDataExchange.cpp:1920
const TXString & GetGoboFullPath(SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1900
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:2149
void SetPosition(SceneDataPositionObjPtr ptr)
Definition SceneDataExchange.cpp:1950
Definition SceneDataExchange.h:707
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:2375
virtual ~SceneDataFocusPointObj()
Definition SceneDataExchange.cpp:2370
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:2380
Definition SceneDataExchange.h:629
const TXString & GetGdtfFile() const
Definition SceneDataExchange.cpp:132
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:111
void SetGdtfDmxMode(const TXString &path)
Definition SceneDataExchange.cpp:147
const TXString & GetGdtfDmxMode() const
Definition SceneDataExchange.cpp:142
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:89
~SceneDataGDTFSpecObj()
Definition SceneDataExchange.cpp:84
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:127
void SetGDTFFile(const TXString &path)
Definition SceneDataExchange.cpp:137
Definition SceneDataExchange.h:76
~SceneDataGUID()
Definition SceneDataExchange.cpp:36
bool operator==(const SceneDataGUID &uuid)
Definition SceneDataExchange.cpp:68
const VWFC::Tools::VWUUID & GetUuidObj() const
Definition SceneDataExchange.cpp:57
ESceneDataGUIDType GetType() const
Definition SceneDataExchange.cpp:41
TXString GetUUIDString() const
Definition SceneDataExchange.cpp:46
Definition SceneDataExchange.h:610
bool IsSymDef() const
Definition SceneDataExchange.cpp:1751
virtual ~SceneDataGeoInstanceObj()
Definition SceneDataExchange.cpp:1746
Definition SceneDataExchange.h:656
const TXString & GetFileName() const
Definition SceneDataExchange.cpp:164
~SceneDataGeometryObj()
Definition SceneDataExchange.cpp:159
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:205
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:192
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:184
SceneDataGeometryObj()
Definition SceneDataExchange.cpp:154
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:200
const TXString & GetFileFullPath(SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:169
void SetFileName(const TXString &fileName)
Definition SceneDataExchange.cpp:179
Definition SceneDataExchange.h:588
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:2317
bool AddObject(SceneDataObjWithMatrixPtr obj)
Definition SceneDataExchange.cpp:2282
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:2322
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:2302
const SceneDataObjWithMatrixArray & GetChildArray() const
Definition SceneDataExchange.cpp:2277
virtual ~SceneDataGroupObj()
Definition SceneDataExchange.cpp:2272
virtual void PrintToFile(IXMLFileNodePtr pContainerNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:2307
Definition SceneDataExchange.h:688
void SetNextLayer(SceneDataLayerObj *nextLayer)
Definition SceneDataExchange.cpp:1768
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1774
virtual ~SceneDataLayerObj()
Definition SceneDataExchange.cpp:1763
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1779
Definition SceneDataExchange.h:299
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:788
virtual Uint32 GetSizeX()
Definition SceneDataExchange.cpp:712
virtual ~SceneDataMappingDefinitionObj()
Definition SceneDataExchange.cpp:707
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:831
virtual void SetScaleHandling(GdtfDefines::EScaleHandlingType scaleHandling)
Definition SceneDataExchange.cpp:756
virtual void SetSource(const TXString &value, const TXString &linkedGeometry, GdtfDefines::ESourceType)
Definition SceneDataExchange.cpp:742
virtual SceneDataSourceObjPtr GetSource()
Definition SceneDataExchange.cpp:722
virtual Uint32 GetSizeY()
Definition SceneDataExchange.cpp:717
virtual void SetSizeY(Uint32 sizeY)
Definition SceneDataExchange.cpp:737
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:761
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:836
virtual void SetSizeX(Uint32 sizeX)
Definition SceneDataExchange.cpp:732
virtual EScaleHandlingType GetScaleHandling()
Definition SceneDataExchange.cpp:727
Definition SceneDataExchange.h:336
virtual Uint32 GetUy()
Definition SceneDataExchange.cpp:870
virtual void SetLinkedDefUuid(const SceneDataGUID &linkedDefUuid)
Definition SceneDataExchange.cpp:890
virtual double GetRz()
Definition SceneDataExchange.cpp:885
virtual void SetOy(Uint32 value)
Definition SceneDataExchange.cpp:910
virtual void SetOx(Uint32 value)
Definition SceneDataExchange.cpp:905
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:921
virtual Uint32 GetOy()
Definition SceneDataExchange.cpp:880
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:962
SceneDataMappingObj()
Definition SceneDataExchange.cpp:843
virtual Uint32 GetUx()
Definition SceneDataExchange.cpp:865
virtual Uint32 GetOx()
Definition SceneDataExchange.cpp:875
virtual void SetUx(Uint32 value)
Definition SceneDataExchange.cpp:895
virtual void SetUy(Uint32 value)
Definition SceneDataExchange.cpp:900
virtual ~SceneDataMappingObj()
Definition SceneDataExchange.cpp:855
virtual SceneDataGUID GetLinkedDefUuid()
Definition SceneDataExchange.cpp:860
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1017
virtual void SetRz(double value)
Definition SceneDataExchange.cpp:915
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1012
Definition SceneDataExchange.h:103
virtual void PrintToFile(IXMLFileNodePtr pContainerNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:237
const TXString & getName() const
Definition SceneDataExchange.cpp:227
void ReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:268
virtual ~SceneDataObj()
Definition SceneDataExchange.cpp:217
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:281
virtual TXString GetNodeName()=0
SceneDataGUID & getGuid()
Definition SceneDataExchange.cpp:222
void setName(const TXString &value)
Definition SceneDataExchange.cpp:232
virtual ESceneDataObjectType GetObjectType()=0
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:250
Definition SceneDataExchange.h:523
SceneDataObjWithMatrix * GetNextObject() const
Definition SceneDataExchange.cpp:1466
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1471
SceneDataOverwritePtr AddOverwrite(const TXString &universal, const TXString &target)
Definition SceneDataExchange.cpp:1449
const SceneDataGeometryObjArray & GetGeometryArr() const
Definition SceneDataExchange.cpp:1401
const SceneDataCustomCommandArray & GetCustomCommandArray() const
Definition SceneDataExchange.cpp:1432
const SceneDataOverwriteArray & GetOverwriteArray() const
Definition SceneDataExchange.cpp:1456
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1565
SceneDataAlignmentPtr AddAlignment(const TXString &beamGeometry, const VWPoint3D &upVector, const VWPoint3D &direction)
Definition SceneDataExchange.cpp:1437
void SetClass(SceneDataClassObjPtr clas)
Definition SceneDataExchange.cpp:1391
virtual ~SceneDataObjWithMatrix()
Definition SceneDataExchange.cpp:1366
void SetTransformMatrix(const VWTransformMatrix &matrix)
Definition SceneDataExchange.cpp:1381
SceneDataGroupObj * GetContainer() const
Definition SceneDataExchange.cpp:1461
SceneDataConnectionObjPtr AddConnectionObj(const TXString &own, const TXString &other, const SceneDataGUID toObject)
Definition SceneDataExchange.cpp:1417
SceneDataClassObjPtr GetClass() const
Definition SceneDataExchange.cpp:1386
const SceneDataAlignmentArray & GetAlignmentArray() const
Definition SceneDataExchange.cpp:1444
void GetTransformMatric(VWTransformMatrix &matrix) const
Definition SceneDataExchange.cpp:1376
const TXString & GetUnresolvedClass() const
Definition SceneDataExchange.cpp:1396
const SceneDataConnectionObjArray & GetConnectionArr() const
Definition SceneDataExchange.cpp:1412
void ReadMatrixNodeValue(const IXMLFileNodePtr &pNode, VWPoint3D &inOutPoint)
Definition SceneDataExchange.cpp:1690
void AddGeometryObj(SceneDataGeoInstanceObjPtr object)
Definition SceneDataExchange.cpp:1406
SceneDataCustomCommandPtr AddCustomCommand(const TXString &channelFunction, bool isPercentage, double value)
Definition SceneDataExchange.cpp:1425
Definition SceneDataExchange.h:450
virtual const TXString & GetUniversal()
Definition SceneDataExchange.cpp:1304
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1334
virtual const TXString & GetTarget()
Definition SceneDataExchange.cpp:1309
virtual void SetTarget(const TXString &target)
Definition SceneDataExchange.cpp:1319
virtual void SetUniversal(const TXString &universal)
Definition SceneDataExchange.cpp:1314
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:1348
virtual ~SceneDataOverwrite()
Definition SceneDataExchange.cpp:1299
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:1324
SceneDataOverwrite()
Definition SceneDataExchange.cpp:1287
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:1343
Definition SceneDataExchange.h:226
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:553
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:538
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:558
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:545
virtual ~SceneDataPositionObj()
Definition SceneDataExchange.cpp:533
Definition SceneDataExchange.h:888
virtual ~SceneDataProjectorObj()
Definition SceneDataExchange.cpp:2512
virtual EScaleHandlingType GetScaleHandling()
Definition SceneDataExchange.cpp:2522
virtual SceneDataSourceObjPtr GetVideoSource()
Definition SceneDataExchange.cpp:2517
virtual void SetScaleHandling(GdtfDefines::EScaleHandlingType scaleHandling)
Definition SceneDataExchange.cpp:2541
virtual void SetVideoSource(const TXString &value, const TXString &linkedGeometry, GdtfDefines::ESourceType)
Definition SceneDataExchange.cpp:2527
Definition SceneDataExchange.h:141
virtual ~SceneDataProviderObj()
Definition SceneDataExchange.cpp:303
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:376
size_t GetEntryCount()
Definition SceneDataExchange.cpp:398
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:337
virtual void OnPrintToFile(IXMLFileNodePtr pNod, SceneDataExchange *exchangee)
Definition SceneDataExchange.cpp:308
TXString & GetKeyAt(size_t at)
Definition SceneDataExchange.cpp:403
SceneDataProviderObj()
Definition SceneDataExchange.cpp:297
const TXString & GetVersion()
Definition SceneDataExchange.cpp:381
const TXString & GetProvider()
Definition SceneDataExchange.cpp:386
void AddEntry(const TXString &key, const TXString &value)
Definition SceneDataExchange.cpp:391
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:371
TXString & GetValueAt(size_t at)
Definition SceneDataExchange.cpp:413
Definition SceneDataExchange.h:816
virtual ~SceneDataSceneryObj()
Definition SceneDataExchange.cpp:2348
Definition SceneDataExchange.h:264
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:684
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:679
virtual void SetValue(TXString value)
Definition SceneDataExchange.cpp:634
virtual void SetType(GdtfDefines::ESourceType)
Definition SceneDataExchange.cpp:644
virtual ESourceType GetType()
Definition SceneDataExchange.cpp:629
virtual void SetLinkedGeometry(TXString linkedGeometry)
Definition SceneDataExchange.cpp:639
virtual ~SceneDataSourceObj()
Definition SceneDataExchange.cpp:614
virtual const TXString & GetLinkedGeometry()
Definition SceneDataExchange.cpp:624
virtual const TXString & GetValue()
Definition SceneDataExchange.cpp:619
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:649
SceneDataSourceObj()
Definition SceneDataExchange.cpp:602
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:665
Definition SceneDataExchange.h:846
virtual ~SceneDataSupportObj()
Definition SceneDataExchange.cpp:2412
Definition SceneDataExchange.h:199
virtual void OnPrintToFile(IXMLFileNodePtr pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:447
const SceneDataGeometryObjArray & getGeometryArray() const
Definition SceneDataExchange.cpp:507
virtual TXString GetNodeName()
Definition SceneDataExchange.cpp:497
virtual ~SceneDataSymDefObj()
Definition SceneDataExchange.cpp:442
virtual void OnReadFromNode(const IXMLFileNodePtr &pNode, SceneDataExchange *exchange)
Definition SceneDataExchange.cpp:465
void Add(SceneDataGeoInstanceObjPtr object)
Definition SceneDataExchange.cpp:512
virtual ESceneDataObjectType GetObjectType()
Definition SceneDataExchange.cpp:502
Definition SceneDataExchange.h:917
void SetSymDef(SceneDataSymDefObjPtr symDef)
Definition SceneDataExchange.cpp:2653
virtual ~SceneDataSymbolObj()
Definition SceneDataExchange.cpp:2621
const TXString & GetUnresolvedSymDef() const
Definition SceneDataExchange.cpp:2663
SceneDataSymDefObjPtr GetSymDef()
Definition SceneDataExchange.cpp:2658
Definition SceneDataExchange.h:831
virtual ~SceneDataTrussObj()
Definition SceneDataExchange.cpp:2392
Definition SceneDataExchange.h:863
virtual SceneDataSourceObjPtr GetVideoSource()
Definition SceneDataExchange.cpp:2440
virtual ~SceneDataVideoScreenObj()
Definition SceneDataExchange.cpp:2435
virtual void SetVideoSource(const TXString &value, const TXString &linkedGeometry, GdtfDefines::ESourceType)
Definition SceneDataExchange.cpp:2445
Definition CieColor.h:11
Definition GSString.h:134
Definition VectorworksMVR.h:149
Definition VWPoint3D.h:19
Definition VWTransformMatrix.h:16
Definition GDTFManager.h:19
std::vector< IFolderIdentifierPtr > TFolderIdentifierArray
Definition SceneDataExchange.h:28
SceneDataProjectorObj * SceneDataProjectorObjPtr
Definition SceneDataExchange.h:912
SceneDataGeoInstanceObj * SceneDataGeoInstanceObjPtr
Definition SceneDataExchange.h:25
std::vector< SceneDataClassObjPtr > SceneDataClassObjArray
Definition SceneDataExchange.h:259
std::vector< SceneDataSymDefObjPtr > SceneDataSymDefObjArray
Definition SceneDataExchange.h:220
std::vector< SceneDataOverwritePtr > SceneDataOverwriteArray
Definition SceneDataExchange.h:477
std::vector< SceneDataCustomCommandPtr > SceneDataCustomCommandArray
Definition SceneDataExchange.h:410
SceneDataLayerObj * SceneDataLayerObjPtr
Definition SceneDataExchange.h:701
SceneDataSourceObj * SceneDataSourceObjPtr
Definition SceneDataExchange.h:293
SceneDataProviderObj * SceneDataProviderObjPtr
Definition SceneDataExchange.h:176
std::vector< SceneDataDmxAdress > SceneDataAdressArray
Definition SceneDataExchange.h:734
std::vector< SceneDataConnectionObjPtr > SceneDataConnectionObjArray
Definition SceneDataExchange.h:515
SceneDataObj * SceneDataObjPtr
Definition SceneDataExchange.h:136
SceneDataMappingObj * SceneDataMappingObjPtr
Definition SceneDataExchange.h:374
SceneDataOverwrite * SceneDataOverwritePtr
Definition SceneDataExchange.h:476
SceneDataGDTFSpecObj * SceneDataGDTFSpecObjPtr
Definition SceneDataExchange.h:651
SceneDataSceneryObj * SceneDataSceneryObjPtr
Definition SceneDataExchange.h:826
SceneDataTrussObj * SceneDataTrussObjPtr
Definition SceneDataExchange.h:842
std::vector< SceneDataFocusPointObjPtr > SceneDataFocusPointObjArray
Definition SceneDataExchange.h:719
std::vector< SceneDataPositionObjPtr > SceneDataPositionObjArray
Definition SceneDataExchange.h:240
std::vector< SceneDataMappingObjPtr > SceneDataMappingObjArray
Definition SceneDataExchange.h:375
std::vector< SceneDataObjWithMatrixPtr > SceneDataObjWithMatrixArray
Definition SceneDataExchange.h:583
std::vector< SceneDataAuxObjPtr > SceneDataAuxObjArray
Definition SceneDataExchange.h:193
ESceneDataGUIDType
Definition SceneDataExchange.h:32
@ ePlaceHolder
Definition SceneDataExchange.h:33
@ eNormal
Definition SceneDataExchange.h:34
@ eNoGuid
Definition SceneDataExchange.h:35
SceneDataGeometryObj * SceneDataGeometryObjPtr
Definition SceneDataExchange.h:683
std::vector< SceneDataSourceObjPtr > SceneDataSourceObjArray
Definition SceneDataExchange.h:294
ESceneDataObjectType
Definition SceneDataExchange.h:39
@ eGroup
Definition SceneDataExchange.h:42
@ eConnectionObject
Definition SceneDataExchange.h:59
@ eSupport
Definition SceneDataExchange.h:49
@ eSymDef
Definition SceneDataExchange.h:50
@ eProjector
Definition SceneDataExchange.h:48
@ eTruss
Definition SceneDataExchange.h:46
@ eSymbol
Definition SceneDataExchange.h:43
@ eClassObject
Definition SceneDataExchange.h:54
@ eAlignment
Definition SceneDataExchange.h:60
@ eGeometryObj
Definition SceneDataExchange.h:53
@ eCustomCommand
Definition SceneDataExchange.h:58
@ eSceneDataMVRSpecObj
Definition SceneDataExchange.h:62
@ eFixture
Definition SceneDataExchange.h:40
@ eVideoScreen
Definition SceneDataExchange.h:47
@ eMappingDefinitionObject
Definition SceneDataExchange.h:56
@ ePosition
Definition SceneDataExchange.h:52
@ eSceneObject
Definition SceneDataExchange.h:44
@ eLayer
Definition SceneDataExchange.h:41
@ eOverwrite
Definition SceneDataExchange.h:61
@ eFocusPoint
Definition SceneDataExchange.h:45
@ eSourceObject
Definition SceneDataExchange.h:55
@ eProviderObj
Definition SceneDataExchange.h:51
@ eMappingObject
Definition SceneDataExchange.h:57
std::unordered_map< TXString, SceneDataSymDefObj * > TSymDefMap
Definition SceneDataExchange.h:29
SceneDataMappingDefinitionObj * SceneDataMappingDefinitionObjPtr
Definition SceneDataExchange.h:330
SceneDataAuxObj * SceneDataAuxObjPtr
Definition SceneDataExchange.h:192
SceneDataConnectionObj * SceneDataConnectionObjPtr
Definition SceneDataExchange.h:514
ESearchUuidIn
Definition SceneDataExchange.h:66
SceneDataGroupObj * SceneDataGroupObjPtr
Definition SceneDataExchange.h:607
std::vector< SceneDataFixtureObjPtr > SceneDataFixtureObjArray
Definition SceneDataExchange.h:811
SceneDataSupportObj * SceneDataSupportObjPtr
Definition SceneDataExchange.h:857
SceneDataFixtureObj * SceneDataFixtureObjPtr
Definition SceneDataExchange.h:810
SceneDataVideoScreenObj * SceneDataVideoScreenObjPtr
Definition SceneDataExchange.h:883
SceneDataCustomCommand * SceneDataCustomCommandPtr
Definition SceneDataExchange.h:409
SceneDataSymbolObj * SceneDataSymbolObjPtr
Definition SceneDataExchange.h:939
SceneDataPositionObj * SceneDataPositionObjPtr
Definition SceneDataExchange.h:239
std::vector< SceneDataProviderObjPtr > SceneDataProviderObjArray
Definition SceneDataExchange.h:177
SceneDataObjWithMatrix * SceneDataObjWithMatrixPtr
Definition SceneDataExchange.h:582
SceneDataAlignment * SceneDataAlignmentPtr
Definition SceneDataExchange.h:444
SceneDataClassObj * SceneDataClassObjPtr
Definition SceneDataExchange.h:258
std::vector< SceneDataGeoInstanceObjPtr > SceneDataGeometryObjArray
Definition SceneDataExchange.h:26
std::vector< IFileIdentifierPtr > TFileIdentifierPtrArray
Definition SceneDataExchange.h:27
SceneDataSymDefObj * SceneDataSymDefObjPtr
Definition SceneDataExchange.h:219
std::vector< SceneDataAlignmentPtr > SceneDataAlignmentArray
Definition SceneDataExchange.h:445
SceneDataFocusPointObj * SceneDataFocusPointObjPtr
Definition SceneDataExchange.h:718
std::vector< SceneDataMappingDefinitionObjPtr > SceneDataMappingDefinitionObjArray
Definition SceneDataExchange.h:331
Definition IFileIdentifier.h:15
ERessourceType
Definition GDTFPrefix.h:20
ESourceType
Definition GDTFPrefix.h:646
EScaleHandlingType
Definition GDTFPrefix.h:654
Definition UUID.h:12
std::vector< TXString > TXStringArray
Definition GSString.h:547
Definition SceneDataExchange.h:724
size_t GetUniverse() const
Definition SceneDataExchange.cpp:1811
size_t fAbsuluteAdress
Definition SceneDataExchange.h:728
size_t fBreak
Definition SceneDataExchange.h:729
size_t GetAdress() const
Definition SceneDataExchange.cpp:1802