Revision 42173 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/ExtentHistory.java
ExtentHistory.java | ||
---|---|---|
129 | 129 |
} |
130 | 130 |
} |
131 | 131 |
} |
132 |
|
|
133 |
public void putNext(Rectangle2D ext) { |
|
134 |
if ((ext != null) && ((numNext < 1) || (ext != extentsNext[numNext - 1])) ) { |
|
135 |
if (numNext < (NUMREC)) { |
|
136 |
extentsNext[numNext] = ext; |
|
137 |
numNext++; |
|
138 |
} else { |
|
139 |
for (int i = 0; i < (NUMREC - 1); i++) { |
|
140 |
extentsNext[i] = extentsNext[i+1]; |
|
141 |
} |
|
142 |
extentsNext[numNext - 1] = ext; |
|
143 |
} |
|
144 |
} |
|
145 |
} |
|
132 | 146 |
|
133 | 147 |
/** |
134 | 148 |
* <p> |
... | ... | |
166 | 180 |
|
167 | 181 |
return ext; |
168 | 182 |
} |
169 |
|
|
183 |
|
|
170 | 184 |
public Rectangle2D getNext() { |
171 | 185 |
if (numNext <= 0) { |
172 | 186 |
return null; |
173 | 187 |
} |
174 |
|
|
188 |
|
|
175 | 189 |
Rectangle2D ext = extentsNext[numNext - 1]; |
176 |
|
|
190 |
|
|
177 | 191 |
return ext; |
178 | 192 |
} |
179 | 193 |
|
... | ... | |
189 | 203 |
if (num <= 0) { |
190 | 204 |
return null; |
191 | 205 |
} |
192 |
if (numNext < (NUMREC)) { |
|
193 |
extentsNext[numNext] = extents[num - 1]; |
|
194 |
numNext++; |
|
195 |
} |
|
196 |
else { |
|
197 |
for (int i = 0; i < (NUMREC - 1); i++) { |
|
198 |
extentsNext[i] = extentsNext[i + 1]; |
|
199 |
} |
|
200 |
extentsNext[numNext - 1] = extents[num - 1]; |
|
201 |
} |
|
202 | 206 |
|
203 | 207 |
Rectangle2D ext = extents[--num]; |
204 | 208 |
return ext; |
... | ... | |
217 | 221 |
return null; |
218 | 222 |
} |
219 | 223 |
|
220 |
if (num < (NUMREC)) { |
|
221 |
extents[num] = extentsNext[numNext - 1]; |
|
222 |
} |
|
223 |
else { |
|
224 |
for (int i = 0; i < (NUMREC - 1); i++) { |
|
225 |
extents[i] = extents[i + 1]; |
|
226 |
} |
|
227 |
extents[num - 1] = extentsNext[numNext - 1]; |
|
228 |
} |
|
229 |
|
|
230 | 224 |
Rectangle2D ext = extentsNext[--numNext]; |
231 | 225 |
return ext; |
232 | 226 |
} |
233 | 227 |
|
234 |
|
|
235 | 228 |
public void clear() { |
236 |
num = 0; |
|
237 | 229 |
numNext = 0; |
238 | 230 |
} |
239 | 231 |
|
240 |
|
|
241 | 232 |
public void loadFromState(PersistentState state) throws PersistenceException { |
242 | 233 |
|
243 | 234 |
num = state.getInt("num"); |
Also available in: Unified diff