org.selman.java3d.book.pickcollisiontest
Class PickCollisionTest

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--java.applet.Applet
                          |
                          +--org.selman.java3d.book.common.Java3dApplet
                                |
                                +--org.selman.java3d.book.pickcollisiontest.PickCollisionTest
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class PickCollisionTest
extends Java3dApplet
implements java.awt.event.ActionListener

This example creates a large hollow box (out of ColorCubes, one for each side of the box). Within the box, four Spheres are created. Each Sphere has a behavior attached which detects collisions with the sides of the box, and the other Spheres. When a collision is detected the trajectory of the Sphere is reversed and the color of the Sphere changed. When a collision is not detected the Sphere is advanced along its current trajectory.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.selman.java3d.book.common.Java3dApplet
m_ApplicationBounds, m_Java3dTree, m_kHeight, m_kWidth, m_SceneBranchGroup, m_szCommandLineArray, m_Universe
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PickCollisionTest()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
           
protected  void addCube(javax.media.j3d.BranchGroup bg, double x, double y, double z, double sx, double sy, double sz, java.lang.String name, boolean wireframe)
           
protected  void addSphere(javax.media.j3d.BranchGroup bg, double x, double y, double z, javax.vecmath.Vector3d incVector, java.lang.String name)
           
protected  javax.media.j3d.BranchGroup createSceneBranchGroup()
           
protected  double getScale()
           
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.selman.java3d.book.common.Java3dApplet
addCanvas3D, addViewBranchGroup, createApplicationBounds, createAudioDevice, createBackground, createCanvas3D, createLocale, createPhysicalBody, createPhysicalEnvironment, createView, createViewBranchGroup, createViewPlatform, createVirtualUniverse, getApplicationBounds, getBackClipDistance, getCanvas3dHeight, getCanvas3dWidth, getCommandLineArguments, getFirstLocale, getFrontClipDistance, getJ3dTree, getViewPlatformActivationRadius, getViewTransformGroupArray, getVirtualUniverse, getWorkingDirectory, initJava3d, isApplet, onDoneInit, saveCommandLineArguments
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PickCollisionTest

public PickCollisionTest()
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

getScale

protected double getScale()
Overrides:
getScale in class Java3dApplet

addCube

protected void addCube(javax.media.j3d.BranchGroup bg,
                       double x,
                       double y,
                       double z,
                       double sx,
                       double sy,
                       double sz,
                       java.lang.String name,
                       boolean wireframe)

addSphere

protected void addSphere(javax.media.j3d.BranchGroup bg,
                         double x,
                         double y,
                         double z,
                         javax.vecmath.Vector3d incVector,
                         java.lang.String name)

createSceneBranchGroup

protected javax.media.j3d.BranchGroup createSceneBranchGroup()
Overrides:
createSceneBranchGroup in class Java3dApplet

main

public static void main(java.lang.String[] args)