Graphisoft®

API Development KitVersion: 18

APIDb_DoClipID

클리핑(clipping) 세션 도중에 생성된 요소들을 자릅니다.

    GSErrCode ACAPI_Database (
        APIDb_DoClipID,
        API_Region*       clipRegion,
        API_ClipTran*     clipTran
    );

 

파라미터

clipRegion
요소들을 자르는 영역입니다.
clipTran
클리핑(clipping) 변환입니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
clipRegionNULL입니다.
APIERR_NESTING
해당 데이터베이스에 대한 클립 세션(clip session)이 열려 있습니다.

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

 

설명

클리핑(clipping) 영역과 변환을 이용하여 잘린 요소들을 현재 데이터베이스 안에 생성할 수 있습니다. APIDb_StartClippingSessionID 데이터베이스 함수를 사용하여 임시 데이터베이스를 엽니다. ACAPI_Element_Create로 요소들을 생성하여 거기에 넣고, APIDb_DoClipID를 호출하여 주어진 클리핑(clipping) 파라미터들을 적용하여 그것들을 병합하여 실제 데이터베이스로 넣습니다. 대상 데이터베이스를 복원하기 위해 APIDb_StopClippingSessionID 데이터베이스 함수로 클리핑 세션(clipping session)을 닫는 것을 잊지 마십시오.

2D 드로잉 요소들만 자를 수 있음을 참고하십시오. 벽, 기둥과 같은 건설 요소들은 클리핑 알고리즘에 참여하지 않습니다.

 

예제

API_Region          clipRegion;
API_Element         element;
GSErrCode           err;

BNZeroMemory (&clipRegion, sizeof (API_Region));
clipRegion.box.xMin = 0.0;
clipRegion.box.xMax = 2.0;
clipRegion.box.yMin = 1.54;
clipRegion.box.yMax = 2.54;

err = ACAPI_Database (APIDb_StartClippingSessionID, NULL, NULL);
if (err == NoError) {
    /* ... */
    err = ACAPI_Element_Create (&element, NULL);
    /* ... */
    err = ACAPI_Database (APIDb_DoClipID, &clipRegion, NULL);
}
err = ACAPI_Database (APIDb_StopClippingSessionID, NULL, NULL);

요구사항

버전: API 4.1 또는 이후
헤더: APIdefs_Database.h

 

참고사항

API_Region
APIDb_StartClippingSessionID
APIDb_StopClippingSessionID
ACAPI_Element_Create
ACAPI_Database
API 함수