|
WPF - XDL Tutorial (piXoneer XDL Tutorial)
XDL이 주로 사용하는 데이터 구조체에 대한 활용법을 설명합니다. XVertex, XGrid, XColorTable, XGeoPoint, XAngle등에 대해서 설명합니다.
2019. 04.
|
1 사용 하기1.1 XDL 엔진설치 프로그램으로 배포되는 XDL 엔진은 Visual Studio 2010 x86 Release 버전으로, Visual Studio 2010 이상의 버전에서 사용 가능하다. 아래의 설명은 Visual Studio 2015을 기준으로 하겠다.
1.2 XDL의 데이터구조를 이용한 예제 프로그램 만들기1.2.1 Visual Studio 2015을 실행한다.1.2.2 메뉴 [파일]-[새로 만들기]-[프로젝트]를 선택한다.
1.2.3 [새 프로젝트] 대화상자에서 왼쪽의 템플릿 창에서 “Visual C#”을 선택하고, 대화상자 중간의 목록에서 “WPF 응용 프로그램”을 선택한다.사용자가 원하는 경로를 선택한 다음 프로젝트 이름을 “XDL_DataStructure” 으로 입력하고 [새 프로젝트] 대화상자의 “확인” 버튼을 클릭한다.
. 이 문서에서는 대화상자 오른쪽 아래에 있는 “솔루션용 디렉터리 만들기”는 선택하지 않겠다. “확인” 버튼을 누르면 프로젝트가 기본적으로 생성되고, 화면에 Window을 디자인할 수 있는 화면이 뜬다. 만약 아래와 같은 Window 창이 생성되지 않으면, [솔루션 탐색기] 창에서 MainWindow.xaml”를 마우스 더블클릭을 하여 창을 연다.
1.2.4 참조를 통해 NXDL.dll 항목을 추가한다.솔루션 탐색기의 프로젝트 아래에 있는 참조 아이템의 마우스 오른쪽 버튼을 클릭하여 생성되는 팝업메뉴에 “참조추가” 메뉴를 선택한다.
메뉴를 선택하면 아래와 같이 [참조 관리자] 대화상자가 나타나며, 대화상자 아래쪽에 있는 “찾아보기” 버튼을 클릭한다.
“C:\Pixoneer\XDL1.2\bin\NXDL.dll” 경로로 이동한 후 파일을 선택한다. “추가” 를 클릭하고, [참조 관리자] 대화상자의 “확인” 버튼을 클릭한다. [참조] 에 “NXDL”가 추가된 것을 확인할 수 있다.
1.2.5 프로그램 종료 시 메모리를 해제를 위한 코드를 Window창이 닫히는 이벤트에 추가한다.MainWindow.xaml 창에서 Window을 선택한 후 [속성] 창에서 “이벤트” 메뉴를 클릭하고 이벤트 목록 중 “Closed”를 선택한 뒤 마우스 더블클릭을 하여 해당이벤트를 추가한다.
아래의 굵은 글씨처럼 Window_Closed 함수에 코드를 추가한다.
1.2.6 다음과 같이 NXDL에 대하여 참조를 설정한다.
1.2.7 다음과 같이 도구상자에서 버튼을 Window창에 올려 디자인한다.
[F5]키를 눌러 실행하면 다음과 같은 화면이 뜬다.
1.3 XAngle활용 예제1.3.1 XAngle을 더블 클릭하여 함수를 자동생성한다.
1.3.2 buttonXAngle_Click 함수에 다음과 같이 코드를 입력한다.
1.3.3 컴파일하고 프로그램을 실행하여 XAngle버튼을 클릭한다.
1.3.4 출력창에 값이 프린트됨을 확인한다.라디안 값인 0.634345152625095값과 Degree값인 36.34530값이 동일하므로 Equal의 결과값을 나타내며 angle1의 객체로부터 Degree, DMS, Radian값을 프린트한다.
1.4 XVertex2i 활용 예제1.4.1 XVertex2i을 더블 클릭하여 함수를 자동생성한다.
1.4.2 buttonXVertex2i_Click 함수에 다음과 같이 코드를 입력한다.
1.4.3 컴파일하고 프로그램을 실행하여 XVertex2i버튼을 클릭한다.
1.4.4 출력창에 값이 프린트됨을 확인한다.출력창에 XVertex2i객체를 이용한 객체의 생성과 객체를 이용한 덧셈, 뺄셈, Dot Product, Norm의 연산을 수행하는 결과를 보여준다.
1.5 XVertex2d 활용 예제
1.5.1 XVertex2d을 더블 클릭하여 함수를 자동생성한다.
1.5.2 buttonXVertex2d_Click 함수에 다음과 같이 코드를 입력한다.
1.5.3 컴파일하고 프로그램을 실행하여 XVertex2d버튼을 클릭한다.
1.5.4 출력창에 값이 프린트됨을 확인한다.출력창에 XVertex2d객체를 이용한 객체의 생성과 객체를 이용한 덧셈, 뺄셈, Dot Product, Norm의 연산을 수행하는 결과를 보여준다.
1.6 XVertex3d 활용 예제
1.6.1 XVertex3d을 더블 클릭하여 함수를 자동생성한다.
1.6.2 ButtonXVertex3d_Click 함수에 다음과 같이 코드를 입력한다.
1.6.3 컴파일하고 프로그램을 실행하여 XVertex3d버튼을 클릭한다.
1.6.4 출력창에 값이 프린트됨을 확인한다.출력창에 XVertex3d객체를 이용한 객체의 생성과 객체를 이용한 덧셈, 뺄셈, Dot Product, Norm의 연산을 수행하는 결과를 보여준다.
1.7 XVertex4d 활용 예제
1.7.1 XVertex4d을 더블 클릭하여 함수를 자동생성한다.
1.7.2 ButtonXVertex4d_Click 함수에 다음과 같이 코드를 입력한다.
1.7.3 컴파일하고 프로그램을 실행하여 XVertex4d버튼을 클릭한다.
1.7.4 출력창에 값이 프린트됨을 확인한다.출력창에 XVertex4d객체를 이용한 객체의 생성과 객체를 이용한 덧셈, 뺄셈, Norm의 연산, IsEqual 함수를 수행하는 결과를 보여준다.
1.8 XGeoPoint 활용 예제
1.8.1 XGeoPoint을 더블클릭하여 함수를 자동생성한다.
1.8.2 ButtonXGeoPoint_Click 함수에 다음과 같이 코드를 입력한다.Degree단위로 입력한 객체와 Radian값으로 입력한 객체가 동일한지 여부를 확인하고 XGeoPoint로부터 ECEF좌표값을 XVertex3d로 변환할 수 있다. 또한 ECEF값을 XGeoPoint로 변환하여 기존 입력값과 동일한지 여부를 확인할 수 있다.
1.8.3 컴파일하고 프로그램을 실행하여 XGeoPoint버튼을 클릭한다.
1.8.4 출력창에 값이 프린트됨을 확인한다.출력창에 XGeoPoint객체를 이용한 다양한 형태로의 변환을 수행하고 동일한지 여부를 확인할 수 있다.
1.9 XColorTable 활용 예제
1.9.1 XColorTable을 더블 클릭하여 함수를 자동생성한다.
1.9.2 ButtonXColorTable_Click 함수에 다음과 같이 코드를 입력한다.
1.9.3 컴파일하고 프로그램을 실행하여 XColorTable버튼을 클릭한다.
1.9.4 출력창에 값이 프린트됨을 확인한다.
1.10 XGrid 활용 예제
1.10.1 XGrid을 더블 클릭하여 함수를 자동생성한다.
1.10.2 ButtonXGrid_Click 함수에 다음과 같이 코드를 입력한다.
1.10.3 컴파일하고 프로그램을 실행하여 XGrid버튼을 클릭한다.
1.10.4 출력창에 값이 프린트됨을 확인한다.
|