public class MultiLayerMarkerSymbol extends AbstractMarkerSymbol implements IMarkerSymbol, IMultiLayerSymbol, IMultiLayerMarkerSymbol
| Modifier and Type | Class and Description |
|---|---|
static class |
MultiLayerMarkerSymbol.RegisterPersistence |
static class |
MultiLayerMarkerSymbol.RegisterSymbol |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
MULTILAYER_MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAME |
MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAMESYMBOL_PERSISTENCE_DEFINITION_NAMECIRCLE_STYLE, CROSS_STYLE, DIAMOND_STYLE, SQUARE_STYLE, STAR_STYLE, SYMBOL_NAME, TRIANGLE_STYLE, VERTICAL_LINE_STYLE, X_STYLEPAPER, WORLDSELECTION_COLOR| Constructor and Description |
|---|
MultiLayerMarkerSymbol() |
| Modifier and Type | Method and Description |
|---|---|
void |
addLayer(ISymbol newLayer)
Stacks a new symbol to the symbol list.
|
void |
addLayer(ISymbol newLayer,
int layerIndex)
Stacks a new symbol to the symbol list.
|
java.lang.Object |
clone()
Creates a copy of the object.
|
void |
draw(java.awt.Graphics2D g,
java.awt.geom.AffineTransform affineTransform,
Geometry geom,
Feature feature,
Cancellable cancel)
Used when a symbol is going to be drawn.The method to do
it will depend on the derived version of the symbol.
|
void |
drawInsideRectangle(java.awt.Graphics2D g,
java.awt.geom.AffineTransform scaleInstance,
java.awt.Rectangle r,
PrintAttributes properties)
Useful to render the symbol inside the TOC, or inside little
rectangles.
|
java.lang.String |
getClassName() |
java.awt.Color |
getColor()
Returns the color of the marker symbol.
|
ISymbol |
getLayer(int layerIndex)
Obtains the symbol that "contains" a layer whose index is the argument of the method.
|
int |
getLayerCount()
Returns the number of layers
|
int |
getOnePointRgb()
Returns the rgb of the symbol when it is drawn like a point.
|
void |
getPixExtentPlus(Geometry geom,
float[] distances,
ViewPort viewPort,
int dpi)
Returns the distance between the shape's bounding box and the
symbol-that-represents-this-shape's bounding box in a two-length-float
array passed as parameter.
|
double |
getRotation()
Returns the rotation (in radians, counter-clockwise) of the marker symbol
|
double |
getSize()
Obtains the size of a marker symbol
|
ISymbol |
getSymbolForSelection()
Returns the derived version of the symbol that will be used to draw the
feature when it is selected.
|
boolean |
isSuitableFor(Geometry geom)
True if this symbol is ok for the geometry.
|
void |
loadFromState(PersistentState state)
Set the state of the object from the state passed as parameter.
|
void |
print(java.awt.Graphics2D g,
java.awt.geom.AffineTransform at,
Geometry geom,
PrintAttributes properties) |
boolean |
removeLayer(ISymbol layer)
TODO maybe push it up to ISymbol
|
void |
saveToState(PersistentState state)
Saves the internal state of the object on the provided
PersistentState object.
|
void |
setAlpha(int alpha)
Defines the transparency of a line symbol.
|
void |
setColor(java.awt.Color color)
Establishes a color for the marker symbol
|
void |
setLayer(int index,
ISymbol layer)
Establishes a concret symbol for a layer
|
void |
setReferenceSystem(int system)
Sets the Reference System that defines how this units have to be
handled.
|
void |
setRotation(double rotation)
Sets the rotation of the marker symbol
|
void |
setSize(double size)
Sets the size of marker symbol
|
void |
setUnit(int unit)
Defines the unit used to express measures.
|
void |
swapLayers(int index1,
int index2)
Changes the position of two layers in a multilayersymbol
|
getCartographicSize, getMask, getOffset, getSymbolType, setCartographicSize, setMask, setOffset, toCartographicSizecloneForSelection, equals, getDescription, getID, getReferenceSystem, getUnit, isOneDotOrPixel, isShapeVisible, setDescription, setID, setIsShapeVisiblefinalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMask, getOffset, setMask, setOffsetgetCartographicSize, getReferenceSystem, getUnit, setCartographicSize, toCartographicSizegetDescription, getSymbolType, isOneDotOrPixel, isShapeVisible, setDescriptionpublic static final java.lang.String MULTILAYER_MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAME
public java.awt.Color getColor()
IMarkerSymbolgetColor in interface ISymbolgetColor in interface IMarkerSymbolgetColor in class AbstractMarkerSymbolpublic double getRotation()
IMarkerSymbolgetRotation in interface IMarkerSymbolgetRotation in class AbstractMarkerSymbolpublic void setColor(java.awt.Color color)
IMarkerSymbolsetColor in interface ISymbolsetColor in interface IMarkerSymbolsetColor in class AbstractMarkerSymbolcolor - to render the symbolpublic void setRotation(double rotation)
IMarkerSymbolsetRotation in interface IMarkerSymbolsetRotation in class AbstractMarkerSymbolpublic double getSize()
IMarkerSymbolgetSize in interface IMarkerSymbolgetSize in class AbstractMarkerSymbolpublic void setSize(double size)
IMarkerSymbolsetSize in interface IMarkerSymbolsetSize in class AbstractMarkerSymbolpublic void draw(java.awt.Graphics2D g,
java.awt.geom.AffineTransform affineTransform,
Geometry geom,
Feature feature,
Cancellable cancel)
ISymbolpublic void drawInsideRectangle(java.awt.Graphics2D g,
java.awt.geom.AffineTransform scaleInstance,
java.awt.Rectangle r,
PrintAttributes properties)
throws SymbolDrawingException
ISymboldrawInsideRectangle in interface ISymboldrawInsideRectangle in class AbstractMarkerSymbolproperties - TODOSymbolDrawingException - TODOpublic int getOnePointRgb()
ISymbolgetOnePointRgb in interface ISymbolgetOnePointRgb in class AbstractMarkerSymbolpublic void getPixExtentPlus(Geometry geom, float[] distances, ViewPort viewPort, int dpi)
ISymbol
Returns the distance between the shape's bounding box and the
symbol-that-represents-this-shape's bounding box in a two-length-float
array passed as parameter.
After this method returns, the float array passed will contain two values
representing the amount of pixels separating each of the X (first element)
and Y (second element) axes.
This distance maybe dependent on:
And in any other case, if the unit of the symbol is pixels or the symbol is not even an instance of CartographicSupport, the returning values are only defined by the symbol and are not calculated.
getPixExtentPlus in interface ISymbolgetPixExtentPlus in class AbstractMarkerSymbolpublic ISymbol getSymbolForSelection()
ISymbolgetSymbolForSelection in interface ISymbolpublic boolean isSuitableFor(Geometry geom)
ISymbolisSuitableFor in interface ISymbolisSuitableFor in class AbstractMarkerSymbolpublic java.lang.String getClassName()
public void print(java.awt.Graphics2D g,
java.awt.geom.AffineTransform at,
Geometry geom,
PrintAttributes properties)
print in interface IPrintableprint in class AbstractMarkerSymbolpublic void setLayer(int index,
ISymbol layer)
throws java.lang.IndexOutOfBoundsException
IMultiLayerSymbolsetLayer in interface IMultiLayerSymboljava.lang.IndexOutOfBoundsExceptionpublic void swapLayers(int index1,
int index2)
IMultiLayerSymbolswapLayers in interface IMultiLayerSymbolpublic ISymbol getLayer(int layerIndex)
IMultiLayerSymbolgetLayer in interface IMultiLayerSymbolpublic int getLayerCount()
IMultiLayerSymbolgetLayerCount in interface IMultiLayerSymbolpublic void addLayer(ISymbol newLayer)
IMultiLayerSymboladdLayer in interface IMultiLayerSymbolpublic void addLayer(ISymbol newLayer, int layerIndex) throws java.lang.IndexOutOfBoundsException
IMultiLayerSymboladdLayer in interface IMultiLayerSymboljava.lang.IndexOutOfBoundsExceptionpublic boolean removeLayer(ISymbol layer)
IMultiLayerSymbolremoveLayer in interface IMultiLayerSymbolpublic void setUnit(int unit)
CartographicSupportsetUnit in interface CartographicSupportsetUnit in class AbstractSymbolpublic void setReferenceSystem(int system)
CartographicSupportsetReferenceSystem in interface CartographicSupportsetReferenceSystem in class AbstractSymbolpublic void setAlpha(int alpha)
IMarkerSymbolsetAlpha in interface IMarkerSymbolsetAlpha in class AbstractMarkerSymbolpublic java.lang.Object clone()
throws java.lang.CloneNotSupportedException
Cloneableclone in class AbstractMarkerSymboljava.lang.CloneNotSupportedException - if the instance of the object cannot
be cloned. As this is extending Cloneable so
its sure it implements it, so this exception may be used for problems
on specific object instances.Object#clone()}.public void loadFromState(PersistentState state) throws PersistenceException
PersistentloadFromState in interface PersistentloadFromState in class AbstractMarkerSymbolPersistenceExceptionpublic void saveToState(PersistentState state) throws PersistenceException
PersistentsaveToState in interface PersistentsaveToState in class AbstractMarkerSymbolPersistenceException