📄 myswitch.java
字号:
package com.java3d.test;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
public class mySwitch extends Applet {
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
Transform3D tran3d=new Transform3D();
tran3d.rotX(0.4);
TransformGroup objTrans = new TransformGroup(tran3d);
objRoot.addChild(objTrans);
Transform3D t =new Transform3D();
t.rotX(0.4);
TransformGroup obj = new TransformGroup(t);
Switch s = new Switch( );
s.addChild(new ColorCube(0.4));
s.addChild(new Sphere( ));
s.addChild(new Cone( ));
s.addChild(new ColorCube(0.2));
s.setCapability(Switch.ALLOW_SWITCH_WRITE);
objTrans.addChild(obj);
obj.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
obj.addChild(s);
Alpha scaleAlpha = new Alpha(-1,
Alpha.INCREASING_ENABLE|Alpha.DECREASING_ENABLE,
0, 0, 4000, 0, 4000, 4000, 0, 4000);
SwitchValueInterpolator sv =
new SwitchValueInterpolator(scaleAlpha, s,0,4);
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
sv.setSchedulingBounds(bounds);
obj.addChild(sv);
Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
DirectionalLight light1
= new DirectionalLight(light1Color, light1Direction);
light1.setInfluencingBounds(bounds);
objRoot.addChild(light1);
objRoot.compile();
return objRoot;
}
public mySwitch() {
setLayout(new BorderLayout());
Canvas3D c = new Canvas3D(SimpleUniverse
.getPreferredConfiguration());
add("Center", c);
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String[] args) {
new MainFrame(new mySwitch(),400,400);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -