[MFC :: OpenGL] Proposal 및 앞으로의 계획 (옮김)

심플디 2014.04.25 12:43 조회 수 : 1557

<그림 1 :: 저장 기능>


 

<그림 2 :: 열기 기능>


(이 프로그램의 핵심 코드가 DXF 및 IGES의 파일에 대한 Data를 긁어오는 것 이므로, 파일 입출력 기능은 꼭 있어야 하는 기능이다.)


일전에 API로 Drag & Drop을 구현했던 경험이 있기 때문에, 파일 열기/저장 다이얼로그를 만드는 일이, 

사람을 얼마나 스트래스 받게 하는 일인지 잘 알고 있다... 아주 잘 알고... 있다.


<그림 1>과 <그림 2>는 파일 열고 닫는 모달리스 다이얼로그 박스의 모습을 직관적으로 보여주고 있다.

이 기능을 쓰기 위해서는 MFC의 Docu & View 클래스 둘다 살려야 한다.

직접 구현하지 않고, 이미 구현되어 있는 기능을 갖다 쓰는 방법이 마음과 몸과 정신을 윤택하게 한다.


필자는 일반적으로 View 클래스에만 손을 대 보았지, Docu 클래스에 손을 대 본적은 단 한번도 없다.

생각해보니 Doc 클래스가 그렇게까지 필요한가 싶기도 해서 갈등을 조금 오래, 그리고 심각하게 했다.

하지만 생각해보면 어떤 개 같은 프로그램이라도 이런 파일 입출력 다이얼로그 박스 기능은 있으니 정말 환장할 노릇이다.

이것도 안한다면, 정말 허접하게 보이는 프로그램으로 전락할 것이다.


그래서 이 부분은 정말 신중하게 접근해야 했다. 아무튼, 필자는 이렇게 생각했다.

이미 만들어져 있는 구조를 활용한다는 것은 아주 유익한 일이 될 것이다. (직접 구현하기 싫어서 만든 핑계)

어찌되었든, 파일을 읽고 써야 하는 100줄 넘어가는 코드를 간단하게 메서드만으로 슈퍼패스 할 수 있으니 말이다.



이에 따라 MFC Project에 대한 Proposal을 제출했다.


<그림 3 :: Proposal>


 

<그림 4 :: Proposal>


 

<그림 5 :: Proposal>


 

<그림 6 :: Proposal>

 


일단 컴퓨터 공학부의 과제가 있는데, 그 Project의 Proposal을 제출하라고 해서, <그림 3~6>과 같은 PT 제안서를 첨부하여 메일로 송신했다.


<그림 7 :: 프로그램 구조>

 


<그림 7>은 예전부터 생각해두었던 구조고 Proposal에도 넣지 않은 그림이다. (제출하고 보니 이것을 넣지 않은, 엄한 놈을 첨부했기 때문)

<그림 8>과 같이 총괄적인 계획을 직관적으로 보여주는 것이 처음인 것 같다.


초기에 했던 것은 1단계 Point data를 분석하는 작업이였고, OpenGL은 5단계에 모두 속해진다.


자세히 보면 <그림 6>과 <그림 7>에서, 형상의 편집을 MFC와 OpenGL로 서로 떠밀은 것을 볼 수 있다.

그것은 형상, 면, 선, 점 등의 '선택'에 따라 편집의 양상이 달라질 수 있기 때문이다.

일단은 점들의 데이타가 면으로 보이게 되는 프로그램까지만 해 볼 생각이며, Edit는 그 다음의 일로 미룰 예정이다.

(사실은 Edit 기능에 대한 것은 추상적인 생각만 있을 뿐, 구체적인 계획이 전혀 없다.)


 <그림 8 :: 절차 지향적 프로그래밍>


<그림 8>은 <그림 7>을 이해한 사람이라면 당연히 이해를 할 수 있는 그런 그림이 되겠다.

아무리 MFC가 C++이며 객체지향적이라고 해도, 전체적인 큰 흐름까지 객체지향적으로 만들 수는 없는 노릇이다.


컴퓨터도 키지 않은 상태에서 드론으로 미네랄을 캘 수 없고, 남극에서 에프킬라가 잘 팔릴 수 없고,

아무것도 먹지 않았는데 똥이 나올리 만무하고, 아니 땐 굴둑에 연기 날리 없는 것처럼, 

프로그램은 어떤 Input을 처먹고, 적절한 Output을 해야한다.


그리고 아무것도 없는 상태에서 포인트 Data를 임의로 생성시키고 형상을 만들어서 파일화 했다고 한들, 역공학이 아니므로 의미가 없게 된다.

즉, '역공학'의 개념이 통통한 게살처럼 차려면 <그림 8>과 같은 추상적인 Frame (와꾸)를 짜 주어야 한다는 것이다.

뭐 이렇게까지 안해도 되는 사람이 있겠지만, 나는 초보라서 이렇게 하는 것이니 많은 양해를 구한다.


그리고 앞으로는 설명이 상당히 불손해 질 수 있다.

이제껏 MFC와 OpenGL에 관련된 내용을 친절히 설명했던 이유는 기본적인 "쉬운 내용"이거나 간단히 설명하기 애매한 "기초 내용"이였기 때문이다.

번호 제목 글쓴이 날짜 조회 수
공지 본 게시글의 첨부파일 권한 심플디 2014.08.22 2401
47 [MFC :: OpenGL] 컴공 수업 발표 자료 (옮김) [2] 심플디 2014.04.25 2899
46 [MFC :: OpenGL] Project 시즌 2 후기 (옮김) 심플디 2014.04.25 1585
45 [MFC :: OpenGL] File output (옮김) 심플디 2014.04.25 1519
44 [MFC :: OpenGL] Tool bar(툴바) 편집방법 (옮김) 심플디 2014.04.25 1840
43 [MFC :: OpenGL] IntroPage (옮김) file 심플디 2014.04.25 1518
42 [MFC :: OpenGL] IPC 적용 (옮김) file 심플디 2014.04.25 1574
41 MFC :: OpenGL] ProjectMFCReport 와꾸짜기 (옮김) 심플디 2014.04.25 1734
40 [MFC :: OpenGL] Data Dialog 와꾸짜기 (옮김) 심플디 2014.04.25 1728
39 [MFC :: OpenGL] 시즌 2 개요 (옮김) file 심플디 2014.04.25 1515
38 [MFC :: OpenGL] Project 시즌 2 시작 (옮김) [1] 심플디 2014.04.25 1522
37 [MFC :: OpenGL] Project 시즌 1 후기 (옮김) file 심플디 2014.04.25 1584
36 [MFC :: OpenGL] Mesh :: Part 2 (옮김) [1] file 심플디 2014.04.25 1551
35 [MFC :: OpenGL] Mesh :: Part 1 (옮김) file 심플디 2014.04.25 1600
34 [MFC :: OpenGL] DXF :: Part 5 (옮김) file 심플디 2014.04.25 1592
33 [MFC :: OpenGL] DXF :: Part 4 (옮김) file 심플디 2014.04.25 1490
32 [MFC :: OpenGL] DXF :: Part 3 (옮김) file 심플디 2014.04.25 1466
31 [MFC :: OpenGL] DXF :: Part 2 (옮김) file 심플디 2014.04.25 1523
30 [MFC :: OpenGL] DXF :: Part 1 (옮김) file 심플디 2014.04.25 1566
» [MFC :: OpenGL] Proposal 및 앞으로의 계획 (옮김) 심플디 2014.04.25 1557