Revision 42309 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.api/src/main/java/org/gvsig/fmap/geom/primitive/OrientablePrimitive.java

View differences:

OrientablePrimitive.java
24 24

  
25 25
package org.gvsig.fmap.geom.primitive;
26 26

  
27
import org.gvsig.fmap.geom.aggregate.MultiPoint;
28 27

  
29 28
/**
30 29
 * <p>
31
 * This interface is equivalent to the GM_OrientablePrimitive specified in 
30
 * This interface is equivalent to the GM_OrientablePrimitive specified in
32 31
 * <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">ISO 19107</a>.
33
 * Orientable primitives are those that can be mirrored into new 
34
 * geometric objects in terms of their internal local coordinate 
32
 * Orientable primitives are those that can be mirrored into new
33
 * geometric objects in terms of their internal local coordinate
35 34
 * systems (manifold charts).
36 35
 * </p>
37 36
 * <p>
38
 * For curves, the orientation reflects the direction in which the curve is traversed, 
39
 * that is, the sense of its parameterization. When used as boundary curves, 
40
 * the surface being bounded is to the "left" of the oriented curve. 
37
 * For curves, the orientation reflects the direction in which the curve is traversed,
38
 * that is, the sense of its parameterization. When used as boundary curves,
39
 * the surface being bounded is to the "left" of the oriented curve.
41 40
 * </p>
42 41
 * <p>
43
 * For surfaces, the orientation reflects from which direction the local coordinate 
44
 * system can be viewed as right handed, the "top" or the surface being the direction 
42
 * For surfaces, the orientation reflects from which direction the local coordinate
43
 * system can be viewed as right handed, the "top" or the surface being the direction
45 44
 * of a completing z-axis that would form a right-handed system.
46 45
 * </p>
47 46
 * <p>
48
 * When used as a boundary surface, the bounded solid is "below" the surface. 
49
 * The orientation of points and solids has no immediate geometric interpretation 
47
 * When used as a boundary surface, the bounded solid is "below" the surface.
48
 * The orientation of points and solids has no immediate geometric interpretation
50 49
 * in 3-dimensional space.
51 50
 * </p>
52
 * <p> OrientablePrimitive objects are essentially references to geometric primitives 
53
 * that carry an "orientation" reversal flag (either "+" or "-") that determines whether 
51
 * <p> OrientablePrimitive objects are essentially references to geometric primitives
52
 * that carry an "orientation" reversal flag (either "+" or "-") that determines whether
54 53
 * this primitive agrees or disagrees with the orientation of the referenced object.
55 54
 * </p>
56 55
 * @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">ISO 19107</a>
57 56
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
58 57
 */
59 58
public interface OrientablePrimitive extends Primitive {
60
    
59

  
61 60
    /**
62 61
     * Gets the one of the values of a coordinate (direct position) in a
63 62
     * concrete dimension.
64
     * 
63
     *
65 64
     * @param index
66 65
     *            The index of the direct position to set.
67 66
     * @param dimension
......
69 68
     * @return The value of the coordinate
70 69
     */
71 70
    public double getCoordinateAt(int index, int dimension);
72
    
73
    
71

  
72

  
74 73
    /**
75 74
     * Sets the value of a coordinate (direct position) in a concrete dimension
76 75
     * @param index
......
81 80
     * The value to set
82 81
     */
83 82
    public void setCoordinateAt(int index, int dimension, double value);
84
    
83

  
85 84
    /**
86 85
     * Adds a vertex (or direct position) to the curve
87 86
     * @param point
88 87
     * The new point to add
89 88
     */
90 89
    public void addVertex(Point point);
91
    
90

  
92 91
    /**
93 92
     * Utility method for add a vertex
94 93
     * @param x
......
105 104
     * @see #addVertex(Point)
106 105
     */
107 106
    public void addVertex(double x, double y, double z);
108
    
107

  
109 108
    /**
110 109
     * Remove a vertex (direct position) to the curve
111 110
     * @param index
112 111
     * The index of the vertex to remove
113 112
     */
114 113
    public void removeVertex(int index);
115
        
114

  
116 115
    /**
117
     * Gets a vertex (direct position) 
116
     * Gets a vertex (direct position)
118 117
     * @param index
119 118
     * The index of the vertex to get
120 119
     * @return
121 120
     * One point
122 121
     */
123 122
    public Point getVertex(int index);
124
    
123

  
125 124
    /**
126 125
     * Gets the number of vertices (direct positions) of the curve
127 126
     * @return
128 127
     * The number of vertices
129 128
     */
130 129
    public int getNumVertices();
131
        
130

  
132 131
    /**
133 132
     * Inserts a vertex (direct position) to the curve.
134 133
     * @param index
......
137 136
     * The vertex to add.
138 137
     */
139 138
    public void insertVertex(int index, Point p);
140
    
139

  
141 140
    /**
142 141
     * Sets a vertex in a concrete position and replaces the
143 142
     * previous one that was in this position.
......
149 148
    public void setVertex(int index, Point p);
150 149

  
151 150
    /**
152
     * Sets all the coordinates of the curve 
151
     * Sets all the coordinates of the curve
153 152
     * @param generalPathX The generalPath that contains all the coordinates
154 153
     * @deprecated use addVertex
155 154
     */
156 155
    public void setGeneralPath(GeneralPathX generalPathX);
157
    
156

  
158 157
    /**
159 158
     * Adds a vertex (or direct position) to the curve
160 159
     * @param point
......
164 163
     *      add an inner surface
165 164
     */
166 165
    public void addMoveToVertex(Point point);
167
    
166

  
168 167
    /**
169 168
     * Closes the geometry
170 169
     * @deprecated
......
172 171
     *      geometry.
173 172
     */
174 173
    public void closePrimitive();
175
    
174

  
176 175
    public void ensureCapacity(int capacity);
176

  
177 177
}

Also available in: Unified diff