Graphisoft®

API Development KitVersion: 18

APIEnv_SearchNavigatorItemID

요청된 데이터베이스의 네비게이터 항목들을 검색합니다.

    GSErrCode ACAPI_Environment (
        APIEnv_SearchNavigatorItemID,
        API_NavigatorItem*       item,
        API_NavigatorItem***     items
    );

 

파라미터

item
[in] 요청된 viewpoint/데이터베이스의 식별 파라미터들입니다. itemType 파라미터는 필수입니다.
items
[out] 지정한 viewpoint/데이터베이스와 일치하는 네비게이터 항목들입니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
item 또는 items 파라미터가 NULL이거나 유효하지 않은 데이터를 포함하고 있습니다.
APIERR_GENERAL
열린 프로젝트가 없습니다.

 

설명

이 함수는 지정한 viewpoint/데이터베이스를 참조하는 Project Navigator의 항목들을 가져옵니다.

더 이상 필요하지 않으면 items 핸들을 폐기하는 것을 잊지 마십시오.

 

예제

GSErrCode err = NoError;

API_DatabaseInfo db;
BNZeroMemory (&db, sizeof (API_DatabaseInfo));
db.typeID = APIWind_FloorPlanID;

API_NavigatorView   view;
API_NavigatorItem   parent;
API_NavigatorItem   item;
API_NavigatorItem** items = NULL;

BNZeroMemory (&item, sizeof (API_NavigatorItem));
item.itemType = API_StoryNavItem;
item.mapId    = API_PublicViewMap;
db.typeID     = APIWind_FloorPlanID;

err = ACAPI_Environment (APIEnv_SearchNavigatorItemID, &item, &items, NULL);
if (err != NoError || items == NULL)
    return;

char    str[256];
Int32   num;
Int32   n = BMhGetSize ((GSHandle) items) / sizeof (API_NavigatorItem);

ACAPI_WriteReport ("Stories of View Map:", false);

for (Int32 i = 0; i < n; i++) {
    sprintf (str, "%s", (*items)[i].name);
    ACAPI_WriteReport (str, false);

    BNZeroMemory (&parent, sizeof (API_NavigatorItem));
    parent.mapId = API_PublicViewMap;
    err = ACAPI_Environment (APIEnv_GetNavigatorParentItemID, (*items)[i].guid, &parent, NULL);
    sprintf (str, " - parent name: %s", parent.name);
    ACAPI_WriteReport (str, false);

    err = ACAPI_Environment (APIEnv_GetNavigatorChildNumID, &parent, &num, NULL);
    sprintf (str, " - number of children of the parent: %d", num);
    ACAPI_WriteReport (str, false);

    BNZeroMemory (&view, sizeof (API_NavigatorView));
    err = ACAPI_Environment (APIEnv_GetNavigatorViewID, &((*items)[i]), &view, NULL);
    if (view.saveLaySet) {
        if (view.layerCombination[0] != 0)
            sprintf (str, " - Layer combination: %s", view.layerCombination);
        else
            sprintf (str, " - Layers individual");
    } else {
        sprintf (str, " - none layers");
    }
    BMhKill ((GSHandle*) &view.layerStats);

    ACAPI_WriteReport (str, false);
}

BMhKill ((GSHandle *) &items);

 

요구사항

버전: API 4.3 또는 이후
헤더: APIdefs_Environment.h

 

참고사항

API_NavigatorItem
APIEnv_GetNavigatorItemID
APIEnv_GetNavigatorParentItemID
APIEnv_GetNavigatorChildrenItemsID
ACAPI_Environment
API 함수