private EdgeRing _shell; // if non-null, the ring is a hole and this EdgeRing is its containing shell #endregion Fields #region Constructors /// <summary> /// Initializes a new instance of the EdgeRing class. /// </summary> public EdgeRing( DirectedEdge start, GeometryFactory geometryFactory, CGAlgorithms cga ) { _geometryFactory = geometryFactory; _cga = cga; ComputePoints(start); ComputeRing(); }
public BufferEdgeBuilder(CGAlgorithms cga, LineIntersector li, double distance, bool makePrecise, int quadrantSegments) { this._cga = cga; this._distance = distance; //lineBuilder = new BufferMultiLineBuilder(cga, li); _lineBuilder = new BufferLineBuilder(_cga, li, makePrecise,quadrantSegments); }
public BufferLineBuilder(CGAlgorithms _cga, LineIntersector li, bool makePrecise, int quadrantSegments) { this._cga = _cga; this._li = li; this._makePrecise = makePrecise; _angleInc = Math.PI / 2.0 / quadrantSegments; _lineList = new ArrayList(); // ensure array has exactly one element _lineList.Add(arrayTypeCoordinate); }
/// <summary> /// Initializes a new instance of the MaximalEdgeRing class. /// A MaximalEdgeRing is a ring of edges which may contain nodes of degree > 2. /// A MaximalEdgeRing may represent two different spatial entities: /// <ul> /// <li>a single polygon possibly containing inversions (if the ring is oriented CW) /// <li>a single hole possibly containing exversions (if the ring is oriented CCW) /// </ul> /// If the MaximalEdgeRing represents a polygon, /// the interior of the polygon is strongly connected. /// These are the form of rings used to define polygons under some spatial data models. /// However, under the OGC SFS model, {@link MinimalEdgeRings} are required. /// A MaximalEdgeRing can be converted to a list of MinimalEdgeRings using the /// { BuildMinimalRings() } method. /// </summary> public MaximalEdgeRing( DirectedEdge start, GeometryFactory geometryFactory, CGAlgorithms cga ) : base( start, geometryFactory, cga ) { }
public BufferLineBuilder(CGAlgorithms _cga, LineIntersector li, bool makePrecise) : this(_cga, li, makePrecise, DefaultQuadrantSegments) { }
/// <summary> /// Initializes a new instance of the ConvexHull with the specified CGAlgorithms class. /// </summary> /// <param name="cga"></param> public ConvexHull(CGAlgorithms cga) { this._cga = cga; }
/// <summary> /// Initializes a new instance of the BufferMultiLineBuilder class. /// </summary> /// <param name="cga"></param> /// <param name="li"></param> public BufferMultiLineBuilder(CGAlgorithms cga, LineIntersector li) { _cga = cga; _li = li; _angleInc = Math.PI / 2.0 / QUADRANT_SEGMENTS; } // public BufferMultiLineBuilder(CGAlgorithms cga, LineIntersector li)
/// <summary> /// Initializes a new instance of the PolygonBuilder class. /// </summary> public PolygonBuilder( GeometryFactory geometryFactory, CGAlgorithms cga ) { _geometryFactory = geometryFactory; _cga = cga; } // public PolygonBuilder( GeometryFactory geometryFactory, CGAlgorithms cga )
private void InitBlock() { _geometryFactory = new GeometryFactory(); _cga = new RobustCGAlgorithms(); }