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

View differences:

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