ptolemy.domains.wireless.lib
Class Locator
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.wireless.lib.Locator
- 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:
- GraphicalLocator
public class Locator
- extends TypedAtomicActor
This is a wireless sensor node that reacts to an input event by
transmitting an output with the current location of this node and
the time of the input. The output is a record token with type
{location={double}, time=double}. The location is an array with
two doubles representing the X and Y positions of the sensor.
The location of the sensor is determined by the _getLocation()
protected method, which in this base class returns the location
of the icon in the visual editor, which is determined from the
_location attribute of the actor. If there is no _location
attribute, then an exception is thrown. Derived classes may
override this protected method to specify the location in some
other way (or in more dimensions).
- Since:
- Ptolemy II 4.0
- Version:
- $Id: Locator.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Philip Baldwin, Xiaojun Liu and Edward A. Lee
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
Locator(CompositeEntity container,
java.lang.String name)
Construct an actor with the specified container and name. |
Method Summary |
protected double[] |
_getLocation()
Return the location of this sensor. |
void |
fire()
Generate an event on the output port that indicates the
current position and time of the last input on the input
port. |
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.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 |
input
public WirelessIOPort input
- Port that receives a trigger input that causes transmission
of location and time information on the output port.
inputChannelName
public StringParameter inputChannelName
- Name of the input channel. This is a string that defaults to
"InputChannel".
output
public WirelessIOPort output
- Port that transmits the current location and the time
of the event on the input port. This has
type {location={double}, time=double}, a record token.
outputChannelName
public StringParameter outputChannelName
- Name of the output channel. This is a string that defaults to
"OutputChannel".
Locator
public Locator(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the specified container and name.
- Parameters:
container
- The container.name
- The name.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Generate an event on the output port that indicates the
current position and time of the last input on the input
port. The value of the input is ignored.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- Not thrown in this base class.
_getLocation
protected double[] _getLocation()
throws IllegalActionException
- Return the location of this sensor. In this base class,
this is determined by looking for an attribute with name
"_location" and class Location. Normally, a visual editor
such as Vergil will create this icon, so the location will
be determined by the visual editor. Derived classes can
override this method to specify the location in some other way.
- Returns:
- An array identifying the location.
- Throws:
IllegalActionException
- If the location attribute does
not exist or cannot be evaluated.