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 String |
MULTILAYER_MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAME |
MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAME
SYMBOL_PERSISTENCE_DEFINITION_NAME
CIRCLE_STYLE, CROSS_STYLE, DIAMOND_STYLE, SQUARE_STYLE, STAR_STYLE, SYMBOL_NAME, TRIANGLE_STYLE, VERTICAL_LINE_STYLE, X_STYLE
PAPER, WORLD
SELECTION_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.
|
Object |
clone()
Creates a copy of the object.
|
void |
draw(Graphics2D g,
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(Graphics2D g,
AffineTransform scaleInstance,
Rectangle r,
PrintAttributes properties)
Useful to render the symbol inside the TOC, or inside little
rectangles.
|
String |
getClassName() |
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(Graphics2D g,
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(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, toCartographicSize
cloneForSelection, equals, getDescription, getID, getReferenceSystem, getUnit, isOneDotOrPixel, isShapeVisible, setDescription, setID, setIsShapeVisible
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMask, getOffset, setMask, setOffset
getCartographicSize, getReferenceSystem, getUnit, setCartographicSize, toCartographicSize
getDescription, getSymbolType, isOneDotOrPixel, isShapeVisible, setDescription
public static final String MULTILAYER_MARKER_SYMBOL_PERSISTENCE_DEFINITION_NAME
public Color getColor()
IMarkerSymbol
getColor
in interface ISymbol
getColor
in interface IMarkerSymbol
getColor
in class AbstractMarkerSymbol
public double getRotation()
IMarkerSymbol
getRotation
in interface IMarkerSymbol
getRotation
in class AbstractMarkerSymbol
public void setColor(Color color)
IMarkerSymbol
setColor
in interface ISymbol
setColor
in interface IMarkerSymbol
setColor
in class AbstractMarkerSymbol
color
- to render the symbolpublic void setRotation(double rotation)
IMarkerSymbol
setRotation
in interface IMarkerSymbol
setRotation
in class AbstractMarkerSymbol
public double getSize()
IMarkerSymbol
getSize
in interface IMarkerSymbol
getSize
in class AbstractMarkerSymbol
public void setSize(double size)
IMarkerSymbol
setSize
in interface IMarkerSymbol
setSize
in class AbstractMarkerSymbol
public void draw(Graphics2D g, AffineTransform affineTransform, Geometry geom, Feature feature, Cancellable cancel)
ISymbol
public void drawInsideRectangle(Graphics2D g, AffineTransform scaleInstance, Rectangle r, PrintAttributes properties) throws SymbolDrawingException
ISymbol
drawInsideRectangle
in interface ISymbol
drawInsideRectangle
in class AbstractMarkerSymbol
properties
- TODOSymbolDrawingException
- TODOpublic int getOnePointRgb()
ISymbol
getOnePointRgb
in interface ISymbol
getOnePointRgb
in class AbstractMarkerSymbol
public 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 ISymbol
getPixExtentPlus
in class AbstractMarkerSymbol
public ISymbol getSymbolForSelection()
ISymbol
getSymbolForSelection
in interface ISymbol
public boolean isSuitableFor(Geometry geom)
ISymbol
isSuitableFor
in interface ISymbol
isSuitableFor
in class AbstractMarkerSymbol
public String getClassName()
public void print(Graphics2D g, AffineTransform at, Geometry geom, PrintAttributes properties)
print
in interface IPrintable
print
in class AbstractMarkerSymbol
public void setLayer(int index, ISymbol layer) throws IndexOutOfBoundsException
IMultiLayerSymbol
setLayer
in interface IMultiLayerSymbol
IndexOutOfBoundsException
public void swapLayers(int index1, int index2)
IMultiLayerSymbol
swapLayers
in interface IMultiLayerSymbol
public ISymbol getLayer(int layerIndex)
IMultiLayerSymbol
getLayer
in interface IMultiLayerSymbol
public int getLayerCount()
IMultiLayerSymbol
getLayerCount
in interface IMultiLayerSymbol
public void addLayer(ISymbol newLayer)
IMultiLayerSymbol
addLayer
in interface IMultiLayerSymbol
public void addLayer(ISymbol newLayer, int layerIndex) throws IndexOutOfBoundsException
IMultiLayerSymbol
addLayer
in interface IMultiLayerSymbol
IndexOutOfBoundsException
public boolean removeLayer(ISymbol layer)
IMultiLayerSymbol
removeLayer
in interface IMultiLayerSymbol
public void setUnit(int unit)
CartographicSupport
setUnit
in interface CartographicSupport
setUnit
in class AbstractSymbol
public void setReferenceSystem(int system)
CartographicSupport
setReferenceSystem
in interface CartographicSupport
setReferenceSystem
in class AbstractSymbol
public void setAlpha(int alpha)
IMarkerSymbol
setAlpha
in interface IMarkerSymbol
setAlpha
in class AbstractMarkerSymbol
public Object clone() throws CloneNotSupportedException
Cloneable
clone
in class AbstractMarkerSymbol
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
Persistent
loadFromState
in interface Persistent
loadFromState
in class AbstractMarkerSymbol
PersistenceException
public void saveToState(PersistentState state) throws PersistenceException
Persistent
saveToState
in interface Persistent
saveToState
in class AbstractMarkerSymbol
PersistenceException