Class TLcdNVGGXYPainterProvider

java.lang.Object
com.luciad.format.nvg.gxy.TLcdNVGGXYPainterProvider
All Implemented Interfaces:
ILcdCloneable, ILcdGXYEditorProvider, ILcdGXYPainterProvider, Serializable, Cloneable

public class TLcdNVGGXYPainterProvider extends Object implements ILcdGXYPainterProvider, ILcdGXYEditorProvider
A painter provider for a layer containing NVG domain objects.

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

Other painter providers can be registered for domain specific symbol sets. If an 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

    • TLcdNVGGXYPainterProvider

      public TLcdNVGGXYPainterProvider()
  • 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

      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
    • 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
    • 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
    • getGXYPainter

      public ILcdGXYPainter getGXYPainter(Object aObject)
      Finds an ILcdGXYPainter that can be used to paint or locate the object passed.

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

      
       public ILcdGXYPainter getGXYPainter(Object aObject) {
         ILcdGXYPainter painter = ... // find the painter for the object
         if (painter != null) {
          painter.setObject(aObject);
         }
         return painter;
       }
       

      Specified by:
      getGXYPainter in interface ILcdGXYPainterProvider
      Parameters:
      aObject - the object to find a painter for
      Returns:
      a painter that can be used to paint or locate the object; or null if no painter could be found for the given object, or the object could not be set on the retrieved painter.
    • registerPainterEditorProviders

      public void registerPainterEditorProviders(String aStandardName, ILcdGXYPainterProvider aPainterProvider, ILcdGXYEditorProvider aEditorProvider)
      Allows to use external painter and editor providers for a domain specific standard. These providers will be used for elements with a domain specific symbol (TLcdNVGSymbol). Editor provider can be null.
      Parameters:
      aStandardName - name of the standard
      aPainterProvider - a painter provider
      aEditorProvider - a editor provider, can be null
    • getGXYEditor

      public ILcdGXYEditor getGXYEditor(Object aObject)
      Finds an ILcdGXYEditor that can be used to edit the object passed.

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

      
       public ILcdGXYEditor getGXYEditor(Object aObject) {
         ILcdGXYEditor editor = ... // find the editor for the object
         editor.setObject( aObject );
         return editor;
       }
       

      Specified by:
      getGXYEditor in interface ILcdGXYEditorProvider
      Parameters:
      aObject - the object to find an editor for
      Returns:
      an editor that can be used to edit the object.
    • clone

      public TLcdNVGGXYPainterProvider clone()
      Redefines Object.clone to make it public.
      Specified by:
      clone in interface ILcdCloneable
      Specified by:
      clone in interface ILcdGXYEditorProvider
      Specified by:
      clone in interface ILcdGXYPainterProvider
      Overrides:
      clone in class Object
      Returns:
      a clone of this painter provider.
      See Also: