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

[Java3Djp:00135] Re: Java3Dインストール日記(WindowsNT)



▲▼▲▼▲▼ スニーカー&ブーツショップMAマート  ▲▼▲▼▲▼▲▼▲
▲▼  全品メーカー希望価格より70%〜10%OFFの激安価格で販売中!    ▲▼
▼▲ 返品、サイズ交換時の送料は無料ですのでとっても安心!o(^-^)o ▼▲
▼▲▼▲▼▲<< http://www.niji.or.jp/home/ma-mart/ >>▼▲▼▲▼▲▼▲

>・動的にシーングラフにNodeを付け加えられない
>
>AWT_Interactionデモを利用して、ボタンを押した時にBoxの生成(表示)
>行いたいのですが、
>javax.media.j3d.RestrictedAccessException
>が発生します。

この Exception が発生しているソースコード (最低限の長さで、再現可能なもの)
と、コマンドラインのすべてのエラーメッセージが見たいです。

Java3DTips によると、
 > javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added 
 >  ViewingPlatform オブジェクトに対して Interpolator オブジェクトなど 本来ぶら下げてはいけないものを
 >  ぶら下げようとするとでます。 
 >               
 >  対処法 : 正しい場所にぶら下げます。 

API Document では
 > Indicates an attempt to access or modify a state variable without permission to do
 > so. For example, invoking a set method for a state variable that is currently
 > read-only. 

と書いてありますね。

>setCapability(ALLOW_CHILDREN_EXTENDED);
>をBranchGroupやTransformGroupに設定しているのですが、これは
>見当はずれなのでしょうか?

ALLOW_CHILDREN_EXTENDED のほかに、
ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE というのも
ありますね。

この setCapability() なんですが、compile() している場合は compile() 前に
必ずセットしないとだめです。compile() しない時はどうなのかは
私はまだわかっていません。^^;

私は実行時にノードを付加したことは無いのですが、可能だと思います。

表示/非表示で良いなら、
javax.media.j3d.Switch に Box を addChild() して、
setWhitchCild(int index) でレンダリングをオン/オフしてもだめですか。

>・MouseBehaviorのサブクラスのソース
>
>Java3DTips(atusiさんのページ)にはJava3Dに付属されていると書いて
>ありましたが、MouseTranslateクラスなどのソースが見つかりません。
>どちらにあるのでしょうか?

私の環境は Windows 9x ですが、\jdk1.2\java3d-utils-src.jar というファイルが
インストールされました。これが com.sun.j3d 以下のライブラリーソースです。

>・マウスでクリックしたオブジェクトの特定
>
>マウスでクリックしたオブジェクトを識別できる情報を得る方法、また
>その情報を使ってそのオブジェクトに対するアクションを命令する方法
>というのはどのように行えるのでしょうか?
>※大変あやふやな質問で申し訳ありません。

\jdk1.2\demo\java3d\PickTest 以下のソースがこれをやっています。
私もこれを調査中です。

>きちんと説明できて無い点もあると思いますが、よろしくお願いいたします。
>
>このようなMLに投稿するのは始めてなので、不適切な点がありましたら
>ご指摘ください。
>
>ENDO Yasuyuki wrote:
>
>> ○月×日
>>
>> Java3D が動かないそうなので、客先で Windows NT の環境を調べた。
>
>(略)
>
>> とりあえず WINNT\SYSTEM32 配下の java.exe、javaw.exe を削除して、
>> path= に C:\jdk1.2\bin を含めて、無事 HelloUniverse は実行できた。
>
>私もWindows95では付属のデモがアプレット、アプリケーション共に動いたのですが、
>NTの方ではアプレットしか動きませんでした。
>上記の方法でアプリケーションもOKになりました!
>ありがとうございました。
>
>Mitsuru Tsukiyama
>
>
>
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008