Revision 202 org.gvsig.toolbox/trunk/org.gvsig.toolbox/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/additionalInfo/AdditionalInfoVectorLayer.java

View differences:

AdditionalInfoVectorLayer.java
1 1
package es.unex.sextante.additionalInfo;
2 2

  
3
public class AdditionalInfoVectorLayer
4
         extends
5
            AdditionalInfoDataObject {
3
import java.util.ArrayList;
4
import java.util.Iterator;
5
import java.util.List;
6 6

  
7
   public static final int SHAPE_TYPE_POINT   = 0;
8
   public static final int SHAPE_TYPE_LINE    = 1;
9
   public static final int SHAPE_TYPE_POLYGON = 2;
10
   public static final int SHAPE_TYPE_ANY     = -1;
7
import es.unex.sextante.dataObjects.IVectorLayer;
11 8

  
12
   private int             m_iShapeType       = -1;
13
   //true, if this is a 3D raster (=voxel data)
14
   private boolean         m_bIs3d            = false;
9
public class AdditionalInfoVectorLayer extends AdditionalInfoDataObject {
15 10

  
11
    public static final int SHAPE_TYPE_POINT = 0;
12
    public static final int SHAPE_TYPE_LINE = 1;
13
    public static final int SHAPE_TYPE_POLYGON = 2;
14
    public static final int SHAPE_TYPE_ANY = -1;
16 15

  
17
   public AdditionalInfoVectorLayer(final int iShapeType,
18
                                    final boolean bIsMandatory) {
16
    public static final int MASK_NOTAPPLY = 0;
17
    public static final int MASK_SHAPE_TYPE_POINT = 1;
18
    public static final int MASK_SHAPE_TYPE_LINE = 2;
19
    public static final int MASK_SHAPE_TYPE_POLYGON = 4;
20
    public static final int MASK_SHAPE_TYPE_ANY = 7;
19 21

  
20
      super(bIsMandatory);
22
    private int m_iShapeType = SHAPE_TYPE_ANY;
23
    private int m_maskShapeType = MASK_SHAPE_TYPE_ANY;
24
    // true, if this is a 3D raster (=voxel data)
25
    private boolean m_bIs3d = false;
21 26

  
22
      m_iShapeType = iShapeType;
27
    public AdditionalInfoVectorLayer(final int iShapeType, final boolean bIsMandatory) {
28
        this(iShapeType, bIsMandatory, MASK_NOTAPPLY);
29
    }
23 30

  
24
   }
31
    public AdditionalInfoVectorLayer(final int iShapeType, final boolean bIsMandatory, int maskShapeType) {
25 32

  
33
        super(bIsMandatory);
26 34

  
27
   /**
28
    * Checks whether the vector layer is 3D.
29
    * 
30
    * @return true if it is a 3D layer.
31
    * 
32
    */
33
   public boolean getIs3d() {
34
      return m_bIs3d;
35
   }
35
        m_iShapeType = iShapeType;
36
        m_maskShapeType = maskShapeType;
36 37

  
38
    }
37 39

  
38
   /**
39
    * Sets whether the vector layer is 3D.
40
    * 
41
    * @param is3d
42
    *                true if it is a 3D layer.
43
    */
44
   public void setIs3d(final boolean is3d) {
45
      m_bIs3d = is3d;
46
   }
40
    public AdditionalInfoVectorLayer(final boolean bIsMandatory, int maskShapeType) {
41
        super(bIsMandatory);
42
        m_maskShapeType = maskShapeType;
47 43

  
44
        if(maskShapeType == MASK_SHAPE_TYPE_POINT){
45
            m_iShapeType = SHAPE_TYPE_POINT;
46
        } else if(maskShapeType == MASK_SHAPE_TYPE_LINE){
47
            m_iShapeType = SHAPE_TYPE_LINE;
48
        } else if(maskShapeType == MASK_SHAPE_TYPE_POLYGON){
49
            m_iShapeType = SHAPE_TYPE_POLYGON;
50
        } else {
51
            m_iShapeType = SHAPE_TYPE_ANY;
52
        }
53
    }
48 54

  
49
   public void setShapeType(final int iShapeType) {
55
    /**
56
     *
57
     * @param shapeType of IVectorLayer
58
     * @return
59
     */
60
    public boolean isAvailableForShapeType(int shapeType){
61
        if(m_maskShapeType == MASK_NOTAPPLY){
62
            return ((m_iShapeType == AdditionalInfoVectorLayer.SHAPE_TYPE_ANY) || (m_iShapeType == shapeType));
63
        }
50 64

  
51
      m_iShapeType = iShapeType;
65
        if((m_maskShapeType & MASK_SHAPE_TYPE_POINT) == MASK_SHAPE_TYPE_POINT && shapeType == IVectorLayer.SHAPE_TYPE_POINT){
66
            return true;
67
        }
52 68

  
53
   }
69
        if((m_maskShapeType & MASK_SHAPE_TYPE_LINE) == MASK_SHAPE_TYPE_LINE && shapeType == IVectorLayer.SHAPE_TYPE_LINE){
70
            return true;
71
        }
72
        if((m_maskShapeType & MASK_SHAPE_TYPE_POLYGON) == MASK_SHAPE_TYPE_POLYGON && shapeType == IVectorLayer.SHAPE_TYPE_POLYGON){
73
            return true;
74
        }
54 75

  
76
        return false;
55 77

  
56
   public int getShapeType() {
57 78

  
58
      return m_iShapeType;
59
   }
79
    }
60 80

  
81
    /**
82
     * Checks whether the vector layer is 3D.
83
     *
84
     * @return true if it is a 3D layer.
85
     *
86
     */
87
    public boolean getIs3d() {
88
        return m_bIs3d;
89
    }
61 90

  
62
   public String getTextDescription() {
63
      // TODO Auto-generated method stub
64
      return null;
65
   }
91
    /**
92
     * Sets whether the vector layer is 3D.
93
     *
94
     * @param is3d
95
     *            true if it is a 3D layer.
96
     */
97
    public void setIs3d(final boolean is3d) {
98
        m_bIs3d = is3d;
99
    }
66 100

  
101
    public void setShapeType(final int iShapeType) {
102

  
103
        m_iShapeType = iShapeType;
104

  
105
    }
106

  
107
    public int getShapeType() {
108

  
109
        return m_iShapeType;
110

  
111
    }
112

  
113
    public int[] getShapeTypes() {
114
        List<Integer> types = new ArrayList();
115
        if(isAvailableForShapeType(SHAPE_TYPE_ANY)){
116
            types.add(SHAPE_TYPE_ANY);
117
        } else {
118
            if (isAvailableForShapeType(SHAPE_TYPE_POINT)) {
119
                types.add(SHAPE_TYPE_POINT);
120
            }
121
            if (isAvailableForShapeType(SHAPE_TYPE_LINE)) {
122
                types.add(SHAPE_TYPE_LINE);
123
            }
124
            if (isAvailableForShapeType(SHAPE_TYPE_POLYGON)) {
125
                types.add(SHAPE_TYPE_POLYGON);
126
            }
127
        }
128
        int[] shapeTypes = new int[types.size()];
129

  
130
        int i=0;
131
        for (Iterator iterator = types.iterator(); iterator.hasNext();) {
132
            Integer integer = (Integer) iterator.next();
133
            shapeTypes[i++]=integer.intValue();
134
        }
135

  
136
        return shapeTypes;
137
    }
138

  
139

  
140
    public String getTextDescription() {
141
        // TODO Auto-generated method stub
142
        return null;
143
    }
144

  
67 145
}

Also available in: Unified diff