[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01548] pick で例外が発生してしまいます。
いつも質問ばかりで申し訳ありません。周りにソフトをわかる人が誰もいない
ので、このMLが頼りです。
ここ数日はまっているので助けてください。
いままでMouseRotateでぐるぐる回していたのをpickでまわすように変更して
いるのですが、実行時に例外が発生してうまく動きません。
MLにソースを載せるには長いですし、何より汚いので(^^;要約すると以下のツ
リーとなっています。
BranchGroup root
+PickRotateBehavior rotetor
+TransformGroup trans <----------以下をまとめてまわしたい。
+Shape3D 座標軸
+OrientedShape3D 座標軸ラベル
+Shape3D プロットデータ(PointArray)
実行するとマウスをクリックした時点で
Exception occurred during Behavior execution:
javax.media.j3d.CapabilityNotSetException: Shape3D: no capability to
allow intersect
at javax.media.j3d.Shape3D.intersect(Shape3D.java:454)
at
com.sun.j3d.utils.behaviors.picking.PickObject.pickGeomAllSorted(PickO
bject.java:527)
at
com.sun.j3d.utils.behaviors.picking.PickObject.pickGeomClosest(PickObj
ect.java:559)
at
com.sun.j3d.utils.behaviors.picking.PickObject.pickClosest(PickObject.
java:460)
at
com.sun.j3d.utils.behaviors.picking.PickRotateBehavior.updateScene(Pic
kRotateBehavior.java:146)
at
com.sun.j3d.utils.behaviors.picking.PickMouseBehavior.processStimulus(
PickMouseBehavior.java, Compiled Code)
at javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java,
Compiled Code)
at javax.media.j3d.J3dThread.run(J3dThread.java:256)
が発生してしまいます。setCapabilityでtransには、ALLOW_TRANSFORM_READ、
ALLOW_TRANSFORM_WRITE、ENABLE_PICK_REPORTINGを設定。Shape3Dに
はALLOW_GEOMETRY_READを設定、GeometryにはALLOW_INTERSECTを設定していま
す。
色々といじってはいるのですがさっぱり直らずに、どこをどう直してよいやら
検討がつかずに途方にくれています。
なにかアドバイスをお願いいたします。
ところで、パッケージcom.sun.j3d.utils.behaviors.pickingは推奨されてい
ません。という警告が出てしまいますが、代替手段はあるのでしょうか?(ド
キュメントは見ましたが、明記されていない?)
---
はま
E-Mail Address:h-hama@xxxxxxxxxxxxxxx