ptolemy.actor.lib.jai
Class JAIScale

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.actor.lib.Transformer
                              extended by ptolemy.actor.lib.jai.JAIScale
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class JAIScale
extends Transformer

Scale a RenderedOp using the javax.media.jai.JAI class.

Since:
Ptolemy II 3.0
Version:
$Id: JAIScale.java 57040 2010-01-27 20:52:32Z cxh $
Author:
James Yeh
See Also:
Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private static int _BICUBIC
           
private static int _BICUBIC2
           
private static int _BILINEAR
           
private  int _height
          The desired height in pixels.
private  int _interpolationType
          An indicator for the type of interpolation to use
private static int _NEARESTNEIGHBOR
           
private  boolean _specifySize
          Flag determining whether to scale by double values, or scale to a specified width and height.
private  int _subSampleBits
          The subsample precision
private  int _width
          The desired width in pixels.
private  double _xScaleFactor
          The horizontal scaling factor.
private  double _yScaleFactor
          The vertical scaling factor.
 Parameter height
          The desired height in pixels.
 StringAttribute interpolationType
          The type of interpolation to use.
 Parameter specifySize
          If true (the default), then the image will be scaled to the dimensions provided in width and height.
 Parameter subSampleBits
          The subsample precision.
 Parameter width
          The desired width in pixels.
 Parameter xScaleFactor
          The scaling factor in the horizontal direction.
 Parameter yScaleFactor
          The scaling factor in the vertical direction.
 
Fields inherited from class ptolemy.actor.lib.Transformer
input, output
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
JAIScale(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
 void attributeChanged(Attribute attribute)
          Override the base class and set the scaling factors.
 void fire()
          Fire this actor.
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

interpolationType

public StringAttribute interpolationType
The type of interpolation to use. This is a string valued attribute that defaults to type "bilinear"


specifySize

public Parameter specifySize
If true (the default), then the image will be scaled to the dimensions provided in width and height. If false, then the width and height of the image will be scaled by the respective amounts provided in xScaleFactor and yScaleFactor.


subSampleBits

public Parameter subSampleBits
The subsample precision. The default value of this parameter is the integer value 8.


xScaleFactor

public Parameter xScaleFactor
The scaling factor in the horizontal direction. The default value of this parameter is the double value 1.0


yScaleFactor

public Parameter yScaleFactor
The scaling factor in the vertical direction. The default value of this parameter is the double value 1.0


width

public Parameter width
The desired width in pixels. The default value of this parameter is the integer 800.


height

public Parameter height
The desired height in pixels. The default value of this parameter is the integer 600.


_specifySize

private boolean _specifySize
Flag determining whether to scale by double values, or scale to a specified width and height.


_subSampleBits

private int _subSampleBits
The subsample precision


_xScaleFactor

private double _xScaleFactor
The horizontal scaling factor.


_yScaleFactor

private double _yScaleFactor
The vertical scaling factor.


_interpolationType

private int _interpolationType
An indicator for the type of interpolation to use


_BICUBIC

private static final int _BICUBIC
See Also:
Constant Field Values

_BICUBIC2

private static final int _BICUBIC2
See Also:
Constant Field Values

_BILINEAR

private static final int _BILINEAR
See Also:
Constant Field Values

_NEARESTNEIGHBOR

private static final int _NEARESTNEIGHBOR
See Also:
Constant Field Values

_width

private int _width
The desired width in pixels.


_height

private int _height
The desired height in pixels.

Constructor Detail

JAIScale

public JAIScale(CompositeEntity container,
                java.lang.String name)
         throws IllegalActionException,
                NameDuplicationException
Construct an actor with the given container and name.

Parameters:
container - The container.
name - The name of this actor.
Throws:
IllegalActionException - If the actor cannot be contained by the proposed container.
NameDuplicationException - If the container already has an actor with this name.
Method Detail

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
Override the base class and set the scaling factors.

Overrides:
attributeChanged in class NamedObj
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException - If the function is not recognized.

fire

public void fire()
          throws IllegalActionException
Fire this actor. Output the scaled RenderedOp.

Specified by:
fire in interface Executable
Overrides:
fire in class AtomicActor
Throws:
IllegalActionException - If a contained method throws it, or if a token is received that contains a null image.