Revision 1036 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/ViewPort.java

View differences:

ViewPort.java
1
/* Generated by Together */
2 1
package com.iver.cit.gvsig.fmap;
3 2

  
3
import com.iver.utiles.StringUtilities;
4
import com.iver.utiles.XMLEntity;
5

  
6
import org.cresques.cts.GeoCalc;
7
import org.cresques.cts.IProjection;
8
import org.cresques.cts.ProjectionPool;
9
import org.cresques.cts.gt2.CSUTM;
10

  
4 11
import java.awt.Color;
5 12
import java.awt.Dimension;
6 13
import java.awt.Point;
......
8 15
import java.awt.geom.NoninvertibleTransformException;
9 16
import java.awt.geom.Point2D;
10 17
import java.awt.geom.Rectangle2D;
18

  
11 19
import java.util.ArrayList;
12 20

  
13
import org.cresques.cts.IProjection;
14
import org.cresques.cts.ProjectionPool;
15
import org.cresques.cts.GeoCalc;
16
import org.cresques.cts.gt2.CSUTM;
17 21

  
18
import com.iver.utiles.StringUtilities;
19
import com.iver.utiles.XMLEntity;
20

  
21

  
22 22
/**
23
 * DOCUMENT ME!
23
 * Clase con atributos de la vista.
24 24
 *
25 25
 * @author Vicente Caballero Navarro
26 26
 */
......
60 60
	/**
61 61
	 * Crea un nuevo ViewPort.
62 62
	 *
63
	 * @param proj DOCUMENT ME!
63
	 * @param proj Proyecci?n.
64 64
	 */
65 65
	public ViewPort(IProjection proj) {
66 66
		// Por defecto
......
68 68
	}
69 69

  
70 70
	/**
71
	 * DOCUMENT ME!
71
	 * A?ade un ViewPortListener al extentListener.
72 72
	 *
73
	 * @param arg0 DOCUMENT ME!
73
	 * @param arg0 ViewPortListener.
74 74
	 *
75
	 * @return DOCUMENT ME!
75
	 * @return True si ha sido a?adida correctamente.
76 76
	 */
77 77
	public boolean addExtentListener(ViewPortListener arg0) {
78 78
		return extentListeners.add(arg0);
79 79
	}
80 80

  
81 81
	/**
82
	 * DOCUMENT ME!
82
	 * A?ade un ViewPortListener al colorListener.
83 83
	 *
84
	 * @param arg0 DOCUMENT ME!
84
	 * @param arg0 ViewPortListener,
85 85
	 *
86
	 * @return DOCUMENT ME!
86
	 * @return True si ha sido a?adida correctamente.
87 87
	 */
88 88
	public boolean addColorListener(ViewPortListener arg0) {
89 89
		return colorListeners.add(arg0);
90 90
	}
91 91

  
92 92
	/**
93
	 * DOCUMENT ME!
93
	 * Borra el ViewPortListener que se pasa como par?metro delos
94
	 * extentListener.
94 95
	 *
95
	 * @param arg0 DOCUMENT ME!
96
	 * @param arg0 ViewPortListener.
96 97
	 *
97
	 * @return DOCUMENT ME!
98
	 * @return True si ha sido borrado correctamente.
98 99
	 */
99 100
	public boolean removeExtentListener(ViewPortListener arg0) {
100 101
		return extentListeners.remove(arg0);
101 102
	}
102 103

  
103 104
	/**
104
	 * DOCUMENT ME!
105
	 * Borra el ViewPortListener que se pasa como par?metro delos
106
	 * colorListener.
105 107
	 *
106
	 * @param arg0 DOCUMENT ME!
108
	 * @param arg0 ViewPortListener.
107 109
	 *
108
	 * @return DOCUMENT ME!
110
	 * @return True si ha sido borrado correctamente.
109 111
	 */
110 112
	public boolean removeColorListener(ViewPortListener arg0) {
111 113
		return colorListeners.remove(arg0);
112 114
	}
113 115

  
114 116
	/**
115
	 * DOCUMENT ME!
117
	 * Devuelve la distancia en pixels a partir de una distancia real.
116 118
	 *
117
	 * @param d DOCUMENT ME!
119
	 * @param d Distancia real.
118 120
	 *
119
	 * @return DOCUMENT ME!
121
	 * @return Distancia en pixels.
120 122
	 */
121 123
	public int fromMapDistance(double d) {
122 124
		Point2D.Double pWorld = new Point2D.Double(1, 1);
......
137 139
	}
138 140

  
139 141
	/**
140
	 * DOCUMENT ME!
142
	 * Devuelve un punto en pixels a partir de una coordenada X e Y real.
141 143
	 *
142
	 * @param x DOCUMENT ME!
143
	 * @param y DOCUMENT ME!
144
	 * @param x Coordenada X real.
145
	 * @param y Coordenada Y real.
144 146
	 *
145
	 * @return DOCUMENT ME!
147
	 * @return Punto en pixels.
146 148
	 */
147 149
	public Point2D fromMapPoint(double x, double y) {
148 150
		Point2D.Double pWorld = new Point2D.Double(x, y);
......
161 163

  
162 164
		return pScreen;
163 165
	}
166

  
167
	/**
168
	 * Devuelve el punto en pixels a partir de un punto real.
169
	 *
170
	 * @param point Punto real.
171
	 *
172
	 * @return Punto en pixels.
173
	 */
164 174
	public Point2D fromMapPoint(Point2D point) {
165
		return fromMapPoint(point.getX(),point.getY());
175
		return fromMapPoint(point.getX(), point.getY());
166 176
	}
167 177

  
168 178
	/**
169
	 * DOCUMENT ME!
179
	 * Devuelve un punto real a partir de una coordenada X e Y en pixels.
170 180
	 *
171
	 * @param x DOCUMENT ME!
172
	 * @param y DOCUMENT ME!
181
	 * @param x Coordenada X en pixels.
182
	 * @param y Coordenada Y en pixels.
173 183
	 *
174
	 * @return DOCUMENT ME!
184
	 * @return Punto real.
175 185
	 */
176 186
	public Point2D toMapPoint(int x, int y) {
177 187
		Point pScreen = new Point(x, y);
......
180 190
	}
181 191

  
182 192
	/**
183
	 * DOCUMENT ME!
193
	 * Devuelve la distancia real a partir de la distancia en pixels.
184 194
	 *
185
	 * @param d DOCUMENT ME!
195
	 * @param d Distancia en pixels.
186 196
	 *
187
	 * @return DOCUMENT ME!
197
	 * @return Distancia real.
188 198
	 */
189 199
	public double toMapDistance(int d) {
190 200
		double dist = d / trans.getScaleX();
......
193 203
	}
194 204

  
195 205
	/**
196
	 * DOCUMENT ME!
206
	 * Devuelve un punto real a partir de un punto en pixels.
197 207
	 *
198
	 * @param pScreen DOCUMENT ME!
208
	 * @param pScreen Punto en pixels.
199 209
	 *
200
	 * @return DOCUMENT ME!
210
	 * @return Punto real.
201 211
	 *
202
	 * @throws RuntimeException DOCUMENT ME!
212
	 * @throws RuntimeException
203 213
	 */
204 214
	public Point2D toMapPoint(Point2D pScreen) {
205 215
		Point2D.Double pWorld = new Point2D.Double();
......
214 224

  
215 225
		return pWorld;
216 226
	}
217
	
227

  
218 228
	/**
219
	 * Calcula la distancia entre dos puntos en unidades de usuario.
220
	 * Los puntos est?n en unidades de usuario.
221
	 * Se tiene en cuenta la proyecci?n, con lo que es INDISPENSABLE que
222
	 * la variable proj contenga el valor correcto de la proyecci?n.
229
	 * Calcula la distancia entre dos puntos en unidades de usuario. Los puntos
230
	 * est?n en unidades de usuario. Se tiene en cuenta la proyecci?n, con lo
231
	 * que es INDISPENSABLE que la variable proj contenga el valor correcto de
232
	 * la proyecci?n.
233
	 *
223 234
	 * @param pt1
224 235
	 * @param pt2
225
	 * @return
236
	 *
237
	 * @return distancia real.
226 238
	 */
227 239
	public double distanceWorld(Point2D pt1, Point2D pt2) {
228 240
		double dist = -1;
229 241
		dist = pt1.distance(pt2);
230
		if (proj != null && !(proj instanceof CSUTM))
231
			dist = new GeoCalc(proj).distanceVincenty(proj.toGeo(pt1), proj.toGeo(pt2));
242

  
243
		if ((proj != null) && !(proj instanceof CSUTM)) {
244
			dist = new GeoCalc(proj).distanceVincenty(proj.toGeo(pt1),
245
					proj.toGeo(pt2));
246
		}
247

  
232 248
		return dist;
233 249
	}
234 250

  
235 251
	/**
236
	 * DOCUMENT ME!
252
	 * Rellena el extent anterior como actual.
237 253
	 */
238 254
	public void setPreviousExtent() {
239 255
		extent = extents.removePrev();
......
246 262
	}
247 263

  
248 264
	/**
249
	 * DOCUMENT ME!
265
	 * Devuelve el extent.
250 266
	 *
251
	 * @return DOCUMENT ME!
267
	 * @return Extent.
252 268
	 */
253 269
	public Rectangle2D getExtent() {
254 270
		return extent;
255 271
	}
256 272

  
257 273
	/**
258
	 * DOCUMENT ME!
274
	 * Inserta el extent.
259 275
	 *
260
	 * @param r DOCUMENT ME!
276
	 * @param r Extent.
261 277
	 */
262 278
	public void setExtent(Rectangle2D r) {
263 279
		if (extent != null) {
......
281 297
	}
282 298

  
283 299
	/**
284
	 * DOCUMENT ME!
300
	 * Inserta la escala.
285 301
	 *
286
	 * @param scale DOCUMENT ME!
302
	 * @param scale escala.
287 303
	 */
288 304
	public void setScale(double scale) {
289 305
		this.scale = scale;
......
299 315
	 * Devuelve la escala. Debe estar siempre actualizada y no calcularse nunca
300 316
	 * aqu? pues se utiliza en el dibujado para cada geometr?a
301 317
	 *
302
	 * @return
318
	 * @return Escala.
303 319
	 */
304 320
	public double getScale() {
305 321
		return proj.getScale(extent.getMinX(), extent.getMaxX(),
......
307 323
	}
308 324

  
309 325
	/**
310
	 * DOCUMENT ME!
326
	 * Devuelve la matriz de transformaci?n.
311 327
	 *
312
	 * @return
328
	 * @return Matriz de transformaci?n.
313 329
	 */
314 330
	public AffineTransform getAffineTransform() {
315 331
		return trans;
316 332
	}
317 333

  
318 334
	/**
319
	 * DOCUMENT ME!
335
	 * Devuelve las dimensiones de la imagen.
320 336
	 *
321 337
	 * @return Returns the imageSize.
322 338
	 */
......
325 341
	}
326 342

  
327 343
	/**
328
	 * DOCUMENT ME!
344
	 * Inserta las dimensiones de la imagen.
329 345
	 *
330 346
	 * @param imageSize The imageSize to set.
331 347
	 */
......
335 351
	}
336 352

  
337 353
	/**
338
	 * DOCUMENT ME!
354
	 * Llamada a los listeners tras el cambio de extent.
339 355
	 *
340
	 * @param newRect DOCUMENT ME!
356
	 * @param newRect Extent.
341 357
	 */
342 358
	private void callExtentListeners(Rectangle2D newRect) {
343 359
		ExtentEvent ev = new ExtentEvent(newRect);
......
349 365
	}
350 366

  
351 367
	/**
352
	 * DOCUMENT ME!
368
	 * Llamada a los listeners tras el cambio de color.
353 369
	 *
354
	 * @param c DOCUMENT ME!
370
	 * @param c Color.
355 371
	 */
356 372
	private void callColorListeners(Color c) {
357 373
		ColorEvent ce = new ColorEvent(c);
......
363 379
	}
364 380

  
365 381
	/**
382
	 * C?lculo de la matriz de transformaci?n.
366 383
	 *
384
	 * @throws RuntimeException 
367 385
	 */
368 386
	private void calculateAffineTransform() {
369 387
		if ((imageSize == null) || (extent == null) ||
......
435 453
	}
436 454

  
437 455
	/**
438
	 * DOCUMENT ME!
456
	 * Inserta la desviaci?n.
439 457
	 *
440
	 * @param p DOCUMENT ME!
458
	 * @param p Punto.
441 459
	 */
442 460
	public void setOffset(Point2D p) {
443 461
		offset = p;
444 462
	}
445 463

  
446 464
	/**
447
	 * DOCUMENT ME!
465
	 * Inserta el color de fondo.
448 466
	 *
449
	 * @param c DOCUMENT ME!
467
	 * @param c Color de fondo.
450 468
	 */
451 469
	public void setBackColor(Color c) {
452 470
		backColor = c;
......
454 472
	}
455 473

  
456 474
	/**
457
	 * DOCUMENT ME!
475
	 * Devuelve el color de fondo.
458 476
	 *
459
	 * @return DOCUMENT ME!
477
	 * @return Color de fondo.
460 478
	 */
461 479
	public Color getBackColor() {
462 480
		return backColor;
463 481
	}
464 482

  
465 483
	/**
466
	 * DOCUMENT ME!
484
	 * Devuelve el extent ajustado.
467 485
	 *
468 486
	 * @return Returns the adjustedExtent.
469 487
	 */
......
472 490
	}
473 491

  
474 492
	/**
475
	 * DOCUMENT ME!
493
	 * Devuelve la unidad de medida.
476 494
	 *
477 495
	 * @return Returns the distanceUnits.
478 496
	 */
......
481 499
	}
482 500

  
483 501
	/**
484
	 * DOCUMENT ME!
502
	 * Inserta la unidad de medida.
485 503
	 *
486 504
	 * @param distanceUnits The distanceUnits to set.
487 505
	 */
......
490 508
	}
491 509

  
492 510
	/**
493
	 * DOCUMENT ME!
511
	 * Devuelve la unidad de medida del mapa.
494 512
	 *
495 513
	 * @return Returns the mapUnits.
496 514
	 */
......
499 517
	}
500 518

  
501 519
	/**
502
	 * DOCUMENT ME!
520
	 * Inserta la unidad de medida del mapa.
503 521
	 *
504 522
	 * @param mapUnits The mapUnits to set.
505 523
	 */
......
508 526
	}
509 527

  
510 528
	/**
511
	 * DOCUMENT ME!
529
	 * Devuelve la anchura de la imagen.
512 530
	 *
513
	 * @return DOCUMENT ME!
531
	 * @return anchura en pixels de la imagen.
514 532
	 */
515 533
	public int getImageWidth() {
516 534
		return imageSize.width;
517 535
	}
518 536

  
519 537
	/**
520
	 * DOCUMENT ME!
538
	 * Devuelve la altura de la imagen.
521 539
	 *
522
	 * @return DOCUMENT ME!
540
	 * @return altura de la imagen.
523 541
	 */
524 542
	public int getImageHeight() {
525 543
		return imageSize.height;
526 544
	}
527 545

  
528 546
	/**
529
	 * DOCUMENT ME!
547
	 * Devuelve la distancia real de un pixel.
530 548
	 *
531
	 * @return DOCUMENT ME!
549
	 * @return Distancia real de un pixel.
532 550
	 */
533 551
	public double getDist1pixel() {
534 552
		return dist1pixel;
535 553
	}
536 554

  
537 555
	/**
538
	 * DOCUMENT ME!
556
	 * Inserta la distancia real de un pixel.
539 557
	 *
540
	 * @param dist1pixel DOCUMENT ME!
558
	 * @param dist1pixel Distancia real de un pixel.
541 559
	 */
542 560
	public void setDist1pixel(double dist1pixel) {
543 561
		this.dist1pixel = dist1pixel;
544 562
	}
545 563

  
546 564
	/**
547
	 * DOCUMENT ME!
565
	 * Devuelve la distancia real de tres pixel.
548 566
	 *
549
	 * @return DOCUMENT ME!
567
	 * @return Distancia real de tres pixel.
550 568
	 */
551 569
	public double getDist3pixel() {
552 570
		return dist3pixel;
553 571
	}
554 572

  
555 573
	/**
556
	 * DOCUMENT ME!
574
	 * Inserta la distancia real de tres pixels.
557 575
	 *
558
	 * @param dist3pixel DOCUMENT ME!
576
	 * @param dist3pixel Distancia real de tres pixels.
559 577
	 */
560 578
	public void setDist3pixel(double dist3pixel) {
561 579
		this.dist3pixel = dist3pixel;
562 580
	}
563 581

  
564 582
	/**
565
	 * DOCUMENT ME!
583
	 * Devuelve los Extents anteriores almacenados.
566 584
	 *
567 585
	 * @return Returns the extents.
568 586
	 */
......
571 589
	}
572 590

  
573 591
	/**
574
	 * DOCUMENT ME!
592
	 * Devuelve la proyecci?n.
575 593
	 *
576 594
	 * @return Returns the proj.
577 595
	 */
......
580 598
	}
581 599

  
582 600
	/**
583
	 * DOCUMENT ME!
601
	 * Inserta la proyecci?n.
584 602
	 *
585 603
	 * @param proj The proj to set.
586 604
	 */
......
589 607
	}
590 608

  
591 609
	/**
592
	 * DOCUMENT ME!
610
	 * Devuelve el XMLEntity.
593 611
	 *
594
	 * @return DOCUMENT ME!
612
	 * @return XMLEntity.
595 613
	 */
596 614
	public XMLEntity getXMLEntity() {
597 615
		XMLEntity xml = new XMLEntity();
......
638 656
	}
639 657

  
640 658
	/**
641
	 * DOCUMENT ME!
659
	 * Crea un nuevo ViewPort a partir del XMLEntity.
642 660
	 *
643
	 * @param xml DOCUMENT ME!
661
	 * @param xml XMLEntity.
644 662
	 *
645
	 * @return DOCUMENT ME!
663
	 * @return Nuevo ViewPort.
646 664
	 */
647 665
	public static ViewPort createFromXML(XMLEntity xml) {
648 666
		ViewPort vp = new ViewPort(null);
......
699 717
	}
700 718

  
701 719
	/**
702
	 * DOCUMENT ME!
720
	 * Clona el ViewPort.
703 721
	 *
704
	 * @return DOCUMENT ME!
722
	 * @return ViewPort clonado.
705 723
	 */
706 724
	public ViewPort cloneViewPort() {
707 725
		return createFromXML(getXMLEntity());
708 726
	}
709 727

  
710 728
	/**
711
	 * DOCUMENT ME!
729
	 * Devuelve el String con datos del ViewPort.
712 730
	 *
713
	 * @return DOCUMENT ME!
731
	 * @return Cadena con datos del ViewPort.
714 732
	 */
715 733
	public String toString() {
716 734
		String str;

Also available in: Unified diff