Package sim.portrayal

Class LocationWrapper

java.lang.Object
sim.portrayal.LocationWrapper

public class LocationWrapper extends 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 Details

    • object

      protected Object object
      The ORIGINAL object
    • location

      protected Object location
      The ORIGINAL location of the object
    • fieldPortrayal

      public FieldPortrayal fieldPortrayal
      The field portrayal depicting this object
  • Constructor Details

  • Method Details

    • getFieldPortrayal

      public FieldPortrayal getFieldPortrayal()
    • getObject

      public Object getObject()
      Override this to provide the current object
    • getLocation

      public Object getLocation()
      Override this to provide the current location
    • getLocationName

      public String getLocationName()
      Override this to provide the current location's name
    • toString

      public String toString()
      Overrides:
      toString in class Object