libMVRgdtf e5d999f
A library for GDTF and MVR
Loading...
Searching...
No Matches
CMediaRessourceVectorImpl.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2//----- Copyright MVR Group
3//-----------------------------------------------------------------------------
4#pragma once
5
6#include "SceneDataExchange.h"
8#include "CPositionImpl.h"
11#include "CSceneObjImpl.h"
12#include "CSymDefImpl.h"
13#include "CClassImpl.h"
14
15#include "CSourceImpl.h"
16#include "CMappingImpl.h"
17
18namespace VectorworksMVR
19{
20 class CMediaRessourceVectorImpl : public VCOMImpl<IMediaRessourceVectorInterface>
21 {
22 public:
25
26 private:
27 SceneData::SceneDataExchange* GetExchangeObj();
28
29 private:
32 bool fWriteMode;
33 bool fReadMode;
34
35 // This array is just to store the additional file path
36 TXStringArray fullPathStorage;
37
38
39 //----------------------------------------------------------------------------------------
40 // methods to write a file
41 public:
42 // Call this at the start of generating a MVR file
46 virtual VCOMError VCOM_CALLTYPE AddBufferToMvrFile(MvrString filename, char* buffer, size_t length);
47 virtual VCOMError VCOM_CALLTYPE AddProviderAndProviderVersion( MvrString provider, MvrString providerVersion );
48
49 // After this you can generate Aux Objects
50 virtual VCOMError VCOM_CALLTYPE CreateDataProviderObject( MvrString provider, MvrString version, ISceneDataProvider** outSceneDataProvider);
51 virtual VCOMError VCOM_CALLTYPE CreatePositionObject( const MvrUUID& guid, MvrString name, IPosition** outPositionObj);
52 virtual VCOMError VCOM_CALLTYPE CreateSymDefObject( const MvrUUID& guid, MvrString name, ISymDef** outSymDef);
53 virtual VCOMError VCOM_CALLTYPE CreateClassObject( const MvrUUID& guid, MvrString name, IClass** outclass);
55
56
57 // Then you can generate all other objects
58 virtual VCOMError VCOM_CALLTYPE CreateLayerObject( const MvrUUID& guid, MvrString name, ISceneObj** outLayerObj);
59 virtual VCOMError VCOM_CALLTYPE CreateGroupObject( const MvrUUID& guid, const STransformMatrix& offset, ISceneObj* addToContainer, ISceneObj** outGroupObj);
60 virtual VCOMError VCOM_CALLTYPE CreateGroupObject( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outGroupObj);
61 virtual VCOMError VCOM_CALLTYPE CreateFixture( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outFixture);
62 virtual VCOMError VCOM_CALLTYPE CreateSceneObject( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outSceneObj);
63 virtual VCOMError VCOM_CALLTYPE CreateFocusPoint( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outFocusPoint);
64 virtual VCOMError VCOM_CALLTYPE CreateTruss( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outTruss);
65 virtual VCOMError VCOM_CALLTYPE CreateSupport( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outSupport);
66 virtual VCOMError VCOM_CALLTYPE CreateVideoScreen( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outVideoScreen);
67 virtual VCOMError VCOM_CALLTYPE CreateProjector( const MvrUUID& guid, const STransformMatrix& offset, MvrString name, ISceneObj* addToContainer, ISceneObj** outProjector);
68
69 // Add the end call to write the file to disk
71
72
73 //----------------------------------------------------------------------------------------
74 // methods to read a file
75 public:
76 // Call this at the start of generating a MVR file
78
79 //Feedback and Abort Callbacks
80 virtual VCOMError VCOM_CALLTYPE SetAbortCallback( const std::function<void( bool& )>& cb );
81
82 // Get data provider objs
83 virtual VCOMError VCOM_CALLTYPE GetDataProviderObjectCount(size_t& outCount);
84 virtual VCOMError VCOM_CALLTYPE GetDataProviderObjectAt(size_t at, ISceneDataProvider** outSceneDataProvider );
85
86 // Get data position objs
87 virtual VCOMError VCOM_CALLTYPE GetPositionObjectCount(size_t& outCount);
88 virtual VCOMError VCOM_CALLTYPE GetPositionObjectAt(size_t at, IPosition** outPosition);
89
90 // Get SymDef objs
91 virtual VCOMError VCOM_CALLTYPE GetSymDefCount(size_t& outCount);
92 virtual VCOMError VCOM_CALLTYPE GetSymDefAt(size_t at, ISymDef** outSymDef);
93
94 // Get Class objs
95 virtual VCOMError VCOM_CALLTYPE GetClassCount(size_t& outCount);
96 virtual VCOMError VCOM_CALLTYPE GetClassAt(size_t at, IClass** outClass);
97
98 // Get MappingDefinition objs
99 virtual VCOMError VCOM_CALLTYPE GetMappingDefinitionCount(size_t& outCount);
101
102 // Get File Traversel
103 virtual VCOMError VCOM_CALLTYPE GetAttachedFileCount(size_t& outCount);
105
106
107 // Traversel call for object tree
108 virtual VCOMError VCOM_CALLTYPE GetFirstLayer(ISceneObj** firstLayer );
109 virtual VCOMError VCOM_CALLTYPE GetFirstChild(ISceneObj* container, ISceneObj** outChild);
110 virtual VCOMError VCOM_CALLTYPE GetNextObject(ISceneObj* object, ISceneObj** outNextObj);
111
112 virtual VCOMError VCOM_CALLTYPE GetSceneObjectCount(size_t& countObjects );
113
114 // Check for duplicated uuids
115 virtual VCOMError VCOM_CALLTYPE GetDuplicatedUuids(bool& outDuplicated);
116
117 // Get MVR File Version
118 virtual VCOMError VCOM_CALLTYPE GetMVRVersion( Sint32& major, Sint32& minor );
119
120 // Get latest MVR supported version
122
123 // Get latest GDTF supported version
125
126 // Returns the version of the library used to create the MVR/GDTF files
127 virtual VCOMError VCOM_CALLTYPE GetLibVersion( size_t& major, size_t& minor );
128 };
129}
int32_t Sint32
Definition GSTypes.h:36
const char * MvrString
Definition IMediaRessourceVectorInterface.h:16
#define VCOM_CALLTYPE
Definition VectorworksMVR.h:93
Definition SceneDataExchange.h:970
virtual VCOMError VCOM_CALLTYPE CreateSymDefObject(const MvrUUID &guid, MvrString name, ISymDef **outSymDef)
Definition CMediaRessourceVectorImpl.cpp:190
virtual VCOMError VCOM_CALLTYPE GetFirstChild(ISceneObj *container, ISceneObj **outChild)
Definition CMediaRessourceVectorImpl.cpp:1352
virtual VCOMError VCOM_CALLTYPE GetPositionObjectCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1080
virtual VCOMError VCOM_CALLTYPE GetPositionObjectAt(size_t at, IPosition **outPosition)
Definition CMediaRessourceVectorImpl.cpp:1087
virtual VCOMError VCOM_CALLTYPE GetClassCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1198
virtual VCOMError VCOM_CALLTYPE CreateSupport(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outSupport)
Definition CMediaRessourceVectorImpl.cpp:775
virtual VCOMError VCOM_CALLTYPE CreateProjector(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outProjector)
Definition CMediaRessourceVectorImpl.cpp:912
virtual VCOMError VCOM_CALLTYPE AddFileToMvrFile(MvrString fullPath)
Definition CMediaRessourceVectorImpl.cpp:26
virtual VCOMError VCOM_CALLTYPE CreateFocusPoint(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outFocusPoint)
Definition CMediaRessourceVectorImpl.cpp:639
virtual VCOMError VCOM_CALLTYPE OpenForRead(MvrString fullPath)
Definition CMediaRessourceVectorImpl.cpp:999
virtual MvrString VCOM_CALLTYPE GetAttachedFileCountAt(size_t at)
Definition CMediaRessourceVectorImpl.cpp:1500
virtual VCOMError VCOM_CALLTYPE GetLatestMVRSupoortedVersion(Sint32 &major, Sint32 &minor)
Definition CMediaRessourceVectorImpl.cpp:1541
virtual VCOMError VCOM_CALLTYPE GetDataProviderObjectCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1025
virtual VCOMError VCOM_CALLTYPE CreateSceneObject(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outSceneObj)
Definition CMediaRessourceVectorImpl.cpp:573
virtual VCOMError VCOM_CALLTYPE SetAbortCallback(const std::function< void(bool &)> &cb)
Definition CMediaRessourceVectorImpl.cpp:1524
virtual VCOMError VCOM_CALLTYPE GetSymDefAt(size_t at, ISymDef **outSymDef)
Definition CMediaRessourceVectorImpl.cpp:1142
virtual VCOMError VCOM_CALLTYPE CreateGroupObject(const MvrUUID &guid, const STransformMatrix &offset, ISceneObj *addToContainer, ISceneObj **outGroupObj)
Definition CMediaRessourceVectorImpl.cpp:372
virtual VCOMError VCOM_CALLTYPE CreateDataProviderObject(MvrString provider, MvrString version, ISceneDataProvider **outSceneDataProvider)
Definition CMediaRessourceVectorImpl.cpp:103
virtual VCOMError VCOM_CALLTYPE AddBufferToMvrFile(MvrString filename, char *buffer, size_t length)
Definition CMediaRessourceVectorImpl.cpp:46
virtual VCOMError VCOM_CALLTYPE GetLatestGDTFSupoortedVersion(Sint32 &major, Sint32 &minor)
Definition CMediaRessourceVectorImpl.cpp:1549
virtual VCOMError VCOM_CALLTYPE OpenForWrite(MvrString fullPath)
Definition CMediaRessourceVectorImpl.cpp:87
virtual VCOMError VCOM_CALLTYPE GetClassAt(size_t at, IClass **outClass)
Definition CMediaRessourceVectorImpl.cpp:1205
virtual VCOMError VCOM_CALLTYPE GetFirstLayer(ISceneObj **firstLayer)
Definition CMediaRessourceVectorImpl.cpp:1308
virtual VCOMError VCOM_CALLTYPE GetNextObject(ISceneObj *object, ISceneObj **outNextObj)
Definition CMediaRessourceVectorImpl.cpp:1426
CMediaRessourceVectorImpl()
Definition CMediaRessourceVectorImpl.cpp:10
virtual VCOMError VCOM_CALLTYPE AddGdtfFolderLocation(MvrString fullPathToFolder)
Definition CMediaRessourceVectorImpl.cpp:63
virtual VCOMError VCOM_CALLTYPE GetMVRVersion(Sint32 &major, Sint32 &minor)
Definition CMediaRessourceVectorImpl.cpp:1533
virtual VCOMError VCOM_CALLTYPE CreateLayerObject(const MvrUUID &guid, MvrString name, ISceneObj **outLayerObj)
Definition CMediaRessourceVectorImpl.cpp:328
virtual VCOMError VCOM_CALLTYPE GetAttachedFileCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1492
virtual VCOMError VCOM_CALLTYPE CreateTruss(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outTruss)
Definition CMediaRessourceVectorImpl.cpp:706
virtual VCOMError VCOM_CALLTYPE CreateFixture(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outFixture)
Definition CMediaRessourceVectorImpl.cpp:504
virtual VCOMError VCOM_CALLTYPE GetSceneObjectCount(size_t &countObjects)
Definition CMediaRessourceVectorImpl.cpp:1512
virtual VCOMError VCOM_CALLTYPE GetLibVersion(size_t &major, size_t &minor)
Definition CMediaRessourceVectorImpl.cpp:1557
virtual VCOMError VCOM_CALLTYPE CreatePositionObject(const MvrUUID &guid, MvrString name, IPosition **outPositionObj)
Definition CMediaRessourceVectorImpl.cpp:145
virtual VCOMError VCOM_CALLTYPE GetSymDefCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1135
virtual VCOMError VCOM_CALLTYPE GetDuplicatedUuids(bool &outDuplicated)
Definition CMediaRessourceVectorImpl.cpp:1518
virtual VCOMError VCOM_CALLTYPE AddProviderAndProviderVersion(MvrString provider, MvrString providerVersion)
Definition CMediaRessourceVectorImpl.cpp:76
virtual ~CMediaRessourceVectorImpl()
Definition CMediaRessourceVectorImpl.cpp:17
virtual VCOMError VCOM_CALLTYPE CreateClassObject(const MvrUUID &guid, MvrString name, IClass **outclass)
Definition CMediaRessourceVectorImpl.cpp:238
virtual VCOMError VCOM_CALLTYPE GetMappingDefinitionAt(size_t at, IMappingDefinition **outMapDef)
Definition CMediaRessourceVectorImpl.cpp:1260
virtual VCOMError VCOM_CALLTYPE CreateVideoScreen(const MvrUUID &guid, const STransformMatrix &offset, MvrString name, ISceneObj *addToContainer, ISceneObj **outVideoScreen)
Definition CMediaRessourceVectorImpl.cpp:844
virtual VCOMError VCOM_CALLTYPE GetMappingDefinitionCount(size_t &outCount)
Definition CMediaRessourceVectorImpl.cpp:1253
virtual VCOMError VCOM_CALLTYPE GetDataProviderObjectAt(size_t at, ISceneDataProvider **outSceneDataProvider)
Definition CMediaRessourceVectorImpl.cpp:1031
virtual VCOMError VCOM_CALLTYPE Close()
Definition CMediaRessourceVectorImpl.cpp:979
virtual VCOMError VCOM_CALLTYPE CreateMappingDefinitionObject(const MvrUUID &guid, MvrString name, IMappingDefinition **outMapDef)
Definition CMediaRessourceVectorImpl.cpp:283
Definition IMediaRessourceVectorInterface.h:166
Definition IMediaRessourceVectorInterface.h:220
Definition IMediaRessourceVectorInterface.h:157
Definition IMediaRessourceVectorInterface.h:143
Definition IMediaRessourceVectorInterface.h:333
Definition IMediaRessourceVectorInterface.h:188
VCOMPtr< IFileIdentifier > IFileIdentifierPtr
Definition IFileIdentifier.h:51
Definition CieColor.h:9
std::vector< TXString > TXStringArray
Definition GSString.h:545
uint32_t VCOMError
Definition VectorworksMVR.h:119
Definition IMediaRessourceVectorInterface.h:73
Definition IMediaRessourceVectorInterface.h:23