com.tirix.anim8or
Class Anim8orMesh

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Group
              extended by javax.media.j3d.TransformGroup
                  extended by com.tirix.anim8or.Anim8orTransform
                      extended by com.tirix.anim8or.Anim8orMesh

public class Anim8orMesh
extends Anim8orTransform

A class representing an Anim8or mesh.

Version:
$Id: Anim8orMesh.java,v 1.7 2008/02/02 23:53:59 tirix Exp $

Change Log:
 $Log: Anim8orMesh.java,v $
 Revision 1.7  2008/02/02 23:53:59  tirix
 Subdivisions are now supported.

 Revision 1.6  2008/01/20 00:55:46  tirix
 - Undefined DOFs are now tolerated in the loader.
 - Unknown chunks can now be easily skipped.
 - Added support for the SF_SHOWBACK face flag.
 - The file parser now understands some more chunks, 
     + v0.8 (some scene chunks, ignored)
     + v0.9 (solid chunks)

 Revision 1.5  2004/08/29 13:38:15  tirix
 Corrected a java3D bug that made problems with Anim8or groups.
 Now, if an unexisting DOF is specified in the file, the loader just outputs a warning.

 Revision 1.4  2004/07/16 17:58:40  tirix
 Added support for multi-material meshes.

 Revision 1.3  2004/07/15 22:13:45  tirix
 Implemented correct handling of back surface,
 Adaptation to Java3D 1.3.1

 Revision 1.2  2004/07/15 16:27:45  tirix
 Added a class header with CVS tags.

 Revision 1.1  2004/06/09 20:49:12  tirix
 First version.

 
Copyright (C) 2004 Thierry Arnoux.

Author:
Thierry Arnoux

Nested Class Summary
static class Anim8orMesh.Face
           
static class Anim8orMesh.MaterialPart
           
static class Anim8orMesh.MeshData
           
 
Field Summary
 
Fields inherited from class javax.media.j3d.TransformGroup
ALLOW_TRANSFORM_READ, ALLOW_TRANSFORM_WRITE
 
Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
 
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
Anim8orMesh(String name, Vector3f baseOrigin, Quat4f baseOrientation, Quat4f pivot)
           
Anim8orMesh(String name, Vector3f baseOrigin, Quat4f baseOrientation, Quat4f pivot, Anim8orMaterial[] materials, int subdivisions, Anim8orMesh.MeshData meshData)
           
 
Method Summary
 void addChild(Anim8orMesh.MaterialPart part)
           
static Anim8orMesh.MeshData createSubdivisionSurface(Anim8orMesh.MeshData a)
          Subdivision Surface An implementation of the Catmull and Clark algorithm See http://en.wikipedia.org/wiki/Subdivision_surface
 
Methods inherited from class com.tirix.anim8or.Anim8orTransform
getName, toString
 
Methods inherited from class javax.media.j3d.TransformGroup
cloneNode, getTransform, setTransform
 
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Anim8orMesh

public Anim8orMesh(String name,
                   Vector3f baseOrigin,
                   Quat4f baseOrientation,
                   Quat4f pivot)

Anim8orMesh

public Anim8orMesh(String name,
                   Vector3f baseOrigin,
                   Quat4f baseOrientation,
                   Quat4f pivot,
                   Anim8orMaterial[] materials,
                   int subdivisions,
                   Anim8orMesh.MeshData meshData)
Method Detail

addChild

public void addChild(Anim8orMesh.MaterialPart part)
Parameters:
part -

createSubdivisionSurface

public static Anim8orMesh.MeshData createSubdivisionSurface(Anim8orMesh.MeshData a)
Subdivision Surface An implementation of the Catmull and Clark algorithm See http://en.wikipedia.org/wiki/Subdivision_surface

Parameters:
a - the original mesh data
Returns:
the subdivided mesh data