cmmIxIsDone¶
SYNOPSIS¶
VT_I4 cmmIxIsDone(
[in] VT_I4 MapIndex, [out] VT_PI4 IsDone
)
DESCRIPTION¶
지정한 보간맵에 해당하는 보간작업이 완료됐는지를 확인합니다.
PARAMETER¶
MapIndex : 맵번호(Map index), 이 맵번호를 사용하기전에 먼저 cmmIxMapAxes() 함수를 통하여 해당 맵번호에 유효한 축들이 맵핑되어 있어야 합니다.
IsDone : 이 매개 변수로 인해 모션 작업이 완료되었는지를 판단할 수 있습니다.
Value |
Meaning |
---|---|
0 또는 cmFALSE |
모션작업이 완료되지 않음 |
1 또는 cmTRUE |
모션작업이 완료됨 |
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | C/C++
#define MAP0 0 //맵번호 (0)
cmmIxMapAxes(MAP0, cmX1_MASK | cmY1_MASK, 0 );
//또는 cmmIxMapAxes(MAP0, 0x3, 0x0);
//보간 이동할 축들의 기본속도를 설정합니다.
...//속도 패턴 설정
long nIsDone = 0;
double fDistList[2] = {1000, 1000};
if(cmmIxLine(MAP0, fDistList, cmFALSE) != cmERR_NONE){
cmmErrShowLast(Handle);//에러처리
return;
}
while (1){
cmmIxIsDone(MAP0, &nIsDone );
if(nIsDone == cmTRUE) break;
else{
...
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Visual Basic
Dim fDistList As Double
Dim nIsDone As Long
If (cmmIxLineStart(MAP0, fDistList(0)) = cmFALSE) Then
Call cmmErrShowLast(Handle) '마지막에 발생한 에러 메시지를 화면에 표시합니다.
Exit Sub
End If
While (cmmIxIsDone(0, nIsDone) = cmFALSE)
…
end
If (Not (cmmErrGetLastCode(nErrCode) = cmERR_NONE)) Then
Call cmmErrShowLast(Handle) '마지막에 발생한 에러 메시지를 화면에 표시합니다.
Exit Sub
End If
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Delphi
procedure OnIxMove ();
var
nIxMap : LongInt; // 보간 맵 설정
nIsDone : LongInt; // 직선 보간 이송 완료 정보.
fDistList : Array[0..1] of Double;
begin
nIxMap := 0;
fDistList[0] := 10000;
fDistList[1] := 20000;
cmmIxMapAxes ( nIxMap , cmX1_MASK or cmY1_MASK, 0 );
// 직선 보간 이송을 시작합니다.
cmmIxLineStart ( nIxMap , @fDistList );
nIsDone := cmFALSE;
while nIsDone = cmFALSE do
begin
cmmIxIsDone ( nIxMap, @nIsDone ); // 직선 보간 이송 완료 여부를 확인합니다.
end;
end;
|