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();
62#define ODGS_EMFCACHE_DEFINE_MEMBERS() \
63 GS_STATIC_EXPORT OdGsEmptyMetafileCache::OdMmap* OdGsEmptyMetafileCache::s_mfMap = NULL; \
64 GS_STATIC_EXPORT OdMutex* OdGsEmptyMetafileCache::s_mtMfMap = NULL; \
65 void OdGsEmptyMetafileCache::rxInit() \
67 s_mfMap = new OdMmap(); \
68 s_mtMfMap = new OdMutex(); \
70 void OdGsEmptyMetafileCache::rxUninit() \
72 delete s_mfMap; s_mfMap = NULL; \
73 delete s_mtMfMap; s_mtMfMap = NULL; \
82#if defined(__OD_GS_EMPTY_METAFILE_CACHE__) && (defined(__OD_GS_EMPTY_METAFILE_CACHE_INLINES_INCLUDE__) || !defined(__OD_GS_LAYER_NODE__))
84#ifndef __OD_GS_EMPTY_METAFILE_CACHE_INLINES__
85#define __OD_GS_EMPTY_METAFILE_CACHE_INLINES__
98 pLayerNode->m_emfCache.
getLocal(pPtr, flags, *pLayerNode);
107 getImpl(pPtr, m_mfMap, flags, &pLayerNode);
114 getImpl(pPtr, *s_mfMap, flags, pLayerNode);
120 OdMmap::iterator it = mfMap.find(flags);
121 if (it != mfMap.end())
127 pPtr->m_nAwareFlags = flags;
128 pPtr->m_first.m_pLayer = pLayerNode;
#define TD_AUTOLOCK_P_DEF(Mutex)
FIRSTDLL_EXPORT ThreadsCounter & odThreadsCounter()
static OdSmartPtr< TInterface > createObject()