/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.40 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ package org.gdal.ogr; import org.gdal.ogr.ogr; import org.gdal.ogr.GeometryNative; import org.gdal.osr.SpatialReference; import org.gdal.osr.CoordinateTransformation; public class Geometry implements Cloneable { private long swigCPtr; private GeometryNative nativeObject; protected Geometry(long cPtr, boolean cMemoryOwn) { if (cPtr == 0) throw new RuntimeException(); swigCPtr = cPtr; if (cMemoryOwn) nativeObject = new GeometryNative(this, cPtr); } protected static long getCPtr(Geometry obj) { return (obj == null) ? 0 : obj.swigCPtr; } public void delete() { if (nativeObject != null) { nativeObject.delete(); nativeObject = null; } } private Object parentReference; protected static long getCPtrAndDisown(Geometry obj) { if (obj != null) { if (obj.nativeObject == null) throw new RuntimeException("Cannot disown an object that was not owned..."); obj.nativeObject.dontDisposeNativeResources(); obj.nativeObject = null; obj.parentReference = null; } return getCPtr(obj); } /* Ensure that the GC doesn't collect any parent instance set from Java */ protected void addReference(Object reference) { parentReference = reference; } public boolean equals(Object obj) { boolean equal = false; if (obj instanceof Geometry) equal = Equal((Geometry)obj); return equal; } public int hashCode() { return (int)swigCPtr; } public Object clone() { return Clone(); } public double[] GetPoint_2D(int iPoint) { double[] coords = new double[2]; GetPoint_2D(iPoint, coords); return coords; } public double[] GetPoint(int iPoint) { double[] coords = new double[3]; GetPoint(iPoint, coords); return coords; } public static Geometry CreateFromWkt(String wkt) { return ogr.CreateGeometryFromWkt(wkt); } public static Geometry CreateFromWkb(byte[] wkb) { return ogr.CreateGeometryFromWkb(wkb); } public static Geometry CreateFromGML(String gml) { return ogr.CreateGeometryFromGML(gml); } public static Geometry CreateFromJson(String json) { return ogr.CreateGeometryFromJson(json); } public int ExportToWkb(byte[] wkbArray, int byte_order) { if (wkbArray == null) throw new NullPointerException(); byte[] srcArray = ExportToWkb(byte_order); if (wkbArray.length < srcArray.length) throw new RuntimeException("Array too small"); System.arraycopy( srcArray, 0, wkbArray, 0, srcArray.length ); return 0; } public int ExportToWkt(String[] argout) { return ogrJNI.Geometry_ExportToWkt__SWIG_0(swigCPtr, this, argout); } public byte[] ExportToWkb(int byte_order) { return ogrJNI.Geometry_ExportToWkb__SWIG_0(swigCPtr, this, byte_order); } public byte[] ExportToWkb() { return ogrJNI.Geometry_ExportToWkb__SWIG_1(swigCPtr, this); } public String ExportToGML(java.util.Vector options) { return ogrJNI.Geometry_ExportToGML__SWIG_0(swigCPtr, this, options); } public String ExportToGML() { return ogrJNI.Geometry_ExportToGML__SWIG_1(swigCPtr, this); } public String ExportToKML(String altitude_mode) { return ogrJNI.Geometry_ExportToKML__SWIG_0(swigCPtr, this, altitude_mode); } public String ExportToKML() { return ogrJNI.Geometry_ExportToKML__SWIG_1(swigCPtr, this); } public String ExportToJson(java.util.Vector options) { return ogrJNI.Geometry_ExportToJson__SWIG_0(swigCPtr, this, options); } public String ExportToJson() { return ogrJNI.Geometry_ExportToJson__SWIG_1(swigCPtr, this); } public void AddPoint(double x, double y, double z) { ogrJNI.Geometry_AddPoint__SWIG_0(swigCPtr, this, x, y, z); } public void AddPoint(double x, double y) { ogrJNI.Geometry_AddPoint__SWIG_1(swigCPtr, this, x, y); } public void AddPoint_2D(double x, double y) { ogrJNI.Geometry_AddPoint_2D(swigCPtr, this, x, y); } public int AddGeometryDirectly(Geometry other_disown) { int ret = ogrJNI.Geometry_AddGeometryDirectly(swigCPtr, this, Geometry.getCPtrAndDisown(other_disown), other_disown); if (other_disown != null) other_disown.addReference(this); return ret; } public int AddGeometry(Geometry other) { return ogrJNI.Geometry_AddGeometry(swigCPtr, this, Geometry.getCPtr(other), other); } public Geometry Clone() { long cPtr = ogrJNI.Geometry_Clone(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public int GetGeometryType() { return ogrJNI.Geometry_GetGeometryType(swigCPtr, this); } public String GetGeometryName() { return ogrJNI.Geometry_GetGeometryName(swigCPtr, this); } public double Length() { return ogrJNI.Geometry_Length(swigCPtr, this); } public double Area() { return ogrJNI.Geometry_Area(swigCPtr, this); } public double GetArea() { return ogrJNI.Geometry_GetArea(swigCPtr, this); } public int GetPointCount() { return ogrJNI.Geometry_GetPointCount(swigCPtr, this); } public double[][] GetPoints(int nCoordDimension) { return ogrJNI.Geometry_GetPoints__SWIG_0(swigCPtr, this, nCoordDimension); } public double[][] GetPoints() { return ogrJNI.Geometry_GetPoints__SWIG_1(swigCPtr, this); } public double GetX(int point) { return ogrJNI.Geometry_GetX__SWIG_0(swigCPtr, this, point); } public double GetX() { return ogrJNI.Geometry_GetX__SWIG_1(swigCPtr, this); } public double GetY(int point) { return ogrJNI.Geometry_GetY__SWIG_0(swigCPtr, this, point); } public double GetY() { return ogrJNI.Geometry_GetY__SWIG_1(swigCPtr, this); } public double GetZ(int point) { return ogrJNI.Geometry_GetZ__SWIG_0(swigCPtr, this, point); } public double GetZ() { return ogrJNI.Geometry_GetZ__SWIG_1(swigCPtr, this); } public void GetPoint(int iPoint, double[] argout) { ogrJNI.Geometry_GetPoint(swigCPtr, this, iPoint, argout); } public void GetPoint_2D(int iPoint, double[] argout) { ogrJNI.Geometry_GetPoint_2D(swigCPtr, this, iPoint, argout); } public int GetGeometryCount() { return ogrJNI.Geometry_GetGeometryCount(swigCPtr, this); } public void SetPoint(int point, double x, double y, double z) { ogrJNI.Geometry_SetPoint__SWIG_0(swigCPtr, this, point, x, y, z); } public void SetPoint(int point, double x, double y) { ogrJNI.Geometry_SetPoint__SWIG_1(swigCPtr, this, point, x, y); } public void SetPoint_2D(int point, double x, double y) { ogrJNI.Geometry_SetPoint_2D(swigCPtr, this, point, x, y); } public Geometry GetGeometryRef(int geom) { long cPtr = ogrJNI.Geometry_GetGeometryRef(swigCPtr, this, geom); Geometry ret = null; if (cPtr != 0) { ret = new Geometry(cPtr, false); ret.addReference(this); } return ret; } public Geometry Simplify(double tolerance) { long cPtr = ogrJNI.Geometry_Simplify(swigCPtr, this, tolerance); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry SimplifyPreserveTopology(double tolerance) { long cPtr = ogrJNI.Geometry_SimplifyPreserveTopology(swigCPtr, this, tolerance); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Boundary() { long cPtr = ogrJNI.Geometry_Boundary(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry GetBoundary() { long cPtr = ogrJNI.Geometry_GetBoundary(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry ConvexHull() { long cPtr = ogrJNI.Geometry_ConvexHull(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Buffer(double distance, int quadsecs) { long cPtr = ogrJNI.Geometry_Buffer__SWIG_0(swigCPtr, this, distance, quadsecs); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Buffer(double distance) { long cPtr = ogrJNI.Geometry_Buffer__SWIG_1(swigCPtr, this, distance); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Intersection(Geometry other) { long cPtr = ogrJNI.Geometry_Intersection(swigCPtr, this, Geometry.getCPtr(other), other); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Union(Geometry other) { long cPtr = ogrJNI.Geometry_Union(swigCPtr, this, Geometry.getCPtr(other), other); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry UnionCascaded() { long cPtr = ogrJNI.Geometry_UnionCascaded(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry Difference(Geometry other) { long cPtr = ogrJNI.Geometry_Difference(swigCPtr, this, Geometry.getCPtr(other), other); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry SymDifference(Geometry other) { long cPtr = ogrJNI.Geometry_SymDifference(swigCPtr, this, Geometry.getCPtr(other), other); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry SymmetricDifference(Geometry other) { long cPtr = ogrJNI.Geometry_SymmetricDifference(swigCPtr, this, Geometry.getCPtr(other), other); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public double Distance(Geometry other) { return ogrJNI.Geometry_Distance(swigCPtr, this, Geometry.getCPtr(other), other); } public void Empty() { ogrJNI.Geometry_Empty(swigCPtr, this); } public boolean IsEmpty() { return ogrJNI.Geometry_IsEmpty(swigCPtr, this); } public boolean IsValid() { return ogrJNI.Geometry_IsValid(swigCPtr, this); } public boolean IsSimple() { return ogrJNI.Geometry_IsSimple(swigCPtr, this); } public boolean IsRing() { return ogrJNI.Geometry_IsRing(swigCPtr, this); } public boolean Intersects(Geometry other) { return ogrJNI.Geometry_Intersects(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Intersect(Geometry other) { return ogrJNI.Geometry_Intersect(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Equals(Geometry other) { return ogrJNI.Geometry_Equals(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Equal(Geometry other) { return ogrJNI.Geometry_Equal(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Disjoint(Geometry other) { return ogrJNI.Geometry_Disjoint(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Touches(Geometry other) { return ogrJNI.Geometry_Touches(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Crosses(Geometry other) { return ogrJNI.Geometry_Crosses(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Within(Geometry other) { return ogrJNI.Geometry_Within(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Contains(Geometry other) { return ogrJNI.Geometry_Contains(swigCPtr, this, Geometry.getCPtr(other), other); } public boolean Overlaps(Geometry other) { return ogrJNI.Geometry_Overlaps(swigCPtr, this, Geometry.getCPtr(other), other); } public int TransformTo(SpatialReference reference) { return ogrJNI.Geometry_TransformTo(swigCPtr, this, SpatialReference.getCPtr(reference), reference); } public int Transform(CoordinateTransformation trans) { return ogrJNI.Geometry_Transform(swigCPtr, this, CoordinateTransformation.getCPtr(trans), trans); } public SpatialReference GetSpatialReference() { long cPtr = ogrJNI.Geometry_GetSpatialReference(swigCPtr, this); return (cPtr == 0) ? null : new SpatialReference(cPtr, true); } public void AssignSpatialReference(SpatialReference reference) { ogrJNI.Geometry_AssignSpatialReference(swigCPtr, this, SpatialReference.getCPtr(reference), reference); } public void CloseRings() { ogrJNI.Geometry_CloseRings(swigCPtr, this); } public void FlattenTo2D() { ogrJNI.Geometry_FlattenTo2D(swigCPtr, this); } public void Segmentize(double dfMaxLength) { ogrJNI.Geometry_Segmentize(swigCPtr, this, dfMaxLength); } public void GetEnvelope(double[] argout) { ogrJNI.Geometry_GetEnvelope(swigCPtr, this, argout); } public void GetEnvelope3D(double[] argout) { ogrJNI.Geometry_GetEnvelope3D(swigCPtr, this, argout); } public Geometry Centroid() { long cPtr = ogrJNI.Geometry_Centroid(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public Geometry PointOnSurface() { long cPtr = ogrJNI.Geometry_PointOnSurface(swigCPtr, this); return (cPtr == 0) ? null : new Geometry(cPtr, true); } public int WkbSize() { return ogrJNI.Geometry_WkbSize(swigCPtr, this); } public int GetCoordinateDimension() { return ogrJNI.Geometry_GetCoordinateDimension(swigCPtr, this); } public void SetCoordinateDimension(int dimension) { ogrJNI.Geometry_SetCoordinateDimension(swigCPtr, this, dimension); } public int GetDimension() { return ogrJNI.Geometry_GetDimension(swigCPtr, this); } public Geometry(int type, String wkt, byte[] nLen, String gml) { this(ogrJNI.new_Geometry__SWIG_0(type, wkt, nLen, gml), true); } public Geometry(int type) { this(ogrJNI.new_Geometry__SWIG_1(type), true); } public String ExportToWkt() { return ogrJNI.Geometry_ExportToWkt__SWIG_1(swigCPtr, this); } }