Have you set the appropriate geometry array by-reference capabilities for accessing 
the data?

Sean


> -----Original Message-----
> From: Fco. Javier Ridruejo [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, November 26, 2002 8:54 AM
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] Fw: GeometryArray: cannot access in 
> BY_REFERENCE mode
> 
> 
> Hello,
> 
> I'm doing several modifications to a Java3D 1.2 program. This 
> works right
> under Java3D 1.2 but when using 1.3 it throws the following exception:
> 
> GeometryArray: cannot directly access data in BY_REFERENCE mode
> 
> This is the code where the program crashes:
> 
> public MyBoundingBox ComputePieceBounds()
>  {
>   int numVertices;
>   int contadorVertices;
>   float xActual;
>   float yActual;
>   float zActual;
>   float minX = 0.0f;
>   float maxX = 0.0f;
>   float minY = 0.0f;
>   float maxY = 0.0f;
>   float minZ = 0.0f;
>   float maxZ = 0.0f;
>   int numHijos;
>   Point3f puntoActual = new Point3f();
>   Shape3D sp3dBB;
> 
>   minX = Float.MAX_VALUE;
>   maxX = Float.MIN_VALUE;
>   minY = Float.MAX_VALUE;
>   maxY = Float.MIN_VALUE;
>   minZ = Float.MAX_VALUE;
>   maxZ = Float.MIN_VALUE;
>   numHijos = myScene.numChildren();
>   System.out.println("numHijos "+numHijos);
> 
>   //un fichero obj puede tener un monton de shape3D debido a
>   //los nodos group
>   for(int j =0;j<numHijos;j++)
>   {
>     sp3dBB = (Shape3D)myScene.getChild(j);
> 
>    TriangleStripArray tsa = (TriangleStripArray)sp3dBB.getGeometry();
>    numVertices = tsa.getVertexCount();
>    contadorVertices = 0;
>    while(contadorVertices < numVertices)
>    {
> 
> //Begin: Here the program fails
>     tsa.getCoordinate(contadorVertices,puntoActual);
> //End: Here the program fails
> 
>     xActual = puntoActual.x;
>     System.out.println("punto actual" +puntoActual);
>     yActual = puntoActual.y;
>     zActual = puntoActual.z;
>     //System.out.println(puntoActual);
>     if(xActual < minX)
>      minX = xActual;
>     if(xActual > maxX)
>      maxX = xActual;
>     if(yActual < minY)
>      minY = yActual;
>     if(yActual > maxY)
>      maxY = yActual;
>     if(zActual < minZ)
>      minZ = zActual;
>     if(zActual > maxZ)
>      maxZ = zActual;
>     contadorVertices = contadorVertices + 1;
>    }
>   }
>   return new MyBoundingBox(new Point3d(new Point3f(minX,minY,minZ)),
>          new Point3d(new Point3f(maxX,maxY,maxZ)));
>  }
> 
> I have browsed internet and I have found that this could be
> a bug in java3D 1.3. If so, I would like to know another way to
> do the same avoiding this bug.
> 
> 
> I hope you can help me.
> Thank you very much in advance.
> 
> Fco. Javier Ridruejo
> Neofis NT
> 
> _______________________________________________________________
> Copa del Mundo de la FIFA 2002
> El �nico lugar de Internet con v�deos de los 64 partidos.
> �Ap�ntante ya! en http://fifaworldcup.yahoo.com/fc/es/
> 
> ==============================================================
> =============
> 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