All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sim.portrayal.LocationWrapper Maven / Gradle / Ivy

Go to download

MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.

The newest version!
/*
  Copyright 2006 by Sean Luke and George Mason University
  Licensed under the Academic Free License version 3.0
  See the file "LICENSE" for more information
*/

package sim.portrayal;

/**
   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. */ public class LocationWrapper { /** The ORIGINAL object */ protected Object object; /** The ORIGINAL location of the object */ protected Object location; /** The field portrayal depicting this object */ public FieldPortrayal fieldPortrayal; public LocationWrapper(Object object, Object location, FieldPortrayal fieldPortrayal) { this.object = object; this.location = location; this.fieldPortrayal = fieldPortrayal; } public FieldPortrayal getFieldPortrayal() { return fieldPortrayal; } /** Override this to provide the current object */ public Object getObject() { return object; } /** Override this to provide the current location */ public Object getLocation() { return location; } /** Override this to provide the current location's name */ public String getLocationName() { return "" + location; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy