Fredrik,
Where is your view platform positioned? It is highly likely that you
are "inside" your object and won't see it. Be careful with your
clipping distances too.
- John Wright
Starfire Research
Fredrik Andersson wrote:
>
> Hello!
>
> I can't get this object (Shape3D) to be visable in an applet.
>
> Can somebody try to se if they can?
> It is supposed to be a solid cube.
>
> Best regards
> Fredrik
>
> import java.applet.*;
> import java.awt.*;
> import java.awt.Frame;
> import java.awt.event.*;
> import com.sun.j3d.utils.applet.MainFrame;
> import com.sun.j3d.utils.universe.*;
> import com.sun.j3d.utils.geometry.*;
> import javax.media.j3d.*;
> import javax.vecmath.*;
> import java.awt.event.*;
> import java.util.Enumeration;
>
> public class Test3dBrickWithGeomInfo extends Shape3D
> {
> int[] stripCount = {4, 4, 4, 4, 4, 4};
> //int[] stripCount = {4, 4};
> float[] coordinates;
>
> float x = 2;
> float y = 4;
> float z = 2;
>
> float posX = 0;
> float posY = 0;
> float posZ = 0;
>
> public Test3dBrickWithGeomInfo(float x, float y, float z,
> Point3f point3f)
> {
> this.x = x/2;
> this.y = y;
> this.z = z/2;
>
> posX = point3f.x;
> posY = point3f.y;
> posZ = point3f.z;
>
> coordinates = getCoordinates();
> GeometryInfo geometryInfo = new
> GeometryInfo(GeometryInfo.POLYGON_ARRAY);
> geometryInfo.setCoordinates(coordinates);
> geometryInfo.setStripCounts(stripCount);
>
> Triangulator triangulator = new Triangulator();
> triangulator.triangulate(geometryInfo);
> geometryInfo.recomputeIndices();
>
> NormalGenerator normalGenerator = new NormalGenerator();
> normalGenerator.generateNormals(geometryInfo);
> geometryInfo.recomputeIndices();
>
> Stripifier stripifier = new Stripifier();
> stripifier.stripify(geometryInfo);
> geometryInfo.recomputeIndices();
>
> setAppearance(createMaterialAppearance());
> //setAppearance(createWireFrameAppearance());
>
> setGeometry(geometryInfo.getGeometryArray());
> }
>
> public float[] getCoordinates()
> {
> float[] coordinates = new float[24*3];
> int i = 0;
> float x = this.x - 0.001f;
> float y = this.y - 0.001f;
> float z = this.z - 0.001f;
>
> //Botten
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //0
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //1
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //2
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //3
>
> //Toppen
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //4
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //5
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //6
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //7
>
> //Baksida
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //1
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //5
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //6
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //2
>
> //H�ger sida
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //2
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //6
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //7
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //3
>
> //Framsida
> coordinates[i++]= posX+(x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //3
> coordinates[i++]= posX+(x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //7
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //4
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //0
>
> //V�nstersida
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(z); //0
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(z); //4
> coordinates[i++]= posX+(-x); coordinates[i++]= posY+(y);
> coordinates[i++]= posZ+(-z); //5
> coordinates[i++]= posX+(-x); coordinates[i++]=
> posY+(0.001f); coordinates[i++]= posZ+(-z); //1
>
> System.out.println("L�ngden p� cordinat arryen " +
> coordinates.length);
> return coordinates;
> }
>
> Appearance createMaterialAppearance()
> {
>
> Appearance materialAppear = new Appearance();
> PolygonAttributes polyAttrib = new PolygonAttributes();
> polyAttrib.setCullFace(PolygonAttributes.CULL_NONE);
> materialAppear.setPolygonAttributes(polyAttrib);
>
> Material material = new Material();
> material.setDiffuseColor(new Color3f(0.8f, 0.5f, 0.5f));
> materialAppear.setMaterial(material);
>
> return materialAppear;
> }
>
> Appearance createWireFrameAppearance()
> {
>
> Appearance materialAppear = new Appearance();
> PolygonAttributes polyAttrib = new PolygonAttributes();
> polyAttrib.setPolygonMode(PolygonAttributes.POLYGON_LINE);
> materialAppear.setPolygonAttributes(polyAttrib);
>
> ColoringAttributes redColoring = new ColoringAttributes();
> redColoring.setColor(0.0f, 1.0f, 0.0f);
> materialAppear.setColoringAttributes(redColoring);
>
> return materialAppear;
> }
>
> public int[] getStripCount()
> {
> return stripCount;
> }
>
> }
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".