private BranchGroup createViewgroup(View v) {
BranchGroup viewRoot = new BranchGroup();
viewTransform = new TransformGroup();
viewTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
viewTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Transform3D transform = new Transform3D();
transform.set(new Vector3d(0, 0, 18));
viewTransform.setTransform(transform);
viewRoot.addChild(viewTransform);
// AmbientLight al = new AmbientLight(new Color3f(0.3f, 0.3f, 0.3f));
// al.setInfluencingBounds(new BoundingSphere(new Point3d( 0.0, 0.0, 0.0 ),1000.0));
// viewTransform.addChild(al);
AmbientLight al = new AmbientLight(new Color3f(.4f, 0.4f, 0.4f));
al.setInfluencingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 1000.0));
viewTransform.addChild(al);
DirectionalLight dLight = new DirectionalLight(new Color3f(0.4f, 0.4f, 0.4f), new Vector3f(1.0f, -1.0f, -2.0f));
dLight.setInfluencingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 1000.0));
viewTransform.addChild(dLight);
PointLight pLight = new PointLight(true, new Color3f(0.4f, 0.4f, 0.4f), new Point3f(220.0f, -220.0f, 220.0f), new Point3f(0.3f, 0.0f, 0.0f));
pLight.setInfluencingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 1000.0));
viewTransform.addChild(pLight);
ViewPlatform vp = new ViewPlatform();
v.attachViewPlatform(vp);
viewTransform.addChild(vp);
viewRoot.compile();
return viewRoot;
}