edu.umd.cs.piccolo
Class PLayer

java.lang.Object
  extended by edu.umd.cs.piccolo.PNode
      extended by edu.umd.cs.piccolo.PLayer
All Implemented Interfaces:
Printable, Serializable, Cloneable

public class PLayer
extends PNode

PLayer is a node that can be viewed directly by multiple camera nodes. Generally child nodes are added to a layer to give the viewing cameras something to look at.

A single layer node may be viewed through multiple cameras with each camera using its own view transform. This means that any node (since layers can have children) may be visible through multiple cameras at the same time.

Version:
1.0
Author:
Jesse Grosjean
See Also:
PCamera, PInputEvent, PPickPath, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.umd.cs.piccolo.PNode
PNode.PSceneGraphDelegate
 
Field Summary
static String PROPERTY_CAMERAS
          The property name that identifies a change in the set of this layer's cameras (see getCamera, getCameraCount, getCamerasReference).
static int PROPERTY_CODE_CAMERAS
          The property code that identifies a change in the set of this layer's cameras (see getCamera, getCameraCount, getCamerasReference).
 
Fields inherited from class edu.umd.cs.piccolo.PNode
FILL_STRATEGY_ASPECT_COVER, FILL_STRATEGY_ASPECT_FIT, FILL_STRATEGY_EXACT_FIT, PROPERTY_BOUNDS, PROPERTY_CHILDREN, PROPERTY_CHILDREN_PICKABLE, PROPERTY_CLIENT_PROPERTIES, PROPERTY_CODE_BOUNDS, PROPERTY_CODE_CHILDREN, PROPERTY_CODE_CHILDREN_PICKABLE, PROPERTY_CODE_CLIENT_PROPERTIES, PROPERTY_CODE_FULL_BOUNDS, PROPERTY_CODE_PAINT, PROPERTY_CODE_PARENT, PROPERTY_CODE_PICKABLE, PROPERTY_CODE_TRANSFORM, PROPERTY_CODE_TRANSPARENCY, PROPERTY_CODE_VISIBLE, PROPERTY_FULL_BOUNDS, PROPERTY_PAINT, PROPERTY_PARENT, PROPERTY_PICKABLE, PROPERTY_TRANSFORM, PROPERTY_TRANSPARENCY, PROPERTY_VISIBLE, SCENE_GRAPH_DELEGATE
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
PLayer()
          Creates a PLayer without any cameras attached to it.
 
Method Summary
 void addCamera(int index, PCamera camera)
          Add a camera to this layer's camera list at the specified index.
 void addCamera(PCamera camera)
          Add a camera to this layer's camera list.
 PCamera getCamera(int index)
          Get the camera in this layer's camera list at the specified index.
 int getCameraCount()
          Get the number of cameras viewing this layer.
 List getCamerasReference()
          Get the list of cameras viewing this layer.
protected  void notifyCameras(PBounds parentBounds)
          Dispatches repaint notification to all registered cameras.
 PCamera removeCamera(int index)
          Remove the camera at the given index from this layer's camera list.
 PCamera removeCamera(PCamera camera)
          Remove the camera from this layer's camera list.
 void repaintFrom(PBounds localBounds, PNode repaintSource)
          Override repaints and forward them to the cameras that are viewing this layer.
 
Methods inherited from class edu.umd.cs.piccolo.PNode
addActivity, addAttribute, addChild, addChild, addChildren, addClientProperty, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToRelativePosition, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPaint, fullPick, getAllNodes, getAllNodes, getAttribute, getAttribute, getBooleanAttribute, getBounds, getBoundsChanged, getBoundsReference, getBoundsVolatile, getChild, getChildBoundsInvalid, getChildBoundsVolatile, getChildPaintInvalid, getChildrenCount, getChildrenIterator, getChildrenPickable, getChildrenReference, getClientProperties, getClientProperty, getClientPropertyKeysEnumeration, getClientPropertyKeysIterator, getDoubleAttribute, getFullBounds, getFullBoundsInvalid, getFullBoundsReference, getGlobalBounds, getGlobalFullBounds, getGlobalRotation, getGlobalScale, getGlobalToLocalTransform, getGlobalTranslation, getHeight, getInputEventListeners, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, getName, getOccluded, getOffset, getPaint, getPaintInvalid, getParent, getPickable, getPropertyChangeParentMask, getRoot, getRotation, getScale, getTransform, getTransformReference, getTransparency, getUnionOfChildrenBounds, getVisible, getWidth, getX, getXOffset, getY, getYOffset, globalToLocal, globalToLocal, globalToLocal, indexOfChild, internalUpdateBounds, intersects, invalidateFullBounds, invalidateLayout, invalidatePaint, isAncestorOf, isDescendentOf, isDescendentOfRoot, isOpaque, layoutChildren, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paint, paintAfterChildren, paramString, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, pickAfterChildren, position, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setName, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toImage, transformBy, translate, validateFullBounds, validateFullPaint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_CAMERAS

public static final String PROPERTY_CAMERAS
The property name that identifies a change in the set of this layer's cameras (see getCamera, getCameraCount, getCamerasReference). In any property change event the new value will be a reference to the list of cameras, but old value will always be null.

See Also:
Constant Field Values

PROPERTY_CODE_CAMERAS

public static final int PROPERTY_CODE_CAMERAS
The property code that identifies a change in the set of this layer's cameras (see getCamera, getCameraCount, getCamerasReference). In any property change event the new value will be a reference to the list of cameras, but old value will always be null.

See Also:
Constant Field Values
Constructor Detail

PLayer

public PLayer()
Creates a PLayer without any cameras attached to it.

Method Detail

getCamerasReference

public List getCamerasReference()
Get the list of cameras viewing this layer.

Returns:
direct reference to registered cameras

getCameraCount

public int getCameraCount()
Get the number of cameras viewing this layer.

Returns:
the number of cameras attached to this layer

getCamera

public PCamera getCamera(int index)
Get the camera in this layer's camera list at the specified index.

Parameters:
index - index of camera to fetch
Returns:
camera at the given index

addCamera

public void addCamera(PCamera camera)
Add a camera to this layer's camera list. This method it called automatically when a layer is added to a camera.

Parameters:
camera - the camera to add to this layer

addCamera

public void addCamera(int index,
                      PCamera camera)
Add a camera to this layer's camera list at the specified index. This method it called automatically when a layer is added to a camera.

Parameters:
index - index at which the camera should be inserted
camera - Camera to add to layer

removeCamera

public PCamera removeCamera(PCamera camera)
Remove the camera from this layer's camera list.

Parameters:
camera - the camera to remove from the layer, does nothing if not found
Returns:
camera that was passed in

removeCamera

public PCamera removeCamera(int index)
Remove the camera at the given index from this layer's camera list.

Parameters:
index - the index of the camera we wish to remove
Returns:
camera that was removed

repaintFrom

public void repaintFrom(PBounds localBounds,
                        PNode repaintSource)
Override repaints and forward them to the cameras that are viewing this layer.

Overrides:
repaintFrom in class PNode
Parameters:
localBounds - bounds flagged as needing repainting
repaintSource - the source of the repaint notification

notifyCameras

protected void notifyCameras(PBounds parentBounds)
Dispatches repaint notification to all registered cameras.

Parameters:
parentBounds - bounds needing repainting in parent coordinate system


Copyright © 1995-2011 Piccolo2D. All Rights Reserved.