본문 바로가기
JAVA

Scene 그래프 갱신

by windrises 2007. 7. 16.

오직 BranchGroup만이 프로그램 실행 중에 detach, add 가 가능하기 때문에, BranchGroup의 생성시 이를 지정해 주어야 한다.

Exam code

  1. BranchGroup branch=new BranchGroup();
  2. branch.setCapability BranchGroup.ALLOW_DETACH);
  3. branch.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
  4. branch.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);


2번: branchgroup 자신이 parent group에서 분리될 수 있게 선언
3,4번: child group이 확장 되거나 새롭게 add될 수 있게 선언



상호 작용
Parent group과 child group의 branchgroup의 선언이 서로 match가 되어야
제대로 기능할 수 있다.

Exam code

BranchGroup parent=new BranchGroup();
parent.setcapability(BranchGroup.allow_child_write);

...

BranchGroup child=new BranchGroup();
child.setcapability(BranchGroup.allow_detach);
...

parent.addchild(child);
parent.removeall();



앞의 부모 branch에서 자식 branch를 다시 쓸 수 있다고 선언했지만,
아래의 자식 branch에서 스스로 detach 할 수 있다고 선언하지 않으면
parent.removeall()은 동작하지 않는다.

'JAVA' 카테고리의 다른 글

0. Start of JOGL  (0) 2007.07.16
Java3d와 스윙 for layout, 문제와 해결  (0) 2007.07.16
Simplest java3d program  (0) 2007.07.16
기본 동영상 재생 소스  (0) 2007.06.05
mp3 player 오픈프로젝트 "jlGui"  (1) 2007.05.18