Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.bauzoid.graphics.model;
/** Implementation of the SUX Model format (subset). */
public class Model
{
private String mName
;
private Mesh
[] mMeshes =
null;
/** Constructor. */
public Model
(String name
)
{
mName = name
;
}
/** Dispose internal data. */
public void dispose
()
{
if (mMeshes
!=
null)
{
for (int i =
0; i
< mMeshes.
length; i++
)
{
mMeshes
[i
].
dispose();
mMeshes
[i
] =
null;
}
mMeshes =
null;
}
}
/** Update internals. */
public void update
(float deltaTime
)
{
}
/** Render the model. */
public void render
()
{
for (int i =
0; i
< mMeshes.
length; i++
)
{
mMeshes
[i
].
render();
}
}
/** Upload the internal geometry to hardware. */
public void upload
()
{
for (int i =
0; i
< mMeshes.
length; i++
)
{
mMeshes
[i
].
getGeometry().
upload();
}
}
/** Unload internal geometry from hardware. */
public void unload
()
{
for (int i =
0; i
< mMeshes.
length; i++
)
{
mMeshes
[i
].
getGeometry().
unload();
}
}
/** Get number of meshes. */
public final int getMeshCount
()
{
return mMeshes.
length;
}
/** Get a single mesh. */
public final Mesh getMesh
(int i
)
{
return mMeshes
[i
];
}
/** Get a mesh by name. */
public final Mesh getMesh
(String name
)
{
for (int i =
0; i
< mMeshes.
length; i++
)
{
if (mMeshes
[i
].
getName().
equalsIgnoreCase(name
))
return mMeshes
[i
];
}
return null;
}
/** Set the meshes. */
public final void setMeshes
(Mesh
[] meshes
)
{
if (meshes ==
null)
dispose
();
mMeshes = meshes
;
}
/** Get the mesh name. */
public final String getName
()
{
return mName
;
}
}