[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01933] Re: Java3D のピンキングによる物体の特定後に、物体の色変更と物体の消去の方法
えんどうです。
> さらに、特定した基本物体(点、線、球、シリンダ)の
> 1.色変更
> 2.消去
> する機能などを組み込みたいのですが方法が良くわかりません。
http://www.javaopen.org/j3dbook/firstbook/text/behavior.html
上記の「■■ピックされた物体を特定する」の例でいうと、
picker.setupCallback( new SimplePickingCallback() {
public void picked(int type, Node node) {
// ここに処理を書く
}
});
この picked()メソッドの中に色変更、消去などの処理を書きます。
picked()の引数としてピックされた Node が渡されるので、
ピック対象として PickResult.PRIMITIVE を指定している場合
Primitive primitive = (Primitive)node;
Primitive にキャストしておき、
> 1.色変更
getAppearance() メソッドで Appearance を取得し、
setMaterial()メソッド、setColoringAttributes() メソッドで
マテリアルまたは色の属性を変更する
> 2.消去
単に非表示にしたければ Switch を使用する
ex.) http://www.javaopen.org/j3dbook/examples/#group
本当に消去したければ物体が属する BranchGroup ごと
シーングラフから削除する
という処理が考えられます。
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.ss.iij4u.or.jp/~eyasuyuk/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)
------------------------------------------------------------------------
クルマがいっぱい!! レースクイーンもいっぱい!?
http://car.infoseek.co.jp/CarTop?pg=cartop.html&sv=KA&svx=971122