Revision 693 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/properties/DefaultMapControlProperties3D.java
DefaultMapControlProperties3D.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.beans.PropertyChangeListener; |
4 | 4 |
import java.beans.PropertyChangeSupport; |
5 |
import java.math.RoundingMode; |
|
6 |
import java.text.DecimalFormat; |
|
5 | 7 |
|
6 | 8 |
import org.gvsig.tools.ToolsLocator; |
7 | 9 |
import org.gvsig.tools.dynobject.DynStruct; |
... | ... | |
21 | 23 |
private boolean showBlueMarbleLayer = true; |
22 | 24 |
private boolean showNasaLandsatLayer = true; |
23 | 25 |
private boolean showDefaultElevation = true; |
26 |
private boolean anaglyphMode = false; |
|
24 | 27 |
|
25 | 28 |
public DefaultMapControlProperties3D() { |
26 | 29 |
propertyChangeSupport = new PropertyChangeSupport(this); |
27 | 30 |
} |
31 |
|
|
32 |
public boolean getAnaglyphMode(){ |
|
33 |
return anaglyphMode; |
|
34 |
} |
|
28 | 35 |
|
29 | 36 |
public boolean getAutoLayerSynchronize() { |
30 | 37 |
return autoLayerShynchornize; |
... | ... | |
53 | 60 |
public double getSphereVerticalExaggeration() { |
54 | 61 |
return sphereVerticalExaggeration; |
55 | 62 |
} |
63 |
|
|
64 |
public void setAnaglyphMode(boolean flag){ |
|
65 |
this.propertyChangeSupport.firePropertyChange(ANAGLYPH_MODE_PROPERTY_NAME, |
|
66 |
this.anaglyphMode, flag); |
|
67 |
this.anaglyphMode = flag; |
|
68 |
} |
|
56 | 69 |
|
57 | 70 |
public void setAutoLayerSynchronize(boolean flag) { |
58 | 71 |
this.propertyChangeSupport.firePropertyChange( |
... | ... | |
82 | 95 |
} |
83 | 96 |
|
84 | 97 |
public void setFlatVerticalExaggeration(double value) { |
98 |
value = formatValue(value); |
|
85 | 99 |
this.propertyChangeSupport.firePropertyChange( |
86 | 100 |
FLAT_VERTICAL_EXAGGERATION_PROPERTY_NAME, flatVerticalExaggeration, |
87 | 101 |
value); |
... | ... | |
96 | 110 |
} |
97 | 111 |
|
98 | 112 |
public void setSphereVerticalExaggeration(double value) { |
113 |
value = formatValue(value); |
|
99 | 114 |
this.propertyChangeSupport.firePropertyChange( |
100 | 115 |
SPHERE_VERTICAL_EXAGGERATION_PROPERTY_NAME, sphereVerticalExaggeration, |
101 | 116 |
value); |
102 | 117 |
this.sphereVerticalExaggeration = value; |
103 | 118 |
} |
119 |
|
|
120 |
private double formatValue(double value) { |
|
121 |
return (double)Math.round(value * 100d) / 100d; |
|
122 |
} |
|
104 | 123 |
|
105 | 124 |
public void addPropertyChangeListener(PropertyChangeListener listener) { |
106 | 125 |
this.propertyChangeSupport.addPropertyChangeListener(listener); |
... | ... | |
135 | 154 |
.addDynFieldBoolean(MapControlProperties3D.NASA_LANDSAT_VISIBILITY_PROPERTY_NAME); |
136 | 155 |
definition |
137 | 156 |
.addDynFieldBoolean(MapControlProperties3D.DEFAULT_ELEVATION_VISIBILITY_PROPERTY_NAME); |
157 |
definition |
|
158 |
.addDynFieldBoolean(MapControlProperties3D.ANAGLYPH_MODE_PROPERTY_NAME); |
|
138 | 159 |
} |
139 | 160 |
|
140 | 161 |
public void saveToState(PersistentState state) throws PersistenceException { |
... | ... | |
153 | 174 |
getNasaLandsatLayerVisibility()); |
154 | 175 |
state.set(DEFAULT_ELEVATION_VISIBILITY_PROPERTY_NAME, |
155 | 176 |
getDefaultElevationVisibility()); |
177 |
state.set(ANAGLYPH_MODE_PROPERTY_NAME, getAnaglyphMode()); |
|
156 | 178 |
} |
157 | 179 |
|
158 | 180 |
public void loadFromState(PersistentState state) |
159 | 181 |
throws PersistenceException { |
160 | 182 |
|
161 |
setAutoLayerSynchronize(state |
|
162 |
.getBoolean(AUTO_LAYER_SYNCHRONIZE_PROPERTY_NAME)); |
|
163 |
setAutoViewPortSynchronize(state |
|
164 |
.getBoolean(AUTO_VIEWPORT_SYNCHRONIZE_PROPERTY_NAME)); |
|
165 |
setSphereVerticalExaggeration(state |
|
166 |
.getDouble(SPHERE_VERTICAL_EXAGGERATION_PROPERTY_NAME)); |
|
167 |
setFlatVerticalExaggeration(state |
|
168 |
.getDouble(FLAT_VERTICAL_EXAGGERATION_PROPERTY_NAME)); |
|
169 |
setBlueMarbleLayerVisibility(state |
|
170 |
.getBoolean(BLUE_MARBEL_VISIBILITY_PROPERTY_NAME)); |
|
171 |
setNasaLandsatVisibility(state |
|
172 |
.getBoolean(NASA_LANDSAT_VISIBILITY_PROPERTY_NAME)); |
|
173 |
setDefaultElevationVisibility(state |
|
174 |
.getBoolean(DEFAULT_ELEVATION_VISIBILITY_PROPERTY_NAME)); |
|
175 |
|
|
183 |
if(state.hasValue(AUTO_LAYER_SYNCHRONIZE_PROPERTY_NAME)){ |
|
184 |
setAutoLayerSynchronize(state |
|
185 |
.getBoolean(AUTO_LAYER_SYNCHRONIZE_PROPERTY_NAME)); |
|
186 |
} |
|
187 |
if(state.hasValue(AUTO_VIEWPORT_SYNCHRONIZE_PROPERTY_NAME)){ |
|
188 |
setAutoViewPortSynchronize(state |
|
189 |
.getBoolean(AUTO_VIEWPORT_SYNCHRONIZE_PROPERTY_NAME)); |
|
190 |
} |
|
191 |
if(state.hasValue(SPHERE_VERTICAL_EXAGGERATION_PROPERTY_NAME)){ |
|
192 |
setSphereVerticalExaggeration(state |
|
193 |
.getDouble(SPHERE_VERTICAL_EXAGGERATION_PROPERTY_NAME)); |
|
194 |
} |
|
195 |
if(state.hasValue(FLAT_VERTICAL_EXAGGERATION_PROPERTY_NAME)){ |
|
196 |
setFlatVerticalExaggeration(state |
|
197 |
.getDouble(FLAT_VERTICAL_EXAGGERATION_PROPERTY_NAME)); |
|
198 |
} |
|
199 |
if(state.hasValue(BLUE_MARBEL_VISIBILITY_PROPERTY_NAME)){ |
|
200 |
setBlueMarbleLayerVisibility(state |
|
201 |
.getBoolean(BLUE_MARBEL_VISIBILITY_PROPERTY_NAME)); |
|
202 |
} |
|
203 |
if(state.hasValue(NASA_LANDSAT_VISIBILITY_PROPERTY_NAME)){ |
|
204 |
setNasaLandsatVisibility(state |
|
205 |
.getBoolean(NASA_LANDSAT_VISIBILITY_PROPERTY_NAME)); |
|
206 |
} |
|
207 |
if(state.hasValue(DEFAULT_ELEVATION_VISIBILITY_PROPERTY_NAME)){ |
|
208 |
setDefaultElevationVisibility(state |
|
209 |
.getBoolean(DEFAULT_ELEVATION_VISIBILITY_PROPERTY_NAME)); |
|
210 |
} |
|
211 |
if(state.hasValue(ANAGLYPH_MODE_PROPERTY_NAME)){ |
|
212 |
setAnaglyphMode(state.getBoolean(ANAGLYPH_MODE_PROPERTY_NAME)); |
|
213 |
} |
|
176 | 214 |
} |
177 |
|
|
178 | 215 |
} |
Also available in: Unified diff