org.selman.java3d.book.common
Class ComplexObject

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.Node
              |
              +--javax.media.j3d.Group
                    |
                    +--javax.media.j3d.BranchGroup
                          |
                          +--org.selman.java3d.book.common.ComplexObject
Direct Known Subclasses:
Building, Car, Cuboid, Guard, Helicopter, Land, Land, Light, Road

public abstract class ComplexObject
extends javax.media.j3d.BranchGroup


Field Summary
static int COLLISION
           
static int COLLISION_SOUND
           
static int GEOMETRY
           
protected  javax.media.j3d.TransformGroup m_BehaviorTransformGroup
           
protected  javax.media.j3d.BackgroundSound m_CollideSound
           
protected  java.awt.Component m_Component
           
protected  int m_nFlags
           
protected  javax.media.j3d.Group m_ParentGroup
           
protected  javax.media.j3d.TransformGroup m_TransformGroup
           
static int SOUND
           
static int TEXTURE
           
 
Fields inherited from class javax.media.j3d.BranchGroup
ALLOW_DETACH
 
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
ComplexObject(java.awt.Component comp, javax.media.j3d.Group group, int nFlags)
           
 
Method Summary
 void attachBehavior(javax.media.j3d.Behavior beh)
           
 void attachSplinePathInterpolator(javax.media.j3d.Alpha alpha, javax.media.j3d.Transform3D axis, java.net.URL urlKeyframes)
           
protected abstract  javax.media.j3d.Group createGeometryGroup(javax.media.j3d.Appearance app, javax.vecmath.Vector3d position, javax.vecmath.Vector3d scale, java.lang.String szTextureFile, java.lang.String szSoundFile)
           
 javax.media.j3d.Group createObject(javax.media.j3d.Appearance app, javax.vecmath.Vector3d position, javax.vecmath.Vector3d scale, java.lang.String szTextureFile, java.lang.String szSoundFile, java.lang.String szCollisionSound)
           
 javax.media.j3d.TransformGroup getBehaviorTransformGroup()
           
 javax.media.j3d.Bounds getGeometryBounds()
           
protected  boolean getSoundContinuousEnable(boolean bCollide)
           
protected  javax.vecmath.Point2f[] getSoundDistanceGain(boolean bCollide)
           
protected  boolean getSoundInitialEnable(boolean bCollide)
           
protected  float getSoundInitialGain(boolean bCollide)
           
protected  int getSoundLoop(boolean bCollide)
           
protected  float getSoundPriority(boolean bCollide)
           
protected  boolean getSoundReleaseEnable(boolean bCollide)
           
protected  javax.media.j3d.Bounds getSoundSchedulingBounds(boolean bCollide)
           
protected  javax.media.j3d.Group loadGeometryGroup(java.lang.String szModel, javax.media.j3d.Appearance app)
           
 void onCollide(boolean bCollide)
           
protected  void setSoundAttributes(javax.media.j3d.Sound sound, boolean bCollide)
           
protected  void setTexture(javax.media.j3d.Appearance app, java.lang.String szFile)
           
 
Methods inherited from class javax.media.j3d.BranchGroup
cloneNode, compile, detach, pickAll, pickAllSorted, pickAny, pickClosest
 
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, toString, wait, wait, wait
 

Field Detail

m_ParentGroup

protected javax.media.j3d.Group m_ParentGroup

m_nFlags

protected int m_nFlags

m_CollideSound

protected javax.media.j3d.BackgroundSound m_CollideSound

m_Component

protected java.awt.Component m_Component

m_TransformGroup

protected javax.media.j3d.TransformGroup m_TransformGroup

m_BehaviorTransformGroup

protected javax.media.j3d.TransformGroup m_BehaviorTransformGroup

SOUND

public static final int SOUND
See Also:
Constant Field Values

GEOMETRY

public static final int GEOMETRY
See Also:
Constant Field Values

TEXTURE

public static final int TEXTURE
See Also:
Constant Field Values

COLLISION

public static final int COLLISION
See Also:
Constant Field Values

COLLISION_SOUND

public static final int COLLISION_SOUND
See Also:
Constant Field Values
Constructor Detail

ComplexObject

public ComplexObject(java.awt.Component comp,
                     javax.media.j3d.Group group,
                     int nFlags)
Method Detail

getGeometryBounds

public javax.media.j3d.Bounds getGeometryBounds()

setTexture

protected void setTexture(javax.media.j3d.Appearance app,
                          java.lang.String szFile)

createGeometryGroup

protected abstract javax.media.j3d.Group createGeometryGroup(javax.media.j3d.Appearance app,
                                                             javax.vecmath.Vector3d position,
                                                             javax.vecmath.Vector3d scale,
                                                             java.lang.String szTextureFile,
                                                             java.lang.String szSoundFile)

loadGeometryGroup

protected javax.media.j3d.Group loadGeometryGroup(java.lang.String szModel,
                                                  javax.media.j3d.Appearance app)
                                           throws java.io.FileNotFoundException
java.io.FileNotFoundException

getSoundLoop

protected int getSoundLoop(boolean bCollide)

getSoundPriority

protected float getSoundPriority(boolean bCollide)

getSoundInitialGain

protected float getSoundInitialGain(boolean bCollide)

getSoundInitialEnable

protected boolean getSoundInitialEnable(boolean bCollide)

getSoundContinuousEnable

protected boolean getSoundContinuousEnable(boolean bCollide)

getSoundSchedulingBounds

protected javax.media.j3d.Bounds getSoundSchedulingBounds(boolean bCollide)

getSoundReleaseEnable

protected boolean getSoundReleaseEnable(boolean bCollide)

getSoundDistanceGain

protected javax.vecmath.Point2f[] getSoundDistanceGain(boolean bCollide)

setSoundAttributes

protected void setSoundAttributes(javax.media.j3d.Sound sound,
                                  boolean bCollide)

createObject

public javax.media.j3d.Group createObject(javax.media.j3d.Appearance app,
                                          javax.vecmath.Vector3d position,
                                          javax.vecmath.Vector3d scale,
                                          java.lang.String szTextureFile,
                                          java.lang.String szSoundFile,
                                          java.lang.String szCollisionSound)

onCollide

public void onCollide(boolean bCollide)

attachBehavior

public void attachBehavior(javax.media.j3d.Behavior beh)

getBehaviorTransformGroup

public javax.media.j3d.TransformGroup getBehaviorTransformGroup()

attachSplinePathInterpolator

public void attachSplinePathInterpolator(javax.media.j3d.Alpha alpha,
                                         javax.media.j3d.Transform3D axis,
                                         java.net.URL urlKeyframes)