edu.cmu.emulator.world
Class RelSpatialAttribute

java.lang.Object
  extended by edu.cmu.emulator.world.RelSpatialAttribute
Direct Known Subclasses:
RelMatrix, RelVector

public abstract class RelSpatialAttribute
extends Object

RelSpatialAttribute is the abstract parent of all spatial attribute classes. Spatial attributes are relative in order to support the nesting of object reference frames.

Users do not set spatial attributes directly, but invoke code such as MovableObject's navigation code. Users may, however, register with a spatial attribute to receive updates whenever it changes in a specified way.


Field Summary
protected  ArrayList children
           
private static boolean debugListeners
           
protected  GroupWorker groupWorker
           
protected  int id
           
protected  ListenerManager listenerManager
           
protected  ArrayList listeners
           
protected  MovableObject mObject
           
protected  RelSpatialAttribute parent
           
 
Constructor Summary
protected RelSpatialAttribute(MovableObject mObject, GroupWorker groupWorker)
           
protected RelSpatialAttribute(MovableObject mObject, RelSpatialAttribute parent, GroupWorker groupWorker)
           
 
Method Summary
 void addChild(RelSpatialAttribute child)
           
 void addListener(RSAListener listener, int threadMode, double triggerMagnitude, int relAbsMode)
           
 void addListener(RSAListener listener, int threadMode, long triggerInterval)
           
 void addListener(RSAListener listener, int threadMode, long triggerInterval, double triggerMagnitude, int relAbsMode)
           
 void addListener(RSAListener listener, long triggerInterval, double triggerMagnitude)
           
 void addListener(RSAListener listener, long triggerInterval, double triggerMagnitude, int relAbsMode)
           
protected abstract  double calcChangeMagnitude(Object v0, Object v1)
           
abstract  Object getAbsValue()
           
 RelSpatialAttribute getChild(int index)
           
 int getID()
           
 int getNumChildren()
           
 MovableObject getObject()
           
 RelSpatialAttribute getParent()
           
abstract  Object getRelValue()
           
protected  void notifyChildren(long timeMillis)
           
protected  void notifyListeners(long timeMillis)
           
 void removeChild(RelSpatialAttribute child)
           
 void removeListener(RSAListener listener)
           
 void setID(int id)
           
 void setParent(RelSpatialAttribute newParent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listeners

protected ArrayList listeners

groupWorker

protected GroupWorker groupWorker

mObject

protected MovableObject mObject

parent

protected RelSpatialAttribute parent

children

protected ArrayList children

listenerManager

protected ListenerManager listenerManager

id

protected int id

debugListeners

private static final boolean debugListeners
See Also:
Constant Field Values
Constructor Detail

RelSpatialAttribute

protected RelSpatialAttribute(MovableObject mObject,
                              GroupWorker groupWorker)

RelSpatialAttribute

protected RelSpatialAttribute(MovableObject mObject,
                              RelSpatialAttribute parent,
                              GroupWorker groupWorker)
Method Detail

setID

public void setID(int id)

getID

public int getID()

getObject

public MovableObject getObject()

setParent

public void setParent(RelSpatialAttribute newParent)

getParent

public RelSpatialAttribute getParent()

addChild

public void addChild(RelSpatialAttribute child)

removeChild

public void removeChild(RelSpatialAttribute child)

getNumChildren

public int getNumChildren()

getChild

public RelSpatialAttribute getChild(int index)

getRelValue

public abstract Object getRelValue()

getAbsValue

public abstract Object getAbsValue()

addListener

public void addListener(RSAListener listener,
                        long triggerInterval,
                        double triggerMagnitude)

addListener

public void addListener(RSAListener listener,
                        long triggerInterval,
                        double triggerMagnitude,
                        int relAbsMode)

addListener

public void addListener(RSAListener listener,
                        int threadMode,
                        long triggerInterval)

addListener

public void addListener(RSAListener listener,
                        int threadMode,
                        double triggerMagnitude,
                        int relAbsMode)

addListener

public void addListener(RSAListener listener,
                        int threadMode,
                        long triggerInterval,
                        double triggerMagnitude,
                        int relAbsMode)

removeListener

public void removeListener(RSAListener listener)

notifyListeners

protected void notifyListeners(long timeMillis)

calcChangeMagnitude

protected abstract double calcChangeMagnitude(Object v0,
                                              Object v1)

notifyChildren

protected void notifyChildren(long timeMillis)


Copyright © 2013. All Rights Reserved.