Search in sources :

Example 6 with Appearance

use of javax.media.j3d.Appearance in project ffx by mjschnie.

the class GraphicsAxis method createAxis.

/**
 * <p>
 * createAxis</p>
 */
public void createAxis() {
    Appearance ap = new Appearance();
    Color3f col = new Color3f(Color.lightGray);
    Color3f black = new Color3f(Color.black);
    Color3f white = new Color3f(Color.white);
    Material mat = new Material(col, black, col, white, 50.0f);
    mat.setLightingEnable(true);
    ap.setMaterial(mat);
    // X-Axis
    Cone xcone = new Cone(2.0f, 3.0f, ap);
    xcone.setUserData(this);
    Transform3D xconeT3d = new Transform3D();
    xconeT3d.setTranslation(new Vector3d(10.0f, 0.0f, 0.0f));
    xconeT3d.setRotation(new AxisAngle4f(0.0f, 0.0f, 1.0f, (float) Math.PI / -2.0f));
    TransformGroup xconeTG = new TransformGroup(xconeT3d);
    xconeTG.addChild(xcone);
    Cylinder xcylinder = new Cylinder(1.0f, 9.0f, ap);
    xcylinder.setUserData(this);
    Transform3D xcyT3d = new Transform3D();
    xcyT3d.setTranslation(new Vector3d(4.5, 0.0, 0.0));
    xcyT3d.setRotation(new AxisAngle4f(0.0f, 0.0f, 1.0f, (float) Math.PI / 2.0f));
    TransformGroup xcyTG = new TransformGroup(xcyT3d);
    xcyTG.addChild(xcylinder);
    setCapabilities(xcone, xcylinder);
    addChild(xconeTG);
    addChild(xcyTG);
    // Y-Axis
    Cone ycone = new Cone(2.0f, 3.0f, ap);
    ycone.setUserData(this);
    Transform3D yconeT3d = new Transform3D();
    yconeT3d.setTranslation(new Vector3d(0.0f, 10.0f, 0.0f));
    TransformGroup yconeTG = new TransformGroup(yconeT3d);
    yconeTG.addChild(ycone);
    Cylinder ycylinder = new Cylinder(1.0f, 9.0f, ap);
    ycylinder.setUserData(this);
    Transform3D ycyT3d = new Transform3D();
    ycyT3d.setTranslation(new Vector3d(0.0, 4.5, 0.0));
    TransformGroup ycyTG = new TransformGroup(ycyT3d);
    ycyTG.addChild(ycylinder);
    setCapabilities(ycone, ycylinder);
    addChild(yconeTG);
    addChild(ycyTG);
    // Z-Axis
    Cone zcone = new Cone(2.0f, 3.0f, ap);
    zcone.setUserData(this);
    Transform3D zconeT3d = new Transform3D();
    zconeT3d.setTranslation(new Vector3d(0.0f, 0.0f, 10.0f));
    zconeT3d.setRotation(new AxisAngle4f(1.0f, 0.0f, 0.0f, (float) Math.PI / 2.0f));
    TransformGroup zconeTG = new TransformGroup(zconeT3d);
    zconeTG.addChild(zcone);
    Cylinder zcylinder = new Cylinder(1.0f, 9.0f, ap);
    zcylinder.setUserData(this);
    Transform3D zcyT3d = new Transform3D();
    zcyT3d.setTranslation(new Vector3d(0.0, 0.0, 4.5));
    zcyT3d.setRotation(new AxisAngle4f(1.0f, 0.0f, 0.0f, (float) Math.PI / 2.0f));
    TransformGroup zcyTG = new TransformGroup(zcyT3d);
    zcyTG.addChild(zcylinder);
    setCapabilities(zcone, zcylinder);
    addChild(zconeTG);
    addChild(zcyTG);
    Sphere sphere = new Sphere(1.0f, ap);
    if (!sphere.getShape().getGeometry(0).isCompiled() && !sphere.getShape().getGeometry(0).isLive()) {
        PickTool.setCapabilities(sphere.getShape(), PickTool.INTERSECT_COORD);
    }
    addChild(sphere);
    // Labels
    ap = new Appearance();
    col = new Color3f(Color.green);
    mat = new Material(col, black, col, white, 50.0f);
    mat.setLightingEnable(true);
    ap.setMaterial(mat);
    Font font = new Font("Arial", Font.PLAIN, 4);
    Font3D font3d = new Font3D(font, new FontExtrusion());
    addChild(createAxisLabel("X", font3d, ap, 11.0, 0.0, 0.0));
    addChild(createAxisLabel("Y", font3d, ap, 0.0, 11.0, 0.0));
    addChild(createAxisLabel("Z", font3d, ap, 0.0, 0.0, 11.0));
}
Also used : Cone(com.sun.j3d.utils.geometry.Cone) Font3D(javax.media.j3d.Font3D) Color3f(javax.vecmath.Color3f) Transform3D(javax.media.j3d.Transform3D) Material(javax.media.j3d.Material) Appearance(javax.media.j3d.Appearance) FontExtrusion(javax.media.j3d.FontExtrusion) Font(java.awt.Font) TransformGroup(javax.media.j3d.TransformGroup) Sphere(com.sun.j3d.utils.geometry.Sphere) Cylinder(com.sun.j3d.utils.geometry.Cylinder) Vector3d(javax.vecmath.Vector3d) AxisAngle4f(javax.vecmath.AxisAngle4f)

Aggregations

Appearance (javax.media.j3d.Appearance)6 ShaderAppearance (javax.media.j3d.ShaderAppearance)3 Color3f (javax.vecmath.Color3f)3 Cylinder (com.sun.j3d.utils.geometry.Cylinder)2 Sphere (com.sun.j3d.utils.geometry.Sphere)2 BoundingSphere (javax.media.j3d.BoundingSphere)2 ColoringAttributes (javax.media.j3d.ColoringAttributes)2 LineArray (javax.media.j3d.LineArray)2 LineAttributes (javax.media.j3d.LineAttributes)2 Material (javax.media.j3d.Material)2 RenderingAttributes (javax.media.j3d.RenderingAttributes)2 Shape3D (javax.media.j3d.Shape3D)2 Point3d (javax.vecmath.Point3d)2 Vector3d (javax.vecmath.Vector3d)2 Cone (com.sun.j3d.utils.geometry.Cone)1 Atom (ffx.potential.bonded.Atom)1 Bond (ffx.potential.bonded.Bond)1 ROLS (ffx.potential.bonded.ROLS)1 Font (java.awt.Font)1 Font3D (javax.media.j3d.Font3D)1