@eturnity/eturnity_3d 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_3d",
3
3
  "private": false,
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "main": "dist/main.js",
6
6
  "scripts": {
7
7
  "dev": "vue-cli-service serve --skip-plugins @vue/cli-plugin-eslint",
@@ -40,8 +40,7 @@ export async function hydrateData({ state, commit }, data) {
40
40
  commit('mutate_layoutSettings', layoutSetting)
41
41
  commit('mutate_module_texture_version_id', layoutSetting.module_texture_version_id)
42
42
  let layers=getLayers()
43
- console.log(layers,layoutSetting.map_layer)
44
- let selectedLayer=layers.find(layer=>layer.key==layoutSetting.map_layer)
43
+ let selectedLayer=layers.find(layer=>layer.key==layoutSetting.background_map_settings.layerKey)
45
44
  commit('mutate_selectedMapLayer', selectedLayer)
46
45
 
47
46
  //end of layoutSetting correction
@@ -1,19 +1,17 @@
1
1
  import { Point, Line } from '@eturnity/eturnity_maths'
2
2
  import { mmTolerance } from '../config'
3
3
  import {
4
- isSamePoint2D,
5
4
  isSamePoint3D,
6
- isSameSegment2D,
7
5
  isAlmostSameSegment2D,
8
6
  isSameSegment3D,
9
7
  isAlmostSamePoint2D
10
8
  } from '@eturnity/eturnity_maths'
11
9
 
12
- export function generateNodes2D(polygons, constructionPolyline) {
10
+ export function generateNodes2D(polygons) {
13
11
  let nodes2D = []
14
12
  polygons
15
13
  .filter((poly) =>
16
- ['roof', 'obstacle', 'tmpModuleField', 'moduleField'].includes(poly.layer)
14
+ ['roof', 'obstacle', 'tmpModuleField', 'moduleField','construction'].includes(poly.layer)
17
15
  )
18
16
  .forEach((polygon) => {
19
17
  const outline = polygon.outline
@@ -25,6 +23,7 @@ export function generateNodes2D(polygons, constructionPolyline) {
25
23
  if (!node2D) {
26
24
  node2D = new Point(point.x, point.y, point.z, polygon.layer)
27
25
  node2D.belongsTo = []
26
+ node2D.id="node2D"
28
27
  node2D.itemType = 'node2D'
29
28
  node2D.layer = polygon.layer
30
29
  node2D.masterHandle = {
@@ -40,35 +39,19 @@ export function generateNodes2D(polygons, constructionPolyline) {
40
39
  index: i,
41
40
  polygon
42
41
  })
42
+ node2D.id+="_"+polygon.id+"_"+i
43
43
  })
44
44
  })
45
- if (constructionPolyline) {
46
- constructionPolyline.outline.forEach((point, i) => {
47
- //check if nodes2D already exist
48
- const node2D = new Point(
49
- point.x,
50
- point.y,
51
- point.z,
52
- constructionPolyline.layer
53
- )
54
- node2D.belongsTo = [
55
- {
56
- polygonId: constructionPolyline.id,
57
- index: i,
58
- polygon: constructionPolyline
59
- }
60
- ]
61
- node2D.itemType = 'node2D'
62
- node2D.layer = constructionPolyline.layer
63
- nodes2D.push(node2D)
64
- })
65
- }
45
+
66
46
  //all nodes has been created. now lets update open/selected field
67
47
  nodes2D.forEach((node2D) => {
68
48
  if (node2D.masterHandle) {
69
49
  node2D.masterHandle.open =
70
- node2D.belongsTo.filter((item) => item.polygon.outline[item.index].open)
50
+ node2D.belongsTo.filter((item) => item.polygon.outline[item.index].open || item.polygon.outline[item.index].hasWarning)
71
51
  .length > 0
52
+ node2D.masterHandle.hasWarning =
53
+ node2D.belongsTo.filter((item) => item.polygon.outline[item.index].hasWarning)
54
+ .length > 0
72
55
  node2D.masterHandle.selected =
73
56
  node2D.belongsTo.filter(
74
57
  (item) => item.polygon.outline[item.index].selected
@@ -92,6 +75,7 @@ export function generateNodes3D(polygons) {
92
75
  if (!node3D) {
93
76
  node3D = new Point(point.x, point.y, point.z, polygon.layer)
94
77
  node3D.belongsTo = []
78
+ node3D.id="node3D"
95
79
  node3D.itemType = 'node3D'
96
80
  node3D.layer = polygon.layer
97
81
  node3D.masterHandle = {
@@ -107,6 +91,7 @@ export function generateNodes3D(polygons) {
107
91
  index: i,
108
92
  polygon
109
93
  })
94
+ node3D.id+="_"+polygon.id+"_"+i
110
95
  })
111
96
  })
112
97
  //all nodes has been created. now lets update open/selected field
@@ -124,13 +109,16 @@ export function generateNodes3D(polygons) {
124
109
  return nodes3D
125
110
  }
126
111
 
127
- export function generateEdges2D(polygons, constructionPolyline) {
112
+ export function generateEdges2D(polygons) {
128
113
  let edges2D = []
129
114
  polygons
130
- .filter((poly) => ['roof', 'obstacle'].includes(poly.layer))
115
+ .filter((poly) => ['roof', 'obstacle','moduleField','construction'].includes(poly.layer))
131
116
  .forEach((polygon) => {
132
117
  const outline = polygon.outline
133
118
  outline.forEach((point, i) => {
119
+ if(!polygon.isClosed && i==outline.length-1){
120
+ return
121
+ }
134
122
  //check if edge2D already exist
135
123
  const nextPoint = outline[(i + 1) % outline.length]
136
124
  let edge2D = edges2D.find((edge) => {
@@ -142,6 +130,7 @@ export function generateEdges2D(polygons, constructionPolyline) {
142
130
  if (!edge2D) {
143
131
  //create an edge at this position
144
132
  edge2D = new Line(point, nextPoint, polygon.layer)
133
+ edge2D.id='edge2D'
145
134
  edge2D.belongsTo = []
146
135
  edge2D.layer = polygon.layer
147
136
  edge2D.selected = false
@@ -154,31 +143,9 @@ export function generateEdges2D(polygons, constructionPolyline) {
154
143
  index: i,
155
144
  polygon
156
145
  })
146
+ edge2D.id+="_"+polygon.id+"_"+i
157
147
  })
158
148
  })
159
- if (constructionPolyline) {
160
- constructionPolyline.outline.forEach((point, i) => {
161
- //check if nodes2D already exist
162
- if (i != constructionPolyline.outline.length - 1) {
163
- const nextPoint =
164
- constructionPolyline.outline[
165
- (i + 1) % constructionPolyline.outline.length
166
- ]
167
- const edge2D = new Line(point, nextPoint, constructionPolyline.layer)
168
- edge2D.belongsTo = [
169
- {
170
- polygonId: constructionPolyline.id,
171
- index: i,
172
- polygon: constructionPolyline
173
- }
174
- ]
175
- edge2D.layer = constructionPolyline.layer
176
- edge2D.selected = false
177
- edge2D.itemType = 'edge2D'
178
- edges2D.push(edge2D)
179
- }
180
- })
181
- }
182
149
  return edges2D
183
150
  }
184
151
 
@@ -198,6 +165,7 @@ export function generateEdges3D(polygons) {
198
165
  if (!edge3D) {
199
166
  //create an edge at this position
200
167
  edge3D = new Line(point, nextPoint, polygon.layer)
168
+ edge3D.id='edge3D'
201
169
  edge3D.belongsTo = []
202
170
  edge3D.layer = polygon.layer
203
171
  edge3D.selected = false
@@ -210,6 +178,7 @@ export function generateEdges3D(polygons) {
210
178
  index: i,
211
179
  polygon
212
180
  })
181
+ edge3D.id+="_"+polygon.id+"_"+i
213
182
  })
214
183
  })
215
184
  return edges3D