gvsig-3d / 2.1 / trunk / org.gvsig.view3d / org.gvsig.view3d.vector / org.gvsig.view3d.vector.lib / org.gvsig.view3d.vector.lib.impl / src / main / java / org / gvsig / view3d / vector / lib / impl / DefaultVectorExtrusionLoaderParameters.java @ 760
History | View | Annotate | Download (5.13 KB)
1 |
package org.gvsig.view3d.vector.lib.impl; |
---|---|
2 |
|
3 |
import java.awt.Color; |
4 |
|
5 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
6 |
import org.gvsig.tools.ToolsLocator; |
7 |
import org.gvsig.tools.dynobject.DynStruct; |
8 |
import org.gvsig.tools.persistence.PersistenceManager; |
9 |
import org.gvsig.tools.persistence.PersistentState; |
10 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
11 |
import org.gvsig.view3d.lib.api.loader.AbstractLoaderParameters; |
12 |
import org.gvsig.view3d.vector.lib.api.VectorElevationMode; |
13 |
import org.gvsig.view3d.vector.lib.api.VectorExtrusionLoaderParameters; |
14 |
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters; |
15 |
|
16 |
/**
|
17 |
*
|
18 |
* @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
|
19 |
*
|
20 |
*/
|
21 |
public class DefaultVectorExtrusionLoaderParameters extends AbstractLoaderParameters |
22 |
implements VectorExtrusionLoaderParameters {
|
23 |
|
24 |
public static final String PARAMETERS_DEFINITION_NAME = "VectorExtrusionLoaderParameters"; |
25 |
public static final String PARAMETERS_DEFINITION_DESCRIPTION = |
26 |
"Parameters that defines vector extrusion load mode";
|
27 |
|
28 |
public static final String VECTOR_ELEVATION_MODE_FIELD_NAME = "vectorElevationMode"; |
29 |
public static final String DEFAULT_COLOR_FIELD_NAME = "defaultColor"; |
30 |
public static final String HEIGHT_FIELD_FIELD_NAME = "heightField"; |
31 |
public static final String CONSTANT_HEIGHT_FIELD_NAME = "constantHeight"; |
32 |
public static final String VERTICAL_EXAGGERATION_FIELD_NAME = "verticalExaggeration"; |
33 |
|
34 |
private VectorElevationMode vectorElevationMode;
|
35 |
private Color defaultColor; |
36 |
private String heightField; |
37 |
private double constantHeight; |
38 |
private double verticalExaggeration; |
39 |
|
40 |
public DefaultVectorExtrusionLoaderParameters(FLayer layer) {
|
41 |
super(layer);
|
42 |
} |
43 |
|
44 |
@Override
|
45 |
public String getName() { |
46 |
return VectorExtrusionLoaderParameters.NAME;
|
47 |
} |
48 |
|
49 |
@Override
|
50 |
public VectorElevationMode getVectorElevationMode() {
|
51 |
return this.vectorElevationMode; |
52 |
} |
53 |
|
54 |
@Override
|
55 |
public void setVectorElevationMode(VectorElevationMode vectorElevationMode) { |
56 |
this.vectorElevationMode = vectorElevationMode;
|
57 |
} |
58 |
|
59 |
@Override
|
60 |
public Color getDefaultColor() { |
61 |
return this.defaultColor; |
62 |
} |
63 |
|
64 |
@Override
|
65 |
public void setDefaultColor(Color color) { |
66 |
this.defaultColor = color;
|
67 |
} |
68 |
|
69 |
@Override
|
70 |
public String getHeightField() { |
71 |
return this.heightField; |
72 |
} |
73 |
|
74 |
@Override
|
75 |
public void setHeightField(String heightField) { |
76 |
this.heightField = heightField;
|
77 |
} |
78 |
|
79 |
@Override
|
80 |
public double getConstantHeight() { |
81 |
return this.constantHeight; |
82 |
} |
83 |
|
84 |
@Override
|
85 |
public void setConstantHeight(double height) { |
86 |
this.constantHeight = height;
|
87 |
} |
88 |
|
89 |
@Override
|
90 |
public double getVerticalExaggeration() { |
91 |
return this.verticalExaggeration; |
92 |
} |
93 |
|
94 |
@Override
|
95 |
public void setVerticalExaggeration(double verticalExaggeration) { |
96 |
this.verticalExaggeration = verticalExaggeration;
|
97 |
} |
98 |
|
99 |
public static void registerPersistenceDefinition() { |
100 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
101 |
DynStruct definition = manager.getDefinition(PARAMETERS_DEFINITION_NAME); |
102 |
if (definition == null) { |
103 |
definition = manager.addDefinition(DefaultVectorLoaderParameters.class, PARAMETERS_DEFINITION_NAME, |
104 |
PARAMETERS_DEFINITION_DESCRIPTION, null, null); |
105 |
|
106 |
definition.addDynFieldObject(VECTOR_ELEVATION_MODE_FIELD_NAME); |
107 |
definition.addDynFieldObject(DEFAULT_COLOR_FIELD_NAME); |
108 |
definition.addDynFieldString(HEIGHT_FIELD_FIELD_NAME); |
109 |
definition.addDynFieldDouble(CONSTANT_HEIGHT_FIELD_NAME); |
110 |
definition.addDynFieldDouble(VERTICAL_EXAGGERATION_FIELD_NAME); |
111 |
} |
112 |
} |
113 |
|
114 |
@Override
|
115 |
public Object clone() throws CloneNotSupportedException { |
116 |
|
117 |
VectorLoaderParameters newParameters = new DefaultVectorLoaderParameters();
|
118 |
newParameters.setVectorElevationMode(this.getVectorElevationMode());
|
119 |
newParameters.setDefaultColor(this.getDefaultColor());
|
120 |
newParameters.setConstantHeight(this.getConstantHeight());
|
121 |
newParameters.setLayer(this.getLayer());
|
122 |
return newParameters;
|
123 |
} |
124 |
|
125 |
@Override
|
126 |
protected void doSaveToState(PersistentState state) throws PersistenceException { |
127 |
state.set(VECTOR_ELEVATION_MODE_FIELD_NAME, this.vectorElevationMode);
|
128 |
state.set(DEFAULT_COLOR_FIELD_NAME, this.defaultColor);
|
129 |
state.set(HEIGHT_FIELD_FIELD_NAME, this.heightField);
|
130 |
state.set(CONSTANT_HEIGHT_FIELD_NAME, this.constantHeight);
|
131 |
state.set(VERTICAL_EXAGGERATION_FIELD_NAME, this.verticalExaggeration);
|
132 |
} |
133 |
|
134 |
@Override
|
135 |
protected void doLoadFromState(PersistentState state) throws PersistenceException { |
136 |
this.vectorElevationMode = (VectorElevationMode) state.get(VECTOR_ELEVATION_MODE_FIELD_NAME);
|
137 |
this.defaultColor = (Color) state.get(DEFAULT_COLOR_FIELD_NAME); |
138 |
this.heightField = state.getString(HEIGHT_FIELD_FIELD_NAME);
|
139 |
this.constantHeight = state.getDouble(CONSTANT_HEIGHT_FIELD_NAME);
|
140 |
this.verticalExaggeration = state.getDouble(VERTICAL_EXAGGERATION_FIELD_NAME);
|
141 |
} |
142 |
} |