Interface BeadFeatureRenderer

All Superinterfaces:
FeatureRenderer
All Known Implementing Classes:
AbstractBeadRenderer, EllipticalBeadRenderer, RectangularBeadRenderer, RectangularImapRenderer, RoundRectangularBeadRenderer

public interface BeadFeatureRenderer extends FeatureRenderer

BeadFeatureRenderers use a 'string of beads' metaphor for displaying features.

A concrete BeadFeatureRenderer may render a series of features in more than one style by delegating to other BeadFeatureRenderers for the additional style(s). This is achieved using the setDelegateRenderer() method which associates an OptimizableFilter with another BeadFeatureRenderer. Any feature accepted by the filter is rendered with that renderer, while the remainder are rendered by the current renderer.

Since:
1.2
Author:
Keith James
  • Method Details

    • getBeadDepth

      double getBeadDepth()
      getBeadDepth returns the depth of a single bead produced by the renderer.
      Returns:
      a double.
    • getBeadDisplacement

      getBeadDisplacement returns the displacement of beads from the centre line of the renderer. A positive value indicates displacment downwards (for horizontal renderers) or to the right (for vertical renderers).
      Returns:
      a double.
    • setDelegateRenderer

      setDelegateRenderer associates an OptimizableFilter with a BeadFeatureRenderer. Any feature accepted by the filter will be passed to the associated renderer for drawing. The OptimizableFilters should be disjoint with respect to each other (a feature may not be rendered more than once).
      Parameters:
      filter - an OptimizableFilter.
      renderer - a BeadFeatureRenderer.
    • renderBead

      renderBead should implement rendering for this bead type only. The renderFeature method is expected to handle the calls to delegate renderers.
      Parameters:
      g2 - a Graphics2D.
      f - a Feature to render.
      context - a SequenceRenderContext context.