List of usage examples for javax.media.j3d Shape3D ALLOW_GEOMETRY_READ
int ALLOW_GEOMETRY_READ
To view the source code for javax.media.j3d Shape3D ALLOW_GEOMETRY_READ.
Click Source Link
From source file:GeometryByReferenceTest.java
BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
// Set up attributes to render lines
app = new Appearance();
transp = new TransparencyAttributes();
transp.setTransparency(0.5f);//from w ww .j a va 2 s. com
transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
transp.setTransparencyMode(TransparencyAttributes.NONE);
app.setTransparencyAttributes(transp);
tetraRegular = createGeometry(1);
tetraStrip = createGeometry(2);
tetraIndexed = createGeometry(3);
tetraIndexedStrip = createGeometry(4);
geoArrays[0] = tetraRegular;
geoArrays[1] = tetraStrip;
geoArrays[2] = tetraIndexed;
geoArrays[3] = tetraIndexedStrip;
shape = new Shape3D(tetraRegular, app);
shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
Transform3D t = new Transform3D();
// move the object upwards
t.set(new Vector3f(0.0f, 0.3f, 0.0f));
// rotate the shape
Transform3D temp = new Transform3D();
temp.rotX(Math.PI / 4.0d);
t.mul(temp);
temp.rotY(Math.PI / 4.0d);
t.mul(temp);
// Shrink the object
t.setScale(0.6);
TransformGroup trans = new TransformGroup(t);
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objRoot.addChild(trans);
trans.addChild(shape);
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
// Set up the global lights
Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
AmbientLight aLgt = new AmbientLight(alColor);
aLgt.setInfluencingBounds(bounds);
DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
lgt1.setInfluencingBounds(bounds);
objRoot.addChild(aLgt);
objRoot.addChild(lgt1);
// Let Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
}
From source file:GeometryByReferenceNIOBuffer.java
BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
// Set up attributes to render lines
app = new Appearance();
transp = new TransparencyAttributes();
transp.setTransparency(0.5f);/*from w w w .j a v a 2 s .co m*/
transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
transp.setTransparencyMode(TransparencyAttributes.NONE);
app.setTransparencyAttributes(transp);
//create the direct nio buffer
createJ3DBuffers();
tetraRegular = createGeometry(1);
tetraStrip = createGeometry(2);
tetraIndexed = createGeometry(3);
tetraIndexedStrip = createGeometry(4);
geoArrays[0] = tetraRegular;
geoArrays[1] = tetraStrip;
geoArrays[2] = tetraIndexed;
geoArrays[3] = tetraIndexedStrip;
shape = new Shape3D(tetraRegular, app);
shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
Transform3D t = new Transform3D();
// move the object upwards
t.set(new Vector3f(0.0f, 0.3f, 0.0f));
// rotate the shape
Transform3D temp = new Transform3D();
temp.rotX(Math.PI / 4.0d);
t.mul(temp);
temp.rotY(Math.PI / 4.0d);
t.mul(temp);
// Shrink the object
t.setScale(0.6);
TransformGroup trans = new TransformGroup(t);
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objRoot.addChild(trans);
trans.addChild(shape);
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
// Set up the global lights
Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
AmbientLight aLgt = new AmbientLight(alColor);
aLgt.setInfluencingBounds(bounds);
DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
lgt1.setInfluencingBounds(bounds);
objRoot.addChild(aLgt);
objRoot.addChild(lgt1);
// Let Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
}
From source file:ffx.potential.MolecularAssembly.java
/** * <p>//from www . j av a2 s. co m * createBox</p> */ public void createBox() { int vertices = 8; LineArray la = new LineArray(4 * vertices, GeometryArray.COORDINATES | GeometryArray.COLOR_4 | GeometryArray.NORMALS); la.setCapability(LineArray.ALLOW_COORDINATE_WRITE); la.setCapability(LineArray.ALLOW_COORDINATE_READ); la.setCapability(LineArray.ALLOW_COLOR_WRITE); la.setCapability(LineArray.ALLOW_COUNT_READ); la.setCapability(LineArray.ALLOW_INTERSECT); la.setCapability(LineArray.ALLOW_FORMAT_READ); // Create a normal // for (ListIterator li = bondlist.listIterator(); li.hasNext(); ){ // la.setCoordinate(i, a1); // la.setColor(i, col); // la.setNormal(i++, a1); // } ColoringAttributes cola = new ColoringAttributes(new Color3f(), ColoringAttributes.SHADE_GOURAUD); Appearance app = new Appearance(); lineAttributes = new LineAttributes(); lineAttributes.setLineWidth(RendererCache.bondwidth); lineAttributes.setCapability(LineAttributes.ALLOW_WIDTH_WRITE); lineAttributes.setLineAntialiasingEnable(true); app.setLineAttributes(lineAttributes); app.setCapability(Appearance.ALLOW_LINE_ATTRIBUTES_READ); app.setCapability(Appearance.ALLOW_LINE_ATTRIBUTES_WRITE); RenderingAttributes ra = new RenderingAttributes(); ra.setAlphaTestValue(0.1f); ra.setAlphaTestFunction(RenderingAttributes.GREATER); ra.setDepthBufferEnable(true); ra.setDepthBufferWriteEnable(true); app.setRenderingAttributes(ra); app.setColoringAttributes(cola); Shape3D wireframe = new Shape3D(la, app); // PickTool.setCapabilities(wire, PickTool.INTERSECT_COORD); wireframe.setUserData(this); wireframe.setBounds(new BoundingSphere(new Point3d(0, 0, 0), 10.0)); try { wireframe.setBoundsAutoCompute(false); } catch (Exception e) { e.printStackTrace(); } wireframe.setCapability(Shape3D.ALLOW_GEOMETRY_READ); wireframe.setCapability(Shape3D.ALLOW_APPEARANCE_READ); // return wire; }
From source file:TextureByReference.java
public Tetrahedron(boolean byRef) { if (byRef) {//from ww w.ja v a 2 s . c o m createGeometryByRef(); this.setGeometry(geometryByRef); } else { createGeometryByCopy(); this.setGeometry(geometryByCopy); } this.setCapability(Shape3D.ALLOW_GEOMETRY_READ); this.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); setAppearance(new Appearance()); }
From source file:ffx.potential.MolecularAssembly.java
private Shape3D renderWire() { ArrayList<ROLS> bonds = getBondList(); int numbonds = bonds.size(); if (numbonds < 1) { return null; }//from ww w.j av a 2 s .c om Vector3d bondmidpoint = new Vector3d(); double[] mid = { 0, 0, 0 }; Vector3d v1 = new Vector3d(); Vector3d v2 = new Vector3d(); float[] a1 = { 0, 0, 0 }; float[] a2 = { 0, 0, 0 }; float[] col = new float[4]; Bond bond; Atom atom1, atom2; LineArray la = new LineArray(4 * numbonds, GeometryArray.COORDINATES | GeometryArray.COLOR_4 | GeometryArray.NORMALS); la.setCapability(LineArray.ALLOW_COORDINATE_WRITE); la.setCapability(LineArray.ALLOW_COORDINATE_READ); la.setCapability(LineArray.ALLOW_COLOR_WRITE); la.setCapability(LineArray.ALLOW_COUNT_READ); la.setCapability(LineArray.ALLOW_INTERSECT); la.setCapability(LineArray.ALLOW_FORMAT_READ); atomLookUp = new Atom[4 * numbonds]; int i = 0; col[3] = 0.9f; for (ListIterator li = bonds.listIterator(); li.hasNext();) { bond = (Bond) li.next(); bond.setWire(la, i); atom1 = bond.getAtom(0); atom2 = bond.getAtom(1); atom1.getV3D(v1); atom2.getV3D(v2); a1[0] = (float) v1.x; a1[1] = (float) v1.y; a1[2] = (float) v1.z; a2[0] = (float) v2.x; a2[1] = (float) v2.y; a2[2] = (float) v2.z; // Find the bond center bondmidpoint.add(v1, v2); bondmidpoint.scale(0.5d); bondmidpoint.get(mid); // Atom #1 Atom.AtomColor.get(atom1.getAtomicNumber()).get(col); atomLookUp[i] = atom1; la.setCoordinate(i, a1); la.setColor(i, col); la.setNormal(i, a2); i++; atomLookUp[i] = atom1; la.setCoordinate(i, mid); la.setColor(i, col); la.setNormal(i, a2); i++; // Atom #2 Atom.AtomColor.get(atom2.getAtomicNumber()).get(col); atomLookUp[i] = atom2; la.setCoordinate(i, a2); la.setColor(i, col); la.setNormal(i, a1); i++; atomLookUp[i] = atom2; la.setCoordinate(i, mid); la.setColor(i, col); la.setNormal(i, a1); i++; } ColoringAttributes cola = new ColoringAttributes(new Color3f(), ColoringAttributes.SHADE_GOURAUD); Appearance app = new Appearance(); lineAttributes = new LineAttributes(); lineAttributes.setLineWidth(RendererCache.bondwidth); lineAttributes.setCapability(LineAttributes.ALLOW_WIDTH_WRITE); lineAttributes.setLineAntialiasingEnable(true); app.setLineAttributes(lineAttributes); app.setCapability(Appearance.ALLOW_LINE_ATTRIBUTES_READ); app.setCapability(Appearance.ALLOW_LINE_ATTRIBUTES_WRITE); RenderingAttributes ra = new RenderingAttributes(); ra.setAlphaTestValue(0.1f); ra.setAlphaTestFunction(RenderingAttributes.GREATER); ra.setDepthBufferEnable(true); ra.setDepthBufferWriteEnable(true); app.setRenderingAttributes(ra); app.setColoringAttributes(cola); Shape3D wireframe = new Shape3D(la, app); // PickTool.setCapabilities(wire, PickTool.INTERSECT_COORD); wireframe.setUserData(this); wireframe.setBounds(new BoundingSphere(new Point3d(0, 0, 0), 1000.0)); try { wireframe.setBoundsAutoCompute(false); } catch (Exception e) { e.printStackTrace(); } wireframe.setCapability(Shape3D.ALLOW_GEOMETRY_READ); wireframe.setCapability(Shape3D.ALLOW_APPEARANCE_READ); wireframe.setCapability(Shape3D.ALLOW_LOCAL_TO_VWORLD_READ); return wireframe; }
From source file:FourByFour.java
public Cube(Appearance appearance) { QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES | QuadArray.NORMALS | QuadArray.TEXTURE_COORDINATE_2); quadArray.setCoordinates(0, verts);/*from w w w . ja va 2 s . c om*/ quadArray.setNormals(0, normals); shape3D = new Shape3D(quadArray, appearance); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE); }
From source file:FourByFour.java
public Cube(Appearance appearance, float size) { QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES | QuadArray.NORMALS); for (int i = 0; i < 72; i++) verts[i] *= size;//from w w w .java 2s .c o m quadArray.setCoordinates(0, verts); quadArray.setNormals(0, normals); shape3D = new Shape3D(quadArray, appearance); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE); }
From source file:FourByFour.java
public BigCube(Appearance appearance) { QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES | QuadArray.NORMALS); quadArray.setCoordinates(0, verts);/*from ww w. ja v a2 s . c om*/ quadArray.setNormals(0, normals); shape3D = new Shape3D(quadArray, appearance); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE); }
From source file:FourByFour.java
public BigCube(Appearance appearance, float size) { QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES | QuadArray.NORMALS); for (int i = 0; i < 72; i++) verts[i] *= size;// ww w .j a v a 2 s . c o m quadArray.setCoordinates(0, verts); quadArray.setNormals(0, normals); shape3D = new Shape3D(quadArray, appearance); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ); shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ); shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE); }