[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00691] Re: BranchGroupへのaddChildについて
---広告---------------------------------------------------------------
頭髪に悩んでいる男性に、ロゲイン!→ http://www.windy.co.jp/CS857/
----------------------------------------------------------------------
東大医学部生の家庭教師派遣 TACT→ http://www12.big.or.jp/~realtact/
----------------------------------------------------------------------
田園都市線・新玉川線沿線企業・店舗様専用ホームページ作成・運営サービス
→ http://den-en.xjam.net/service
----------------------------------------------------------------------
岸田です。
Teruhisa Abe wrote:
> フレームの中心にCanvas3Dを配置し、フレームの下側にボタンを置いて、
> ボタンを押されたときにオブジェクトをBranchGroupに追加するプログラムを作りま
> した。
> ボタンが押されたときの関数を以下のように作ったのですが、
> javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node
> may be added
> というエラーメッセージが出てしまいます。
このエラーメッセージの意味は BranchGroup ノード だけが Group ノードに
add
することができるということです。
> BranchGroupはobjRootという名前で広域変数として作られており、
> setCapabilityメソッドによってBranchGroup.ALLOW_CHILDREN_EXTENDをセットしてま
> す。
add されてしまうほうは BranchGroup でなくてもいいです。add するほうが
BranchGroup
である必要があります。
> 色の変化やオブジェクトの移動・回転などは出来たのですが、追加だけはどうもうま
> く行きません。
> すいませんが、BranchGroupへのオブジェクトの追加について、
> どなたか教えていただけないでしょうか。
>
> public void actionPerformed(ActionEvent e) {
> if (e.getSource() == button) {
> Transform3D t3d = new Transform3D();
> t3d.set(new Vector3f((float)(Math.random() * 1.0),
> (float)(Math.random() * 1.0),
> (float)(Math.random() * 1.0));
> Transform transform = new Transform(t3d);
> transform.addChild(new ColorCube(0.4));
> objRoot.addChild(transform);
> }
> }
この transform オブジェクトを objRoot でない BranchGroup に add しておい
て、
それを 目的の objRoot に add するということになると思います。
---
岸田ゆき枝@3D折り紙研究中?
yukie@xxxxxxxxxx