[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00231] Re: 実行上のエラーについて
えんどうです。
私の方もなかなか追試できないので、説明が概念的ですが、
>> 1. ピック対象の物体として TransformGroup、またはそれを継承した物体を
>> シーングラフに追加する
>
>の部分がよくわからないのですが、これは一体どのようなことを指すのでしょうか?
>通常
> private BranchGroup createSceneGraph() {
> BranchGroup root = new BranchGroup();
>で以下のところにピッキングする対象のTransformGroupを設定していますが
>これとは別に設定をすると言うことなのでしょうか?
ピックされた物体を特定して、
その上位のTransformGroupを特定しても良い気がしてきました。
(BG) BranchGroup
|
(TG) TransformGroup
|
<S> Shape3D
こんな構造のシーングラフなら、ピック対象の物体は Shape3D で良くて、
Shape3D が上位にある TransformGroup を「知って」いれば良いです。
BranchGroup root = new BranchGroup();
TransformGroup trans = new TransformGroup();
// setCapabilityなどの処理
root.addChild(trans);
Shape3D shape = new Shape3D( /* 必要な引数をここに書く */);
shape.setUserData(trans); // ユーザーデータとして、
// その物体の上位のTransformGroupをセットする
trans.addChild(shape);
ピッキングで得た物体から、getUserDataメソッドで
物体の上位の TransformGroup を取得すれば良いでしょう。
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.javaopen.org/~yasuyuki/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)