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

[Java3Djp:01562] 2 つの Transforam3D の距離をリアルタイムで表示するには?



                            ◆緊急召集令!!◆
     埋蔵金発掘隊員を募集中。今すぐ入隊して埋蔵金を発掘せよ!
       海外旅行・PRADA・商品券etc.ぞくぞく発掘中!!
            http://www.maizokin.com/
■■■■■■■■■■■■■■ホームページ埋蔵金■■■■■■■■■■■■■
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


お世話になっています。


rootにA,Bという二つのTransform3Dがぶら下がっていて、それぞれがマウスで
回転・ズーム・移動が可能となっています。

表示されている空間で、Aの原点からBのX-Y平面へ引いた垂線の距離をリアル
タイムで表示したいと思っています。(Aを移動したときもBを移動したときも
値はアップデートされる)
まずは、PickingCallbackを追加しようとして

Q1)
com.sun.j3d.utils.behaviors.picking.*か
らcom.sun.j3d.utils.picking.behaviors.*に書き換えたのですが
PickRotatoBehavior rotator = new ......
rotate.setupCallback(new PickingCallback() {
 public void transforamChanged(int type, Transform3D trans) {
 trans.get(quat4fData);
 ............
 }
});
root.addChild(rotator)-

としてコンパイル(JBuilder3.5Foundation使用)すると、

匿名クラスmethod createSceneGraph()はabstractとして宣言しなければなり
ません。method transformChanged(int ,javax.media.j3d.TransformGroup)イ
ンターフェイスcom.sun.j3d.utils.picking.behaviors.PicjingCallbackを定
義していません

と言われてしまいます。


Q2)
AをいじったときもBをいじったときも値をアップデートするに
はsetupCallbackの中身はどうすれば良いのでしょうか?(現状だとtransをい
じったときしかcallbackされないような...)


Q3)
Q2が解決したとして、Aの原点からBのX-Y平面へ引いた垂線の距離を算出する
のに最適な方法はどうすればよいでしょうか?(すでにそういう関数があると
か?)