24 #ifndef __OD_GS_EMPTY_METAFILE_CACHE__
25 #define __OD_GS_EMPTY_METAFILE_CACHE__
40 typedef std::map<OdUInt32, OdGsEntityNode::MetafilePtr> OdMmap;
46 static void rxUninit();
59 #define ODGS_EMFCACHE_DEFINE_MEMBERS() \
60 GS_STATIC_EXPORT OdGsEmptyMetafileCache::OdMmap* OdGsEmptyMetafileCache::s_mfMap = NULL; \
61 GS_STATIC_EXPORT OdMutex* OdGsEmptyMetafileCache::s_mtMfMap = NULL; \
62 void OdGsEmptyMetafileCache::rxInit() \
64 s_mfMap = new OdMmap(); \
65 s_mtMfMap = new OdMutex(); \
67 void OdGsEmptyMetafileCache::rxUninit() \
69 delete s_mfMap; s_mfMap = NULL; \
70 delete s_mtMfMap; s_mtMfMap = NULL; \
79 #if defined(__OD_GS_EMPTY_METAFILE_CACHE__) && (defined(__OD_GS_EMPTY_METAFILE_CACHE_INLINES_INCLUDE__) || !defined(__OD_GS_LAYER_NODE__))
81 #ifndef __OD_GS_EMPTY_METAFILE_CACHE_INLINES__
82 #define __OD_GS_EMPTY_METAFILE_CACHE_INLINES__
95 pLayerNode->m_emfCache.
getLocal(pPtr, flags, *pLayerNode);
104 getImpl(pPtr, m_mfMap, flags, &pLayerNode);
111 getImpl(pPtr, *s_mfMap, flags, pLayerNode);
117 OdMmap::iterator it = mfMap.find(flags);
118 if (it != mfMap.end())
124 pPtr->m_nAwareFlags = flags;
125 pPtr->m_first.m_pLayer = pLayerNode;
FIRSTDLL_EXPORT ThreadsCounter & odThreadsCounter()
#define TD_AUTOLOCK_P_DEF(Mutex)
static OdSmartPtr< TInterface > createObject()