Class ColourMap

java.lang.Object
mgui.interfaces.AbstractInterfaceObject
mgui.interfaces.maps.ColourMap
All Implemented Interfaces:
java.lang.Cloneable, InterfaceObject, NamedObject, TreeObject, CleanableObject, XMLObject, IconObject
Direct Known Subclasses:
ContinuousColourMap, DiscreteColourMap

public abstract class ColourMap
extends AbstractInterfaceObject
implements IconObject, java.lang.Cloneable, XMLObject
Abstract class for mapping values (instances of Comparable) to colours.
Version:
1.0
Author:
Andrew Reid
  • Nested Class Summary

    Nested classes/interfaces inherited from interface mgui.interfaces.xml.XMLObject

    XMLObject.XMLEncoding, XMLObject.XMLType
  • Field Summary

    Fields
    Modifier and Type Field Description
    java.lang.String name  
    Colour nullColour  

    Fields inherited from class mgui.interfaces.AbstractInterfaceObject

    isDestroyed, tree_nodes
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected ColourMap()  
  • Method Summary

    Modifier and Type Method Description
    abstract java.lang.Object clone()  
    org.jogamp.vecmath.Color3f[] getColor3fArray​(java.util.ArrayList<MguiNumber> list)
    Returns an array of Color3f colours mapped from the values in list
    org.jogamp.vecmath.Color3f[] getColor3fArray​(java.util.ArrayList<MguiNumber> list, double min, double max)
    Get an array of colours for the given list of values, given the specified limits.
    org.jogamp.vecmath.Color4f[] getColor4fArray​(java.util.ArrayList<MguiNumber> list)
    Returns an array of Color4f colours mapped from the values in list
    org.jogamp.vecmath.Color4f[] getColor4fArray​(java.util.ArrayList<MguiNumber> list, double min, double max)
    Get an array of colours for the given list of values, given the specified limits.
    Colour getColour​(double d)
    Get colour for the specified value, for the current limits.
    Colour getColour​(double d, double min, double max)
    Get colour for the specified value, given the specified limits.
    Colour getColour​(int i)  
    Colour getColour​(java.lang.Comparable<?> o)  
    byte[] getDiscreteMap​(int size, int channels)
    Compile and return a discrete colour map of size size with channels interleaved data channels.
    abstract byte[] getDiscreteMap​(int size, int channels, boolean setAlphaFromPos)
    Compile and return a discrete colour map of size size with channels interleaved data channels.
    java.lang.String getDTD()
    Returns the Data Type Declaration (DTD) for this object's XML representation
    InterfaceLayoutPanel getLayoutPanel()  
    java.lang.String getLocalName()
    Returns the local name associated with this XML object.
    java.lang.String getName()
    Gets the name for this object.
    java.lang.String getXML()
    Returns this object's XML representation as a single string.
    java.lang.String getXML​(int tab)
    Returns this object's XML representation as a single string.
    java.lang.String getXMLSchema()
    Returns the XML schema for this object's XML representation
    void handleXMLElementEnd​(java.lang.String localName)
    Handles the end of an XML element.
    void handleXMLElementStart​(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)
    Handles the start of an XML element.
    void handleXMLString​(java.lang.String s)
    Handles a string within an XML element.
    void printToConsole()  
    void setName​(java.lang.String name)
    Sets the name for this object.
    void writeXML​(int tab, java.io.Writer writer)
    Writes the XML representation of this object to file.
    void writeXML​(int tab, java.io.Writer writer, ProgressUpdater progress_bar)
    Writes the XML representation of this object to file, as XMLType.Normal.
    void writeXML​(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar)
    Writes the XML representation of this object to file.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface mgui.resources.icons.IconObject

    getObjectIcon

    Methods inherited from interface mgui.interfaces.xml.XMLObject

    getShortXML
  • Field Details

    • name

      public java.lang.String name
    • nullColour

      public Colour nullColour
  • Constructor Details

    • ColourMap

      protected ColourMap()
  • Method Details

    • getColour

      public Colour getColour​(java.lang.Comparable<?> o)
    • getName

      public java.lang.String getName()
      Description copied from interface: NamedObject
      Gets the name for this object.
      Specified by:
      getName in interface NamedObject
      Overrides:
      getName in class AbstractInterfaceObject
      Returns:
    • getColour

      public Colour getColour​(int i)
    • getColor4fArray

      public org.jogamp.vecmath.Color4f[] getColor4fArray​(java.util.ArrayList<MguiNumber> list, double min, double max)
      Get an array of colours for the given list of values, given the specified limits.
      Parameters:
      list -
      min -
      max -
      Returns:
    • getColor3fArray

      public org.jogamp.vecmath.Color3f[] getColor3fArray​(java.util.ArrayList<MguiNumber> list, double min, double max)
      Get an array of colours for the given list of values, given the specified limits.
      Parameters:
      list -
      min -
      max -
      Returns:
    • getColour

      public Colour getColour​(double d)
      Get colour for the specified value, for the current limits.
      Parameters:
      d -
      Returns:
    • getColour

      public Colour getColour​(double d, double min, double max)
      Get colour for the specified value, given the specified limits.
      Parameters:
      d -
      min -
      max -
      Returns:
    • getColor4fArray

      public org.jogamp.vecmath.Color4f[] getColor4fArray​(java.util.ArrayList<MguiNumber> list)
      Returns an array of Color4f colours mapped from the values in list
      Parameters:
      list - ArrayList of type MguiNumber to be mapped to colours
      Returns:
      an array of type Color4f
    • getColor3fArray

      public org.jogamp.vecmath.Color3f[] getColor3fArray​(java.util.ArrayList<MguiNumber> list)
      Returns an array of Color3f colours mapped from the values in list
      Parameters:
      list - ArrayList of type MguiNumber to be mapped to colours
      Returns:
      an array of type Color3f
    • setName

      public void setName​(java.lang.String name)
      Description copied from interface: NamedObject
      Sets the name for this object.
      Specified by:
      setName in interface NamedObject
      Overrides:
      setName in class AbstractInterfaceObject
    • getDiscreteMap

      public abstract byte[] getDiscreteMap​(int size, int channels, boolean setAlphaFromPos)
      Compile and return a discrete colour map of size size with channels interleaved data channels. For a given colour model (e.g., RGBA), each colour component c will be represented by the index (i * 4) + c.
      Parameters:
      size -
      channels -
      setAlphaFromPos - sets the alpha value from position rather than colour map
      Returns:
    • getDiscreteMap

      public byte[] getDiscreteMap​(int size, int channels)
      Compile and return a discrete colour map of size size with channels interleaved data channels. For a given colour model (e.g., RGBA), each colour component c will be represented by the index (i * 4) + c.
      Parameters:
      size -
      channels -
      Returns:
    • printToConsole

      public void printToConsole()
    • getDTD

      public java.lang.String getDTD()
      Description copied from interface: XMLObject
      Returns the Data Type Declaration (DTD) for this object's XML representation

      See http://en.wikipedia.org/wiki/Document_Type_Definition for a description.

      Specified by:
      getDTD in interface XMLObject
      Returns:
    • getXML

      public java.lang.String getXML()
      Description copied from interface: XMLObject
      Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use the XMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater) functions to write larger objects to file.
      Specified by:
      getXML in interface XMLObject
      Returns:
    • getXML

      public java.lang.String getXML​(int tab)
      Description copied from interface: XMLObject
      Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use the XMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater) functions to write larger objects to file.
      Specified by:
      getXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the opening XML wrapper
      Returns:
    • getXMLSchema

      public java.lang.String getXMLSchema()
      Description copied from interface: XMLObject
      Returns the XML schema for this object's XML representation

      See http://en.wikipedia.org/wiki/XML_schema.

      Specified by:
      getXMLSchema in interface XMLObject
      Returns:
    • getLocalName

      public java.lang.String getLocalName()
      Description copied from interface: XMLObject
      Returns the local name associated with this XML object.
      Specified by:
      getLocalName in interface XMLObject
      Returns:
    • handleXMLElementStart

      public void handleXMLElementStart​(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)
      Description copied from interface: XMLObject
      Handles the start of an XML element.
      Specified by:
      handleXMLElementStart in interface XMLObject
      Parameters:
      localName - Local name of the element
      attributes - Set of element attributes
      type - The XMLType of this element
    • handleXMLElementEnd

      public void handleXMLElementEnd​(java.lang.String localName)
      Description copied from interface: XMLObject
      Handles the end of an XML element.
      Specified by:
      handleXMLElementEnd in interface XMLObject
      Parameters:
      localName - Local name of the element
    • handleXMLString

      public void handleXMLString​(java.lang.String s)
      Description copied from interface: XMLObject
      Handles a string within an XML element.
      Specified by:
      handleXMLString in interface XMLObject
      Parameters:
      s - String to handle
    • getLayoutPanel

      public InterfaceLayoutPanel getLayoutPanel()
    • writeXML

      public void writeXML​(int tab, java.io.Writer writer) throws java.io.IOException
      Description copied from interface: XMLObject
      Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format of XMLFormat.Ascii will be used.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      Throws:
      java.io.IOException
    • writeXML

      public void writeXML​(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOException
      Description copied from interface: XMLObject
      Writes the XML representation of this object to file, as XMLType.Normal. The default format of XMLFormat.Ascii will be used. The basic contract for this method is that it should not write a newline character at its start or end.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      progress_bar - Optional progress updater (may be null)
      Throws:
      java.io.IOException
    • writeXML

      public void writeXML​(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar) throws java.io.IOException
      Description copied from interface: XMLObject
      Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format of XMLFormat.Ascii will be used.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      options - XMLOutputOptions defining the write parameters
      progress_bar - Optional progress updater (may be null)
      Throws:
      java.io.IOException
    • clone

      public abstract java.lang.Object clone()
      Overrides:
      clone in class java.lang.Object