Java Reference
In-Depth Information
Figure 3. Second code segment for PickBehaviour.java
36.
public BranchGroup createSceneGraph(Canvas3D canvas)
37.
{
38.
BranchGroup objRoot = new BranchGroup();
39.
40.
TransformGroup objTranslate = null; Transform3D transform = new Transform3D();
41.
BoundingSphere bounds = new BoundingSphere(new Point3d( ), 1000.0 );
42.
43.
ColoringAttributes caA = new ColoringAttributes(); caA.setColor(0.9f,0.5f,0.4f);
44.
Appearance appA = new Appearance();
appA.setColoringAttributes(caA);
45.
46.
objTranslate = new TransformGroup (transform);
47.
objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
48.
objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
49.
objTranslate.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
50.
51.
objRoot.addChild(objTranslate);
52.
objTranslate.addChild(Landscape());
53.
objTranslate.addChild(new Sphere(0.4f, appA));
54.
55.
transform.setTranslation(new Vector3f( 1.0f, 0.0f, -0.5f));
56.
objTranslate = new TransformGroup(transform);
57.
objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
58.
objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
59.
objTranslate.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
60.
61.
objRoot.addChild(objTranslate);
62.
objTranslate.addChild(new ColorCube(0.4));
63.
64.
PickTranslateBehavior pickTranslate
65.
= new PickTranslateBehavior(objRoot, canvas, bounds);
66.
objRoot.addChild(pickTranslate);
67.
PickZoomBehavior pickZoom = new PickZoomBehavior (objRoot, canvas, bounds);
68.
objRoot.addChild(pickZoom);
69.
70.
PickRotateBehavior pickRotate = new PickRotateBehavior(objRoot, canvas, bounds);
71.
objRoot.addChild(pickRotate);
72.
73.
objRoot.compile();
74.
75.
return objRoot;
76.
}
77.
PickResult: This stores information on the picked object when picking occurs. By
setting appropriate capability bits in the scene graph Node, detailed information on
the pick and intersection of the PickShape with the picked Node can be obtained.
Search WWH ::




Custom Search