Hello,
with the current JDK,
Solaris VM (build Solaris_JDK_1.2.1_03_pre-release, native threads, sunwjit)
my programs using picking Text2D objects don't work anymore (applies to Windows
platform, too).
They still work with jdk1.2rc2!
My j3d*.jar - files are from May 28th 99.
----
java -version
java version "1.2.1"
Solaris VM (build Solaris_JDK_1.2.1_03_pre-release, native threads, sunwjit)
java Editor
Exception occurred during Behavior execution:
javax.media.j3d.CapabilityNotSetException: Shape3D: no capability to allow intersect
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.lang.RuntimeException.<init>(RuntimeException.java:47)
at
javax.media.j3d.RestrictedAccessException.<init>(RestrictedAccessException.java:34)
at
javax.media.j3d.CapabilityNotSetException.<init>(CapabilityNotSetException.java:34)
at javax.media.j3d.Shape3D.intersect(Shape3D.java:226)
at com.sun.j3d.utils.behaviors.picking.PickObject.pickGeomAllSorted(Compiled
Code)
at
com.sun.j3d.utils.behaviors.picking.PickObject.pickGeomClosest(PickObject.java:552)
at
com.sun.j3d.utils.behaviors.picking.PickObject.pickClosest(PickObject.java:453)
at
com.sun.j3d.utils.behaviors.picking.PickRotateBehavior.updateScene(PickRotateBehavior.java:139)
at
com.sun.j3d.utils.behaviors.picking.PickMouseBehavior.processStimulus(Compiled Code)
at javax.media.j3d.BehaviorScheduler.processBehaviors(Compiled Code)
at javax.media.j3d.BehaviorScheduler.run(Compiled Code)
Of course I set the ALLOW_INTERSECT Capability Flag:
Text2D text2d = new Text2D(zeile, new Color3f(0.0f, 0.0f, 1.0f),
"Sans", size, 0);
QuadArray g = (QuadArray) text2d.getGeometry();
universalTg.addChild(transformGroup);
g.setCapability(Geometry.ALLOW_INTERSECT); // for picking
transformGroup.addChild(text2d);
...
objScale.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
...
prb =
new PickRotateBehavior(objRoot, canvas, bounds, PickObject.USE_GEOMETRY);
----
Since the program still runs with older JDK/J3D versions, something
must have changed. Or is it a version mismatch?
How can I find out which shape is missing the capability bit?
Thank you for any help,
Henrik
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".