org.deegree_impl.graphics.displayelements
Class LineStringDisplayElement_Impl

java.lang.Object
  extended byorg.deegree_impl.graphics.displayelements.DisplayElement_Impl
      extended byorg.deegree_impl.graphics.displayelements.GeometryDisplayElement_Impl
          extended byorg.deegree_impl.graphics.displayelements.LineStringDisplayElement_Impl
All Implemented Interfaces:
DisplayElement, GeometryDisplayElement, LineStringDisplayElement, java.io.Serializable

class LineStringDisplayElement_Impl
extends GeometryDisplayElement_Impl
implements LineStringDisplayElement, java.io.Serializable

DisplayElement that encapsulates a linestring (GM_Curve) or multi-linestring geometry (GM_MultiCurve) and a LineStringSymbolizer.

It can be rendered using a solid stroke or a graphics stroke.

Version:
$Revision: 1.20 $ $Date: 2004/05/11 13:10:46 $
Author:
Andreas Poth, Markus Schneider

Field Summary
protected  Feature feature
           
protected  GM_Object geometry
           
protected  Symbolizer highlightSymbolizer
           
protected  java.lang.Object placement
           
protected  Symbolizer selectedSymbolizer
           
private static long serialVersionUID
          Use serialVersionUID for interoperability.
protected  Symbolizer symbolizer
           
 
Constructor Summary
protected LineStringDisplayElement_Impl(Feature feature, GM_Curve geometry)
          Creates a new LineStringDisplayElement_Impl object.
protected LineStringDisplayElement_Impl(Feature feature, GM_Curve geometry, LineSymbolizer symbolizer)
          Creates a new LineStringDisplayElement_Impl object.
protected LineStringDisplayElement_Impl(Feature feature, GM_MultiCurve geometry)
          Creates a new LineStringDisplayElement_Impl object.
protected LineStringDisplayElement_Impl(Feature feature, GM_MultiCurve geometry, LineSymbolizer symbolizer)
          Creates a new LineStringDisplayElement_Impl object.
 
Method Summary
private  int[][] calcTargetCoordinates(GeoTransform projection, GM_Curve curve)
          Calculates the screen coordinates of the curve.
private  double distance(double x1, double y1, double x2, double y2)
           
 boolean doesScaleConstraintApply(double scale)
          Returns if the DisplayElement should be painted at the current scale or not.
private  void drawLine(java.awt.Graphics g, int[][] pos, Stroke stroke)
          Renders a curve to the submitted graphic context.
 java.lang.String getAssociateFeatureId()
          returns the id of the feature that's associated with the DisplayElement
 double getDistance(double x1, double y1, double x2, double y2)
           
 Feature getFeature()
          Returns the associated Feature.
 GM_Object getGeometry()
          returns the geometry that determines the position the DisplayElement will be rendered to
 Symbolizer getHighlightSymbolizer()
          returns the symbolizer that determines how the geometry will be rendered if it's highlighted
 Symbolizer getSelectedSymbolizer()
          returns the symbolizer that determines how the geometry will be rendered if it's selected
 Symbolizer getSymbolizer()
          Returns the symbolizer that determines how the geometry will be rendered.
 boolean isHighlighted()
          returns if the DisplayElement is highlighted or not.
 boolean isSelected()
          returns if the DisplayElement is selected or not
 void paint(java.awt.Graphics g, GeoTransform projection)
          renders the DisplayElement to the submitted graphic context
 void paintImage(java.awt.Image image, java.awt.Graphics2D g, int x, int y, double rotation)
           
private  java.awt.Graphics2D setColor(java.awt.Graphics2D g2, java.awt.Color color, double opacity)
           
 void setGeometry(GM_Object geometry)
          sets the geometry that determines the position the DisplayElement will be rendered to
 void setHighlighted(boolean highlighted)
          marks the DisplayElement as highlighted or not
 void setHighlightSymbolizer(Symbolizer rule)
          sets the rule that determines how the geometry will be rendered when it's highlighted
 void setPlacement(java.lang.Object o)
          Overwrites the default placement of the DisplayElement.
 void setSelected(boolean selected)
          marks a DisplayElement as selected or not
 void setSelectedSymbolizer(Symbolizer rule)
          sets the rule that determines how the geometry will be rendered when it's selected
 void setSymbolizer(Symbolizer symbolizer)
          sets the rules that determines how the geometry will be rendered
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.deegree.graphics.displayelements.GeometryDisplayElement
getGeometry, getHighlightSymbolizer, getSelectedSymbolizer, getSymbolizer, setGeometry, setHighlightSymbolizer, setPlacement, setSelectedSymbolizer, setSymbolizer
 
Methods inherited from interface org.deegree.graphics.displayelements.DisplayElement
doesScaleConstraintApply, getAssociateFeatureId, getFeature, isHighlighted, isSelected, setHighlighted, setSelected
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Use serialVersionUID for interoperability.

See Also:
Constant Field Values

geometry

protected GM_Object geometry

symbolizer

protected Symbolizer symbolizer

highlightSymbolizer

protected Symbolizer highlightSymbolizer

selectedSymbolizer

protected Symbolizer selectedSymbolizer

placement

protected java.lang.Object placement

feature

protected Feature feature
Constructor Detail

LineStringDisplayElement_Impl

protected LineStringDisplayElement_Impl(Feature feature,
                                        GM_Curve geometry)
Creates a new LineStringDisplayElement_Impl object.

Parameters:
feature -
geometry -

LineStringDisplayElement_Impl

protected LineStringDisplayElement_Impl(Feature feature,
                                        GM_Curve geometry,
                                        LineSymbolizer symbolizer)
Creates a new LineStringDisplayElement_Impl object.

Parameters:
feature -
geometry -
symbolizer -

LineStringDisplayElement_Impl

protected LineStringDisplayElement_Impl(Feature feature,
                                        GM_MultiCurve geometry)
Creates a new LineStringDisplayElement_Impl object.

Parameters:
feature -
geometry -

LineStringDisplayElement_Impl

protected LineStringDisplayElement_Impl(Feature feature,
                                        GM_MultiCurve geometry,
                                        LineSymbolizer symbolizer)
Creates a new LineStringDisplayElement_Impl object.

Parameters:
feature -
geometry -
symbolizer -
Method Detail

paintImage

public void paintImage(java.awt.Image image,
                       java.awt.Graphics2D g,
                       int x,
                       int y,
                       double rotation)

paint

public void paint(java.awt.Graphics g,
                  GeoTransform projection)
renders the DisplayElement to the submitted graphic context

Specified by:
paint in interface DisplayElement
Specified by:
paint in class DisplayElement_Impl

getDistance

public double getDistance(double x1,
                          double y1,
                          double x2,
                          double y2)

calcTargetCoordinates

private int[][] calcTargetCoordinates(GeoTransform projection,
                                      GM_Curve curve)
                               throws java.lang.Exception
Calculates the screen coordinates of the curve.

Throws:
java.lang.Exception

drawLine

private void drawLine(java.awt.Graphics g,
                      int[][] pos,
                      Stroke stroke)
               throws FilterEvaluationException
Renders a curve to the submitted graphic context. TODO: Calculate miterlimit.

Throws:
FilterEvaluationException

distance

private double distance(double x1,
                        double y1,
                        double x2,
                        double y2)

setColor

private java.awt.Graphics2D setColor(java.awt.Graphics2D g2,
                                     java.awt.Color color,
                                     double opacity)
Parameters:
g2 -
color -
opacity -
Returns:

setPlacement

public void setPlacement(java.lang.Object o)
Overwrites the default placement of the DisplayElement. This method is used by the PlacementOptimizer to minimize the overlapping of labels, for example.

Specified by:
setPlacement in interface GeometryDisplayElement
Parameters:
o - the placement to be used

setGeometry

public void setGeometry(GM_Object geometry)
sets the geometry that determines the position the DisplayElement will be rendered to

Specified by:
setGeometry in interface GeometryDisplayElement

getGeometry

public GM_Object getGeometry()
returns the geometry that determines the position the DisplayElement will be rendered to

Specified by:
getGeometry in interface GeometryDisplayElement

setSymbolizer

public void setSymbolizer(Symbolizer symbolizer)
sets the rules that determines how the geometry will be rendered

Specified by:
setSymbolizer in interface GeometryDisplayElement
Parameters:
symbolizer - symbolizer defining rendering style

getSymbolizer

public Symbolizer getSymbolizer()
Returns the symbolizer that determines how the geometry will be rendered.

Specified by:
getSymbolizer in interface GeometryDisplayElement

setHighlightSymbolizer

public void setHighlightSymbolizer(Symbolizer rule)
sets the rule that determines how the geometry will be rendered when it's highlighted

Specified by:
setHighlightSymbolizer in interface GeometryDisplayElement
Parameters:
rule - symbolizer defining rendering style

getHighlightSymbolizer

public Symbolizer getHighlightSymbolizer()
returns the symbolizer that determines how the geometry will be rendered if it's highlighted

Specified by:
getHighlightSymbolizer in interface GeometryDisplayElement

setSelectedSymbolizer

public void setSelectedSymbolizer(Symbolizer rule)
sets the rule that determines how the geometry will be rendered when it's selected

Specified by:
setSelectedSymbolizer in interface GeometryDisplayElement
Parameters:
rule - symbolizer defining rendering style

getSelectedSymbolizer

public Symbolizer getSelectedSymbolizer()
returns the symbolizer that determines how the geometry will be rendered if it's selected

Specified by:
getSelectedSymbolizer in interface GeometryDisplayElement

doesScaleConstraintApply

public boolean doesScaleConstraintApply(double scale)
Returns if the DisplayElement should be painted at the current scale or not.

Specified by:
doesScaleConstraintApply in interface DisplayElement
Overrides:
doesScaleConstraintApply in class DisplayElement_Impl

getFeature

public Feature getFeature()
Returns the associated Feature.

Specified by:
getFeature in interface DisplayElement

getAssociateFeatureId

public java.lang.String getAssociateFeatureId()
returns the id of the feature that's associated with the DisplayElement

Specified by:
getAssociateFeatureId in interface DisplayElement

setSelected

public void setSelected(boolean selected)
marks a DisplayElement as selected or not

Specified by:
setSelected in interface DisplayElement

isSelected

public boolean isSelected()
returns if the DisplayElement is selected or not

Specified by:
isSelected in interface DisplayElement

setHighlighted

public void setHighlighted(boolean highlighted)
marks the DisplayElement as highlighted or not

Specified by:
setHighlighted in interface DisplayElement

isHighlighted

public boolean isHighlighted()
returns if the DisplayElement is highlighted or not.

Specified by:
isHighlighted in interface DisplayElement