SweepLineEvent.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Comparable from '../../../../../java/lang/Comparable'
  2. export default class SweepLineEvent {
  3. constructor() {
  4. SweepLineEvent.constructor_.apply(this, arguments)
  5. }
  6. static constructor_() {
  7. this._xValue = null
  8. this._eventType = null
  9. this._insertEvent = null
  10. this._deleteEventIndex = null
  11. this.sweepInt = null
  12. const x = arguments[0], insertEvent = arguments[1], sweepInt = arguments[2]
  13. this._xValue = x
  14. this._insertEvent = insertEvent
  15. this._eventType = SweepLineEvent.INSERT
  16. if (insertEvent !== null) this._eventType = SweepLineEvent.DELETE
  17. this.sweepInt = sweepInt
  18. }
  19. getInterval() {
  20. return this.sweepInt
  21. }
  22. isDelete() {
  23. return this._insertEvent !== null
  24. }
  25. setDeleteEventIndex(deleteEventIndex) {
  26. this._deleteEventIndex = deleteEventIndex
  27. }
  28. compareTo(o) {
  29. const pe = o
  30. if (this._xValue < pe._xValue) return -1
  31. if (this._xValue > pe._xValue) return 1
  32. if (this._eventType < pe._eventType) return -1
  33. if (this._eventType > pe._eventType) return 1
  34. return 0
  35. }
  36. getInsertEvent() {
  37. return this._insertEvent
  38. }
  39. isInsert() {
  40. return this._insertEvent === null
  41. }
  42. getDeleteEventIndex() {
  43. return this._deleteEventIndex
  44. }
  45. get interfaces_() {
  46. return [Comparable]
  47. }
  48. }
  49. SweepLineEvent.INSERT = 1
  50. SweepLineEvent.DELETE = 2