Revision 30231 branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/oracle/utils/LineString3D.java

View differences:

LineString3D.java
26 26
 */
27 27
package org.gvsig.oracle.utils;
28 28

  
29

  
30 29
import org.gvsig.fmap.dal.store.oracle.OracleUtils;
31 30

  
32 31
import com.vividsolutions.jts.geom.Coordinate;
......
35 34
import com.vividsolutions.jts.geom.LinearRing;
36 35
import com.vividsolutions.jts.geom.impl.CoordinateArraySequence;
37 36

  
38

  
39 37
/**
40 38
 * Utility class to manage 3D geometries. Keeps a LineString field and an array
41 39
 * of Z.
42
 *
40
 * 
43 41
 * @author jldominguez
44 42
 */
45 43
public class LineString3D {
46
    private LineString ls;
47
    private double[] zc;
44
	private LineString ls;
45
	private double[] zc;
48 46

  
49
    public LineString3D(LineString l, double[] z) {
50
        ls = l;
51
        zc = z;
52
    }
47
	public LineString3D(LineString l, double[] z) {
48
		ls = l;
49
		zc = z;
50
	}
53 51

  
54
    public LineString getLs() {
55
        return ls;
56
    }
52
	public LineString getLs() {
53
		return ls;
54
	}
57 55

  
58
    public void setLs(LineString l) {
59
        ls = l;
60
    }
56
	public void setLs(LineString l) {
57
		ls = l;
58
	}
61 59

  
62
    public double[] getZc() {
63
        return zc;
64
    }
60
	public double[] getZc() {
61
		return zc;
62
	}
65 63

  
66
    public void setZc(double[] z) {
67
        zc = z;
68
    }
64
	public void setZc(double[] z) {
65
		zc = z;
66
	}
69 67

  
70
    public LineString3D createReverse() {
71
        double[] nz = null;
68
	public LineString3D createReverse() {
69
		double[] nz = null;
72 70

  
73
        if (zc != null) {
74
            nz = OracleUtils.reverseArray(zc);
75
        }
71
		if (zc != null) {
72
			nz = OracleUtils.reverseArray(zc);
73
		}
76 74

  
77
        Coordinate[] nc = OracleUtils.reverseCoordinateArray(ls.getCoordinates());
78
        GeometryFactory gf = new GeometryFactory();
79
        CoordinateArraySequence ncs = new CoordinateArraySequence(nc);
80
        LineString nls = null;
75
		Coordinate[] nc = OracleUtils.reverseCoordinateArray(ls
76
				.getCoordinates());
77
		GeometryFactory gf = new GeometryFactory();
78
		CoordinateArraySequence ncs = new CoordinateArraySequence(nc);
79
		LineString nls = null;
81 80

  
82
        if (ls instanceof LinearRing) {
83
            nls = new LinearRing(ncs, gf);
84
        }
85
        else {
86
            nls = new LineString(ncs, gf);
87
        }
81
		if (ls instanceof LinearRing) {
82
			nls = new LinearRing(ncs, gf);
83
		} else {
84
			nls = new LineString(ncs, gf);
85
		}
88 86

  
89
        return new LineString3D(nls, nz);
90
    }
87
		return new LineString3D(nls, nz);
88
	}
91 89
}

Also available in: Unified diff