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

View differences:

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