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

[Java3Djp:00446] Re: live時のgetParent()について



======================================================================
 インターネット・コンビニエンス・メガストアのカオスマート、
                                           DOS/V機コーナーOPEN!
******** Torbo Linuxプリインストールモデルが、特価 \89,800. *********
celeron 366Mhz, 100Mhz SDRAM 64M, , 440BXmotherboad, S3VirgeDX 4MB,
CD-ROM, 6.4GB Ultra-ATA HDD,  NIC100/10base,Logicool Keyboad & mouse,
********************   http://www.chaosmart.com   *******************
======================================================================

今野です。

つきやまさん : [Java3Djp:00432]

>Shape3DをPickして、その親であるTransformGroupの
>情報が欲しいのですが良い方法はあるでしょうか。
>現在はルートのBranchGroupを detach で対応しています。


一つの方法としては、BranchGroupノードをルートとしてシーングラフ
全体を走査(トラバース)してみるのはどうでしょうか?getParent()は
ダメでも、getChild()はOKですから (^ ^)

また、あらかじめノードを生成するときにsetUserData()で親ノードを
登録しておいて、getParent()相当の機能を実現する方法もあります。

最後の方法としては、私自身が利用している方法ですが、自前で
シーングラフデータを管理する方法もあります。結果的には同じ
階層データがメモリに2重に存在することになりますが、Java3Dの
シーングラフでは、今回のようにアクセス制限があったり、すべての
ノードが階層的に管理されていないなど使いづらい面がありますので
自分で好きなようにシーングラフを管理するのも良い方法だと思います。

以上簡単ですが、ご参考まで。

----------------------------------------
Satoshi Konno
skonno@xxxxxxxxxx
http://www.cyber.koganei.tokyo.jp