/// <summary> /// Creates a new <c>FindIntersectionsQuery</c> (and executes it). The result of the query /// can then be obtained through the <c>Result</c> property. /// <para/> /// Use this constructor when intersecting with geometry that has been created ad-hoc. /// Note that if you are looking to intersect a line feature (already part of /// the spatial index), you should use the constructor that accepts the <c>LineFeature</c>. /// </summary> /// <param name="index">The spatial index to search</param> /// <param name="geom">The geometry to intersect.</param> /// <param name="wantEndEnd">Specify true if you want end-to-end intersections in the results.</param> internal FindIntersectionsQuery(ISpatialIndex index, LineGeometry geom, bool wantEndEnd) { m_Feature = null; m_Geom = GetUnsectionedLineGeometry(geom); m_WantEndEnd = wantEndEnd; m_Result = new List <IntersectionResult>(100); FindIntersections(index); }
/// <summary> /// Creates a new <c>FindIntersectionsQuery</c> (and executes it). The result of the query /// can then be obtained through the <c>Result</c> property. /// <para/> /// Use this constructor when intersecting something that has already been added to /// the spatial index. This ensures that the line is not intersected with itself. /// </summary> /// <param name="index">The spatial index to search</param> /// <param name="line">The line feature to intersect.</param> /// <param name="wantEndEnd">Specify true if you want end-to-end intersections in the results.</param> internal FindIntersectionsQuery(ISpatialIndex index, LineFeature line, bool wantEndEnd) { if (index == null) throw new ArgumentNullException("FindIntersectionsQuery"); m_Feature = line; m_Geom = GetUnsectionedLineGeometry(line.LineGeometry); m_WantEndEnd = wantEndEnd; m_Result = new List<IntersectionResult>(100); FindIntersections(index); }
/// <summary> /// Creates a new <c>FindIntersectionsQuery</c> (and executes it). The result of the query /// can then be obtained through the <c>Result</c> property. /// <para/> /// Use this constructor when intersecting something that has already been added to /// the spatial index. This ensures that the line is not intersected with itself. /// </summary> /// <param name="index">The spatial index to search</param> /// <param name="line">The line feature to intersect.</param> /// <param name="wantEndEnd">Specify true if you want end-to-end intersections in the results.</param> internal FindIntersectionsQuery(ISpatialIndex index, LineFeature line, bool wantEndEnd) { if (index == null) { throw new ArgumentNullException("FindIntersectionsQuery"); } m_Feature = line; m_Geom = GetUnsectionedLineGeometry(line.LineGeometry); m_WantEndEnd = wantEndEnd; m_Result = new List <IntersectionResult>(100); FindIntersections(index); }
/// <summary> /// Creates a new <c>FindIntersectionsQuery</c> (and executes it). The result of the query /// can then be obtained through the <c>Result</c> property. /// <para/> /// Use this constructor when intersecting with geometry that has been created ad-hoc. /// Note that if you are looking to intersect a line feature (already part of /// the spatial index), you should use the constructor that accepts the <c>LineFeature</c>. /// </summary> /// <param name="index">The spatial index to search</param> /// <param name="geom">The geometry to intersect.</param> /// <param name="wantEndEnd">Specify true if you want end-to-end intersections in the results.</param> internal FindIntersectionsQuery(ISpatialIndex index, LineGeometry geom, bool wantEndEnd) { m_Feature = null; m_Geom = GetUnsectionedLineGeometry(geom); m_WantEndEnd = wantEndEnd; m_Result = new List<IntersectionResult>(100); FindIntersections(index); }