| 1234567891011121314151617181920212223 |
- import FastSegmentSetIntersectionFinder from '../../noding/FastSegmentSetIntersectionFinder'
- import SegmentStringUtil from '../../noding/SegmentStringUtil'
- import PreparedLineStringIntersects from './PreparedLineStringIntersects'
- import BasicPreparedGeometry from './BasicPreparedGeometry'
- export default class PreparedLineString extends BasicPreparedGeometry {
- constructor() {
- super()
- PreparedLineString.constructor_.apply(this, arguments)
- }
- static constructor_() {
- this._segIntFinder = null
- const line = arguments[0]
- BasicPreparedGeometry.constructor_.call(this, line)
- }
- getIntersectionFinder() {
- if (this._segIntFinder === null) this._segIntFinder = new FastSegmentSetIntersectionFinder(SegmentStringUtil.extractSegmentStrings(this.getGeometry()))
- return this._segIntFinder
- }
- intersects(g) {
- if (!this.envelopesIntersect(g)) return false
- return PreparedLineStringIntersects.intersects(this, g)
- }
- }
|