CFx SDK Documentation  2020SP3
TrVisIdMap.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 // GLES2 Id mapping
24 
25 #ifndef ODTRVISREGENTRY
26 #define ODTRVISREGENTRY
27 
28 #include "TD_PackPush.h"
29 
30 #include "TrVisRendition.h"
31 
32 class OdGsFiler;
33 
37 class OdTrVisIdMap : public OdRxObject
38 {
39  public:
40  static const OdChar* getClassName();
41  static void attachToFiler(OdGsFiler *pFiler);
43  static void detachFromFiler(OdGsFiler *pFiler);
44 
45  // Id Maps accessors
46 
47  virtual void add(OdTrVisRendition::DataType type, OdTrVisId nPrev, OdTrVisId nNew) = 0;
48  virtual void kill(OdTrVisRendition::DataType type, OdTrVisId nPrev) = 0;
49 
51  virtual void clear() = 0;
52 
53  virtual OdTrVisId get(OdTrVisRendition::DataType type, OdTrVisId nPrev, bool *bRes = NULL) const = 0;
54  virtual bool get(OdTrVisRendition::DataType type, OdTrVisId nPrev, OdTrVisId &nNew) const = 0;
55 
56  virtual OdTrVisId longSearch(OdTrVisRendition::DataType type, OdTrVisId nNew, bool *bRes = NULL) const = 0;
57  virtual bool longSearch(OdTrVisRendition::DataType type, OdTrVisId nNew, OdTrVisId &nPrev) const = 0;
58 
60  virtual const void *getEntry(OdTrVisRendition::DataType type, const void *pIndex, OdTrVisId &nPrev, OdTrVisId &nNew) const = 0;
61 
62  // Resource data accessors
63 
65  {
66  public:
67  virtual bool getResourceData(OdTrVisId resourceId, void *pDataStorage) = 0;
68  };
69 
72 
74  virtual void clearDataAccessors() = 0;
75 
77  virtual void clearAll() = 0;
78 
80  virtual bool dataAccess(OdTrVisRendition::DataType type, OdTrVisId resourceId, void *pDataStorage) const = 0;
81 
82  // Texture data accessor
83 
85  {
86  public:
88  {
89  return getResourceData(textureId, &pDef);
90  }
91  };
92 
94  {
95  return static_cast<TextureDataAccessor*>(getDataAccessor(OdTrVisRendition::kTextureData, textureId));
96  }
98  {
99  return dataAccess(OdTrVisRendition::kTextureData, textureId, &pDef);
100  }
101 };
102 
103 // OdGsFiler helpers
104 // for OdTrVisRendition::ClientSettings
107 // for OdTrVisSurfaceDef
111 // for OdTrVisViewParamsDef
115 // for OdTrVisViewportDef
119 // for OdTrVisLightDef
120 bool odTrVisSaveLightDef(OdGsFiler *pFiler, const OdTrVisLightDef &pDef);
123 // for OdTrVisFlatMetafileContainer
125 bool odTrVisLoadRawMetafileData(OdGsFiler *pFiler, OdTrVisFlatMetafileContainerPtr &pMf, OdTrVisIdMap *pIdMap = NULL, bool bDisplayId = false);
127 // for OdTrVisMetafileContainer
129 bool odTrVisLoadMetafileData(OdGsFiler *pFiler, OdTrVisMetafileContainerPtr &pMf, OdTrVisIdMap *pIdMap = NULL, bool bDisplayId = false);
130 void odTrVisLoadPostprocessMetafileData(OdTrVisMetafileContainer *pMf, OdTrVisIdMap *pIdMap, bool bDisplayId = false);
131 // for OdTrVisMetafileDef
133 bool odTrVisLoadMetafileDef(OdGsFiler *pFiler, OdTrVisMetafileDef &pDef, OdTrVisIdMap *pIdMap = NULL, bool bDisplayId = false);
134 void odTrVisLoadPostprocessMetafileDef(OdTrVisMetafileDef &pDef, OdTrVisIdMap *pIdMap, bool bDisplayId = false);
135 // for OdTrVisHlBranchDef
139 // for OdTrVisTextureDef
143 bool odTrVisSaveTexturePtr( OdGsFiler *pFiler, const OdTrVisTexture* tex );
145 // for OdTrVisMaterialDef
149 // for OdTrVisVisualStyle
152 // for OdTrVisLayerProps
155 // for OdTrVisLayerDef
156 bool odTrVisSaveLayerDef(OdGsFiler *pFiler, const OdTrVisLayerDef &pDef);
159 // for OdTrVisExtentsDef
162 
163 #include "TD_PackPop.h"
164 
165 #endif // ODTRVISREGENTRY
odTrVisLoadPostprocessRawMetafileData
void odTrVisLoadPostprocessRawMetafileData(OdTrVisFlatMetafileContainer *pMf, OdTrVisIdMap *pIdMap, bool bDisplayId=false)
OdTrVisIdMap::clearDataAccessors
virtual void clearDataAccessors(OdTrVisRendition::DataType type)=0
OdTrVisIdMap::ResourceDataAccessor
Definition: TrVisIdMap.h:65
odTrVisLoadPostprocessMaterialDef
void odTrVisLoadPostprocessMaterialDef(OdTrVisMaterialDef &pDef, OdTrVisIdMap *pIdMap)
NULL
#define NULL
Definition: GsProperties.h:177
odTrVisLoadHlBranchDef
bool odTrVisLoadHlBranchDef(OdGsFiler *pFiler, OdTrVisHlBranchDef &pDef, OdTrVisIdMap *pIdMap=NULL)
odTrVisLoadPostprocessSurfaceDef
void odTrVisLoadPostprocessSurfaceDef(OdTrVisSurfaceDef &pDef, OdTrVisIdMap *pIdMap)
odTrVisSaveMetafileDef
bool odTrVisSaveMetafileDef(OdGsFiler *pFiler, const OdTrVisMetafileDef &pDef)
OdTrVisLayerDef
Definition: TrVisLayerDef.h:84
OdTrVisMetafileContainer
Definition: TrVisMetafileDef.h:50
odTrVisSaveViewParamsDef
bool odTrVisSaveViewParamsDef(OdGsFiler *pFiler, const OdTrVisViewParamsDef &pDef)
odTrVisLoadVisualStyle
bool odTrVisLoadVisualStyle(OdGsFiler *pFiler, OdTrVisVisualStyle &pVS)
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
OdTrVisExtentsDef
Definition: TrVisExtentsDef.h:36
odTrVisLoadPostprocessLayerDef
void odTrVisLoadPostprocessLayerDef(OdTrVisLayerDef &pDef, OdTrVisIdMap *pIdMap)
odTrVisSaveVisualStyle
bool odTrVisSaveVisualStyle(OdGsFiler *pFiler, const OdTrVisVisualStyle &pVS)
OdSharedPtr
Definition: SharedPtr.h:49
OdRxObject
Definition: RxObject.h:564
odTrVisSaveHlBranchDef
bool odTrVisSaveHlBranchDef(OdGsFiler *pFiler, const OdTrVisHlBranchDef &pDef)
OdTrVisViewportDef
Definition: TrVisViewportDef.h:42
odTrVisLoadPostprocessTextureDef
void odTrVisLoadPostprocessTextureDef(OdTrVisTextureDef &pDef, OdTrVisIdMap *pIdMap)
odTrVisLoadLightDef
bool odTrVisLoadLightDef(OdGsFiler *pFiler, OdTrVisLightDef &pDef, OdTrVisIdMap *pIdMap=NULL)
odTrVisLoadMetafileData
bool odTrVisLoadMetafileData(OdGsFiler *pFiler, OdTrVisMetafileContainerPtr &pMf, OdTrVisIdMap *pIdMap=NULL, bool bDisplayId=false)
OdTrVisIdMap::getFromFiler
static OdTrVisIdMap * getFromFiler(OdGsFiler *pFiler)
odTrVisLoadTextureDef
bool odTrVisLoadTextureDef(OdGsFiler *pFiler, OdTrVisTextureDef &pDef, OdTrVisIdMap *pIdMap=NULL)
OdTrVisIdMap::getTextureDataAccessor
TextureDataAccessor * getTextureDataAccessor(OdTrVisTextureId textureId) const
Definition: TrVisIdMap.h:93
OdTrVisIdMap::longSearch
virtual OdTrVisId longSearch(OdTrVisRendition::DataType type, OdTrVisId nNew, bool *bRes=NULL) const =0
odTrVisLoadPostprocessViewportDef
void odTrVisLoadPostprocessViewportDef(OdTrVisViewportDef &pDef, OdTrVisIdMap *pIdMap)
OdTrVisIdMap::getClassName
static const OdChar * getClassName()
OdTrVisIdMap::clear
virtual void clear(OdTrVisRendition::DataType type)=0
odTrVisLoadPostprocessLightDef
void odTrVisLoadPostprocessLightDef(OdTrVisLightDef &pDef, OdTrVisIdMap *pIdMap)
TD_PackPop.h
OdTrVisIdMap::attachToFiler
static void attachToFiler(OdGsFiler *pFiler)
OdTrVisIdMap::detachFromFiler
static void detachFromFiler(OdGsFiler *pFiler)
odTrVisLoadMetafileDef
bool odTrVisLoadMetafileDef(OdGsFiler *pFiler, OdTrVisMetafileDef &pDef, OdTrVisIdMap *pIdMap=NULL, bool bDisplayId=false)
odTrVisLoadRawMetafileData
bool odTrVisLoadRawMetafileData(OdGsFiler *pFiler, OdTrVisFlatMetafileContainerPtr &pMf, OdTrVisIdMap *pIdMap=NULL, bool bDisplayId=false)
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdTrVisIdMap::get
virtual bool get(OdTrVisRendition::DataType type, OdTrVisId nPrev, OdTrVisId &nNew) const =0
odTrVisLoadViewParamsDef
bool odTrVisLoadViewParamsDef(OdGsFiler *pFiler, OdTrVisViewParamsDef &pDef, OdTrVisIdMap *pIdMap=NULL)
odTrVisSaveMetafileData
bool odTrVisSaveMetafileData(OdGsFiler *pFiler, const OdTrVisMetafileContainer *pMf)
OdTrVisIdMap::add
virtual void add(OdTrVisRendition::DataType type, OdTrVisId nPrev, OdTrVisId nNew)=0
OdTrVisIdMap::clearAll
virtual void clearAll()=0
OdTrVisFlatMetafileContainer
Definition: TrVisMetafileStream.h:405
odTrVisLoadMaterialDef
bool odTrVisLoadMaterialDef(OdGsFiler *pFiler, OdTrVisMaterialDef &pDef, OdTrVisIdMap *pIdMap=NULL)
odTrVisLoadClientSettings
bool odTrVisLoadClientSettings(OdGsFiler *pFiler, OdTrVisRendition::ClientSettings &cliSets)
odTrVisSaveLayerDef
bool odTrVisSaveLayerDef(OdGsFiler *pFiler, const OdTrVisLayerDef &pDef)
OdTrVisRendition::ClientSettings
Definition: TrVisRendition.h:165
OdSmartPtr< OdTrVisTexture >
TrVisRendition.h
OdTrVisIdMap::killDataAccessor
virtual void killDataAccessor(OdTrVisRendition::DataType type, OdTrVisId resourceId)=0
odTrVisSaveSurfaceDef
bool odTrVisSaveSurfaceDef(OdGsFiler *pFiler, const OdTrVisSurfaceDef &pDef)
OdTrVisIdMap::TextureDataAccessor::getTextureData
bool getTextureData(OdTrVisTextureId textureId, OdTrVisTextureDef &pDef)
Definition: TrVisIdMap.h:87
odTrVisSaveRawMetafileData
bool odTrVisSaveRawMetafileData(OdGsFiler *pFiler, const OdTrVisFlatMetafileContainer *pMf)
OdTrVisIdMap::TextureDataAccessor
Definition: TrVisIdMap.h:85
OdTrVisIdMap
Definition: TrVisIdMap.h:38
OdTrVisMetafileDef
Definition: TrVisMetafileDef.h:151
odTrVisSaveLightDef
bool odTrVisSaveLightDef(OdGsFiler *pFiler, const OdTrVisLightDef &pDef)
OdTrVisTextureDef
Definition: TrVisTextureDef.h:38
OdChar
wchar_t OdChar
Definition: OdPlatformSettings.h:745
odTrVisLoadPostprocessHlBranchDef
void odTrVisLoadPostprocessHlBranchDef(OdTrVisHlBranchDef &pDef, OdTrVisIdMap *pIdMap)
OdTrVisIdMap::addDataAccessor
virtual void addDataAccessor(OdTrVisRendition::DataType type, OdTrVisId resourceId, ResourceDataAccessor *pAccessor)=0
OdTrVisIdMap::dataAccess
virtual bool dataAccess(OdTrVisRendition::DataType type, OdTrVisId resourceId, void *pDataStorage) const =0
odTrVisLoadLayerDef
bool odTrVisLoadLayerDef(OdGsFiler *pFiler, OdTrVisLayerDef &pDef, OdTrVisIdMap *pIdMap=NULL)
TD_PackPush.h
OdTrVisLayerProps
Definition: TrVisLayerDef.h:37
odTrVisLoadLayerDefProps
bool odTrVisLoadLayerDefProps(OdGsFiler *pFiler, OdTrVisLayerProps &pProps)
OdTrVisMaterialDef
Definition: TrVisMaterialDef.h:36
OdTrVisIdMap::get
virtual OdTrVisId get(OdTrVisRendition::DataType type, OdTrVisId nPrev, bool *bRes=NULL) const =0
odTrVisSaveTexturePtr
bool odTrVisSaveTexturePtr(OdGsFiler *pFiler, const OdTrVisTexture *tex)
odTrVisSaveTextureDef
bool odTrVisSaveTextureDef(OdGsFiler *pFiler, const OdTrVisTextureDef &pDef)
OdTrVisIdMap::getDataAccessor
virtual ResourceDataAccessor * getDataAccessor(OdTrVisRendition::DataType type, OdTrVisId resourceId) const =0
OdTrVisIdMap::ResourceDataAccessor::getResourceData
virtual bool getResourceData(OdTrVisId resourceId, void *pDataStorage)=0
OdTrVisTexture
Definition: TrVisTexture.h:37
odTrVisSaveMaterialDef
bool odTrVisSaveMaterialDef(OdGsFiler *pFiler, const OdTrVisMaterialDef &pDef)
odTrVisLoadPostprocessMetafileDef
void odTrVisLoadPostprocessMetafileDef(OdTrVisMetafileDef &pDef, OdTrVisIdMap *pIdMap, bool bDisplayId=false)
TPtr< OdTrVisMetafileContainer, OdTrVisMfContainerRelease >
OdTrVisRendition::DataType
DataType
Definition: TrVisRendition.h:89
odTrVisLoadTexturePtr
OdTrVisTexturePtr odTrVisLoadTexturePtr(OdGsFiler *pFiler)
OdTrVisRendition::kTextureData
@ kTextureData
Definition: TrVisRendition.h:94
OdTrVisViewParamsDef
Definition: TrVisOverlayDef.h:112
odTrVisLoadViewportDef
bool odTrVisLoadViewportDef(OdGsFiler *pFiler, OdTrVisViewportDef &pDef, OdTrVisIdMap *pIdMap=NULL)
odTrVisSaveExtentsDef
bool odTrVisSaveExtentsDef(OdGsFiler *pFiler, const OdTrVisExtentsDef &pDef)
OdTrVisLightDef
Definition: TrVisLightDef.h:39
OdTrVisVisualStyle
Definition: TrVisVisualStyle.h:340
odTrVisLoadSurfaceDef
bool odTrVisLoadSurfaceDef(OdGsFiler *pFiler, OdTrVisSurfaceDef &pDef, OdTrVisIdMap *pIdMap=NULL)
OdTrVisIdMap::clearAll
virtual void clearAll(OdTrVisRendition::DataType type)=0
odTrVisSaveLayerDefProps
void odTrVisSaveLayerDefProps(OdGsFiler *pFiler, const OdTrVisLayerProps &pProps)
OdTrVisIdMap::clear
virtual void clear()=0
odTrVisLoadExtentsDef
bool odTrVisLoadExtentsDef(OdGsFiler *pFiler, OdTrVisExtentsDef &pDef)
odTrVisSaveViewportDef
bool odTrVisSaveViewportDef(OdGsFiler *pFiler, const OdTrVisViewportDef &pDef)
OdTrVisIdMap::longSearch
virtual bool longSearch(OdTrVisRendition::DataType type, OdTrVisId nNew, OdTrVisId &nPrev) const =0
OdTrVisSurfaceDef
Definition: TrVisSurfaceDef.h:36
OdGsFiler
Definition: GsFiler.h:63
OdTrVisIdMap::kill
virtual void kill(OdTrVisRendition::DataType type, OdTrVisId nPrev)=0
OdTrVisIdMap::clearDataAccessors
virtual void clearDataAccessors()=0
OdTrVisHlBranchDef
Definition: TrVisHlBranchDef.h:37
odTrVisLoadPostprocessViewParamsDef
void odTrVisLoadPostprocessViewParamsDef(OdTrVisViewParamsDef &pDef, OdTrVisIdMap *pIdMap)
odTrVisSaveClientSettings
bool odTrVisSaveClientSettings(OdGsFiler *pFiler, const OdTrVisRendition::ClientSettings &cliSets)
OdTrVisIdMap::numEntries
virtual OdUInt32 numEntries(OdTrVisRendition::DataType type) const =0
odTrVisLoadPostprocessMetafileData
void odTrVisLoadPostprocessMetafileData(OdTrVisMetafileContainer *pMf, OdTrVisIdMap *pIdMap, bool bDisplayId=false)
OdTrVisIdMap::getEntry
virtual const void * getEntry(OdTrVisRendition::DataType type, const void *pIndex, OdTrVisId &nPrev, OdTrVisId &nNew) const =0
OdTrVisIdMap::textureDataAccess
bool textureDataAccess(OdTrVisTextureId textureId, OdTrVisTextureDef &pDef)
Definition: TrVisIdMap.h:97
OdUInt64
Definition: Int64.h:137