Class TLcdNVGGXYLabelPainterProvider

java.lang.Object
com.luciad.format.nvg.gxy.TLcdNVGGXYLabelPainterProvider
All Implemented Interfaces:
ILcdGXYLabelPainterProvider, Serializable, Cloneable

public class TLcdNVGGXYLabelPainterProvider extends Object implements ILcdGXYLabelPainterProvider
A label painter provider for a layer containing NVG domain objects.

By default, retrieved painters will paint the label of NVG domain objects as defined in the standard. The retrieved label painters use the TLcdNVGStyle and the TLcdNVGSymbol of an element for its label rendering. If the standard defined in TLcdNVGSymbol specifies how an object should be rendered, the symbol has precedence over the style.

Other label painter providers can be registered for domain specific symbol sets. If a element has a symbol with an unsupported standard, only the style is used for visualization.

If an element doesn't have a style set, a configurable style with default values according to NVG specifications is used. Style customization of military symbols is possible by setting an ILcdAPP6AStyle and an ILcdMS2525bStyle.

Since:
2015.0
See Also:
  • Constructor Details

    • TLcdNVGGXYLabelPainterProvider

      public TLcdNVGGXYLabelPainterProvider()
  • Method Details

    • getDefaultNVGStyle

      public TLcdNVGStyle getDefaultNVGStyle()
      Returns the TLcdNVGStyle used for objects without styling information.
      Returns:
      the default nvg style.
      See Also:
    • setDefaultNVGStyle

      public void setDefaultNVGStyle(TLcdNVGStyle aDefaultNVGStyle)
      Set the default TLcdNVGStyle of this painter provider.

      This NVG Style allows to override the default values of the style attributes from NVG specifications. These values will be used to visualize an object if neither its style neither a style of its ancestors explicitly set these attributes. If some values aren't set on this style, the painters will use the ones from the specifications.

      For example, if the default style defines a font, that font is used for every element that does not define its font.

      This style is not used for military symbols, see setDefaultAPP6AStyle(com.luciad.symbology.app6a.view.gxy.ILcdAPP6AStyle)/setDefaultMS2525bStyle(com.luciad.symbology.milstd2525b.view.gxy.ILcdMS2525bStyle) instead.

      Parameters:
      aDefaultNVGStyle - a default nvg style
    • getDefaultMS2525bStyle

      @Deprecated public ILcdMS2525bStyle getDefaultMS2525bStyle()
      Deprecated.
      Returns the default symbology style for MIL-STD 2525 domain objects that do not contain any styling.
      Returns:
      a ILcdMS2525bStyle instance.
    • setDefaultMS2525bStyle

      @Deprecated public void setDefaultMS2525bStyle(ILcdMS2525bStyle aDefaultMS2525bStyle)
      Sets the default symbology style for MIL-STD 2525 domain objects that do not contain any styling.
      Parameters:
      aDefaultMS2525bStyle - the default MS2525 Style for the painter provider.
    • getDefaultAPP6AStyle

      @Deprecated public ILcdAPP6AStyle getDefaultAPP6AStyle()
      Deprecated.
      Returns the default symbology style for APP-6 domain objects that do not contain any styling.
      Returns:
      a ILcdAPP6AStyle instance.
    • setDefaultAPP6AStyle

      @Deprecated public void setDefaultAPP6AStyle(ILcdAPP6AStyle aDefaultAPP6AStyle)
      Sets the default symbology style for APP-6 domain objects that do not contain any styling.
      Parameters:
      aDefaultAPP6AStyle - the default APP6A Style for the painter provider.
    • setDefaultMilitarySymbolStyle

      public void setDefaultMilitarySymbolStyle(TLcdMilitarySymbolStyle aDefaultStyle)
      Sets the default symbology style for APP-6 and MIL-STD 2525 domain objects that do not contain any styling.
      Parameters:
      aDefaultStyle - the default APP-6 and MIL-STD 2525 Style for the painter provider
      Since:
      2024.0
    • getDefaultMilitarySymbolStyle

      public TLcdMilitarySymbolStyle getDefaultMilitarySymbolStyle()
      Returns the default symbology style for APP-6 and MIL-STD 2525 domain objects that do not contain any styling.
      Returns:
      a TLcdMilitarySymbolStyle instance.
      Since:
      2024.0
    • getGXYLabelPainter

      public ILcdGXYLabelPainter getGXYLabelPainter(Object aObject)
      Description copied from interface: ILcdGXYLabelPainterProvider
      Finds an ILcdGXYLabelPainter that can be used to label the object passed.

      The label painter provider is responsible for setting the object to the label painter before returning the label painter. An implementation should therefore have the following structure:

      
       public ILcdGXYLabelPainter getGXYLabelPainter(Object aObject) {
         ILcdGXYLabelPainter labelPainter = ... // find the label painter for the object
         if (labelPainter != null) {
          labelPainter.setObject(aObject);
         }
         return labelPainter;
       }
       

      Specified by:
      getGXYLabelPainter in interface ILcdGXYLabelPainterProvider
      Parameters:
      aObject - the object to find a label painter for
      Returns:
      a label painter that can be used to label the object; or null if no label painter could be found for the given object, or the object could not be set on the retrieved label painter.
    • registerPainterProvider

      public void registerPainterProvider(String aStandardName, ILcdGXYLabelPainterProvider aLabelPainterProvider)
      Allows to use a external label painter provider for a domain specific standard. This label painter provider will be used for elements with a domain specific symbol (TLcdNVGSymbol).
      Parameters:
      aStandardName - name of the standard
      aLabelPainterProvider - a label painter provider
    • clone

      public Object clone()
      Description copied from interface: ILcdGXYLabelPainterProvider
      Redefines Object.clone to make it public.
      Specified by:
      clone in interface ILcdGXYLabelPainterProvider
      Overrides:
      clone in class Object