Statistics
| Revision:

svn-gvsig-desktop / tags / Root_CqCMSDvp / libraries / libCq CMS for java.old / src / org / cresques / px / gml / InsPoint.java @ 1732

History | View | Annotate | Download (2.95 KB)

1
package org.cresques.px.gml;
2

    
3
import java.awt.Color;
4
import java.awt.geom.Point2D;
5
import java.awt.Graphics2D;
6
import java.awt.geom.Line2D;
7
import java.util.Vector;
8

    
9
import org.cresques.cts.ICoordTrans;
10
import org.cresques.cts.IProjection;
11
import org.cresques.geo.ViewPortData;
12

    
13
public class InsPoint extends Geometry {
14
        public static int pointNr = 0;
15
        public String text = null;
16
        
17
        String blockName;
18
        Point2D scaleFactor;
19
        double rotAngle;
20
        private FeatureCollection block = new FeatureCollection(proj);
21
        Vector blkList;
22
        boolean blockFound = false;
23
        
24
        public InsPoint() {
25
                super();
26
        }
27
        
28
        public void add(Point2D pt) {
29
                pointNr++;
30
                super.add(pt);
31
        }
32
        
33
        public double getRotAngle() {
34
                return rotAngle;
35
        }
36
        
37
        public Point2D getScaleFactor() {
38
                return scaleFactor;
39
        }
40
        
41
        public Vector getBlkList() {
42
                return blkList;
43
        }
44
        
45
        public boolean getBlockFound() {
46
                return blockFound;
47
        }
48
        
49
        public void setBlock(FeatureCollection block) {
50
                this.block = block;
51
        }
52
        
53
        public void setBlockFound(boolean found) {
54
                blockFound = found;
55
        }
56
        
57
        public void setBlkList(Vector blkList) {
58
                this.blkList = blkList;
59
        }
60
        
61
        public FeatureCollection getBlock() {
62
                return block;
63
        }
64
        
65
        public void setBlockName(String blockName) {
66
                this.blockName = blockName;
67
        }
68
        
69
        public String getBlockName() {
70
                return blockName;
71
        }
72
        
73
        public void setScaleFactor(Point2D scaleFactor) {
74
                this.scaleFactor = scaleFactor;
75
        }
76
        
77
        public void setRotAngle(double rotAngle) {
78
                this.rotAngle = rotAngle;
79
        }
80
        
81
        public boolean encuentraBloque(String blockName) {
82
                int i = 0;
83
                while (i<blkList.size() && blockFound == false) {
84
                        //System.out.println("encuentraBloque: ((DxfBlock)blkList.get(i)).getBlkName() = " + ((FeatureCollection)blkList.get(i)).getProp("blockName"));
85
                        //System.out.println("encuentraBloque: blockName = " + blockName);
86
                        if (((FeatureCollection)blkList.get(i)).getProp("blockName").equals(blockName)) {
87
                                //System.out.println("encuentraBloque: Bloque " + i + " encontrado.");
88
                                block = (FeatureCollection)blkList.get(i);
89
                                blockFound = true;
90
                        } else {
91
                                //System.out.println("encuentraBloque: Bloque " + blockName + " no encontrado");
92
                                blockFound = false;
93
                        }
94
                        i++;
95
                }
96
                return blockFound;
97
        }
98
        
99
        private Color fColor = null; //new Color(255,222,165,64);
100
        private Color color = new Color(255,0,0); //Color(255,214,132,255);
101
        
102
        public Color c() {return color;}
103
        public Color c(Color color) {this.color = color; return color;}
104

    
105
        public Color fillColor() {return fColor;}
106
        public Color fillColor(Color c) {fColor = c; return fColor;}
107

    
108
        public IProjection getProjection() { return proj; }
109
        public void setProjection(IProjection p) { proj = p; }
110
        public void reProject(ICoordTrans rp) {
111
                // TODO metodo reProject pendiente de implementar
112
        }
113
        
114
        public void draw(Graphics2D g, ViewPortData vp) {
115
                g.setColor(c());
116
                Point2D pt = new Point2D.Double(0D, 0D);
117
                vp.mat.transform((Point2D) data.get(0), pt);
118
                g.draw(new Line2D.Double(pt, pt));
119
                if (text != null)
120
                        g.drawString(text, (int) pt.getX(), (int) pt.getY());
121
        }
122
        
123
}
124

    
125