[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:01910] Re: scane グラフの書き換え



■■■〜News〜■■■あなたの自動車保険が安くなる!?■■■■■■■■■
              ↓↓↓↓↓↓↓         
[無料]一括見積⇒  http://www.bang.co.jp/index.html?ID=di017
      最大15社の保険会社から一括で見積り請求が可能!   
■■■■■■■■■■■■■『保険スクエアbang!』■■■■■■■■■
------------------------------------------------------------------------


えんどうです。

> 一度、SimpleUniverseにぶら下げたSceneGraph
> を削除して、別なSceneGraphを再度ぶら下げる
> 方法は無いでしょうか?

実行時にSimpleUniverseからBranchGroupを削除する方法は
以下に書きました。

 http://www.javaopen.org/j3dbook/text/program.html

> ■■SimpleUniverse から Locale を取り出す
> 
> com.sun.j3d.utils.universe.SimpleUniverse には Locale を取得するため
> の getLoale() があります。
> 
>       public Locale getLocale() // Locale を取得
> 
> BranchGroup を追加するには SimpleUniverse#addBranchGraph() メソッドを
> 使えば良いのですが、SimpleUniverse には追加したBranchGroupを削除する
> メソッドはありません。
> 
> SimpleUniverse から BranchGroup を削除するにはつぎのような処理が必要
> になります。
> 
>    1.getLocale() で Locale を取得する 
>    2.Locale#removeBranchGraph() メソッドで BranchGroup を削除する 
> 
>       SimpleUniverse universe = new SimpleUniverse(canvas);
> 
>       BranchGroup scene = new BranchGroup();
>       scene.setCapability(BranchGroup.ALLOW_DETACH); // 実行時の remove を許可する
>       universe.addBranchGraph(scene);
>         :
>         :
>       universe.getLocale().removeBranchGraph(scene);
> 
> 実行時に Locale から BranchGroup を削除するには 
> BranchGroup.ALLOW_DETACH という capability bit を設定する必要がありま
> す。

削除したら別の BranchGroup を追加すれば良いのでは。
必要な capability-bit は正しく設定してください。

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.ss.iij4u.or.jp/~eyasuyuk/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)

------------------------------------------------------------------------
          お部屋探し、そろそろ始めとく?!          
      http://house.www.infoseek.co.jp/House/top?svx=971122