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".

Reply via email to