Record Class ColorData

java.lang.Object
java.lang.Record
com.reduxrobotics.sensors.canandcolor.ColorData
Record Components:
red - the amount of red detected between 0 to 1
green - the amount of green detected between 0 to 1
blue - the amount of blue detected between 0 to 1
All Implemented Interfaces:
StructSerializable, WPISerializable

public record ColorData(double red, double green, double blue) extends Record implements StructSerializable
Record class to hold detected color values.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    This field is necessary for WPILib structs to work around Java type erasure.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ColorData(double red, double green, double blue)
    Creates an instance of a ColorData record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns the value of the blue record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    static ColorData
    fromColorMessage(long data)
    Extracts a new ColorData object from a 64-bit data field.
    double
    Returns the value of the green record component.
    final int
    Returns a hash code value for this object.
    double
    hue()
    Returns hue [0..1] inclusive in HSV colorspace.
    double
    red()
    Returns the value of the red record component.
    double
    Returns saturation [0..1] in HSV colorspace.
    final String
    Returns a string representation of this record class.
    Converts to a WPILib Color object.
    double
    Returns value [0..1] inclusive in HSV color space.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • struct

      public static final CanandcolorColorDataStruct struct
      This field is necessary for WPILib structs to work around Java type erasure.
  • Constructor Details

    • ColorData

      public ColorData(double red, double green, double blue)
      Creates an instance of a ColorData record class.
      Parameters:
      red - the value for the red record component
      green - the value for the green record component
      blue - the value for the blue record component
  • Method Details

    • toWpilibColor

      public Color toWpilibColor()
      Converts to a WPILib Color object.
      Returns:
      a Color with the rgb value.
    • hue

      public double hue()
      Returns hue [0..1] inclusive in HSV colorspace.
      Returns:
      hue
    • saturation

      public double saturation()
      Returns saturation [0..1] in HSV colorspace.
      Returns:
      sat
    • value

      public double value()
      Returns value [0..1] inclusive in HSV color space. Not to be confused with the white value
      Returns:
      value
    • fromColorMessage

      public static ColorData fromColorMessage(long data)
      Extracts a new ColorData object from a 64-bit data field.
      Parameters:
      data - data to extraact from
      Returns:
      new color data
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • red

      public double red()
      Returns the value of the red record component.
      Returns:
      the value of the red record component
    • green

      public double green()
      Returns the value of the green record component.
      Returns:
      the value of the green record component
    • blue

      public double blue()
      Returns the value of the blue record component.
      Returns:
      the value of the blue record component