Class Pic3DCanvas

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--Pic3DCanvas

public class Pic3DCanvas
extends java.awt.Canvas

A class to display 3D objects on canvas

See Also:
Serialized Form

Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
Pic3DCanvas()
          Default constructor purpose : initialize the object and set the output canvas's size to 100x100
Pic3DCanvas(int u, int v)
          Constructor purpose : initialize the object
 
Method Summary
 int addObject3D(Object3D x)
          purpose : add a new Object3D into the scene
 boolean changeCTM(int index, Matrix m)
          purpose : change the current transformational matrix of an object
 void display()
          purpose : show the scene on the output canvas
 int numberOfObjects()
          purpose : get the total number of objects
 void paint(java.awt.Graphics g)
          purpose : draw the buffer image on the canvas
 void update(java.awt.Graphics g)
          purpose : update the canvas
 boolean updateCamera(Vector3D lookFrom, Vector3D lookAt, Vector3D lookUp)
          purpose : change the position and orientation of the camera
 
Methods inherited from class java.awt.Canvas
addNotify
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pic3DCanvas

public Pic3DCanvas()
Default constructor purpose : initialize the object and set the output canvas's size to 100x100

Pic3DCanvas

public Pic3DCanvas(int u,
                   int v)
Constructor purpose : initialize the object
Parameters:
u - horizontal size of the output area
v - vertical size of the output area
Method Detail

addObject3D

public int addObject3D(Object3D x)
purpose : add a new Object3D into the scene
Parameters:
x - Object3D
Returns:
index of the input Object3D

changeCTM

public boolean changeCTM(int index,
                         Matrix m)
purpose : change the current transformational matrix of an object
Parameters:
index - index of the object
m - new current transformational matrix
Returns:
true (succeed) or false (fail)

updateCamera

public boolean updateCamera(Vector3D lookFrom,
                            Vector3D lookAt,
                            Vector3D lookUp)
purpose : change the position and orientation of the camera
Parameters:
lookFrom - position of the camera
lookAt - target's position of the camera
lookUp - orientation of the camera
Returns:
true (succeed) or false (fail)

display

public void display()
purpose : show the scene on the output canvas

numberOfObjects

public int numberOfObjects()
purpose : get the total number of objects
Returns:
total number of objects

update

public void update(java.awt.Graphics g)
purpose : update the canvas
Overrides:
update in class java.awt.Component

paint

public void paint(java.awt.Graphics g)
purpose : draw the buffer image on the canvas
Parameters:
g - Graphics of the output canvas
Overrides:
paint in class java.awt.Canvas