Revision 45910 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/complex/Complex.java
Complex.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
package org.gvsig.fmap.geom.complex; |
26 | 26 |
|
27 |
import java.util.Collection; |
|
28 |
import java.util.Iterator; |
|
29 |
import java.util.function.Predicate; |
|
27 | 30 |
import org.gvsig.fmap.geom.Geometry; |
31 |
import org.gvsig.fmap.geom.aggregate.Aggregate; |
|
32 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
|
33 |
import org.gvsig.fmap.geom.primitive.Point; |
|
34 |
import org.gvsig.fmap.geom.primitive.Primitive; |
|
28 | 35 |
|
29 | 36 |
/** |
30 | 37 |
* <p> |
... | ... | |
38 | 45 |
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">ISO 19107</a> |
39 | 46 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
40 | 47 |
*/ |
41 |
public interface Complex extends Geometry { |
|
48 |
public interface Complex extends Geometry, Iterable<Geometry> {
|
|
42 | 49 |
|
50 |
/** |
|
51 |
* Returns the number of {@link Primitive}'s that composes this multi |
|
52 |
* geometry. |
|
53 |
* |
|
54 |
* @return the number of {@link Primitive}'s that composes this multi |
|
55 |
* geometry. |
|
56 |
*/ |
|
57 |
public int getPrimitivesNumber(); |
|
58 |
|
|
59 |
/** |
|
60 |
* Returns one of the {@link Primitive}'s that is in a concrete position. |
|
61 |
* |
|
62 |
* @param i Geometry position. |
|
63 |
* @return A simple geometry. |
|
64 |
*/ |
|
65 |
public Primitive getPrimitiveAt(int i); |
|
66 |
|
|
67 |
/** |
|
68 |
* Adds a new primitive to the primitive |
|
69 |
* |
|
70 |
* @param primitive The primitive to add |
|
71 |
*/ |
|
72 |
public void addPrimitive(Primitive primitive); |
|
73 |
|
|
74 |
public void addPrimitives(Aggregate aggregate); |
|
75 |
|
|
76 |
public void addPrimitives(Geometry geometry); |
|
77 |
|
|
78 |
public void ensureCapacity(int capacity); |
|
79 |
|
|
80 |
public Collection<? extends Geometry> getElements(); |
|
81 |
|
|
82 |
public Iterator<Geometry> iterator(Predicate<Geometry> filter); |
|
83 |
|
|
84 |
public Aggregate createAggregate(int type, Predicate<Geometry> filter) throws CreateGeometryException; |
|
85 |
|
|
43 | 86 |
} |
Also available in: Unified diff