Leap Motion

Understanding the C++ Sample Application – 3. Controller 객체 만들기

원문과 원문에서 가져와 본 글에 사용한 영상 및 기타 자료들의 저작권은 Leap Motion에 있습니다.

Controller 객체 만들기

Leap::Controller 클래스는 프로그램과 Leap 컨트롤러 사이의 인터페이스를 제공합니다. Controller 객체를 생성하면 Controller는 PC에서 실행 중인 Leap software와 연결하고 손 추적 데이터를 Leap::Frame를 통해 받을 수 있도록 준비하게 됩니다. Controller 객체를 초기화하고 난 뒤에 Controller::frame 함수를 통해 Frame 객체에 접근할 수 있습니다.

만드는 프로그램이 단순히 루프를 돌면서 데이터를 업데이트 하는 구조일 때는, 업데이트 중 Controller::frame를 실행하는 방식으로 제작하면 됩니다. 그것이 아니라면, Leap::Listener를 서브클래싱한 listener를 controller 객체에 추가하여 사용할 수도 있습니다. 그렇게 하면 컨트롤러는 추적 데이터를 포함한 프레임이 새로 생기거나 특별한 이벤트가 발생할 때 추가한 listener의 콜백함수를 실행해 줍니다.

예제 프로그램은 main 함수 내에 Controller 객체를 만들고 서브클래싱된 Listener 객체의 인스턴스를 컨트롤러에 추가하였습니다. 이때 사용하는 함수는 Controller::addListener입니다.

아직 이것만으로는 순순히 컴파일되지 않을테고, Leap::Listener를 서브클래싱하여 SampleListener를 만들어야 합니다. 서브클래스 Listener는 프레임이 준비되었거나 Leap 이벤트가 발생했을 때 실행될 콜백 함수를 정의 해주어야 합니다.


Add a Comment Trackback