Skip to main content

.obj -- How to obtain and revise the vertices's coordinates?

2 replies [Last post]
jiapei100
Offline
Joined: 2006-12-04
Points: 0

Java3d is using GeometryInfo to obtain the geometric information of the loaded .obj files.

Let's suppose I've already obtained the Shape3D obj3d,

I can use
GeometryInfo gi = new GeometryInfo( (GeometryArray)obj3d.getGeometry() );
and then
Point3f[] coords = gi.getCoordinates();

to obtain all the coordinates relative to triangles' vertexes (loads of duplicates), but it seems we an never obtain the used vertexes directly.

For instance, in my case, I'm trying to load a huge .obj file. There are totally 75,972 vertexes, but 150,958 triangles.

The above method "Point3f[] coords = gi.getCoordinates();" will give me 150,958*3(3 vertexes for each triangle)=452,874 vertexes. I really don't need it I think. What I need is just those 75,972 vertexes' coordinates. How can I obtain these coordinates please?

Seriously urgently. Thank you very much in advance.

Best Regards
JIA

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
zesharp
Offline
Joined: 2006-12-21
Points: 0

Hi

Seems GeometryInfo is unrolling your vertexes.

Dis you try to use play GeometryArray methods :

public int getVertexCount();
public void getCoordinates(int index, Point3f[] coordinates)

GeometryInfo has a getIndexedGeometryArray() method. I guess it returns a compact geometry.

ende
Offline
Joined: 2008-10-15
Points: 0

Hello,

I am solving similar problem. How far are you with the solution. Could you share it please with me?

Thanks a lot.