112 lines
No EOL
4.7 KiB
Java
112 lines
No EOL
4.7 KiB
Java
package cube_demo;
|
|
|
|
import com.sun.j3d.utils.geometry.Cone;
|
|
import javax.media.j3d.Appearance;
|
|
import javax.media.j3d.BoundingSphere;
|
|
import javax.media.j3d.Bounds;
|
|
import javax.media.j3d.BranchGroup;
|
|
import javax.media.j3d.ColoringAttributes;
|
|
import javax.media.j3d.Material;
|
|
import javax.media.j3d.Node;
|
|
import javax.media.j3d.SpotLight;
|
|
import javax.media.j3d.Transform3D;
|
|
import javax.media.j3d.TransformGroup;
|
|
import javax.vecmath.Matrix4d;
|
|
import javax.vecmath.Point3d;
|
|
import javax.vecmath.Vector3d;
|
|
|
|
class Lamp {
|
|
private BranchGroup mBrGrp = new BranchGroup();
|
|
|
|
public BranchGroup getBrGrp() {
|
|
return this.mBrGrp;
|
|
}
|
|
|
|
public Lamp(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4, double paramDouble5, boolean paramBoolean) {
|
|
Cone cone1 = new Cone((float)paramDouble4, (float)paramDouble5, 1, null);
|
|
Cone cone2 = new Cone((float)paramDouble4 * 2.0F, (float)paramDouble4, 1, null);
|
|
Cone cone3 = new Cone((float)paramDouble4 * 2.0F, 0.0F, 1, null);
|
|
Cone cone4 = new Cone((float)paramDouble4, (float)paramDouble4 / 2.0F, 1, null);
|
|
Vector3d vector3d = new Vector3d(paramDouble1, paramDouble2, paramDouble3);
|
|
Transform3D transform3D1 = new Transform3D();
|
|
Transform3D transform3D2 = new Transform3D();
|
|
TransformGroup transformGroup1 = new TransformGroup();
|
|
TransformGroup transformGroup2 = new TransformGroup();
|
|
TransformGroup transformGroup3 = new TransformGroup();
|
|
TransformGroup transformGroup4 = new TransformGroup();
|
|
TransformGroup transformGroup5 = new TransformGroup();
|
|
ColoringAttributes coloringAttributes = new ColoringAttributes();
|
|
Appearance appearance1 = new Appearance();
|
|
Appearance appearance2 = new Appearance();
|
|
Appearance appearance3 = new Appearance();
|
|
Appearance appearance4 = new Appearance();
|
|
Material material1 = new Material();
|
|
Material material2 = new Material();
|
|
Material material3 = new Material();
|
|
transformGroup1.addChild((Node)cone1);
|
|
transformGroup2.addChild((Node)cone2);
|
|
transformGroup3.addChild((Node)cone3);
|
|
transformGroup4.addChild((Node)cone4);
|
|
transformGroup5.addChild((Node)transformGroup1);
|
|
transformGroup5.addChild((Node)transformGroup2);
|
|
transformGroup5.addChild((Node)transformGroup3);
|
|
transformGroup5.addChild((Node)transformGroup4);
|
|
this.mBrGrp.addChild((Node)transformGroup5);
|
|
vector3d.set(0.0D, paramDouble5 / 2.0D, 0.0D);
|
|
transform3D1.setTranslation(vector3d);
|
|
transformGroup1.setTransform(transform3D1);
|
|
vector3d.set(0.0D, paramDouble5, 0.0D);
|
|
transform3D1.setTranslation(vector3d);
|
|
transformGroup2.setTransform(transform3D1);
|
|
vector3d.set(0.0D, paramDouble5 - paramDouble4 / 2.0D - 0.01D, 0.0D);
|
|
transform3D1.setTranslation(vector3d);
|
|
transformGroup3.setTransform(transform3D1);
|
|
vector3d.set(0.0D, paramDouble5 - paramDouble5 / 20.0D, 0.0D);
|
|
transform3D1.rotX(Math.PI);
|
|
transform3D1.setTranslation(vector3d);
|
|
transformGroup4.setTransform(transform3D1);
|
|
if (!paramBoolean) {
|
|
SpotLight spotLight = new SpotLight();
|
|
Point3d point3d = new Point3d(0.0D, (float)(paramDouble5 + paramDouble5 / 10.0D), 0.0D);
|
|
spotLight.setPosition((float)point3d.getX(), (float)point3d.getY(), (float)point3d.getZ());
|
|
spotLight.setInfluencingBounds((Bounds)new BoundingSphere(point3d, 20.0D));
|
|
spotLight.setSpreadAngle(1.5707964F);
|
|
spotLight.setDirection(0.0F, -1.0F, 0.0F);
|
|
spotLight.setConcentration(2.0F);
|
|
transformGroup5.addChild((Node)spotLight);
|
|
}
|
|
vector3d.set(paramDouble1, paramDouble2, paramDouble3);
|
|
transform3D1.setIdentity();
|
|
transform3D1.setTranslation(vector3d);
|
|
if (paramBoolean) {
|
|
Matrix4d matrix4d = new Matrix4d();
|
|
transform3D1.get(matrix4d);
|
|
matrix4d.setM11(-matrix4d.getM11());
|
|
transform3D1.set(matrix4d);
|
|
}
|
|
transformGroup5.setTransform(transform3D1);
|
|
material1.setAmbientColor(0.0F, 0.2F, 0.0F);
|
|
material1.setDiffuseColor(0.0F, 1.0F, 0.0F);
|
|
material1.setShininess(128.0F);
|
|
appearance1.setMaterial(material1);
|
|
cone1.setAppearance(appearance1);
|
|
material2.setAmbientColor(0.2F, 0.0F, 0.0F);
|
|
material2.setDiffuseColor(1.0F, 0.0F, 0.0F);
|
|
material2.setShininess(128.0F);
|
|
appearance2.setMaterial(material2);
|
|
cone2.setAppearance(appearance2);
|
|
coloringAttributes.setColor(0.8F, 0.0F, 0.0F);
|
|
appearance3.setColoringAttributes(coloringAttributes);
|
|
cone3.setAppearance(appearance3);
|
|
material3.setEmissiveColor(1.0F, 1.0F, 1.0F);
|
|
appearance4.setMaterial(material3);
|
|
cone4.setAppearance(appearance4);
|
|
this.mBrGrp.compile();
|
|
}
|
|
}
|
|
|
|
|
|
/* Location: /opt/SpaceControl/Cube_Demo.jar!/cube_demo/Lamp.class
|
|
* Java compiler version: 8 (52.0)
|
|
* JD-Core Version: 1.2.1
|
|
*/ |