### WebTex3D에서의 패턴이동기능을 구현한 Tex3D_Sim.exe 1. WebTex3D에서 기존에 Tex3D_sim.exe에 전달하던 명령인자는 수정없이 그대로 사용가능하다. (기존동작 그대로 작동) 2. 기존 명령인자뒤에 아래의 내용을 추가하면 패턴이동을 수행하게 된다. 기존전달인자 #MP#그룹인덱스;패턴이동옵션;원점X;원점Y;목표X;목표Y [인자설명] #MP# : 패턴이동 관련 명령임을 알린다. 그룹인덱스 : 패턴이동을 위해 선택된 그룹인덱스. (1부터 시작이다.) 패턴이동옵션 : 0이면 해당그리드만, 1이면 해당 그리드가 포함된 그룹전체의 패턴을 이동한다. 원점X : 이동할 패턴 원점의 X좌표 원점Y : 이동할 패턴 원점의 Y좌표 목표X : 패턴이동 목표점의 X좌표 목표Y : 패턴이동 목표점의 Y좌표 ex1) #MP#1;0;200;210;200;220 그룹1의 패턴원점(200, 210)을 목표점(200,220)으로 이동한다. 해당 좌표가 포함된 그리드의 패턴만 이동한다. ex2) #MP#1;1;200;210;200;220 그룹1의 패턴원점(200, 210)을 목표점(200,220)으로 이동한다. 해당 그룹1모두 패턴이동한다. *** 다중 그룹의 경우, 각 그룹은 #으로 구분하여 추가한다. ex) #MP#1;0;200;210;200;220#2;0;500;210;500;220#3;0;400;410;410;420 *** 만약 목표지점의 좌표가 해당 그리드 영역을 넘어갈 경우의 처리. - Tex3DW : 패턴이동을 하지 않는다. - 이번에 기능추가된 Tex3D_sim.exe 원점과 목표점을 잇는 선분과 해당 그리드 영역 외곽선의 교점을 최종 목표점으로 계산하여 처리한다. *** 그리드 영역이 겹치는 경우, - 그리드간에 영역이 겹치는 영역에서 패턴이동 동작이 수행되는 경우의 처리는 아래와 같다. 알고리즘은 그리드 0번부터 좌표를 검색한다. (낮은 그리드부터 검색) 예를 들어, 그리드0번의 일부 영역과 그리드1번의 일부영역이 겹치는 경우, 1. 겹치는 영역내에서 마우스 패턴이동 동작이 수행된경우 겹치는 영역의 그리드중, 원점과 목표점이 모두 포함되는 그리드가 있다면, 패턴이동옵션(0, 1)에 따라, 해당 그리드의 패턴만 이동하던가, 해당 그룹전체의 패턴이 이동된다. 즉, 겹치는 영역내에서 마우스를 클릭한 후(원점), 드래그하여 겹치지 않는 그리드0번의 영역에서 마우스를 놓았을때(목표점). 정상적인 그리드0번 패턴이동이므로, 패턴이동옵션(0, 1)에 따라, 해당 그리드0의 패턴만 이동하던가, 해당 그룹전체의 패턴이 이동된다. 또한, 겹치는 영역내에서 마우스를 클릭한 후(원점), 드래그하여 겹치지 않는 그리드1번의 영역에서 마우스를 놓았을때(목표점). 정상적인 그리드1번 패턴이동이므로, 패턴이동옵션(0, 1)에 따라, 해당 그리드1의 패턴만 이동하던가, 해당 그룹전체의 패턴이 이동된다. 2. 겹치는 영역내에서 마우스를 클릭한 후(원점), 드래그하여 겹치지 않는 그리드 0번이나 그리드1번의 영역밖에서 마우스를 놓았을때(목표점). 최초 클릭시점(원점)은 그리드0과 그리드1의 겹치는 영역이나, 목표점이 그리드 0이나 그리드1의 영역이 아니므로, 알고리즘은 그리드의 순서에 따라, 그리드0의 영역에서 시작해서 해당 그리드0의 영역밖으로 넘어난 것으로 판단하여, 원점과 목표점을 잇는 선분과 해당 그리드0 영역 외곽선의 교점을 최종 목표점으로 계산하여 처리한다.