一般在项目中我们需要获取AC项目中的楼层设置信息。可用以下方式来获取:
typedef struct tabStruStory
{
int m_nIndex;
std::string m_strName;
double m_dLevel;
double m_dHeight;
}StruStory;
std::map<int, StruStory> m_mapStoriesInfo; //楼层数据key 楼层索引
//获取楼层数据
API_StoryInfo storyInfo;
Int32 i;
err = ACAPI_Environment(APIEnv_GetStorySettingsID, &storyInfo, nullptr);
if (err != NoError) {
ErrorBeep("APIEnv_GetStorySettingsID", err);
return err;
}
for (i = storyInfo.lastStory - storyInfo.firstStory; i >= 0; i--)
{
int nIdex = (*storyInfo.data)[i].index;
std::string strName = GS::UniString((*storyInfo.data)[i].uName).ToCStr().Get();
double dLevel = (*storyInfo.data)[i].level;
double dHeight = (*storyInfo.data)[i + 1].level - (*storyInfo.data)[i].level;
StruStory story = { nIdex, strName, dLevel, dHeight };
m_mapStoriesInfo.insert(std::make_pair(nIdex, story));
}
BMKillHandle(reinterpret_cast<GSHandle*> (&storyInfo.data));
//后续在使用楼层数据时可根据楼层索引获取相应楼层的数据
//TODO:
同时也可将元素根据不同楼层归类
元素的楼层索引保存于元素header的floorInd中
int nFloorIdx = element.header.floorInd;
1361

被折叠的 条评论
为什么被折叠?



