04 ラスターファイルからの情報と取得例


 プロダクト:MicroStation
 バージョン:CE update14
 環境:N/A
 エリア:Programming
 サブエリア:MDL

ラスターファイルからの情報と取得例です。

DgnModelP pDgnModel = ISessionMgr::GetActiveDgnModelP();
DgnFileP pDgnFile = ISessionMgr::GetActiveDgnFile();
FileLevelCacheR levelCache = pDgnFile->GetLevelCacheR();

for (ElementHandleCR rasAttEh : RasterFrameElementCollection(*pDgnModel))
{
auto pRasAttQuery = dynamic_cast< IRasterAttachmentQuery*>(&rasAttEh.GetHandler());
long layerNum = pRasAttQuery->GetLayer(rasAttEh);
auto pMoniker = pRasAttQuery->GetAttachMoniker(rasAttEh);

ElementPropertiesGetterPtr pPropsGetter = ElementPropertiesGetter::Create(rasAttEh);
LevelHandle lvlHandle = levelCache.GetLevel(pPropsGetter->GetLevel());

WPrintfString wStr(L"rasterFile = %s, layerNum= %d, levelName = %s",
pMoniker->GetShortDisplayName().GetWCharCP(), layerNum, lvlHandle.GetName());
mdlDialog_dmsgsPrint (wStr.GetWCharCP());
}

communities.bentley.com/.../Raster_5F00_get_5F00_info.zip

 Original Author:Mikihiko Tabata