ACAPI_Notify_GetTranParams
실제 편집 동작의 변환 파라미터들을 리턴합니다.
GSErrCode ACAPI_Notify_GetTranParams ( API_ActTranPars* actTranPars );
파라미터
- actTranPars
- [out] 리턴되는 변환 파라미터들입니다.
리턴 값
NoError
- 함수가 오류 없이 실행되었습니다.
APIERR_BADPARS
actTranPars
파라미터가NULL
입니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 실제 편집 동작의 파라미터들을 가져오는 데 사용합니다.
변환 데이터는 APINotifyElement_BeginEvents
와 바로 다음에 호출되는 APINotifyElement_EndEvents
알림 사이에서만 유효합니다.
이 함수를 이용하여 사용자의 편집 액션에 따라 당신의 애드온이 일부 요소들을 업데이트 하는 것이 가능해집니다.
예제
[ ... ] API_Neig **neig; API_ActTranPars actTranPars; API_EditPars editPars; Int32 elemIndex = 1; // 이 요소를 변환함 GSErrCode err; // 최근 사용자 편집 파라미터들 case APINotifyElement_Edit: BNZeroMemory (&editPars, sizeof (API_EditPars)); ACAPI_Notify_GetTranParams (&actTranPars); switch (actTranPars.typeID) { case APIEdit_Drag: editPars.typeID = APIEdit_Drag; editPars.begC.x = 0.0; editPars.endC.y = 0.0; editPars.endC.z = 0.0; editPars.endC.x = actTranPars.theDisp.x; editPars.endC.y = actTranPars.theDisp.y; editPars.endC.z = actTranPars.theDispZ; break; case APIEdit_Rotate: editPars.typeID = APIEdit_Rotate; editPars.origC = actTranPars.theOrigo; editPars.begC.x = editPars.origC.x + 1.0; editPars.begC.y = editPars.origC.y; editPars.begC.z = 0.0; editPars.endC.x = editPars.origC.x + actTranPars.theCosA; editPars.endC.y = editPars.origC.y + actTranPars.theSinA; editPars.endC.z = 0.0; break; case APIEdit_Mirror: editPars.typeID = APIEdit_Mirror; editPars.begC.x = actTranPars.theOrigo.x; editPars.begC.y = actTranPars.theOrigo.y; editPars.begC.z = 0.0; editPars.endC.x = actTranPars.theOrigo.x + actTranPars.theAxeVect.x; editPars.endC.y = actTranPars.theOrigo.y + actTranPars.theAxeVect.y; editPars.endC.z = 0.0; break; case APIEdit_Stretch: editPars.typeID = APIEdit_Stretch; editPars.endC.x = actTranPars.theDisp.x; editPars.endC.y = actTranPars.theDisp.y; editPars.endC.z = 0.0; break; } editPars.withDelete = true; neig = reinterpret_cast<API_Neig**> BMAllocateHandle (sizeof (API_Neig), ALLOCATE_CLEAR, 0); if (neig != NULL) { (*neig)[0].neigID = APINeig_CircOn; (*neig)[0].index = elemIndex; (*neig)[0].inIndex = 1; err = ACAPI_Element_Edit (neig, 1, &editPars); if (err != NoError) GiveMessage_Err ("Error in ACAPI_Element_Edit", err); BMKillHandle (reinterpret_cast<GSHandle *> &neig); } } break; }
요구사항
- 버전: API 4.1 또는 이후
- 헤더: ACAPinc.h