VisualSim.simulators.gr.lib
Class GRTransform2D

java.lang.Object
  extended byVisualSim.kernel.util.NamedObj
      extended byVisualSim.kernel.InstantiableNamedObj
          extended byVisualSim.kernel.Entity
              extended byVisualSim.kernel.ComponentEntity
                  extended byVisualSim.actor.AtomicActor
                      extended byVisualSim.actor.TypedAtomicActor
                          extended byVisualSim.simulators.gr.kernel.GRActor
                              extended byVisualSim.simulators.gr.kernel.GRActor2D
                                  extended byVisualSim.simulators.gr.lib.GRTransform2D
All Implemented Interfaces:
VisualSim.actor.Actor, VisualSim.kernel.util.Changeable, java.lang.Cloneable, VisualSim.kernel.util.Debuggable, VisualSim.kernel.util.DebugListener, VisualSim.kernel.util.Derivable, VisualSim.actor.Executable, VisualSim.kernel.util.Instantiable, VisualSim.kernel.util.ModelErrorHandler, VisualSim.kernel.util.MoMLExportable, VisualSim.kernel.util.Moveable, VisualSim.kernel.util.Nameable, java.io.Serializable, VisualSim.actor.TypedActor
Direct Known Subclasses:
Rotate2D, Scale2D, Translate2D

public abstract class GRTransform2D
extends VisualSim.simulators.gr.kernel.GRActor2D

An abstract base class for a transform operator of two-dimensional GR shapes. The parameter accumulate determines whether transformations are accumulated or reset during firing.

Since:
VisualSim4.0
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class VisualSim.kernel.Entity
VisualSim.kernel.Entity.ContainedObjectsIterator
 
Field Summary
 VisualSim.data.expr.Parameter accumulate
          Boolean value determining whether transformations are accumulated or reset for each firing
 VisualSim.actor.TypedIOPort sceneGraphIn
          The input port for connecting to other GR Actors in the scene graph
 VisualSim.actor.TypedIOPort sceneGraphOut
          The output port for connecting to other GR Actors in the scene graph
 
Fields inherited from class VisualSim.simulators.gr.kernel.GRActor2D
_viewScreen
 
Fields inherited from class VisualSim.simulators.gr.kernel.GRActor
_allowAttributeChanges, _isSceneGraphInitialized
 
Fields inherited from class VisualSim.actor.AtomicActor
_stopRequested, Block_Documentation
 
Fields inherited from class VisualSim.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface VisualSim.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
GRTransform2D(VisualSim.kernel.CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected abstract  void _applyInitialTransform(diva.canvas.Figure figure)
          Set the initial transform of the given figure.
protected abstract  void _applyTransform(diva.canvas.Figure figure)
          Consume input tokens, and transform the given figure according to the current state of the transform.
protected  boolean _isAccumulating()
          Return the value of the accumulate parameter
protected  void _makeSceneGraphConnection()
          Setup the scene graph connections of this actor.
 void fire()
          Consume inputs from any input ports and apply transformation according to the state of this actor.
 void initialize()
          Setup the transform object.
 
Methods inherited from class VisualSim.simulators.gr.kernel.GRActor2D
_setViewScreen
 
Methods inherited from class VisualSim.simulators.gr.kernel.GRActor
wrapup
 
Methods inherited from class VisualSim.actor.TypedAtomicActor
_addPort, attributeTypeChanged, clone, newPort, typeConstraintList
 
Methods inherited from class VisualSim.actor.AtomicActor
_createReceivers, clone, connectionsChanged, getDirector, getExecutiveDirector, getFunctionDependency, getManager, inputPortList, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, removeDependency, setContainer, stop, stopFire, terminate
 
Methods inherited from class VisualSim.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class VisualSim.kernel.Entity
_description, _exportMoMLContents, _removePort, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName, validateSettables
 
Methods inherited from class VisualSim.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition
 
Methods inherited from class VisualSim.kernel.util.NamedObj
_addAttribute, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, getAttribute, getAttributes, getChangeListeners, getClassName, getDerivedLevel, getDerivedList, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setModelErrorHandler, setNormalDebugging, setPersistent, setSource, setVerboseDebugging, sortContainedObjects, toplevel, toString, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface VisualSim.actor.Actor
getDirector, getExecutiveDirector, getFunctionDependency, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface VisualSim.actor.Executable
iterate, postfire, prefire, preinitialize, stop, stopFire, terminate
 
Methods inherited from interface VisualSim.kernel.util.Nameable
description, getContainer, getFullName, getName, getName, setName
 
Methods inherited from interface VisualSim.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

sceneGraphIn

public VisualSim.actor.TypedIOPort sceneGraphIn
The input port for connecting to other GR Actors in the scene graph


sceneGraphOut

public VisualSim.actor.TypedIOPort sceneGraphOut
The output port for connecting to other GR Actors in the scene graph


accumulate

public VisualSim.data.expr.Parameter accumulate
Boolean value determining whether transformations are accumulated or reset for each firing

Constructor Detail

GRTransform2D

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

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

fire

public void fire()
          throws VisualSim.kernel.util.IllegalActionException
Consume inputs from any input ports and apply transformation according to the state of this actor.

Throws:
VisualSim.kernel.util.IllegalActionException - If the value of some parameters can't be obtained.

initialize

public void initialize()
                throws VisualSim.kernel.util.IllegalActionException
Setup the transform object.

Throws:
VisualSim.kernel.util.IllegalActionException

_isAccumulating

protected boolean _isAccumulating()
                           throws VisualSim.kernel.util.IllegalActionException
Return the value of the accumulate parameter

Returns:
the accumulation mode
Throws:
VisualSim.kernel.util.IllegalActionException - If the value of some parameters can't be obtained

_makeSceneGraphConnection

protected void _makeSceneGraphConnection()
                                  throws VisualSim.kernel.util.IllegalActionException
Setup the scene graph connections of this actor.

Throws:
VisualSim.kernel.util.IllegalActionException - Always thrown for this base class.

_applyInitialTransform

protected abstract void _applyInitialTransform(diva.canvas.Figure figure)
                                        throws VisualSim.kernel.util.IllegalActionException
Set the initial transform of the given figure. This method is invoked by this base class during the initialize() method. Derived classes should implement it to provide class-specific behavior.

Throws:
VisualSim.kernel.util.IllegalActionException - If the value of some parameters can't be obtained.

_applyTransform

protected abstract void _applyTransform(diva.canvas.Figure figure)
                                 throws VisualSim.kernel.util.IllegalActionException
Consume input tokens, and transform the given figure according to the current state of the transform. This method is invoked by this base classes during the fire() method. Derived classes should implement it to provide class-specific behavior.

Throws:
VisualSim.kernel.util.IllegalActionException - If the value of some parameters can't be obtained.