uk.ac.ed.java3d_handler
Class Java3DHandler

java.lang.Object
  extended by uk.ac.ed.java3d_handler.Java3DHandler

public class Java3DHandler
extends Object


Nested Class Summary
 class Java3DHandler.Java3DHandlerException
           
 class Java3DHandler.SelectionEvent
           
static interface Java3DHandler.SelectionListener
           
 class Java3DHandler.TransformAdapter
           
 class Java3DHandler.TransformEvent
           
static interface Java3DHandler.TransformListener
           
 
Field Summary
static javax.vecmath.Vector3d AXIS_NEGATIVE_X
           
static javax.vecmath.Vector3d AXIS_NEGATIVE_Y
           
static javax.vecmath.Vector3d AXIS_NEGATIVE_Z
           
static javax.vecmath.Vector3d AXIS_X
           
static javax.vecmath.Vector3d AXIS_Y
           
static javax.vecmath.Vector3d AXIS_Z
           
protected  javax.media.j3d.Background background
           
protected  double bound_size
           
protected  javax.media.j3d.BoundingSphere bounds
           
static javax.vecmath.Color3f COLOUR_AMBIENT_LIGHT
           
static javax.vecmath.Color3f COLOUR_BRIGHT_WHITE_LIGHT
           
static javax.vecmath.Color3f COLOUR_DEFAULT_BACKGROUND
           
static javax.vecmath.Color3f COLOUR_LOW_WHITE_LIGHT
           
static javax.vecmath.Color3f COLOUR_MIDEUM_WHITE_LIGHT
           
protected  double default_camera_distance
           
protected  double default_parrallel_scale
           
protected  javax.media.j3d.Appearance default_selected_appearance
           
protected  javax.media.j3d.Transform3D[] default_transforms
           
static javax.vecmath.Matrix4d IDENTITY
           
static javax.vecmath.Matrix3d IDENTITY_3D
           
protected static JFileChooser image_file_chooser
           
protected  javax.media.j3d.Locale locale
           
protected  ArrayList models
           
protected  double move_factor
           
protected  Hashtable object_geometry_mapping
           
static javax.vecmath.Point3d ORIGIN
           
protected  javax.media.j3d.BranchGroup pickable_group
           
protected  javax.media.j3d.BranchGroup root_branch_group
           
protected  double rotate_factor
           
protected  double scale_factor
           
protected  javax.media.j3d.BranchGroup scene_group
           
protected  javax.media.j3d.BranchGroup selected_geometry
           
protected  ArrayList selection_listeners
           
protected  ArrayList transform_listeners
           
static int TRANSFORM_ROTATE
           
static int TRANSFORM_SCALE
           
static int TRANSFORM_TRANSLATE
           
protected  javax.media.j3d.VirtualUniverse universe
           
protected  double view_move_factor
           
protected  double view_rotate_factor
           
protected  double view_scale_factor
           
protected  double view_zoom_factor
           
 
Constructor Summary
Java3DHandler(double bound_size)
           
 
Method Summary
protected  void addBehavior(javax.media.j3d.Behavior behaviour)
           
 void addGeometry(javax.media.j3d.BranchGroup geometry)
           
 void addGeometry(javax.media.j3d.BranchGroup geometry, Object object)
           
 void addGeometry(javax.media.j3d.Shape3D geometry)
           
 void addModel(Java3DModel model)
           
 void addSelectableGeometry(javax.media.j3d.BranchGroup geometry)
           
 void addSelectableGeometry(javax.media.j3d.BranchGroup geometry, Object object)
           
 void addSelectionListener(Java3DHandler.SelectionListener listener)
           
 void addTransformListener(Java3DHandler.TransformListener listener)
           
protected  void addUserData(javax.media.j3d.SceneGraphObject geometry)
           
protected  void addViewBehavior(javax.media.j3d.BranchGroup view_behaviour_branch_group)
           
protected  void addViewingPlatform(com.sun.j3d.utils.universe.ViewingPlatform viewing_platform)
           
 void enableFog()
           
 void enableLight()
           
protected  void fireRotateEvent(Object object, javax.vecmath.Matrix4d transform, javax.vecmath.Matrix3d rotation)
           
protected  void fireScaleEvent(Object object, javax.vecmath.Matrix4d transform, double scale)
           
protected  void fireSelectedObjectChangedEvent(Object object, Object old_selected_object)
           
protected  void fireTranslateEvent(Object object, javax.vecmath.Matrix4d transform, javax.vecmath.Vector3d translate)
           
 javax.media.j3d.BoundingSphere getBounds()
           
 double getBoundSize()
           
protected  double getBoundsSize()
           
 double getDefaultCameraDistance()
           
 double getDefaultParallelScale()
           
protected  javax.media.j3d.Transform3D getDefaultTransform(int view)
           
 javax.media.j3d.BranchGroup getGeometry(Object userdata)
           
 Java3DModel[] getModels()
           
protected  double getMoveFactor()
           
protected  double getRotateFactor()
           
protected  double getScaleFactor()
           
 javax.media.j3d.Appearance getSelectedAppearance(javax.media.j3d.BranchGroup geometry)
           
 javax.media.j3d.TransformGroup getTransformGroup(javax.media.j3d.BranchGroup geometry)
           
protected  javax.media.j3d.TransformGroup getTransformGroup(javax.media.j3d.Group group)
           
 javax.media.j3d.TransformGroup getTransformGroup(Object userdata)
           
protected  double getViewMoveFactor()
           
protected  double getViewRotateFactor()
           
protected  double getViewScaleFactor()
           
 double getViewZoomFactor()
           
protected  void initBounds(double bound_size)
           
protected  void initDefaultSelectedAppearance()
           
protected  void initLocale()
           
protected  void initUniverse()
           
 javax.media.j3d.Transform3D initViewTransform(javax.vecmath.Point3d eye, javax.vecmath.Point3d center, javax.vecmath.Vector3d up)
           
 void makeLive()
           
protected  void pick(javax.media.j3d.BranchGroup geometry)
           
 void removeGeometry(javax.media.j3d.BranchGroup geometry)
           
 void removeGeometry(Object userdata)
           
 void removeSelectionListener(Java3DHandler.SelectionListener listener)
           
 void removeTransformListener(Java3DHandler.TransformListener listener)
           
protected  void removeUserData(javax.media.j3d.SceneGraphObject geometry)
           
static javax.media.j3d.Shape3D renderAxes(double length)
           
static javax.media.j3d.Shape3D renderGrid(double length)
           
static javax.media.j3d.Shape3D renderGrid(double length, int devisions)
           
static javax.media.j3d.Shape3D renderPlanes(double length)
           
static javax.media.j3d.Shape3D renderPlanes(double length, int devisions)
           
protected  void rotate(javax.vecmath.Matrix3d rotate_matrix)
           
protected  void scale(double scale)
           
 void selectGeometry(javax.media.j3d.BranchGroup geometry)
           
 void selectGeometry(Object userdata)
           
static File selectImageFileToSave()
           
protected  void setCapacityToOverrideAppearance(javax.media.j3d.Group group)
           
protected  void setColour(javax.media.j3d.Group group, javax.vecmath.Color3f colour)
           
 void setColour(Object userdata, javax.vecmath.Color3f colour)
           
protected  void setDeselected(javax.media.j3d.Group group)
           
protected  void setSelected(javax.media.j3d.Group group)
           
 void setSelectedAppearance(javax.media.j3d.BranchGroup geometry)
           
 void setSelectedAppearance(javax.media.j3d.BranchGroup geometry, javax.media.j3d.Appearance selected_appearance)
           
protected  void translate(javax.vecmath.Vector3d translate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ORIGIN

public static javax.vecmath.Point3d ORIGIN

AXIS_X

public static javax.vecmath.Vector3d AXIS_X

AXIS_NEGATIVE_X

public static javax.vecmath.Vector3d AXIS_NEGATIVE_X

AXIS_Y

public static javax.vecmath.Vector3d AXIS_Y

AXIS_NEGATIVE_Y

public static javax.vecmath.Vector3d AXIS_NEGATIVE_Y

AXIS_Z

public static javax.vecmath.Vector3d AXIS_Z

AXIS_NEGATIVE_Z

public static javax.vecmath.Vector3d AXIS_NEGATIVE_Z

IDENTITY_3D

public static javax.vecmath.Matrix3d IDENTITY_3D

IDENTITY

public static javax.vecmath.Matrix4d IDENTITY

COLOUR_DEFAULT_BACKGROUND

public static javax.vecmath.Color3f COLOUR_DEFAULT_BACKGROUND

COLOUR_AMBIENT_LIGHT

public static javax.vecmath.Color3f COLOUR_AMBIENT_LIGHT

COLOUR_BRIGHT_WHITE_LIGHT

public static javax.vecmath.Color3f COLOUR_BRIGHT_WHITE_LIGHT

COLOUR_MIDEUM_WHITE_LIGHT

public static javax.vecmath.Color3f COLOUR_MIDEUM_WHITE_LIGHT

COLOUR_LOW_WHITE_LIGHT

public static javax.vecmath.Color3f COLOUR_LOW_WHITE_LIGHT

TRANSFORM_TRANSLATE

public static int TRANSFORM_TRANSLATE

TRANSFORM_ROTATE

public static int TRANSFORM_ROTATE

TRANSFORM_SCALE

public static int TRANSFORM_SCALE

image_file_chooser

protected static JFileChooser image_file_chooser

object_geometry_mapping

protected Hashtable object_geometry_mapping

selected_geometry

protected javax.media.j3d.BranchGroup selected_geometry

background

protected javax.media.j3d.Background background

default_selected_appearance

protected javax.media.j3d.Appearance default_selected_appearance

models

protected ArrayList models

bound_size

protected double bound_size

default_camera_distance

protected double default_camera_distance

default_parrallel_scale

protected double default_parrallel_scale

view_move_factor

protected double view_move_factor

view_rotate_factor

protected double view_rotate_factor

view_zoom_factor

protected double view_zoom_factor

view_scale_factor

protected double view_scale_factor

move_factor

protected double move_factor

rotate_factor

protected double rotate_factor

scale_factor

protected double scale_factor

default_transforms

protected javax.media.j3d.Transform3D[] default_transforms

universe

protected javax.media.j3d.VirtualUniverse universe

locale

protected javax.media.j3d.Locale locale

root_branch_group

protected javax.media.j3d.BranchGroup root_branch_group

scene_group

protected javax.media.j3d.BranchGroup scene_group

pickable_group

protected javax.media.j3d.BranchGroup pickable_group

bounds

protected javax.media.j3d.BoundingSphere bounds

selection_listeners

protected ArrayList selection_listeners

transform_listeners

protected ArrayList transform_listeners
Constructor Detail

Java3DHandler

public Java3DHandler(double bound_size)
Method Detail

selectImageFileToSave

public static File selectImageFileToSave()

renderAxes

public static javax.media.j3d.Shape3D renderAxes(double length)

renderGrid

public static javax.media.j3d.Shape3D renderGrid(double length)

renderGrid

public static javax.media.j3d.Shape3D renderGrid(double length,
                                                 int devisions)

renderPlanes

public static javax.media.j3d.Shape3D renderPlanes(double length)

renderPlanes

public static javax.media.j3d.Shape3D renderPlanes(double length,
                                                   int devisions)

getBounds

public javax.media.j3d.BoundingSphere getBounds()

getBoundSize

public double getBoundSize()

enableLight

public void enableLight()

enableFog

public void enableFog()

makeLive

public void makeLive()

addModel

public void addModel(Java3DModel model)

getModels

public Java3DModel[] getModels()

addGeometry

public void addGeometry(javax.media.j3d.Shape3D geometry)
                 throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

addGeometry

public void addGeometry(javax.media.j3d.BranchGroup geometry)
                 throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

addGeometry

public void addGeometry(javax.media.j3d.BranchGroup geometry,
                        Object object)

addSelectableGeometry

public void addSelectableGeometry(javax.media.j3d.BranchGroup geometry)
                           throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

addSelectableGeometry

public void addSelectableGeometry(javax.media.j3d.BranchGroup geometry,
                                  Object object)

setSelectedAppearance

public void setSelectedAppearance(javax.media.j3d.BranchGroup geometry)
                           throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

setSelectedAppearance

public void setSelectedAppearance(javax.media.j3d.BranchGroup geometry,
                                  javax.media.j3d.Appearance selected_appearance)
                           throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

getSelectedAppearance

public javax.media.j3d.Appearance getSelectedAppearance(javax.media.j3d.BranchGroup geometry)
                                                 throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

removeGeometry

public void removeGeometry(Object userdata)

removeGeometry

public void removeGeometry(javax.media.j3d.BranchGroup geometry)
                    throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

getGeometry

public javax.media.j3d.BranchGroup getGeometry(Object userdata)

selectGeometry

public void selectGeometry(Object userdata)
                    throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

selectGeometry

public void selectGeometry(javax.media.j3d.BranchGroup geometry)
                    throws Java3DHandler.Java3DHandlerException
Throws:
Java3DHandler.Java3DHandlerException

getTransformGroup

public javax.media.j3d.TransformGroup getTransformGroup(Object userdata)

getTransformGroup

public javax.media.j3d.TransformGroup getTransformGroup(javax.media.j3d.BranchGroup geometry)

setColour

public void setColour(Object userdata,
                      javax.vecmath.Color3f colour)

setColour

protected void setColour(javax.media.j3d.Group group,
                         javax.vecmath.Color3f colour)

addSelectionListener

public void addSelectionListener(Java3DHandler.SelectionListener listener)

removeSelectionListener

public void removeSelectionListener(Java3DHandler.SelectionListener listener)

addTransformListener

public void addTransformListener(Java3DHandler.TransformListener listener)

removeTransformListener

public void removeTransformListener(Java3DHandler.TransformListener listener)

getBoundsSize

protected double getBoundsSize()

pick

protected void pick(javax.media.j3d.BranchGroup geometry)

setSelected

protected void setSelected(javax.media.j3d.Group group)

setDeselected

protected void setDeselected(javax.media.j3d.Group group)

translate

protected void translate(javax.vecmath.Vector3d translate)

rotate

protected void rotate(javax.vecmath.Matrix3d rotate_matrix)

scale

protected void scale(double scale)

fireSelectedObjectChangedEvent

protected void fireSelectedObjectChangedEvent(Object object,
                                              Object old_selected_object)

fireTranslateEvent

protected void fireTranslateEvent(Object object,
                                  javax.vecmath.Matrix4d transform,
                                  javax.vecmath.Vector3d translate)

fireRotateEvent

protected void fireRotateEvent(Object object,
                               javax.vecmath.Matrix4d transform,
                               javax.vecmath.Matrix3d rotation)

fireScaleEvent

protected void fireScaleEvent(Object object,
                              javax.vecmath.Matrix4d transform,
                              double scale)

initUniverse

protected void initUniverse()

initLocale

protected void initLocale()

initBounds

protected void initBounds(double bound_size)

initViewTransform

public javax.media.j3d.Transform3D initViewTransform(javax.vecmath.Point3d eye,
                                                     javax.vecmath.Point3d center,
                                                     javax.vecmath.Vector3d up)

initDefaultSelectedAppearance

protected void initDefaultSelectedAppearance()

addUserData

protected void addUserData(javax.media.j3d.SceneGraphObject geometry)

removeUserData

protected void removeUserData(javax.media.j3d.SceneGraphObject geometry)

setCapacityToOverrideAppearance

protected void setCapacityToOverrideAppearance(javax.media.j3d.Group group)

getTransformGroup

protected javax.media.j3d.TransformGroup getTransformGroup(javax.media.j3d.Group group)

addViewingPlatform

protected void addViewingPlatform(com.sun.j3d.utils.universe.ViewingPlatform viewing_platform)

addBehavior

protected void addBehavior(javax.media.j3d.Behavior behaviour)

addViewBehavior

protected void addViewBehavior(javax.media.j3d.BranchGroup view_behaviour_branch_group)

getDefaultCameraDistance

public double getDefaultCameraDistance()

getDefaultParallelScale

public double getDefaultParallelScale()

getViewMoveFactor

protected double getViewMoveFactor()

getViewRotateFactor

protected double getViewRotateFactor()

getViewZoomFactor

public double getViewZoomFactor()

getViewScaleFactor

protected double getViewScaleFactor()

getMoveFactor

protected double getMoveFactor()

getRotateFactor

protected double getRotateFactor()

getScaleFactor

protected double getScaleFactor()

getDefaultTransform

protected javax.media.j3d.Transform3D getDefaultTransform(int view)