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() - 계산된 중심 반환