智慧水务管理系统 - 精河县供水工程综合管理平台

PickId.js 844B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // @ts-check
  2. /** @import Color from "../Core/Color.js"; */
  3. /** @import {Destroyable} from "../Core/globalTypes.js"; */
  4. /**
  5. * Represents a pickable object with a unique integer ID and picking color.
  6. *
  7. * @implements {Destroyable}
  8. * @ignore
  9. */
  10. class PickId {
  11. /**
  12. * @param {Map<number, object>} pickObjects
  13. * @param {number} key
  14. * @param {Color} color
  15. */
  16. constructor(pickObjects, key, color) {
  17. this._pickObjects = pickObjects;
  18. /** @type {number} */
  19. this.key = key;
  20. /** @type {Color} */
  21. this.color = color;
  22. }
  23. /** @type {object} */
  24. get object() {
  25. return this._pickObjects.get(this.key);
  26. }
  27. set object(value) {
  28. this._pickObjects.set(this.key, value);
  29. }
  30. /** @returns {void} */
  31. destroy() {
  32. this._pickObjects.delete(this.key);
  33. return undefined;
  34. }
  35. }
  36. export default PickId;