Package 

Class AbstractDrawLayers

  • All Implemented Interfaces:
    it.unibo.alchemist.boundary.gui.effects.DrawLayers , it.unibo.alchemist.boundary.gui.effects.Effect , java.io.Serializable

    
    public abstract class AbstractDrawLayers
    extends DrawOnce implements DrawLayers
                        

    This class collects the following responsibilities: - it manages to draw layers only when necessary (as the apply method will be called for every node). Every subclass must only define the drawLayers method, which is guaranteed to be called only when necessary. - it declares gui controls for the selection of the color to use - it declares gui controls for the selection of a filter, used to filter the layers to draw. In particular, it allows the user to specify a molecule, meaning that only the layer containing such molecule will be drawn (otherwise the effect is applied to all layers)

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean layerFilter
      private String molString
      private RangedInteger alpha
      private RangedInteger red
      private RangedInteger green
      private RangedInteger blue
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void setLayerFilter(boolean layerFilter)
      String getMolString()
      void setMolString(String molString)
      RangedInteger getAlpha()
      void setAlpha(RangedInteger alpha)
      RangedInteger getRed()
      void setRed(RangedInteger red)
      RangedInteger getGreen()
      void setGreen(RangedInteger green)
      RangedInteger getBlue()
      void setBlue(RangedInteger blue)
      Color getColorSummary()
      abstract <T, P extends Position2D<P>> void drawLayers(Collection<Layer<T, P>> toDraw, Environment<T, P> environment, Graphics2D graphics, Wormhole2D<P> wormhole) Effectively draw the layers.
      boolean isLayerFilter()
      • Methods inherited from class it.unibo.alchemist.boundary.gui.effects.DrawOnce

        apply, getMarkerNodeID
      • Methods inherited from class it.unibo.alchemist.boundary.gui.effects.Effect

        apply, apply, equals, hashCode
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • setLayerFilter

         void setLayerFilter(boolean layerFilter)
        Parameters:
        layerFilter - a boolean representing whether or not layer filter must be on
      • setMolString

         void setMolString(String molString)
        Parameters:
        molString - a string representing the molecule to use
      • setAlpha

         void setAlpha(RangedInteger alpha)
        Parameters:
        alpha - alpha channel
      • getRed

         RangedInteger getRed()
      • setRed

         void setRed(RangedInteger red)
        Parameters:
        red - red channel
      • setGreen

         void setGreen(RangedInteger green)
        Parameters:
        green - green channel
      • setBlue

         void setBlue(RangedInteger blue)
        Parameters:
        blue - blue channel
      • drawLayers

         abstract <T, P extends Position2D<P>> void drawLayers(Collection<Layer<T, P>> toDraw, Environment<T, P> environment, Graphics2D graphics, Wormhole2D<P> wormhole)

        Effectively draw the layers.