cmmIxArc3PStart¶
SYNOPSIS¶
VT_I4 cmmIxArc3PStart(
[in] VT_I4 MapIndex, [in] VT_R8 P2X, [in] VT_R8 P2Y, [in] VT_R8 P3X, [in] VT_R8 P3Y,
[in] VT_R8 EndAngle
)
DESCRIPTION¶
본 함수는 원호의 중심점 및 종점 좌표를 사용하는 cmmIxArcPStart(상대 좌표) 또는 cmmIxArcPToStart (절대 좌표) 함수와는 달리 현재 좌표(1 차)를 포함해서 2 차 및 3 차 좌표의 총 3 개의 (X, Y) 순서쌍 좌표를 사용해서 원호 보간을 수행합니다. 결과적으로 세 점을 지나게 되므로 중심점은 자동으로 결정됩니다. 또한 함수 이름이 ‘Start’ 로 끝나므로 함수 내부에서 이송 완료시까지 기다리지 않고 이송 작업만 시작시킨 뒤 바로 반환 됩니다. 따라서 cmmIxWaitDone 함수와 함께 사용하셔야 이송 완료 체크를 하실 수 있습니다.
PARAMETER¶
MapIndex : 맵번호(Map index), 이 맵번호를 사용하기전에 먼저 cmmIxMapAxes() 함수를 통하여 해당 맵번호에 유효한 축들이 맵핑되어 있어야 합니다.
VT_R8P2X : 원호가 지나는 2 번째 점의 X 좌표 입니다.
VT_R8P2Y : 원호가 지나는 2 번째 점의 Y 좌표 입니다.
VT_R8P3X : 원호가 지나는 3 번째 점의 X 좌표 입니다.
VT_R8P3Y : 원호가 지나는 3 번째 점의 Y 좌표 입니다
EndAngle : 중심점과 출발점을 잇는 선분이 중심점과 종점을 잇는 선분과 이루는 각도를 의미 합니다.
Value |
Meaning |
---|---|
0도 |
3번째 점에서 보간 이송 완료 하도록 설정. 이 경우 종점도 3번째 점이 됩니다. |
0 도 초과 360도 이하
|
|
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
REFERENCE¶
Note
이 함수 사용 시 현재 좌표를 포함한 3 개의 점이 거의 직선에 가깝게 설정되는 경우는 사실상 지름이 무한대 거나 상당히 큰 원을 그려야 하는 문제가 발생하며, 이 경우는 함수 수행은 되고 반환값이 cmERR_NONE 이 되더라도 실제로는
제대로 이송이 안되고 원호 보간 이송에 실패할 수 있음에 유의해야 합니다.
EXAMPLE¶
예제는 cmmIxArc3P를 참고해주세요.
See also
cmmIxArcP, cmmIxArcPTo, cmmIxArcPStart, cmmOxArcPToStart, cmmIxArc3P