2016. 1. 12. 22:32

신 그래프에 어떤 액션을 수행하는 것은 일반적인 모델을 따른다


1. 액션 클래스의 인스턴스를 생성하므로써 액션을 초기화하라.


SbViewportRegion region(300, 200);

SoGLRenderAction renderAction(region);


액션의 인스턴스를 할당하기 위한 new 연산자를 이용할 수도 있다


renderAction = new SoGLRenderAction(region);


new를 가지고 액션을 생성하면, 끝내기 전에 액션을 삭제하는 걸 잊지 마라


2. 액션에 대한 특별한 파라미터를 설정하라

예를 들어, SoGLRenderAction 에 대한 생성자는 뷰포트 영역을 설정하는 것 뿐만 아니라 OpenGL 설정을 상속받을 것인지 결정할 수 있다


SoGLRenderAction renderAction(region, TRUE);


3. 노드, 패스 또는 패스 리스트 에 액션을 적용하라


renderAction->apply(root);


4. 액션에 대한 결과를 얻어라

어떤 액션들은 그것들을 사용하기 위해 추가 함수를 가진다


예를 들어 SoGetBoundingBoxAction 은 다음 함수를 가진다

getBoundingBox() - 액션에 의해 계산된 경계 박스

getCenter() - 계산된 중심 반환