1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import VectorType from '../enum/VectorType.js'
- import Icon from '../Geometry/Icon.js'
- import { mathUtil } from '../MathUtil.js'
- import { floorplanService } from './FloorplanService'
- import Constant from '../Constant'
- export default class IconService {
- constructor() {
- this.values = [];
- }
- getNewValue(){
- let value = 1;
- while(true){
- if(this.values.includes(value)){
- ++value;
- continue;
- }
- else{
- this.values.push(value);
- break;
- }
- }
- return value;
- }
- createIcon(leftTopPosition,rightDownPosition,value,vectorId,floor) {
- const radius = mathUtil.getDistance(leftTopPosition,rightDownPosition)/2
- const center = {
- x:(leftTopPosition.x+rightDownPosition.x)/2,
- y:(leftTopPosition.y+rightDownPosition.y)/2
- }
- if(value == null){
- value = this.getNewValue();
- }
- else{
- if(!this.values.includes(value)){
- this.values.push(value);
- }
- }
- const icon = new Icon(center, radius,value,vectorId,floor)
- floorplanService.addIcon(icon)
- return icon
- }
- createIcon2(center,radius,value,vectorId,floor) {
- const icon = new Icon(center, radius,value,vectorId,floor)
- floorplanService.addIcon(icon)
- return icon
- }
- updateIconVertex(vectorId,newPosition,index){
- const icon = floorplanService.getIcon(vectorId)
- icon.updatePoints(newPosition,index)
- }
- setIconInfo(iconInfo) {
- let icon = floorplanService.getIcon(iconInfo.vectorId)
- icon.vectorId = iconInfo.vectorId
- icon.radius = iconInfo.radius
- icon.value = iconInfo.value
- icon.angle = iconInfo.angle
- icon.center = JSON.parse(JSON.stringify(iconInfo.center))
- icon.points = JSON.parse(JSON.stringify(iconInfo.points))
- }
- deleteIcon(iconId, floorNum) {
- const icon = floorplanService.getIcon(iconId)
- const index = this.values.indexOf(icon.value);
- this.values.splice(index,1)
- floorplanService.deleteIcon(iconId, floorNum)
- }
- clear(){
- this.values = [];
- }
- }
- const iconService = new IconService()
- export { iconService }
|