Class ObjectsInPolygon

  • All Implemented Interfaces:
    Destroyable, GlobalInfoSupporter, LenientModeSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, SizeOfHandler, ObjectFinder, ObjectPrefixHandler, Serializable

    public class ObjectsInPolygon
    extends AbstractObjectFinder
    Locates the objects that fall into the defined polygon.
    Partial hits can be considered as well.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
        min-user-mode: Expert
     
    -prefix <java.lang.String> (property: prefix)
        The report field prefix used in the report.
        default: Object.
     
    -reset-indices-if-necessary <boolean> (property: resetIndicesIfNecessary)
        If enabled, automatically resets the indices if some are missing or duplicates
        are located.
        default: false
     
    -lenient <boolean> (property: lenient)
        If enabled, then no error is generated if -1 indices are returned.
        default: false
     
    -x <java.lang.String> (property: X)
        The X coordinates of the polygon (1-based).
        default:
     
    -y <java.lang.String> (property: Y)
        The Y coordinates of the polygon (1-based).
        default:
     
    -partial <boolean> (property: partial)
        If enabled, partial hits are included as well.
        default: false
     
    -one-based <boolean> (property: oneBased)
        If enabled, coordinates in the report are assumed to be 1-based instead
        of 0-based.
        default: false
     
    -check-type <boolean> (property: checkType)
        If enabled, the type of the objects gets checked as well.
        default: false
     
    -type-suffix <java.lang.String> (property: typeSuffix)
        The report field suffix for the type used in the report (ignored if no check
        ).
        default:
     
    -type-find <adams.core.base.BaseRegExp> (property: typeFind)
        The regular expression to apply to the type, ignored if no check.
        default:
        more: https://docs.oracle.com/javase/tutorial/essential/regex/
        https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_X

        protected int[] m_X
        the x coordinates.
      • m_Y

        protected int[] m_Y
        the y coordinates.
      • m_Partial

        protected boolean m_Partial
        whether to include partial hits.
      • m_OneBased

        protected boolean m_OneBased
        whether report contains one-based coordinates.
      • m_CheckType

        protected boolean m_CheckType
        whether to check the type (if a suffix provided).
      • m_TypeSuffix

        protected String m_TypeSuffix
        the suffix for the type.
      • m_TypeFind

        protected BaseRegExp m_TypeFind
        the regular expression to apply to the type.
      • m_Polygon

        protected transient Polygon m_Polygon
        the polygon.
    • Constructor Detail

      • ObjectsInPolygon

        public ObjectsInPolygon()
    • Method Detail

      • setX

        public void setX​(String value)
        Sets the X coordinates (1-based) as comma-separated list.
        Parameters:
        value - the comma-separated list
      • getX

        public String getX()
        Returns the comma-separated list of X coordinates (1-based).
        Returns:
        the comma-separated list
      • XTipText

        public String XTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setY

        public void setY​(String value)
        Sets the X coordinates (1-based) as comma-separated list.
        Parameters:
        value - the comma-separated list
      • getY

        public String getY()
        Returns the comma-separated list of Y coordinates (1-based).
        Returns:
        the comma-separated list
      • YTipText

        public String YTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setPartial

        public void setPartial​(boolean value)
        Sets whether to include partial hits.
        Parameters:
        value - true if to include partial hits
      • getPartial

        public boolean getPartial()
        Returns whether to include partial hits.
        Returns:
        true if to count partial hits
      • partialTipText

        public String partialTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setOneBased

        public void setOneBased​(boolean value)
        Sets whether to assume 1-based coordinates in report.
        Parameters:
        value - true if to use 1-based coordinates
      • getOneBased

        public boolean getOneBased()
        Returns whether to assume 1-based coordinates in report.
        Returns:
        true if to use 1-based coordinates
      • oneBasedTipText

        public String oneBasedTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setCheckType

        public void setCheckType​(boolean value)
        Sets whether to check the type as well.
        Parameters:
        value - true if to check
      • getCheckType

        public boolean getCheckType()
        Returns the field suffix for the type used in the report (ignored if empty).
        Returns:
        true if to check
      • checkTypeTipText

        public String checkTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setTypeSuffix

        public void setTypeSuffix​(String value)
        Sets the field suffix for the type used in the report (ignored if no check).
        Parameters:
        value - the field suffix
      • getTypeSuffix

        public String getTypeSuffix()
        Returns the field suffix for the type used in the report (ignored if no check).
        Returns:
        the field suffix
      • typeSuffixTipText

        public String typeSuffixTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setTypeFind

        public void setTypeFind​(BaseRegExp value)
        Sets the regular expression to apply to the type, ignored if no check.
        Parameters:
        value - the expression
      • getTypeFind

        public BaseRegExp getTypeFind()
        Returns the regular expression to apply to the type, ignored if no check.
        Returns:
        the expression
      • typeFindTipText

        public String typeFindTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • check

        protected String check​(LocatedObjects objects)
        Hook method for performing checks.
        Overrides:
        check in class AbstractObjectFinder
        Parameters:
        objects - the list of objects to check
        Returns:
        null if successful check, otherwise error message
      • doFind

        protected int[] doFind​(LocatedObjects objects)
        Performs the actual finding of the objects in the list.
        Specified by:
        doFind in class AbstractObjectFinder
        Parameters:
        objects - the list of objects to process
        Returns:
        the indices