Revision 1763 branches/gvSIG_CAD_Layout_version/applications/appgvSIG/src/com/iver/cit/gvsig/gui/cad/CadGrid.java

View differences:

CadGrid.java
40 40
 */
41 41
package com.iver.cit.gvsig.gui.cad;
42 42

  
43
import com.iver.cit.gvsig.fmap.ViewPort;
44
import com.iver.cit.gvsig.gui.layout.LayoutCADToolAdapter;
45

  
43
import java.awt.Color;
46 44
import java.awt.Graphics;
47
import java.awt.Point;
48 45
import java.awt.geom.AffineTransform;
49 46
import java.awt.geom.Point2D;
50 47
import java.awt.geom.Rectangle2D;
......
56 53
 *
57 54
 * @author Vicente Caballero Navarro
58 55
 */
59
public class CadGrid {
60
	private boolean grid = true;
61
	private double gridSizeX=1;
62
	private double gridSizeY=1;
56
public class CadGrid extends com.iver.cit.gvsig.fmap.CadGrid {
57
	private boolean grid = false;
58
	private double gridSizeX = 1;
59
	private double gridSizeY = 1;
63 60
	private AffineTransform at;
64 61
	private boolean adjustGrid;
65 62
	private CADToolAdapter cta;
66
	
67
	public CadGrid(CADToolAdapter cta){
68
		this.cta=cta;
63

  
64
	/**
65
	 * Crea un nuevo CadGrid.
66
	 *
67
	 * @param cta DOCUMENT ME!
68
	 */
69
	public CadGrid(CADToolAdapter cta) {
70
		this.cta = cta;
69 71
	}
72

  
70 73
	/**
71 74
	 * Inserta el viewPort.
72 75
	 *
73
	 * @param vp
76
	 * @param at
74 77
	 */
75 78
	public void setAT(AffineTransform at) {
76 79
		this.at = at;
77 80
	}
78
	public void setGridSizeX(double d){
79
		gridSizeX=d;//(int)cta.fromDistance(d);
81

  
82
	/**
83
	 * DOCUMENT ME!
84
	 *
85
	 * @param d DOCUMENT ME!
86
	 */
87
	public void setGridSizeX(double d) {
88
		gridSizeX = d; //(int)cta.fromDistance(d);
80 89
	}
81
	public void setGridSizeY(double d){
82
		gridSizeY=d;//(int)cta.fromDistance(d);
90

  
91
	/**
92
	 * DOCUMENT ME!
93
	 *
94
	 * @param d DOCUMENT ME!
95
	 */
96
	public void setGridSizeY(double d) {
97
		gridSizeY = d; //(int)cta.fromDistance(d);
83 98
	}
84
	public double getGridSizeX(){
99

  
100
	/**
101
	 * DOCUMENT ME!
102
	 *
103
	 * @return DOCUMENT ME!
104
	 */
105
	public double getGridSizeX() {
85 106
		return gridSizeX;
86 107
	}
87
	public double getGridSizeY(){
108

  
109
	/**
110
	 * DOCUMENT ME!
111
	 *
112
	 * @return DOCUMENT ME!
113
	 */
114
	public double getGridSizeY() {
88 115
		return gridSizeY;
89 116
	}
117

  
90 118
	/**
91 119
	 * Ajusta un punto de la imagen que se pasa como  par?metro al handler m?s
92 120
	 * cercano si se encuentra lo suficientemente  cerca y devuelve la
......
96 124
	 *
97 125
	 * @return Distancia del punto que se pasa como par?metro al punto ajustado
98 126
	 */
99
	public double adjustToGrid(Point point) {
100
		if (grid && adjustGrid) {
127
	public double adjustToGrid(Point2D point) {
128
		if (adjustGrid) {
101 129
			Point2D auxp = new Point2D.Double(0, 0);
102
			Point2D po = cta.toPoint(point);//viewport.toMapPoint(point);
103
			Rectangle2D extent = cta.getExtent();//viewport.getAdjustedExtent();
104
			double x = ((po.getX() + gridSizeX) % gridSizeX) -
130
			double x = ((point.getX() + gridSizeX) % gridSizeX) -
105 131
				((auxp.getX()) % gridSizeX);
106
			double y = ((po.getY() + gridSizeY) % gridSizeY) -
132
			double y = ((point.getY() + gridSizeY) % gridSizeY) -
107 133
				((auxp.getY()) % gridSizeY);
108
			Point2D p = new Point(point);
109
			point.x = (int) (p.getX() - cta.fromDistance(x));//viewport.fromMapDistance(x));
110
			if (cta instanceof LayoutCADToolAdapter){
111
				point.y = (int) (p.getY() - cta.fromDistance(y));//viewport.fromMapDistance(y));
112
			}else{
113
				point.y = (int) (p.getY() + cta.fromDistance(y));
134
			Point2D p = (Point2D) point.clone();
135

  
136
			if (x > (gridSizeX / 2)) {
137
				x = x - gridSizeX;
114 138
			}
115
			
139

  
140
			if (y > (gridSizeY / 2)) {
141
				y = y - gridSizeY;
142
			}
143

  
144
			point.setLocation((point.getX() - x), (point.getY() - y));
145

  
116 146
			return p.distance(point);
117 147
		}
118 148

  
......
129 159
			return;
130 160
		}
131 161

  
162
		g.setColor(Color.lightGray);
163

  
132 164
		Rectangle2D extent = cta.getExtent();
133 165
		Point2D auxp = new Point2D.Double(0, 0);
134 166

  
135 167
		for (int i = (int) extent.getMinX(); i < (extent.getMaxX());
136 168
				i += gridSizeX) {
137
			for (int j = (int) extent.getMinY();
138
					j < (extent.getMaxY() ); j += gridSizeY) {
169
			for (int j = (int) extent.getMinY(); j < (extent.getMaxY());
170
					j += gridSizeY) {
139 171
				Point2D po = new Point2D.Double(i, j);
140
				Point2D point = cta.fromPoint(po);//viewport.fromMapPoint(po);
172
				Point2D point = cta.fromPoint(po); //viewport.fromMapPoint(po);
141 173
				double x = ((po.getX() + gridSizeX) % gridSizeX) -
142 174
					((auxp.getX()) % gridSizeX);
143 175
				double y = ((po.getY() + gridSizeY) % gridSizeY) -
144 176
					((auxp.getY()) % gridSizeY);
145 177
				x = (int) (point.getX() - cta.fromDistance(x));
146 178
				y = (int) (point.getY() + cta.fromDistance(y));
147
				if (cta.fromDistance(gridSizeX)>5 && cta.fromDistance(gridSizeY)>5){
179

  
180
				if ((cta.fromDistance(gridSizeX) > 5) ||
181
						(cta.fromDistance(gridSizeY) > 5)) {
148 182
					g.drawOval((int) x, (int) y, 1, 1);
149 183
				}
150 184
			}

Also available in: Unified diff