Class TLcdDGNGXYPainterProvider

java.lang.Object
com.luciad.format.dgn.gxy.TLcdDGNGXYPainterProvider
All Implemented Interfaces:
ILcdCloneable, ILcdDeepCloneable, ILcdGXYPainterProvider, Serializable, Cloneable

public class TLcdDGNGXYPainterProvider extends Object implements ILcdGXYPainterProvider, ILcdDeepCloneable
This class implements an ILcdGXYPainterProvider for DGN objects.
See Also:
  • Constructor Details

    • TLcdDGNGXYPainterProvider

      public TLcdDGNGXYPainterProvider(TLcdDGNModelDescriptor aDGNModelDescriptor, boolean aUsePaintCache)
      Creates a new TLcdDGNGXYPainterProvider based on the given TLcdDGNModelDescriptor. The painter styles that will be used by the painters are suitable for standard drawing of DGN files.
      Parameters:
      aDGNModelDescriptor - the TLcdDGNModelDescriptor that contains information like color table and level symbology to be used by the painters.
      aUsePaintCache - specifies whether the painters should cache transformed coordinates.
    • TLcdDGNGXYPainterProvider

      public TLcdDGNGXYPainterProvider(TLcdDGNColorTable aDGNColorTable, TLcdDGNLevelSymbology aDGNLevelSymbology, boolean aUsePaintCache)
      Creates a new TLcdDGNGXYPainterProvider with the given level symbology and color table. The painter styles that will be used by the painters are suitable for standard drawing of DGN files.
      Parameters:
      aDGNColorTable - the TLcdDGNColorTable that the painters will use for painting.
      aDGNLevelSymbology - the TLcdDGNLevelSymbology that the painters will use for painting. If it is null, no level symbology will be used.
      aUsePaintCache - specifies whether the painters should cache transformed coordinates.
    • TLcdDGNGXYPainterProvider

      public TLcdDGNGXYPainterProvider(TLcdDGNColorTable aDGNColorTable, TLcdDGNLevelSymbology aDGNLevelSymbology, boolean aUsePaintCache, boolean aUseAntiAliasing)
      Creates a new TLcdDGNGXYPainterProvider with the given level symbology and color table. The painter styles that will be used by the painters are suitable for standard drawing of DGN files.
      Parameters:
      aDGNColorTable - the TLcdDGNColorTable that the painters will use for painting.
      aDGNLevelSymbology - the TLcdDGNLevelSymbology that the painters will use for painting. If it is null, no level symbology will be used.
      aUsePaintCache - specifies whether the painters should cache transformed
      aUseAntiAliasing - specifies whether to enable anti-aliasing
    • TLcdDGNGXYPainterProvider

      public TLcdDGNGXYPainterProvider(TLcdDGNColorTable aDGNColorTable, TLcdDGNLevelSymbology aDGNLevelSymbology, boolean aUsePaintCache, ILcdDGNGXYFillMode aFillMode, ILcdGXYPainterStyle aLineStyle, ILcdGXYPainterStyle aFillStyle, ILcdGXYPainterStyle aFontStyle)
      Creates a new TLcdDGNGXYPainterProvider with the given level symbology and color table, and a set of painter styles to specify the drawing style of the ILcdDGNShape objects.
      Parameters:
      aDGNColorTable - the TLcdDGNColorTable that the painters will use for painting.
      aDGNLevelSymbology - the TLcdDGNLevelSymbology that the painters will use for painting. If it is null, no level symbology will be used.
      aUsePaintCache - specifies whether the painters should cache transformed coordinates.
      aLineStyle - the ILcdGXYPainterStyle that the painters will use for painting lines.
      aFillStyle - the ILcdGXYPainterStyle that the painters will use for filling areas.
      aFontStyle - the ILcdGXYPainterStyle that the painters will use for painting text.
    • TLcdDGNGXYPainterProvider

      public TLcdDGNGXYPainterProvider(TLcdDGNColorTable aDGNColorTable, TLcdDGNLevelSymbology aDGNLevelSymbology, boolean aUsePaintCache, ILcdDGNGXYFillMode aFillMode, ILcdGXYPainterStyle aLineStyle, ILcdGXYPainterStyle aFillStyle, ILcdGXYPainterStyle aFontStyle, boolean aHandleHoles, boolean aHandleUnfilledHoles)
      Creates a new TLcdDGNGXYPainterProvider with the given level symbology and color table, and a set of painter styles to specify the drawing style of the ILcdDGNShape objects. Painting holes can be explicitly disabled if memory is scarce or performance is critical.
      Parameters:
      aDGNColorTable - the TLcdDGNColorTable that the painters will use for painting.
      aDGNLevelSymbology - the TLcdDGNLevelSymbology that the painters will use for painting. If it is null, no level symbology will be used.
      aUsePaintCache - specifies whether the painters should cache transformed coordinates.
      aLineStyle - the ILcdGXYPainterStyle that the painters will use for painting lines.
      aFillStyle - the ILcdGXYPainterStyle that the painters will use for filling areas.
      aFontStyle - the ILcdGXYPainterStyle that the painters will use for painting text.
      aHandleHoles - specifies whether holes should be painted.
      aHandleUnfilledHoles - specifies whether holes should be painted, even if they are not marked as filled. This may be useful in combination with custom painter styles.
      See Also:
  • Method Details

    • getGXYPainter

      public ILcdGXYPainter getGXYPainter(Object aObject)
      Description copied from interface: ILcdGXYPainterProvider
      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.
    • clone

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

      public Object clone(Map aObjectDictionary)
      Description copied from interface: ILcdDeepCloneable
      Returns a deep clone of this Object.

      An object dictionary is used to keep track of all objects of the original Object graph, for which a clone has already been created. The dictionary should be a java.util.Map, using reference-equality instead of object-equality when comparing keys (such as the java.util.IdentityHashMap). It contains as keys the objects in the original object graph that have already been cloned, and as values their corresponding clone.

      The Object returned by this method should fulfill the following conditions, as specified in the general Object.clone() contract:

      • this.clone(aObjectDictionary) != this
      • this.clone(aObjectDictionary).getClass() == this.getClass()
      • this.clone(aObjectDictionary).equals(this)

      In addition, the following conditions should also hold:

      • If a clone of this Object already exists in the object dictionary before this clone method is called, this method shall return that clone:
        aObjectDictionary.get(this) == null || aObjectDictionary.get(this) == this.clone(aObjectDictionary)
      • The object dictionary shall contain the resulting clone, after this clone method has completed:
        this.clone(aObjectDictionary) == aObjectDictionary.get(this)
      Specified by:
      clone in interface ILcdDeepCloneable
      Parameters:
      aObjectDictionary - the Object dictionary that keeps track of the objects for which a clone has already been made, and their corresponding clone Object.
      Returns:
      a deep clone of this Object that fulfills the conditions described above.