Example usage for javax.media.j3d PointArray setCoordinate

List of usage examples for javax.media.j3d PointArray setCoordinate

Introduction

In this page you can find the example usage for javax.media.j3d PointArray setCoordinate.

Prototype

public void setCoordinate(int index, float coordinate[]) 

Source Link

Document

Sets the coordinate associated with the vertex at the specified index for this object.

Usage

From source file:BackgroundApp.java

public BranchGroup createBackGraph() {

    // Create the root of the branch graph
    BranchGroup objRoot = new BranchGroup();

    PointArray starGeom1 = new PointArray(7, PointArray.COORDINATES);
    Appearance starAppear1 = new Appearance();
    starGeom1.setCoordinate(0, new Point3f(0.79483311f, -0.58810995f, 0.14955615f));
    starGeom1.setCoordinate(1, new Point3f(0.44430932f, -0.55736839f, -0.70137505f));
    starGeom1.setCoordinate(2, new Point3f(0.94901367f, -0.30404968f, 0.08322775f));
    starGeom1.setCoordinate(3, new Point3f(0.68060123f, -0.43044807f, 0.59287173f));
    starGeom1.setCoordinate(4, new Point3f(-0.11641672f, 0.47273532f, 0.87348049f));
    starGeom1.setCoordinate(5, new Point3f(-0.10399289f, -0.98059412f, 0.16619437f));
    starGeom1.setCoordinate(6, new Point3f(0.08024400f, -0.96944100f, -0.23182900f));
    PointAttributes point1 = new PointAttributes(4.0f, false);
    starAppear1.setPointAttributes(point1);
    objRoot.addChild(new Shape3D(starGeom1, starAppear1));

    PointArray starGeom2 = new PointArray(18, PointArray.COORDINATES);
    starGeom2.setCoordinate(0, new Point3f(0.050844f, -0.992329f, 0.112678f));
    starGeom2.setCoordinate(1, new Point3f(-0.063091f, -0.997672f, 0.025869f));
    starGeom2.setCoordinate(2, new Point3f(0.096706f, -0.980384f, 0.171736f));
    starGeom2.setCoordinate(3, new Point3f(-0.562384f, 0.073568f, 0.823595f));
    starGeom2.setCoordinate(4, new Point3f(-0.863904f, 0.059045f, 0.500180f));
    starGeom2.setCoordinate(5, new Point3f(-0.727033f, 0.304149f, 0.615559f));
    starGeom2.setCoordinate(6, new Point3f(-0.724850f, 0.535590f, 0.433281f));
    starGeom2.setCoordinate(7, new Point3f(0.185904f, -0.976907f, -0.105311f));
    starGeom2.setCoordinate(8, new Point3f(0.738028f, -0.531886f, -0.415221f));
    starGeom2.setCoordinate(9, new Point3f(-0.402152f, 0.392690f, -0.827085f));
    starGeom2.setCoordinate(10, new Point3f(-0.020020f, -0.999468f, -0.025724f));
    starGeom2.setCoordinate(11, new Point3f(-0.384103f, -0.887075f, 0.256050f));
    starGeom2.setCoordinate(12, new Point3f(-0.224464f, -0.968946f, -0.103720f));
    starGeom2.setCoordinate(13, new Point3f(-0.828880f, -0.397932f, -0.393203f));
    starGeom2.setCoordinate(14, new Point3f(-0.010557f, -0.998653f, 0.050797f));
    starGeom2.setCoordinate(15, new Point3f(-0.282122f, 0.258380f, -0.923930f));
    starGeom2.setCoordinate(16, new Point3f(-0.941342f, -0.030364f, 0.336082f));
    starGeom2.setCoordinate(17, new Point3f(0.00057f, -0.99651f, -0.08344f));
    Appearance starAppear2 = new Appearance();
    PointAttributes point2 = new PointAttributes(2.0f, false);
    starAppear2.setPointAttributes(point2);
    objRoot.addChild(new Shape3D(starGeom2, starAppear2));

    PointArray starGeom3 = new PointArray(20, PointArray.COORDINATES);
    starGeom3.setCoordinate(0, new Point3f(0.07292f, -0.98862f, -0.13153f));
    starGeom3.setCoordinate(1, new Point3f(0.23133f, -0.87605f, -0.42309f));
    starGeom3.setCoordinate(2, new Point3f(-0.08215f, -0.64657f, 0.75840f));
    starGeom3.setCoordinate(3, new Point3f(-0.84545f, 0.53398f, 0.00691f));
    starGeom3.setCoordinate(4, new Point3f(-0.49365f, -0.83645f, -0.23795f));
    starGeom3.setCoordinate(5, new Point3f(0.06883f, -0.99319f, -0.09396f));
    starGeom3.setCoordinate(6, new Point3f(0.87582f, -0.40662f, 0.25997f));
    starGeom3.setCoordinate(7, new Point3f(-0.09095f, -0.99555f, 0.02467f));
    starGeom3.setCoordinate(8, new Point3f(0.45306f, -0.81575f, -0.35955f));
    starGeom3.setCoordinate(9, new Point3f(0.17669f, -0.97939f, 0.09776f));
    starGeom3.setCoordinate(10, new Point3f(0.27421f, -0.83963f, 0.46884f));
    starGeom3.setCoordinate(11, new Point3f(0.32703f, -0.94013f, -0.09584f));
    starGeom3.setCoordinate(12, new Point3f(-0.01615f, -0.99798f, -0.06132f));
    starGeom3.setCoordinate(13, new Point3f(-0.76665f, 0.45998f, -0.44791f));
    starGeom3.setCoordinate(14, new Point3f(-0.91025f, -0.07102f, 0.40791f));
    starGeom3.setCoordinate(15, new Point3f(-0.00240f, -0.97104f, -0.23887f));
    starGeom3.setCoordinate(16, new Point3f(0.91936f, -0.39244f, 0.02740f));
    starGeom3.setCoordinate(17, new Point3f(0.18290f, -0.97993f, 0.07920f));
    starGeom3.setCoordinate(18, new Point3f(-0.48755f, 0.61592f, 0.61884f));
    starGeom3.setCoordinate(19, new Point3f(-0.89375f, 0.36087f, -0.26626f));
    objRoot.addChild(new Shape3D(starGeom3));

    int[] stripCount = { 10 };
    LineStripArray orion = new LineStripArray(10, LineStripArray.COORDINATES, stripCount);
    orion.setCoordinate(0, new Point3f(0.978330f, -0.033900f, 0.204426f));
    orion.setCoordinate(1, new Point3f(0.968007f, -0.167860f, 0.186506f));
    orion.setCoordinate(2, new Point3f(0.981477f, -0.142660f, 0.127873f));
    orion.setCoordinate(3, new Point3f(0.983764f, -0.005220f, 0.179391f));
    orion.setCoordinate(4, new Point3f(0.981112f, 0.110597f, 0.158705f));
    orion.setCoordinate(5, new Point3f(0.967377f, 0.172516f, 0.185523f));
    orion.setCoordinate(6, new Point3f(0.961385f, 0.128845f, 0.243183f));
    orion.setCoordinate(7, new Point3f(0.978330f, -0.033900f, 0.204426f));
    orion.setCoordinate(8, new Point3f(0.981293f, -0.020980f, 0.191375f));
    orion.setCoordinate(9, new Point3f(0.983764f, -0.005220f, 0.179391f));
    objRoot.addChild(new Shape3D(orion));

    objRoot.compile();//from   w w w  . j a v a 2 s.c  o  m
    return objRoot;
}

From source file:IntersectTest.java

public BranchGroup createSceneGraph() {

    // Create the root of the branch graph
    BranchGroup objRoot = new BranchGroup();

    // Set up the ambient light
    Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
    AmbientLight ambientLightNode = new AmbientLight(ambientColor);
    ambientLightNode.setInfluencingBounds(bounds);
    objRoot.addChild(ambientLightNode);/*w ww .  j  av  a 2 s .  co m*/

    // Set up the directional lights
    Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
    Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
    Color3f light2Color = new Color3f(0.3f, 0.3f, 0.4f);
    Vector3f light2Direction = new Vector3f(-6.0f, -2.0f, -1.0f);

    DirectionalLight light1 = new DirectionalLight(light1Color, light1Direction);
    light1.setInfluencingBounds(bounds);
    objRoot.addChild(light1);

    DirectionalLight light2 = new DirectionalLight(light2Color, light2Direction);
    light2.setInfluencingBounds(bounds);
    objRoot.addChild(light2);

    Transform3D t3 = new Transform3D();

    // Shapes
    for (int x = 0; x < 3; x++) {
        for (int y = 0; y < 3; y++) {
            for (int z = 0; z < 3; z++) {
                t3.setTranslation(new Vector3d(-4 + x * 4.0, -4 + y * 4.0, -20 - z * 4.0));
                TransformGroup objTrans = new TransformGroup(t3);

                objRoot.addChild(objTrans);

                // Create a simple shape leaf node, add it to the scene
                // graph.
                GeometryArray geom = null;

                if (((x + y + z) % 2) == 0) {
                    geom = new RandomColorCube();
                } else {
                    geom = new RandomColorTetrahedron();
                }

                Shape3D shape = new Shape3D(geom);

                // use the utility method to set the capabilities
                PickTool.setCapabilities(shape, PickTool.INTERSECT_FULL);

                objTrans.addChild(shape);
            }
        }
    }

    // Lines
    Point3f[] verts = { new Point3f(-2.0f, 0.0f, 0.0f), new Point3f(2.0f, 0.0f, 0.0f) };
    Color3f grey = new Color3f(0.7f, 0.7f, 0.7f);
    Color3f[] colors = { grey, grey };

    for (int y = 0; y < 5; y++) {
        for (int z = 0; z < 5; z++) {
            t3.setTranslation(new Vector3d(7.0, -4 + y * 2.0, -20.0 - z * 2.0));
            TransformGroup objTrans = new TransformGroup(t3);

            objRoot.addChild(objTrans);

            LineArray la = new LineArray(verts.length, LineArray.COORDINATES | LineArray.COLOR_3);
            la.setCoordinates(0, verts);
            la.setColors(0, colors);

            Shape3D shape = new Shape3D();
            shape.setGeometry(la);

            // use the utility method to set the capabilities
            PickTool.setCapabilities(shape, PickTool.INTERSECT_FULL);

            objTrans.addChild(shape);
        }
    }

    // Points
    for (double x = -2.0; x <= 2.0; x += 1.0) {
        for (double y = -2.0; y <= 2.0; y += 1.0) {
            for (double z = -2.0; z <= 2.0; z += 1.0) {
                t3.setTranslation(new Vector3d(-10.0 + 2.0 * x, 0.0 + 2.0 * y, -20.0 + 2.0 * z));
                TransformGroup objTrans = new TransformGroup(t3);

                objRoot.addChild(objTrans);

                PointArray pa = new PointArray(1, PointArray.COORDINATES | PointArray.COLOR_3);

                pa.setCoordinate(0, new Point3d(0.0, 0.0, 0.0));
                pa.setColor(0, grey);

                Shape3D shape = new Shape3D();
                shape.setGeometry(pa);

                // use the utility method to set the capabilities
                PickTool.setCapabilities(shape, PickTool.INTERSECT_FULL);

                objTrans.addChild(shape);
            }
        }
    }

    return objRoot;
}

From source file:PointTest.java

private BranchGroup createPoints(final int nPointSize, final int nNumPoints, boolean bAliased) {
    BranchGroup bg = new BranchGroup();

    String szText = new String();
    szText += (nNumPoints + "X, Size:" + nPointSize + ", aliased: " + bAliased);

    Font3D f3d = new Font3D(new Font("SansSerif", Font.PLAIN, 1), new FontExtrusion());
    Text3D label3D = new Text3D(f3d, szText, new Point3f(-5, 0, 0));
    Shape3D sh = new Shape3D(label3D);

    bg.addChild(sh);//w w w  . j  a v a  2 s .  co  m

    PointArray pointArray = new PointArray(nNumPoints * nNumPoints,
            GeometryArray.COORDINATES | GeometryArray.COLOR_3);

    // create the PointArray that we will be rendering
    int nPoint = 0;
    final double factor = 1.0 / nNumPoints;

    for (int n = 0; n < nNumPoints; n++) {
        for (int i = 0; i < nNumPoints; i++) {
            Point3f point = new Point3f(n - nNumPoints / 2, i - nNumPoints / 2, 0.0f);
            pointArray.setCoordinate(nPoint, point);
            pointArray.setColor(nPoint++, new Color3f(0.5f, (float) (n * factor), (float) (i * factor)));
        }
    }

    // create the material for the points
    Appearance pointApp = new Appearance();

    // enlarge the points
    pointApp.setPointAttributes(new PointAttributes(nPointSize, bAliased));

    Shape3D pointShape = new Shape3D(pointArray, pointApp);

    bg.addChild(pointShape);
    return bg;
}