Interface DirectPointSetPattern

All Superinterfaces:
Pattern, QuickPointCountPattern
All Known Subinterfaces:
DirectPointSetUniformGridPattern
All Known Implementing Classes:
SimplePattern

public interface DirectPointSetPattern extends QuickPointCountPattern

Interface, used by Pattern implementations to indicate that they are direct point-set patterns, i.e. are internally represented as actual sets of points like Set<Point>. See also the section "Direct point-set patterns" in the comments to Pattern interface.

If a pattern implements this interface, then there is a guarantee that the following methods work quickly and successfully (without any exceptions):

Here "quickly" means O(1) operations for Pattern.pointCount(), Pattern.largePointCount(), Pattern.isSurelyOriginPoint() methods and O(N) or less operations (N=pointCount()) for other methods.

Also there is a guarantee in such patterns, that QuickPointCountPattern.isPointCountVeryLarge() returns false and, so, the number of points can be retrieved by Pattern.pointCount() method.

If a pattern implements this interface, it never implements RectangularPattern interface.

There is a guarantee, that the following methods (and, in this package, only they) create patterns, implementing this interface:

Author:
Daniel Alievsky
See Also: