libMVRgdtf e5d999f
A library for GDTF and MVR
Loading...
Searching...
No Matches
CGdtfFixture.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2//----- Copyright MVR Group
3//-----------------------------------------------------------------------------
4#pragma once
5
7#include "GDTFManager.h"
9#include <utility>
10
11
12namespace VectorworksMVR
13{
14 //----------------------------------------------------------------------------------------
15 class CGdtfFixtureImpl : public VCOMImpl<IGdtfFixture>
16 {
17 public:
19 virtual ~CGdtfFixtureImpl();
20
22
23 virtual VCOMError VCOM_CALLTYPE OpenForWrite(MvrString fullPath, MvrString name, MvrString manufacturer, const MvrUUID& uuid);
24 virtual VCOMError VCOM_CALLTYPE OpenForWrite(MvrString name, MvrString manufacturer, const MvrUUID& uuid);
25
26 virtual VCOMError VCOM_CALLTYPE AddFileToGdtfFile(MvrString fullPath, ERessourceType resType, MvrString newFileName = "");
27 virtual VCOMError VCOM_CALLTYPE AddBufferToGdtfFile(MvrString filename, const char* inBuffer, size_t length, GdtfDefines::ERessourceType resType);
29
30 virtual VCOMError VCOM_CALLTYPE GetGDTFVersion( Sint32& major, Sint32& minor );
31
38
42
45
48
51
52
58
59
60 virtual VCOMError VCOM_CALLTYPE GetActivationGroupCount(size_t& count);
61 virtual VCOMError VCOM_CALLTYPE GetActivationGroupAt(size_t at, IGdtfActivationGroup** activationGroup);
63
64 virtual VCOMError VCOM_CALLTYPE GetFeatureGroupCount(size_t& count);
65 virtual VCOMError VCOM_CALLTYPE GetFeatureGroupAt(size_t at, IGdtfFeatureGroup** featureGroup );
66 virtual VCOMError VCOM_CALLTYPE CreateFeatureGroup(MvrString name, MvrString prettyName, IGdtfFeatureGroup** featureGroup );
67
68 virtual VCOMError VCOM_CALLTYPE GetAttributeCount(size_t& count);
69 virtual VCOMError VCOM_CALLTYPE GetAttributeAt(size_t at, IGdtfAttribute** attribute);
70 virtual VCOMError VCOM_CALLTYPE CreateAttribute(MvrString name, MvrString prettyName, IGdtfAttribute** attribute);
71
72 virtual VCOMError VCOM_CALLTYPE GetWheelCount(size_t& count);
73 virtual VCOMError VCOM_CALLTYPE GetWheelAt(size_t at, IGdtfWheel** wheel );
75
76 virtual VCOMError VCOM_CALLTYPE GetModelCount(size_t& count);
77 virtual VCOMError VCOM_CALLTYPE GetModelAt(size_t at, IGdtfModel** model );
79
80 virtual VCOMError VCOM_CALLTYPE GetGeometryCount(size_t& count);
81 virtual VCOMError VCOM_CALLTYPE GetGeometryAt(size_t at, IGdtfGeometry** geometry);
83
84 virtual VCOMError VCOM_CALLTYPE GetDmxModeCount(size_t& count);
85 virtual VCOMError VCOM_CALLTYPE GetDmxModeAt(size_t at, IGdtfDmxMode** dmxMode );
87
88 virtual VCOMError VCOM_CALLTYPE GetRevisionCount(size_t& count);
89 virtual VCOMError VCOM_CALLTYPE GetRevisionAt(size_t at, IGdtfRevision** revision );
90 virtual VCOMError VCOM_CALLTYPE CreateRevision(MvrString text, STime date, IGdtfRevision** revision);
91
92 virtual VCOMError VCOM_CALLTYPE GetPresetCount(size_t& count);
93 virtual VCOMError VCOM_CALLTYPE GetPresetAt(size_t at, IGdtfUserPreset** preset );
95
96 // Protocols
97 virtual VCOMError VCOM_CALLTYPE GetRDM(IGdtf_FTRDM ** newFTRDM);
99
102
105
106 // PhysicalDescriptions
108
112
113 virtual VCOMError VCOM_CALLTYPE GetGamutCount(size_t& count);
116
117 virtual VCOMError VCOM_CALLTYPE GetEmitterCount(size_t& count);
120
121 virtual VCOMError VCOM_CALLTYPE GetFilterCount(size_t& count);
124
125 virtual VCOMError VCOM_CALLTYPE GetDMXProfileCount(size_t& count);
128
129 virtual VCOMError VCOM_CALLTYPE GetCRIGroupCount(size_t& count);
130 virtual VCOMError VCOM_CALLTYPE CreateCRIGroup(double colorTemp, VectorworksMVR::IGdtfCRIGroup** outVal);
132 //-----------------------------------------------------------------------------
133
134 // Parsing Errors
135 virtual VCOMError VCOM_CALLTYPE GetParsingErrorCount(size_t& count);
137
138 //Internal
140
141 virtual VCOMError VCOM_CALLTYPE GetImageRessourcesCount(size_t& count);
143
144 //-----------------------------------------------------------------------------
145 // BufferWorkflow
146 virtual VCOMError VCOM_CALLTYPE GetBufferLength(size_t& length);
147 virtual VCOMError VCOM_CALLTYPE ToBuffer(char* outBuffer);
148 virtual VCOMError VCOM_CALLTYPE FromBuffer(const char* buffer, size_t length);
149 virtual VCOMError VCOM_CALLTYPE FromBufferInternal(const char* buffer, size_t length, TXString gdtfFileName);
150
151
153
154 //Feedback and Abort Callbacks
155 virtual VCOMError VCOM_CALLTYPE SetAbortCallback( const std::function<void( bool& )>& cb );
156 virtual VCOMError VCOM_CALLTYPE SetFeedbackCallback(std::function<void(const FixtureFeedback&)> cb, void* context);
157
158 private:
159 void FreeBuffer();
160
161 // GDTF 1.1
162 virtual VCOMError VCOM_CALLTYPE GetCanHaveChildren(bool& value);
163 virtual VCOMError VCOM_CALLTYPE SetCanHaveChildren(bool value);
164
165 virtual VCOMError VCOM_CALLTYPE VCOM_CALLTYPE GetConnectorCount(size_t& count);
166 virtual VCOMError VCOM_CALLTYPE VCOM_CALLTYPE CreateConnector(MvrString name, MvrString type, VectorworksMVR::IGdtfConnector** outVal);
167 virtual VCOMError VCOM_CALLTYPE VCOM_CALLTYPE GetConnectorAt(size_t at, VectorworksMVR::IGdtfConnector** value);
168
169 virtual VCOMError VCOM_CALLTYPE GetOperatingTemperatureLow(double& value);
170 virtual VCOMError VCOM_CALLTYPE SetOperatingTemperatureLow(double value);
171
172 virtual VCOMError VCOM_CALLTYPE GetOperatingTemperatureHigh(double& value);
173 virtual VCOMError VCOM_CALLTYPE SetOperatingTemperatureHigh(double value);
174
175 virtual VCOMError VCOM_CALLTYPE GetWeight(double& value);
176 virtual VCOMError VCOM_CALLTYPE SetWeight(double value);
177
178 virtual VCOMError VCOM_CALLTYPE GetLegHeight(double& value);
179 virtual VCOMError VCOM_CALLTYPE SetLegHeight(double value);
180
181 private:
182 SceneData::GdtfFixture* fFixtureObject;
183 IZIPFilePtr fZipFile;
184 std::vector<std::pair<TXString, CZIPFileIOBufferImpl*>> fBuffersAdded;
185
186 char* fBuffer = nullptr;
187 size_t fBufferLength;
188
189 };
190
191
192}
int32_t Sint32
Definition GSTypes.h:36
const char * MvrString
Definition IMediaRessourceVectorInterface.h:16
#define VCOM_CALLTYPE
Definition VectorworksMVR.h:93
Definition GDTFManager.h:2750
virtual VCOMError VCOM_CALLTYPE CreateRevision(MvrString text, STime date, IGdtfRevision **revision)
Definition CGdtfFixture.cpp:1249
virtual VCOMError VCOM_CALLTYPE GetThumbnailOffsetX(Sint32 &offsetX)
Definition CGdtfFixture.cpp:338
virtual VCOMError VCOM_CALLTYPE GetGDTFVersion(Sint32 &major, Sint32 &minor)
Definition CGdtfFixture.cpp:222
virtual MvrString VCOM_CALLTYPE GetName()
Definition CGdtfFixture.cpp:243
virtual VCOMError VCOM_CALLTYPE CreateEmitter(MvrString name, CieColor color, VectorworksMVR::IGdtfPhysicalEmitter **outVal)
Definition CGdtfFixture.cpp:1971
virtual VCOMError VCOM_CALLTYPE GetWheelAt(size_t at, IGdtfWheel **wheel)
Definition CGdtfFixture.cpp:746
virtual VCOMError VCOM_CALLTYPE SetFeedbackCallback(std::function< void(const FixtureFeedback &)> cb, void *context)
Definition CGdtfFixture.cpp:2701
virtual VCOMError VCOM_CALLTYPE CreateActivationGroup(MvrString name, IGdtfActivationGroup **activationGroup)
Definition CGdtfFixture.cpp:482
virtual VCOMError VCOM_CALLTYPE OpenForWrite(MvrString fullPath, MvrString name, MvrString manufacturer, const MvrUUID &uuid)
Definition CGdtfFixture.cpp:60
virtual MvrString VCOM_CALLTYPE GetLongName()
Definition CGdtfFixture.cpp:257
virtual VCOMError VCOM_CALLTYPE HasLinkedFixtureGUID(bool &has)
Definition CGdtfFixture.cpp:305
virtual VCOMError VCOM_CALLTYPE SetLongName(MvrString longname)
Definition CGdtfFixture.cpp:395
virtual VCOMError VCOM_CALLTYPE GetWheelCount(size_t &count)
Definition CGdtfFixture.cpp:737
virtual VCOMError VCOM_CALLTYPE GetEmitterAt(size_t at, VectorworksMVR::IGdtfPhysicalEmitter **value)
Definition CGdtfFixture.cpp:1923
CGdtfFixtureImpl()
Definition CGdtfFixture.cpp:34
virtual VCOMError VCOM_CALLTYPE GetParsingErrorCount(size_t &count)
Definition CGdtfFixture.cpp:2328
virtual VCOMError VCOM_CALLTYPE GetActivationGroupCount(size_t &count)
Definition CGdtfFixture.cpp:426
virtual VCOMError VCOM_CALLTYPE GetParsingErrorAt(size_t at, IGdtfXmlParsingError **value)
Definition CGdtfFixture.cpp:2338
virtual VCOMError VCOM_CALLTYPE CreateSACN(IGdtfSACN **sACN)
Definition CGdtfFixture.cpp:1618
virtual VCOMError VCOM_CALLTYPE GetModelAt(size_t at, IGdtfModel **model)
Definition CGdtfFixture.cpp:849
virtual VCOMError VCOM_CALLTYPE SetShortName(MvrString shortName)
Definition CGdtfFixture.cpp:384
virtual VCOMError VCOM_CALLTYPE CreateCRIGroup(double colorTemp, VectorworksMVR::IGdtfCRIGroup **outVal)
Definition CGdtfFixture.cpp:2284
virtual MvrString VCOM_CALLTYPE GetImageRessourcesPathAt(size_t at)
Definition CGdtfFixture.cpp:2394
virtual VCOMError VCOM_CALLTYPE ReadFromFile(MvrString fullPath)
Definition CGdtfFixture.cpp:49
virtual ~CGdtfFixtureImpl()
Definition CGdtfFixture.cpp:41
virtual VCOMError VCOM_CALLTYPE GetDMXProfileCount(size_t &count)
Definition CGdtfFixture.cpp:2122
virtual VCOMError VCOM_CALLTYPE GetSACN(IGdtfSACN **sACN)
Definition CGdtfFixture.cpp:1574
virtual VCOMError VCOM_CALLTYPE GetBufferLength(size_t &length)
Definition CGdtfFixture.cpp:2409
virtual VCOMError VCOM_CALLTYPE GetFeatureGroupCount(size_t &count)
Definition CGdtfFixture.cpp:529
virtual VCOMError VCOM_CALLTYPE CreateRDM(VectorworksMVR::IGdtf_FTRDM **outFTRDM)
Definition CGdtfFixture.cpp:1441
virtual VCOMError VCOM_CALLTYPE GetCRIGroupCount(size_t &count)
Definition CGdtfFixture.cpp:2225
virtual VCOMError VCOM_CALLTYPE FromBufferInternal(const char *buffer, size_t length, TXString gdtfFileName)
Definition CGdtfFixture.cpp:2429
virtual VCOMError VCOM_CALLTYPE GetLinkedFixtureGUID(MvrUUID &uuid)
Definition CGdtfFixture.cpp:287
virtual VCOMError VCOM_CALLTYPE SetThumbnailOffsetX(Sint32 offsetX)
Definition CGdtfFixture.cpp:347
virtual VCOMError GetColorSpace(VectorworksMVR::IGdtfColorSpace **outColorSpace)
Definition CGdtfFixture.cpp:1662
virtual MvrString VCOM_CALLTYPE GetFixtureThumbnail()
Definition CGdtfFixture.cpp:314
virtual VCOMError VCOM_CALLTYPE CreateWheel(MvrString name, IGdtfWheel **wheel)
Definition CGdtfFixture.cpp:794
virtual VCOMError VCOM_CALLTYPE GetGamutCount(size_t &count)
Definition CGdtfFixture.cpp:1810
virtual VCOMError VCOM_CALLTYPE CreateAttribute(MvrString name, MvrString prettyName, IGdtfAttribute **attribute)
Definition CGdtfFixture.cpp:690
virtual VCOMError VCOM_CALLTYPE CreateDMXProfile(VectorworksMVR::IGdtfDMXProfile **outVal)
Definition CGdtfFixture.cpp:2181
virtual VCOMError VCOM_CALLTYPE GetFixtureGUID(MvrUUID &uuid)
Definition CGdtfFixture.cpp:278
virtual VCOMError VCOM_CALLTYPE GetEmitterCount(size_t &count)
Definition CGdtfFixture.cpp:1913
virtual VCOMError VCOM_CALLTYPE CreateGeometry(EGdtfObjectType type, MvrString name, IGdtfModel *model, const STransformMatrix &mat, IGdtfGeometry **geometry)
Definition CGdtfFixture.cpp:1000
virtual VCOMError VCOM_CALLTYPE RefreshBuffer()
Definition CGdtfFixture.cpp:2456
virtual MvrString VCOM_CALLTYPE GetManufacturer()
Definition CGdtfFixture.cpp:264
virtual VCOMError VCOM_CALLTYPE GetPresetAt(size_t at, IGdtfUserPreset **preset)
Definition CGdtfFixture.cpp:1304
virtual VCOMError VCOM_CALLTYPE GetRDM(IGdtf_FTRDM **newFTRDM)
Definition CGdtfFixture.cpp:1396
virtual MvrString VCOM_CALLTYPE GetFixtureThumbnail_PNG_FullPath()
Definition CGdtfFixture.cpp:322
virtual VCOMError VCOM_CALLTYPE GetArtNet(IGdtfArtNet **artNet)
Definition CGdtfFixture.cpp:1485
virtual VCOMError VCOM_CALLTYPE GetGeometryCount(size_t &count)
Definition CGdtfFixture.cpp:943
virtual VCOMError VCOM_CALLTYPE SetFixtureTypeDescription(MvrString descrip)
Definition CGdtfFixture.cpp:374
virtual VCOMError VCOM_CALLTYPE GetAttributeCount(size_t &count)
Definition CGdtfFixture.cpp:633
virtual VCOMError VCOM_CALLTYPE GetDmxModeCount(size_t &count)
Definition CGdtfFixture.cpp:1089
virtual VCOMError VCOM_CALLTYPE GetActivationGroupAt(size_t at, IGdtfActivationGroup **activationGroup)
Definition CGdtfFixture.cpp:435
virtual VCOMError VCOM_CALLTYPE GetDMXProfileAt(size_t at, VectorworksMVR::IGdtfDMXProfile **value)
Definition CGdtfFixture.cpp:2132
virtual VCOMError VCOM_CALLTYPE GetRevisionAt(size_t at, IGdtfRevision **revision)
Definition CGdtfFixture.cpp:1201
virtual VCOMError VCOM_CALLTYPE GetDmxModeAt(size_t at, IGdtfDmxMode **dmxMode)
Definition CGdtfFixture.cpp:1098
virtual VCOMError VCOM_CALLTYPE GetAdditionalColorSpaceAt(size_t at, VectorworksMVR::IGdtfColorSpace **value)
Definition CGdtfFixture.cpp:1716
virtual VCOMError VCOM_CALLTYPE GetModelCount(size_t &count)
Definition CGdtfFixture.cpp:840
virtual VCOMError VCOM_CALLTYPE GetThumbnailOffsetY(Sint32 &offsetY)
Definition CGdtfFixture.cpp:356
virtual VCOMError VCOM_CALLTYPE GetPresetCount(size_t &count)
Definition CGdtfFixture.cpp:1295
virtual VCOMError VCOM_CALLTYPE CreateArtNet(IGdtfArtNet **artNet)
Definition CGdtfFixture.cpp:1530
virtual VCOMError VCOM_CALLTYPE CreateGamut(MvrString name, CieColor color, VectorworksMVR::IGdtfGamut **outVal)
Definition CGdtfFixture.cpp:1865
virtual VCOMError VCOM_CALLTYPE GetFeatureGroupAt(size_t at, IGdtfFeatureGroup **featureGroup)
Definition CGdtfFixture.cpp:538
virtual VCOMError VCOM_CALLTYPE Close()
Definition CGdtfFixture.cpp:183
virtual VCOMError VCOM_CALLTYPE SetFixtureThumbnail(MvrString thubnail)
Definition CGdtfFixture.cpp:406
virtual VCOMError VCOM_CALLTYPE GetFilterCount(size_t &count)
Definition CGdtfFixture.cpp:2017
virtual VCOMError VCOM_CALLTYPE FromBuffer(const char *buffer, size_t length)
Definition CGdtfFixture.cpp:2424
virtual VCOMError VCOM_CALLTYPE GetGamutAt(size_t at, VectorworksMVR::IGdtfGamut **value)
Definition CGdtfFixture.cpp:1819
virtual VCOMError VCOM_CALLTYPE SetThumbnailOffsetY(Sint32 offsetY)
Definition CGdtfFixture.cpp:365
virtual VCOMError VCOM_CALLTYPE AddFileToGdtfFile(MvrString fullPath, ERessourceType resType, MvrString newFileName="")
Definition CGdtfFixture.cpp:133
virtual VCOMError VCOM_CALLTYPE GetGeometryAt(size_t at, IGdtfGeometry **geometry)
Definition CGdtfFixture.cpp:952
virtual MvrString VCOM_CALLTYPE GetShortName()
Definition CGdtfFixture.cpp:250
virtual VCOMError VCOM_CALLTYPE GetImageRessourcesCount(size_t &count)
Definition CGdtfFixture.cpp:2385
virtual VCOMError VCOM_CALLTYPE ToBuffer(char *outBuffer)
Definition CGdtfFixture.cpp:2416
virtual VCOMError VCOM_CALLTYPE GetRevisionCount(size_t &count)
Definition CGdtfFixture.cpp:1192
virtual VCOMError VCOM_CALLTYPE AddBufferToGdtfFile(MvrString filename, const char *inBuffer, size_t length, GdtfDefines::ERessourceType resType)
Definition CGdtfFixture.cpp:164
virtual VCOMError VCOM_CALLTYPE GetCRIGroupAt(size_t at, VectorworksMVR::IGdtfCRIGroup **value)
Definition CGdtfFixture.cpp:2235
virtual VCOMError VCOM_CALLTYPE GetFilterAt(size_t at, VectorworksMVR::IGdtfFilter **value)
Definition CGdtfFixture.cpp:2027
virtual VCOMError VCOM_CALLTYPE GetAdditionalColorSpaceCount(size_t &count)
Definition CGdtfFixture.cpp:1707
virtual VCOMError VCOM_CALLTYPE CreateModel(MvrString name, IGdtfModel **model)
Definition CGdtfFixture.cpp:897
virtual MvrString VCOM_CALLTYPE GetFixtureTypeDescription()
Definition CGdtfFixture.cpp:271
virtual VCOMError VCOM_CALLTYPE CreateDmxMode(MvrString name, IGdtfDmxMode **dmxMode)
Definition CGdtfFixture.cpp:1146
virtual VCOMError VCOM_CALLTYPE CreateFilter(MvrString name, CieColor color, VectorworksMVR::IGdtfFilter **outVal)
Definition CGdtfFixture.cpp:2076
virtual VCOMError VCOM_CALLTYPE CreatePreset(IGdtfUserPreset **macro)
Definition CGdtfFixture.cpp:1352
virtual VCOMError VCOM_CALLTYPE CreateAdditionalColorSpace(MvrString name, GdtfDefines::EGdtfColorSpace colorSpace, VectorworksMVR::IGdtfColorSpace **outVal)
Definition CGdtfFixture.cpp:1763
virtual VCOMError VCOM_CALLTYPE SetLinkedFixtureGUID(const MvrUUID &uuid)
Definition CGdtfFixture.cpp:416
virtual VCOMError VCOM_CALLTYPE GetAttributeAt(size_t at, IGdtfAttribute **attribute)
Definition CGdtfFixture.cpp:642
virtual MvrString VCOM_CALLTYPE GetFixtureThumbnail_SVG_FullPath()
Definition CGdtfFixture.cpp:330
virtual VCOMError VCOM_CALLTYPE SetAbortCallback(const std::function< void(bool &)> &cb)
Definition CGdtfFixture.cpp:2691
virtual VCOMError VCOM_CALLTYPE CreateFeatureGroup(MvrString name, MvrString prettyName, IGdtfFeatureGroup **featureGroup)
Definition CGdtfFixture.cpp:586
Definition IMediaRessourceVectorInterface.h:1723
Definition IMediaRessourceVectorInterface.h:532
Definition IMediaRessourceVectorInterface.h:1756
Definition IMediaRessourceVectorInterface.h:597
Definition IMediaRessourceVectorInterface.h:1485
Definition IMediaRessourceVectorInterface.h:1429
Definition IMediaRessourceVectorInterface.h:1540
Definition IMediaRessourceVectorInterface.h:1523
Definition IMediaRessourceVectorInterface.h:1292
Definition IMediaRessourceVectorInterface.h:560
Definition IMediaRessourceVectorInterface.h:1388
Definition IMediaRessourceVectorInterface.h:1455
Definition IMediaRessourceVectorInterface.h:803
Definition IMediaRessourceVectorInterface.h:705
Definition IMediaRessourceVectorInterface.h:1407
Definition IMediaRessourceVectorInterface.h:1326
Definition IMediaRessourceVectorInterface.h:1768
Definition IMediaRessourceVectorInterface.h:1345
Definition IMediaRessourceVectorInterface.h:691
Definition IMediaRessourceVectorInterface.h:1813
Definition GSString.h:132
VCOMPtr< IFileIdentifier > IFileIdentifierPtr
Definition IFileIdentifier.h:51
VCOMPtr< IZIPFile > IZIPFilePtr
Definition IZIPFile.h:81
ERessourceType
Definition GDTFPrefix.h:20
EGdtfColorSpace
Definition GDTFPrefix.h:631
EGdtfObjectType
Definition GDTFPrefix.h:35
Definition CieColor.h:9
uint32_t VCOMError
Definition VectorworksMVR.h:119
Definition IMediaRessourceVectorInterface.h:52
Definition IMediaRessourceVectorInterface.h:107
Definition IMediaRessourceVectorInterface.h:73
Definition IMediaRessourceVectorInterface.h:36
Definition IMediaRessourceVectorInterface.h:23