public void BasicBuffer() { ILineString ls = new WKTReader().Read("LINESTRING(0 0, 100 100)") as ILineString; Assert.IsNotNull(ls); BufferBuilder bb = new BufferBuilder(); IGeometry res = bb.Buffer(ls, 10); Assert.IsNotNull(res); }
public void BasicBufferPoint() { IPoint ls = new WKTReader().Read("POINT(0 0)") as IPoint; Assert.IsNotNull(ls); BufferBuilder bb = new BufferBuilder(); bb.EndCapStyle = BufferStyle.CapSquare; bb.QuadrantSegments = 2; IGeometry actual = bb.Buffer(ls, 10); IGeometry expected = new WKTReader().Read("POLYGON((10 10, -10 10, -10 -10, 10 -10, 10 10))"); Assert.AreEqual(actual, expected); }
/// <summary> /// /// </summary> /// <param name="fixedPM"></param> private void BufferFixedPrecision(IPrecisionModel fixedPM) { INoder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)), fixedPM.Scale); BufferBuilder bufBuilder = new BufferBuilder(); bufBuilder.WorkingPrecisionModel = fixedPM; bufBuilder.Noder = noder; bufBuilder.QuadrantSegments = quadrantSegments; bufBuilder.EndCapStyle = endCapStyle; // this may throw an exception, if robustness errors are encountered resultGeometry = bufBuilder.Buffer(argGeom, distance); }
/// <summary> /// /// </summary> private void BufferOriginalPrecision() { try { BufferBuilder bufBuilder = new BufferBuilder(); bufBuilder.QuadrantSegments = quadrantSegments; bufBuilder.EndCapStyle = endCapStyle; resultGeometry = bufBuilder.Buffer(argGeom, distance); } catch (TopologyException ex) { saveException = ex; // don't propagate the exception - it will be detected by fact that resultGeometry is null } }
/// <summary> /// /// </summary> /// <param name="fixedPM"></param> private void BufferFixedPrecision(IPrecisionModel fixedPM) { INoder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)), fixedPM.Scale); var bufBuilder = new BufferBuilder { WorkingPrecisionModel = fixedPM, Noder = noder, QuadrantSegments = quadrantSegments, EndCapStyle = endCapStyle }; // this may throw an exception, if robustness errors are encountered resultGeometry = bufBuilder.Buffer(argGeom, distance); }
/// <summary> /// /// </summary> private void BufferOriginalPrecision() { try { var bufBuilder = new BufferBuilder {QuadrantSegments = quadrantSegments, EndCapStyle = endCapStyle}; resultGeometry = bufBuilder.Buffer(argGeom, distance); } catch (ApplicationException ex) { saveException = ex; // don't propagate the exception - it will be detected by fact that resultGeometry is null } }