private void WritePolyhedralSurface(PolyhedralSurface polyhedralSurface) { wkbWriter.Write(polyhedralSurface.Geometries.Count); foreach (Geometry geometry in polyhedralSurface.Geometries) { WriteInternal(geometry); } }
private void WritePolyhedralSurface(PolyhedralSurface polyhedralSurface) { wktBuilder.Append("("); foreach (Geometry geometry in polyhedralSurface.Geometries) { Write(geometry, true); wktBuilder.Append(","); } wktBuilder.Remove(wktBuilder.Length - 1, 1); wktBuilder.Append(")"); }
private PolyhedralSurface ReadPolyhedralSurface(Dimension dimension) { PolyhedralSurface polyhedralSurface = new PolyhedralSurface(); uint geometryCount = wkbReader.ReadUInt32(); for (int i = 0; i < geometryCount; i++) { polyhedralSurface.Geometries.Add(Read <Polygon>()); } return(polyhedralSurface); }
protected PolyhedralSurface ReadPolyhedralSurface(Dimension dimension) { PolyhedralSurface polyhedralSurface = new PolyhedralSurface(); polyhedralSurface.Dimension = dimension; ExpectGroupStart(); do { polyhedralSurface.Geometries.Add(ReadPolygon(dimension)); } while (IsMatch(",")); ExpectGroupEnd(); return(polyhedralSurface); }
protected Geometry CreateGeometry(GeometryType geometryType, Dimension dimension) { Geometry geometry = null; switch (geometryType) { case GeometryType.Point: geometry = new Point(); break; case GeometryType.LineString: geometry = new LineString(); break; case GeometryType.Polygon: geometry = new Polygon(); break; case GeometryType.MultiPoint: geometry = new MultiPoint(); break; case GeometryType.MultiLineString: geometry = new MultiLineString(); break; case GeometryType.MultiPolygon: geometry = new MultiPolygon(); break; case GeometryType.GeometryCollection: geometry = new GeometryCollection(); break; case GeometryType.CircularString: geometry = new CircularString(); break; case GeometryType.CompoundCurve: geometry = new CompoundCurve(); break; case GeometryType.CurvePolygon: geometry = new CurvePolygon(); break; case GeometryType.MultiCurve: geometry = new MultiCurve(); break; case GeometryType.MultiSurface: geometry = new MultiSurface(); break; case GeometryType.PolyhedralSurface: geometry = new PolyhedralSurface(); break; case GeometryType.Tin: geometry = new Tin(); break; case GeometryType.Triangle: geometry = new Triangle(); break; default: throw new NotSupportedException(geometryType.ToString()); } geometry.Dimension = dimension; return(geometry); }
public bool Equals(PolyhedralSurface <T> other) { return(Geometries.SequenceEqual(other.Geometries)); }