ACAPI_Notify_GetTranParams
실제 편집 동작의 변환 파라미터들을 리턴합니다.
GSErrCode ACAPI_Notify_GetTranParams (
API_ActTranPars* actTranPars
);
파라미터
- actTranPars
- [out] 리턴되는 변환 파라미터들입니다.
리턴 값
NoError- 함수가 오류 없이 실행되었습니다.
APIERR_BADPARSactTranPars파라미터가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