例外一覧


例外とその原因についてまとめてみました。

例外 / 戻る / トップページ


例外

例外の一覧です。
 
javax.media.j3d.CapabilityNotSetException: Group: no capability to set transform
Compiled-Retained Mode で Capability bit をセットしていない属性を変更しようとした時、 動的に Capability bit をセットしていない属性を変更しようとした時に 起きる例外です。
 
対処法 : 適切な Capability bit をセットします。 こちら を参照してください。
 
java.lang.IllegalArgumentException: SharedGroup must be referenced through a link node
SharedGroup オブジェクトを SceneGraph にぶら下げようとした時に起きる例外です。
 
対処法 : SharedGroup オブジェクトは Link オブジェクトのコンストラクタの引数に使うだけで OK です。
 
javax.media.j3d.MultipleParentException: Group.addChild: child already has a parent
1 つの Node を複数の Group にぶら下げようとした時に起きる例外です。 Primitive から getShape() メソッドで得た Shape オブジェクトを SceneGraph にぶら下げようとした時にも起きます。
 
対処法 : 1 つの Node を複数の Group にぶら下げたいときは SharedGroup, Link クラスを使います。
 
javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
SceneGraph につながっているノードに対して BranchGroup 以外のノードをぶら下げたときにでます。 また、ViewingPlatform オブジェクトに対して Interpolator オブジェクトなど 本来ぶら下げてはいけないものをぶら下げようとしてもでます。
 
対処法 : SceneGraph につながっているノードに対して別のノードを 追加する時は BranchGroup ノードを間に挟みます ( 動的にぶら下げるには を参照して下さい)。 本来ぶら下げてはいけないものをぶら下げようとしたときは 正しい場所にぶら下げます。
 
javax.media.j3d.RestrictedAccessException: Cannot modify capability bits on a live or compiled object
コンパイルした後に Capability bit を変更しようとした時に起こります。 ViewingPlatform オブジェクトに対して Capability bit を変更しようとした時にも起こります。
 
対処法 : コンパイル前に Capability bit を変更します。 ViewingPlatform オブジェクトについては良く分かりません。 ご存知の方は教えてください。
 
javax.media.j3d.IllegalSharingException: Background: Background geometry BranchGroup cannot contain leaf nodes other than Shape3D or Morph
Background オブジェクトの下に Shape3D, Morph オブジェクト以外を ぶら下げた場合に起こります。
 
対処法 : Background オブジェクトの下には Shape3D, Morph オブジェクト以外はぶら下げないようにします。
 
javax.media.j3d.IllegalSharingException: Sharing canvas with multiple views
1 つの Canvas3D オブジェクトを複数の SimpleUniverse のコンストラクタの引数に指定した場合などに起こります。
 
対処法 : SimpleUniverse ごとに別々の Canvas3D オブジェクトを指定します。

戻る