j3d changed the number of the points of geometry?

the number of the points of geometry in j3d is not equal to that of the VRML file?

I load a VRML model using VrmlLoader in VRML97.jar.
the geometry node in .wrl file which includes 9 points is as follow:

geometry DEF Bone_LeftUpperArm-FACES IndexedFaceSet {
    ccw TRUE
    solid TRUE
    coord DEF Bone_LeftUpperArm-COORD Coordinate { point [
        5 5 5, 5 5 -5, 5 -5 -5, 5 -5 5, 250 0.5 0.5, 
        250 0.5 -0.5, 250 -0.5 -0.5, 250 -0.5 0.5, 
        0 0 0]
    }
    coordIndex [
        4, 7, 5, -1, 6, 5, 7, -1, 1, 5, 2, -1, 6, 2, 5, -1, 
        0, 4, 1, -1, 5, 1, 4, -1, 7, 3, 6, -1, 
        2, 6, 3, -1, 4, 0, 7, -1, 3, 7, 0, -1, 
        8, 0, 1, -1, 8, 1, 2, -1, 8, 2, 3, -1, 
}

And in my java3d application, the code I used to retrieve the node is follow:

   ...   
   Shape3D myShape=new Shape3D();
   myShape= (Shape3D) objTG.getChild(0);
   //objTG is a TransformGroup which is the Bone_LeftUpperArm-FACES in .wrl file      
   GeometryArray g;
   g = (GeometryArray) myShape.getGeometry();
   int vertexNum=g.getValidVertexCount();      //get the VertexCount,but vertexNum=42,not 9!!! 
   Point3f[] tt=new Point3f[vertexNum];
   for (int i=0;i<vertexNum;i++){
     tt[i]=new Point3f();
   }
   g.getCoordinates(0,tt);
   ...

the problem is that in my application the number of points is not equal to that of the .wrl file. because in .wrl file the num is 9,while in debug in my j3d application the virable “vertexNum” is 42! (but the coordinates of the 42 vertexs include all the coordinates of the original 9 vertexs). That means when a geometry was loaded in java3d, the number of the points of the geometry has been changed, is that right? how can I get the same points as in the orignal .wrl file?

thanks!

regrads.
Martin

Hi, did you solve that problem already?

I think it’s probably because java3d is always using the triangle vertexes rather than the vertexes directly, which means, the vertexes counted by java3d have some overlaps.

Say, if you have only 4 points(vertexes), but you compose the shape by 2 triangles. Then, java3d will count 6 vertexes with 2 of which are overlapped.

How did you finally update the real vertexes rather than the triangle vertexes?

Cheers
JIA