Full geom and group node pivot support has been added to the Ase loader as proposed.
What does this mean? Well if you choose to, you can access individual groups or objects in your model and translate or rotate them around their individual pivot points (which can be specified in MAX). Previous support only allowed transformations around the origin.
The output of the pre-existing methods has NOT been changed - getModel _should_ work exactally how it used to (although I encourage your to test to make sure my claim is valid).
How can you use this new feature? Well the most useful way is by the
TransformGroup getTransformGroupTree (HashMap namedNodes) method of AseFile.
That returns the root TransformGroup, plus it maps the node names to their TransformGroups in the passed HashMap.
For example, if you have a model of a human with the body parts "Body" (group of the body geom, arm geom and hand), "Arm" (group of the arm geom and hand geom) and "Hand" (the hand geom), you would add the returned TransformGroup to the root BranchGroup in your scene. Then you can easily get the Hand or Arm groups from the HashMap and rotate them around their pivot points (the bone joints).
An example of the code in action is given in the demo com.xith3d.test.Xith3DAseGroupTest.
There are two cubes in a group. Each cube spins in place around their respective pivot points. The group also spins around it's pivot point (between the two groups), and the group spins around the origin. This demonstrates the new rotate abilities using three different pivots. Press the keys "1", "2" and "3" to toggle the rotations of the respective TransformGroups.
The model data is in the files "rotatingcubetext.ASE" and "rotatingcubetest.max".
I have uploaded an "experimental" build for beta testing here:
http://xith.org/download/builds/2003-12-07_experimental-aseloader/Please run that test to see the new functionality. Anyone who currently uses the getModel() method in their code, please test my changes with your project and inform me of any problems.
I would like to commit those changes within a few days so long as no issues arise.
Will.