sim.portrayal
Class LocationWrapper

java.lang.Object
  extended by sim.portrayal.LocationWrapper
Direct Known Subclasses:
ValuePortrayal3D.ValueWrapper

public class LocationWrapper
extends java.lang.Object

A LocationWrapper is used to embody the objects stored in a FieldPortrayal; for example, those returned by a hitObjects test on a FieldPortrayal2D. The wrapper contains the FieldPortrayal, the original object, and the original location. We say "original object" and "original location", because some Fields move objects about. To get the current object and the current location, you need to call the getObject() and getLocation() methods. LocationWrappers are most commonly used to provide inspectors.

FieldPortrayals should subclass this class according to their needs. For example, ValueGridPortrayal2D and ObjectGridPortrayal2D lock inspectors to point at certain locations, rather than follow objects around. In this case, these portrayals will override getObject() to return the object currently at the given location. On the other hand, SparseGridPortrayal2D and ContinuousPortrayal2D lock inspectors to point at certain objects regardless of where the object is located. In this case, these portrayals will override getLocation() instead to return the object's current location.

LocationWrapper is used for nearly identical functions in FieldPortrayal3Ds as well.


Field Summary
 FieldPortrayal fieldPortrayal
          The field portrayal depicting this object
protected  java.lang.Object location
          The ORIGINAL location of the object
protected  java.lang.Object object
          The ORIGINAL object
 
Constructor Summary
LocationWrapper(java.lang.Object object, java.lang.Object location, FieldPortrayal fieldPortrayal)
           
 
Method Summary
 FieldPortrayal getFieldPortrayal()
           
 java.lang.Object getLocation()
          Override this to provide the current location
 java.lang.String getLocationName()
          Override this to provide the current location's name
 java.lang.Object getObject()
          Override this to provide the current object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

object

protected java.lang.Object object
The ORIGINAL object


location

protected java.lang.Object location
The ORIGINAL location of the object


fieldPortrayal

public FieldPortrayal fieldPortrayal
The field portrayal depicting this object

Constructor Detail

LocationWrapper

public LocationWrapper(java.lang.Object object,
                       java.lang.Object location,
                       FieldPortrayal fieldPortrayal)
Method Detail

getFieldPortrayal

public FieldPortrayal getFieldPortrayal()

getObject

public java.lang.Object getObject()
Override this to provide the current object


getLocation

public java.lang.Object getLocation()
Override this to provide the current location


getLocationName

public java.lang.String getLocationName()
Override this to provide the current location's name