##################################################################

Appearance3DChooser v1.1

Copyright (C) 2009 Frederic Roudaut


This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

###################################################################

com.appearance3Dchooser
Class CustomMouseZoom

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by javax.media.j3d.Behavior
                  extended by com.sun.j3d.utils.behaviors.mouse.MouseBehavior
                      extended by com.sun.j3d.utils.behaviors.mouse.MouseZoom
                          extended by com.appearance3Dchooser.CustomMouseZoom
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener

public class CustomMouseZoom
extends com.sun.j3d.utils.behaviors.mouse.MouseZoom

MouseZoom is a Java3D behavior object that lets users control the Z axis translation of an object via a mouse drag motion with the second mouse button. See MouseRotate for similar usage info.


Field Summary
private  javax.media.j3d.Canvas3D big
           
private  com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback
           
private  javax.media.j3d.Canvas3D droite
           
private  javax.media.j3d.Canvas3D face
           
private  javax.media.j3d.Canvas3D gauche
           
private  javax.media.j3d.Canvas3D haut
           
(package private)  javax.vecmath.Vector3d translation
           
(package private)  double z_factor
           
 
Fields inherited from class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
buttonPress, currXform, enable, flags, invert, INVERT_INPUT, MANUAL_WAKEUP, mouseCriterion, mouseEvents, mouseq, reset, transformGroup, transformX, transformY, wakeUp, x, x_last, y, y_last
 
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_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
CustomMouseZoom()
          Creates a default mouse zoom behavior.
CustomMouseZoom(java.awt.Component c)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
CustomMouseZoom(java.awt.Component c, int flags)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
CustomMouseZoom(java.awt.Component c, javax.media.j3d.TransformGroup transformGroup)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
CustomMouseZoom(int flags)
          Creates a zoom behavior.
CustomMouseZoom(javax.media.j3d.TransformGroup transformGroup, javax.media.j3d.Canvas3D haut, javax.media.j3d.Canvas3D droite, javax.media.j3d.Canvas3D gauche, javax.media.j3d.Canvas3D face, javax.media.j3d.Canvas3D big)
          Creates a zoom behavior given the transform group.
 
Method Summary
(package private)  void doProcess(java.awt.event.MouseEvent evt)
           
 double getFactor()
          Return the y-axis movement multipler.
 void initialize()
           
 void processStimulus(java.util.Enumeration criteria)
           
 void setFactor(double factor)
          Set the y-axis movement multipler with factor.
 void setupCallback(com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
          The transformChanged method in the callback class will be called every time the transform is updated
 void transformChanged(javax.media.j3d.Transform3D transform)
          Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothing
 
Methods inherited from class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
addListener, getTransformGroup, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, processMouseEvent, setEnable, setTransformGroup, wakeup
 
Methods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn
 
Methods inherited from class javax.media.j3d.Node
cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

z_factor

double z_factor

translation

javax.vecmath.Vector3d translation

callback

private com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback

haut

private javax.media.j3d.Canvas3D haut

droite

private javax.media.j3d.Canvas3D droite

gauche

private javax.media.j3d.Canvas3D gauche

face

private javax.media.j3d.Canvas3D face

big

private javax.media.j3d.Canvas3D big
Constructor Detail

CustomMouseZoom

public CustomMouseZoom(javax.media.j3d.TransformGroup transformGroup,
                       javax.media.j3d.Canvas3D haut,
                       javax.media.j3d.Canvas3D droite,
                       javax.media.j3d.Canvas3D gauche,
                       javax.media.j3d.Canvas3D face,
                       javax.media.j3d.Canvas3D big)
Creates a zoom behavior given the transform group.

Parameters:
transformGroup - The transformGroup to operate on.

CustomMouseZoom

public CustomMouseZoom()
Creates a default mouse zoom behavior.


CustomMouseZoom

public CustomMouseZoom(int flags)
Creates a zoom behavior. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.

Parameters:
flags -

CustomMouseZoom

public CustomMouseZoom(java.awt.Component c)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behavior is added to the specified Component. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method.

Parameters:
c - The Component to add the MouseListener and MouseMotionListener to.
Since:
Java 3D 1.2.1

CustomMouseZoom

public CustomMouseZoom(java.awt.Component c,
                       javax.media.j3d.TransformGroup transformGroup)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behaviors is added to the specified Component and works on the given TransformGroup.

Parameters:
c - The Component to add the MouseListener and MouseMotionListener to. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method.
transformGroup - The TransformGroup to operate on.
Since:
Java 3D 1.2.1

CustomMouseZoom

public CustomMouseZoom(java.awt.Component c,
                       int flags)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behavior is added to the specified Component. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.

Parameters:
flags - interesting flags (wakeup conditions).
Since:
Java 3D 1.2.1
Method Detail

initialize

public void initialize()
Overrides:
initialize in class com.sun.j3d.utils.behaviors.mouse.MouseZoom

getFactor

public double getFactor()
Return the y-axis movement multipler.

Overrides:
getFactor in class com.sun.j3d.utils.behaviors.mouse.MouseZoom

setFactor

public void setFactor(double factor)
Set the y-axis movement multipler with factor.

Overrides:
setFactor in class com.sun.j3d.utils.behaviors.mouse.MouseZoom

processStimulus

public void processStimulus(java.util.Enumeration criteria)
Overrides:
processStimulus in class com.sun.j3d.utils.behaviors.mouse.MouseZoom

doProcess

void doProcess(java.awt.event.MouseEvent evt)

transformChanged

public void transformChanged(javax.media.j3d.Transform3D transform)
Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothing

Overrides:
transformChanged in class com.sun.j3d.utils.behaviors.mouse.MouseZoom

setupCallback

public void setupCallback(com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
The transformChanged method in the callback class will be called every time the transform is updated

Overrides:
setupCallback in class com.sun.j3d.utils.behaviors.mouse.MouseZoom


##################################################################

Appearance3DChooser v1.1

Copyright (C) 2009 Frederic Roudaut


This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

###################################################################