Graphisoft®

API Development KitVersion: 18

ACAPI_Element_Get

주어진 요소의 메인 파라미터들에 대한 정보를 리턴합니다.

    GSErrCode  ACAPI_Element_Get (
        API_Element*     element,
        UInt32           mask
    );

 

파라미터

element
[in/out] 동작에 참여하는 요소입니다.
mask Featuring API 12
[in] 선택적인 마스크입니다. 현재 유효한 값은 0APIElemMask_FloorPlan입니다. 후자의 경우, 먼저 평면도 데이터베이스를 변경하지 않고 그 데이터베이스에 있는 요소들을 직접 셉니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
전달된 파라미터가 NULL; 요소입니다.
APIERR_BADID
요소 레퍼런스가 유효하지 않습니다. (guid) 요소 타입이 유효하지 않습니다. 또는
요소 타입이 서버 애플리케이션에서 지원하지 않습니다.
APIERR_DELETED
요소가 데이터베이스에 존재하지 않습니다

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 주어진 요소의 메인 파라미터들에 대한 정보를 API_Element structure에 리턴합니다. 이 structure는 서로 다른 요소 structure들의 union입니다.

(API 18 또는 이후부터) 요소를 식별하는 방법은 단 하나만 존재합니다:

리턴되는 정보는 요소의 메인 데이터입니다; 더 많은 정보는 ACAPI_Element_GetMemo 함수로 얻을 수 있습니다; 헤더의 hasMemo 필드는 추가 정보가 있는지를 알려줍니다.

이 함수를 호출하기 전에 ACAPI_Element_Filter 함수로 필터링을 사용하십시오; 이 경우 당신은 특수한 경우에 변환 시간을 아낄 수 있습니다.

요소에 의해 참조되는 속성들이 유효하지 않을 수 있음을 참고하시기 바랍니다. 레이어 속성은 반드시 존재해야 하는 유일한 속성입니다. 다른 타입의 속성들은 요소 데이터베이스 편집 없이도 삭제될 수 있습니다. 이렇게 하면 요소들은 <MISSING> 속성들을 참조할 수도 있습니다. 이 경우 ACAPI_Attribute_Get 함수는 오류 코드를 리턴합니다.

 

예제

GSErrCode           lastErr;
API_Element         element;
GS::Array<API_Guid> columnList;

lastErr = ACAPI_Element_GetElemList (API_ColumnID, &columnList, APIFilt_OnVisLayer | APIFilt_OnActFloor);
if (lastErr != NoError)
    return lastErr;

for (GS::Array<API_Guid>::ConstIterator it = columnList.Enumerate (); it != NULL; ++it) {
    BNZeroMemory (&element, sizeof (API_Element));
    element.header.guid = *it;
    lastErr = ACAPI_Element_Get (&element);
    if (lastErr == NoError) {
        /* 커스텀 요소 처리하기 */
    }
}

 

요구사항

버전: API 1.3 또는 이후
헤더: ACAPinc.h

 

참고사항

API_Elem_Head, API_Element,
ACAPI_Element_GetMemo, ACAPI_Element_Filter,
요소 관리자, API 함수