AddPoint.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { dataService } from "../Service/DataService";
  2. import { lineService } from "../Service/LineService";
  3. import { pointService } from "../Service/PointService";
  4. import VectorCategory from "../enum/VectorCategory";
  5. import Point from "../Geometry/Point.js";
  6. import { mathUtil } from "../Util/MathUtil";
  7. import addLine from "./AddLine";
  8. import Settings from "../Settings";
  9. import { stateService } from "../Service/StateService";
  10. import LayerEvents from "../enum/LayerEvents";
  11. import VectorType from "../enum/VectorType";
  12. import Constant from "../Constant";
  13. import { listenLayer } from "../ListenLayer";
  14. import { textService } from "../Service/TextService";
  15. import { uiService } from "../Service/UIService";
  16. export default class AddPoint {
  17. constructor() {
  18. this.testPointIds = []; //所有待测点
  19. }
  20. //添加固定点/基准点
  21. buildPoint(position) {
  22. let newPoint = null;
  23. if (listenLayer.modifyPoint && listenLayer.modifyPoint.linkedPointId) {
  24. return null;
  25. }
  26. if (Settings.selectPointCategory == VectorCategory.Point.BasePoint) {
  27. newPoint = pointService.create(position);
  28. Settings.selectBasePointId = newPoint.vectorId;
  29. stateService.setEventName(LayerEvents.AddPoint);
  30. } else if (Settings.selectPointCategory == VectorCategory.Point.FixPoint) {
  31. newPoint = pointService.create(position);
  32. stateService.setEventName(LayerEvents.AddPoint);
  33. const textVector = textService.create(position);
  34. textVector.setValue("固定点");
  35. newPoint.linkedTextId = textVector.vectorId;
  36. textVector.linkedPointId = newPoint.vectorId;
  37. }
  38. uiService.setSelectPointCategory(VectorCategory.Point.NormalPoint);
  39. listenLayer.clear();
  40. return newPoint;
  41. }
  42. isFocusBasePoint() {
  43. if (Settings.selectBasePointId) {
  44. let point = dataService.getPoint(Settings.selectBasePointId);
  45. if (point.getCategory() == VectorCategory.Point.BasePoint) {
  46. return point;
  47. }
  48. }
  49. return null;
  50. }
  51. deleteTestPoints() {
  52. for (let i = 0; i < this.testPointIds.length; ++i) {
  53. pointService.deletePoint(this.testPointIds[i]);
  54. }
  55. this.testPointIds = [];
  56. }
  57. resetTestPoints() {
  58. this.testPointIds = [];
  59. }
  60. }
  61. const addPoint = new AddPoint();
  62. export { addPoint };