mri.v3ds
Class Mesh3ds

java.lang.Object
  extended by mri.v3ds.Mesh3ds

public class Mesh3ds
extends java.lang.Object

Mesh object.

A mesh object in 3D Studio consists of a set of faces (triangles). The faces are assigned materials and can be texture mapped. The position, rotation, scaling, etc. are controlled by the keyframer tracks.

The Mesh3ds class contains the following data that is read from the 3D-editor part of the 3ds-file:
- Mesh name
- An array of vertices
- An array of texture mapping coordinates
- Texture mapping U and V tiling parameter
- Texture mapping type
- An array of faces
- An array of smmothing group parameters
- Matrix for moving the mesh frown world to object space
- A set of face material assignment objects

The following data is from the keyframer:
- Node id in the object hierarchy
- Parent node id in the object hierarchy
- Node flags
- Position spline track
- Rotation spline track
- Scale spline track
- Morph spline track
- Hide track



Field Summary
static int CYLINDRICAL_MAP
          Texture mapping was done using Cylindrical mapping.
static int PLANAR_MAP
          Texture mapping was done using Planar mapping.
static int SPHERICAL_MAP
          Texture mapping was done using Spherical mapping.
 
Constructor Summary
Mesh3ds()
           
 
Method Summary
 Face3ds face(int i)
          Access a specific face.
 Face3ds[] faceArray()
          Access the whole array of faces.
 FaceMat3ds faceMat(int i)
          Access a specific face material.
 int faceMats()
          Get number of face materials.
 int faces()
          Get number of faces.
 HideTrack3ds hide()
          Access hide track.
 MorphTrack3ds morph()
          Access morph spline track.
 java.lang.String name()
          Get mesh name.
 int nodeFlags()
          Get node flags.
 int nodeId()
          Get node id.
 int parentNodeId()
          Get parent node id.
 Vertex3ds pivot()
          Get pivot point.
 XYZTrack3ds position()
          Access position spline track.
 RotationTrack3ds rotation()
          Access rotation spline track.
 XYZTrack3ds scale()
          Access scale spline track.
 int smoothEntry(int i)
          Access a specific smoothing group entry.
 int[] smoothEntryArray()
          Access the whole array of smoothing group entrys.
 int smoothEntrys()
          Get number of smoothing group entrys.
 TexCoord3ds texCoord(int i)
          Access a specific texture mapping coordinate.
 TexCoord3ds[] texCoordArray()
          Access the whole array of texture mapping coordinates.
 int texCoords()
          Get number of texture mapping coordinates.
 int texMapType()
          Get texture mapping type used while mapping this mesh.
 float texUTile()
          Get texture mapping U tiling parameter.
 float texVTile()
          Get texture mapping V tiling parameter.
 Vertex3ds vertex(int i)
          Acces a specific vertex in the vertex array.
 Vertex3ds[] vertexArray()
          Access the whole array of vertices.
 int vertices()
          Get number of vertices.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PLANAR_MAP

public static final int PLANAR_MAP
Texture mapping was done using Planar mapping. This constant relates to the value returned by texMapType().

See Also:
Constant Field Values

CYLINDRICAL_MAP

public static final int CYLINDRICAL_MAP
Texture mapping was done using Cylindrical mapping. This constant relates to the value returned by texMapType().

See Also:
Constant Field Values

SPHERICAL_MAP

public static final int SPHERICAL_MAP
Texture mapping was done using Spherical mapping. This constant relates to the value returned by texMapType().

See Also:
Constant Field Values
Constructor Detail

Mesh3ds

public Mesh3ds()
Method Detail

name

public java.lang.String name()
Get mesh name.

Returns:
mesh name

vertices

public int vertices()
Get number of vertices.

Returns:
number of vertices

vertex

public Vertex3ds vertex(int i)
Acces a specific vertex in the vertex array.

Parameters:
i - index into vertex array [0 ... vertices()-1]
Returns:
the specified vertex

vertexArray

public Vertex3ds[] vertexArray()
Access the whole array of vertices.

Returns:
array of vertices

texCoords

public int texCoords()
Get number of texture mapping coordinates. The number of texture mapping coordinates is always the same as the number of vertices if the mesh has been texture mapped in 3D Studio, else it is 0.

Returns:
number of texture mapping coordinates.

texCoord

public TexCoord3ds texCoord(int i)
Access a specific texture mapping coordinate.

Parameters:
i - index into texture mapping array [0 ... texCoords()-1]
Returns:
the specified texture mapping coordinate

texCoordArray

public TexCoord3ds[] texCoordArray()
Access the whole array of texture mapping coordinates.

Returns:
array of texture mapping coordinates

texUTile

public float texUTile()
Get texture mapping U tiling parameter.

Returns:
texture mapping U tiling

texVTile

public float texVTile()
Get texture mapping V tiling parameter.

Returns:
texture mapping V tiling

texMapType

public int texMapType()
Get texture mapping type used while mapping this mesh. Use the constants PLANAR_MAP, SYLINDRICAL_MAP and SPHERICAL_MAP.

Returns:
texture mapping type

faces

public int faces()
Get number of faces.

Returns:
number of faces

face

public Face3ds face(int i)
Access a specific face.

Parameters:
i - index into face array [0 ... faces()-1]
Returns:
the specified face

faceArray

public Face3ds[] faceArray()
Access the whole array of faces.

Returns:
array of faces

faceMats

public int faceMats()
Get number of face materials.

Returns:
number of face materials

faceMat

public FaceMat3ds faceMat(int i)
Access a specific face material.

Parameters:
i - index into face material array [0 ... faceMats()-1]
Returns:
the specified face material

smoothEntrys

public int smoothEntrys()
Get number of smoothing group entrys.

Returns:
number of smoothing group entrys

smoothEntry

public int smoothEntry(int i)
Access a specific smoothing group entry.

Parameters:
i - index into smoothing group entry array [0 ... smoothEntrys()-1]
Returns:
the specified smoothing group entry

smoothEntryArray

public int[] smoothEntryArray()
Access the whole array of smoothing group entrys.

Returns:
array of smoothing group entry

nodeId

public int nodeId()
Get node id.

Returns:
node id

parentNodeId

public int parentNodeId()
Get parent node id.

Returns:
parent node id

nodeFlags

public int nodeFlags()
Get node flags.

Returns:
node flags

pivot

public Vertex3ds pivot()
Get pivot point.

Returns:
pivot point

position

public XYZTrack3ds position()
Access position spline track.

Returns:
position spline track

rotation

public RotationTrack3ds rotation()
Access rotation spline track.

Returns:
rotation spline track

scale

public XYZTrack3ds scale()
Access scale spline track.

Returns:
scale spline track

morph

public MorphTrack3ds morph()
Access morph spline track.

Returns:
morph spline track

hide

public HideTrack3ds hide()
Access hide track.

Returns:
hide track