ptolemy.domains.gr.kernel
Class GRActor

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.domains.gr.kernel.GRActor
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
GRActor2D, GRActor3D

public abstract class GRActor
extends TypedAtomicActor

A base class for all GR actors. This is an abstract class that is never used as a standalone actor in a Ptolemy model. Subclasses of this actor include Geometry actors, Transform actors, Interaction actors, and the ViewScreen display actor.

Since:
Ptolemy II 1.0
Version:
$Id: GRActor.java 57040 2010-01-27 20:52:32Z cxh $
Author:
C. Fong
See Also:
ptolemy.domains.gr.lib, Serialized Form
Accepted Rating:
Yellow (cxh)
Proposed Rating:
Yellow (chf)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
protected  boolean _allowAttributeChanges
          Boolean variable to determine whether attribute changes are allowed.
protected  boolean _isSceneGraphInitialized
          Indicator of whether the scene graph is initialized.
 
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
GRActor(CompositeEntity container, java.lang.String name)
          Create a new GRActor in the specified container with the specified name.
 
Method Summary
protected abstract  void _makeSceneGraphConnection()
          Setup the scene graph connections of this actor.
protected abstract  void _setViewScreen(GRActor actor)
          Set the view screen that the actor is connected to.
 void fire()
          Initialize the scene graph if it is not yet initialized.
 void initialize()
          Check whether the current director is a GRDirector.
 void wrapup()
          Reset this actor back to uninitialized state to prepare for the next execution.
 
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, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
 
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, attributeChanged, 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, preinitialize, removeInitializable
 
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

_isSceneGraphInitialized

protected boolean _isSceneGraphInitialized
Indicator of whether the scene graph is initialized.


_allowAttributeChanges

protected boolean _allowAttributeChanges
Boolean variable to determine whether attribute changes are allowed. For speed reasons, attribute changes may be disallowed in some models

Constructor Detail

GRActor

public GRActor(CompositeEntity container,
               java.lang.String name)
        throws IllegalActionException,
               NameDuplicationException
Create a new GRActor in the specified container with the specified name. The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown.

Parameters:
container - The container.
name - The name of this actor within the container.
Throws:
IllegalActionException - If this actor cannot be contained by the proposed container (see the setContainer() method).
NameDuplicationException - If the name coincides with an entity already in the container.
Method Detail

fire

public void fire()
          throws IllegalActionException
Initialize the scene graph if it is not yet initialized.

Specified by:
fire in interface Executable
Overrides:
fire in class AtomicActor
Throws:
IllegalActionException - If an error occurs during the scene graph initialization.

initialize

public void initialize()
                throws IllegalActionException
Check whether the current director is a GRDirector. If not, throw an illegal action exception.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class AtomicActor
Throws:
IllegalActionException - If the current director is not a GRDirector.

wrapup

public void wrapup()
            throws IllegalActionException
Reset this actor back to uninitialized state to prepare for the next execution.

Specified by:
wrapup in interface Initializable
Overrides:
wrapup in class AtomicActor
Throws:
IllegalActionException - If the base class throws it.

_makeSceneGraphConnection

protected abstract void _makeSceneGraphConnection()
                                           throws IllegalActionException
Setup the scene graph connections of this actor. Derived GR Actors should override this method.

Throws:
IllegalActionException - Always thrown for this base class.

_setViewScreen

protected abstract void _setViewScreen(GRActor actor)
                                throws IllegalActionException
Set the view screen that the actor is connected to.

Parameters:
actor - The actor.
Throws:
IllegalActionException - Thrown if there is a problem setting the view screen.