Class ALcyLspDomainObjectSupplier

java.lang.Object
com.luciad.lucy.addons.drawing.lightspeed.ALcyLspDomainObjectSupplier
Direct Known Subclasses:
TLcyLspSLDDomainObjectSupplier

public abstract class ALcyLspDomainObjectSupplier extends Object

Lightspeed counterpart of ALcyDomainObjectSupplier. It provides the ILspShapeDiscretizer, ILspStyler and ILspEditor for visualizing and editing the domain objects of the associated ALcyDomainObjectSupplier in a Lightspeed view.

If the associated ALcyDomainObjectSupplier supports extruded shapes, the ILspShapeDiscretizer, ILspStyler and ILspEditor created by this ALcyLspDomainObjectSupplier must be able to handle those extruded shapes in a Lightspeed view.

All the model related functionality is contained in the matching ALcyDomainObjectSupplier.

Since:
2012.1
See Also:
  • Constructor Details

    • ALcyLspDomainObjectSupplier

      protected ALcyLspDomainObjectSupplier(ALcyDomainObjectSupplier aDomainObjectSupplier)
      Creates a new ALcyLspDomainObjectSupplier. Since Lightspeed domain object suppliers only provide methods to obtain the editor and discretizer, the GXY counterpart is passed in the constructor. This allows to recuperate the rest of the functionality of a domain object supplier from the GXY part.
      Parameters:
      aDomainObjectSupplier - the GXY counterpart
  • Method Details

    • getDomainObjectSupplier

      public ALcyDomainObjectSupplier getDomainObjectSupplier()
      Returns the GXY counterpart which was passed in the constructor
      Returns:
      the GXY counterpart which was passed in the constructor
    • getBodyPaintRepresentations

      public TLspPaintRepresentation[] getBodyPaintRepresentations()
      Returns the body paint representations that can be visualized and/or edited by this supplier. For every representation, a styler, discretizer, and editor are retrieved. The default implementation supports the TLspPaintRepresentation.BODY representation.
      Returns:
      the paint representations supported by this supplier
    • getLabelPaintRepresentations

      public TLspPaintRepresentation[] getLabelPaintRepresentations()
      Returns the label paint representations that can be visualized and/or edited by this supplier. For every representation, a styler, discretizer, and editor are retrieved. The default implementation supports the TLspPaintRepresentation.LABEL representation.
      Returns:
      the paint representations supported by this supplier
      See Also:
    • createShapeDiscretizer

      public abstract ILspShapeDiscretizer createShapeDiscretizer(TLspPaintRepresentation aPaintRepresentation)

      Creates the shape discretizer for the domain objects of the associated ALcyDomainObjectSupplier. If that associated ALcyDomainObjectSupplier supports extruded shapes, the shape discretizer created by this method should also be able to discretize these extruded shapes.

      May return null when a default discretizer should be used.

      It is the responsibility of the layer factory created in the TLcyLspDrawingFormat to pass these shape discretizers to the painter of the layer. A typical implementation of the ILspShapeDiscretizer which is set to the painter of the layer is a composite implementation of the ILspShapeDiscretizer interface based on the ILspShapeDiscretizers created in the available ALcyLspDomainObjectSuppliers. This composite implementation could include a fallback ILspShapeDiscretizer for the domain objects where the corresponding ALcyLspDomainObjectSupplier created a null discretizer.

      Parameters:
      aPaintRepresentation - the paint representation (e.g. body, label, ...) to create a discretizer for
      Returns:
      The ILspShapeDiscretizer to discretize the domain objects and extruded domain objects of the associated ALcyDomainObjectSupplier. May be null.
      See Also:
    • createShapeEditor

      public abstract ILspEditor createShapeEditor(TLspPaintRepresentation aPaintRepresentation)

      Creates the editor for the domain objects of the associated ALcyDomainObjectSupplier. If that associated ALcyDomainObjectSupplier supports extruded shapes, the editor created by this method should also be able to edit these extruded shapes.

      May return null when no editing support is needed for the domain objects of this supplier.

      It is the responsibility of the layer factory created in the TLcyLspDrawingFormat to pass these editors to the layer. A typical implementation of the ILspEditor which is set to the layer is a composite implementation of the ILspEditor interface based on the ILspEditors created in the available ALcyLspDomainObjectSuppliers.

      Parameters:
      aPaintRepresentation - the paint representation (e.g. body, label, ...) to create an editor for
      Returns:
      The ILspEditor to edit the domain objects and extruded domain objects of the associated ALcyDomainObjectSupplier. May be null.
      See Also:
    • createShapeStyler

      public abstract ILspStyler createShapeStyler(TLspPaintRepresentationState aPaintRepresentationState)

      Creates the styler for the domain objects of the associated ALcyDomainObjectSupplier. If that associated ALcyDomainObjectSupplier supports extruded shapes, the styler created by this method should also be able to style these extruded shapes.

      It is the responsibility of the layer factory created in the TLcyLspDrawingFormat to pass these stylers to the painter of the layer. A typical implementation of the ILspStyler which is set to the painter is a composite implementation of the ILspStyler interface based on the ILspStylers created in the available ALcyLspDomainObjectSuppliers.
      If null is returned for the TLspPaintState.EDITED and TLspPaintState.SELECTED states, the layer factory may derive a styler based on the TLspPaintState.REGULAR state.

      Parameters:
      aPaintRepresentationState - the paint representation and state to create a styler for
      Returns:
      The ILspStyler to style the domain objects and extruded domain objects of the associated ALcyDomainObjectSupplier, or null if no visualization is needed for the given paint representation,
      See Also: