2016. 1. 27. 00:48

- Open Inventor가 입력 이벤트를 어떻게 처리하는지 설명

Open Inventor의 내장된 선택 정책 중 하나를 사용하요 씬에서 객체 선택

- 이벤트 콜백 노드를 생성함으로써 자신만의 선택 정책 구현

- 씬에서 선택된 객체 강조(Highlight)

- 선택 리스트가 변할 때 응용 프로그램이 어떤 연산을 수행하기 위해선택 콜백 함수 작성


Open Inventor 이벤트 모델 설명

- 처리를 위해 데이터 베이스에서 객체에 키 누름 또는 마우스 움직임과 같은 이벤트를 처리하기 위한 간단한 메커니즘을 제공

- 윈도우 시스템은 클라이언트 윈도우에 이벤트를 전달하는 같은 방법으로,

Inventor는 그것을 처리할 수 있는 데이터 베이스 객체에 이벤트를 전달한다

- 이벤트를 처리하기 위한 Inventor 프로그래밍 모델과 SoXtRenderArea의 사용, 렌더링을 수행하는 위젯, Inventor 데이터 베이스에 이벤트를 처리를 포함

- 이벤트 콜백함수, 선택 노드, 강조의 개념뿐만 아니라 SoHandleEventAction을 자세하게 논의

- 씬 매니저가 특별한 이벤트를 위한 이벤트 처리기를 어떻게 찾는지와 다른 노드들은 이벤트를 어떻게 처리하는지 배운다


* 이벤트 처리를 위한 일반적인 프로그래밍 모델


- 이벤트( SoEvent 로부터 파생)

- 씬 매니저

- 이벤트 액션 처리

- 이벤트 콜백 함수

- 선택 노드(Selection node)



* Inventor 이벤트 처리


1. 씬 매니저에 의해 제공되는 Inventor의 자동 이벤트 처리 메커니즘 사용


2. Inventor의 이벤트 콜백 메커니즘 사용, 여기에서 사용자가 쓴 콜백 노드는 이벤트를 처리

- 이 함수는 한 객체 당 이벤트 처리

- 구현하기 꽤 쉬움


3. Inventor의 이벤트 처리 메커니즘을 전체적으로 오버라이딩하고 모든 이벤트를 직접적으로 응용 프로그램에 전달


4. Inventor의 일반적은 콜백 메커니즘 사용, 여기에서 사용자 정의 콜백 노드는 모든 액션을 처리(SoCallback)