📄 nodeportrayal.java
字号:
package sim.app.balls3d; import sim.portrayal3d.*;import sim.portrayal.*;import javax.media.j3d.*;import javax.vecmath.*;import com.sun.j3d.utils.geometry.*; public class NodePortrayal extends SimplePortrayal3D { double diameter; protected Color3f obstacleColor = new Color3f(0,255f/255,0); public NodePortrayal( double diam ) { this.diameter = diam; } public TransformGroup getModel(Object obj, TransformGroup j3dModel) { if(j3dModel==null) { j3dModel = new TransformGroup(); Sphere s = new Sphere((float)diameter/2); Appearance appearance = new Appearance(); appearance.setColoringAttributes(new ColoringAttributes(obstacleColor, ColoringAttributes.SHADE_GOURAUD)); Material m= new Material(); m.setAmbientColor(obstacleColor); m.setEmissiveColor(0f,0f,0f); m.setDiffuseColor(obstacleColor); m.setSpecularColor(1f,1f,1f); m.setShininess(128f); appearance.setMaterial(m); s.setAppearance(appearance); // make all of its shapes pickable -- in this case, spheres // only have one "side" setPickableFlags(s.getShape(Sphere.BODY)); // build a LocationWrapper for the object LocationWrapper pickI = new LocationWrapper(obj, null, parentPortrayal); // Store the LocationWrapper in the user data of each shape s.getShape(Sphere.BODY).setUserData(pickI); j3dModel.addChild(s); } return j3dModel; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -