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

[Java3Djp:01940] ピッキングで色を変更するプログラムでエラーが発生してしまう。



━━━━━━★ 楽天市場 中小企業応援キャンペーン実施中! ★━━━━
┏━━━━━━━━━━━━━┓【Aコース】お好きなビジネス書2万円分 
┃ 楽天市場で、仕事に役立つ ┃【Bコース】花粉の季節に・・空気清浄機
┃  即戦力グッズをGET! ┃⇒ http://common.rakuten.co.jp/cl/?i=473 
┗━━━━━━━━━━━━━┛━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------


いつもお世話になります。

ピッキングで色を変更するプログラムを実行した際、以下のようなエラーが発生して
しまいます。
どこに誤りがあるのか良くわかりません。
ヒントでよいので何かありましたら、ご教示ください。

(エラー内容)
----------------------------------------------------------------
Exception occurred during Behavior execution:
javax.media.j3d.CapabilityNotSetException: Shape3D: no capability to get
appeara
nce
        at javax.media.j3d.Shape3D.getAppearance(Shape3D.java:487)
        at PickHighlightBehavior.updateScene(PickHighlightBehavior.java:96)
        at
com.sun.j3d.utils.picking.behaviors.PickMouseBehavior.processStimulus
(PickMouseBehavior.java:163)
        at
javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:174)
        at javax.media.j3d.J3dThread.run(J3dThread.java:256)
----------------------------------------------------------------

(エラーの場所)
-----------------------------------------------------------------
public void updateScene(int xpos, int ypos) {
	PickResult pickResult = null;
	Shape3D shape = null;

	pickCanvas.setShapeLocation(xpos, ypos);

	pickResult = pickCanvas.pickClosest();
	if (pickResult != null) {
	    shape = (Shape3D) pickResult.getNode(PickResult.SHAPE3D);
		//shape = (Shape3D) pickResult.getNode(PickResult.PRIMITIVE);
	}

	if (oldShape != null){
	    oldShape.setAppearance(savedAppearance);	}
	if (shape != null) {
	    savedAppearance = shape.getAppearance();-----------→(ここ)
	    oldShape = shape;
	    shape.setAppearance(highlightAppearance);
	}
	System.out.println(shape);//DEBUG
}
-----------------------------------------------------------------

(setCapabilityの設定)
-------------------------------------------------
sphere.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
sphere.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
-------------------------------------------------

以上


------------------------------------------------------------------------
            4年に一度のお祭りだぁ!
        http://www.infoseek.co.jp/SaltLake?svx=971122