Displaying Leaves
An ImagesCsSeries object is a quadrilateral (quad), centered at (0, 0, 0), that can display an image from a series passed to it in an ImageComponent2D array. Only the opaque parts of the image are shown, and the quad is invisible. The quad is a subclass of OrientedShape3D, configured to rotate around the point (0, 0, zCoord) relative to its origin.
The first image in the array is automatically displayed, but then methods must be called to change the picture; there is no default animation.
Tip
A version of ImageCsSeries with animation can be found in FPShooter3D in Chapter 24.
The constructor sets up the rotation point:
public ImageCsSeries(float zCoord, float screenSize, ImageComponent2D[] ims)
{ this.ims = ims;
imIndex = 0;
numImages = ims.length;
// set the orientation mode
setAlignmentMode(OrientedShape3D.ROTATE_ABOUT_POINT);
setRotationPoint(0.0f, 0.0f, zCoord);
createGeometry(screenSize);
createAppearance();
}A look back at the makeLeaves() method, used by the leaf creation rule, shows that two ImageCsSeries screens are created with different rotation points: one 0.5 units in front of its location and the other 0.5 units behind. This means that the two screens will rotate differently as the user's viewpoint moves around a tree. This creates a much larger mass of leaves that always seems to surround the tree limb, as illustrated by Figure 28-5.

Figure 28-5. Leaves ...