Class FeatureFilter.ShadowOverlapsLocation

  • All Implemented Interfaces:
    Serializable, FeatureFilter, OptimizableFilter
    Enclosing interface:
    FeatureFilter

    public static final class FeatureFilter.ShadowOverlapsLocation
    extends Object
    implements OptimizableFilter
    A filter that accepts all features whose shadow overlaps a specified Location. The shadow is defined as the interval between the minimum and maximum positions of the feature's location. For features with contiguous locations, this filter is equivalent to FeatureFilter.OverlapsLocation..

    A typical use of this filter is in graphics code where you are rendering features with non-contiguous locations in a `blocks and connectors' style, and wish to draw the connector even when no blocks fall within the selected field of view

    Since:
    1.3
    Author:
    Thomas Down
    See Also:
    Serialized Form
    • Constructor Detail

      • ShadowOverlapsLocation

        public ShadowOverlapsLocation​(Location loc)
        Creates a filter that returns everything overlapping loc.
        Parameters:
        loc - the location that will overlap the accepted features
    • Method Detail

      • accept

        public boolean accept​(Feature f)
        Returns true if the feature overlaps this filter's location.
        Specified by:
        accept in interface FeatureFilter
        Parameters:
        f - the Feature to evaluate
        Returns:
        true if this feature is to be selected in, or false if it is to be ignored
      • isProperSubset

        public boolean isProperSubset​(FeatureFilter sup)
        Description copied from interface: OptimizableFilter
        Returns true if this filter is a proper subset of sup - that is, for every feature that matches this, it also matches sup. The empty filter is a proper subset of all filters. All filters are a proper subset of the all filter. All filters are proper subsets of themselves.
        Specified by:
        isProperSubset in interface OptimizableFilter
        Parameters:
        sup - the potential super set
        Returns:
        true if sup contains all features contained by this filter
      • isDisjoint

        public boolean isDisjoint​(FeatureFilter filt)
        Description copied from interface: OptimizableFilter
        Returns true if this filter is disjoint from filt - that is, there is no Feature that is accepted by both filters. The empty filter is disjoint from all other filters. The all filter is disjoint from none.
        Specified by:
        isDisjoint in interface OptimizableFilter