@@ -18,6 +18,7 @@ class ShapeAlgorithm {
18
18
this . matrix = [ ] ;
19
19
this . labels = [ ] ;
20
20
this . sizes = [ ] ;
21
+ this . positions = [ ] ;
21
22
22
23
this . init ( ) ;
23
24
}
@@ -100,6 +101,14 @@ class ShapeAlgorithm {
100
101
101
102
const color = this . randomColor ( ) ;
102
103
104
+ if ( ! this . positions [ `${ this . biggest_box . w } _${ this . biggest_box . h } ` ] ) this . positions [ `${ this . biggest_box . w } _${ this . biggest_box . h } ` ] = [ ] ;
105
+ this . positions [ `${ this . biggest_box . w } _${ this . biggest_box . h } ` ] . push ( {
106
+ "from_w" : i + 1 ,
107
+ "from_h" : j + 1 ,
108
+ "to_w" : i + this . biggest_box . h ,
109
+ "to_h" : j + this . biggest_box . w
110
+ } ) ;
111
+
103
112
for ( let k = 0 ; k < this . biggest_box . h ; k ++ ) {
104
113
for ( let l = 0 ; l < this . biggest_box . w ; l ++ ) {
105
114
this . matrix [ i + k ] [ j + l ] = {
@@ -128,9 +137,16 @@ class ShapeAlgorithm {
128
137
this . labels [ `${ size [ 0 ] } _${ size [ 1 ] } ` ] . quantity ++ ;
129
138
const key = this . labels [ `${ size [ 0 ] } _${ size [ 1 ] } ` ] ;
130
139
131
-
132
140
const color = this . randomColor ( ) ;
133
141
142
+ if ( ! this . positions [ `${ size [ 0 ] } _${ size [ 1 ] } ` ] ) this . positions [ `${ size [ 0 ] } _${ size [ 1 ] } ` ] = [ ] ;
143
+ this . positions [ `${ size [ 0 ] } _${ size [ 1 ] } ` ] . push ( {
144
+ "from_w" : res [ "x" ] + 1 ,
145
+ "from_h" : res [ "y" ] + 1 ,
146
+ "to_w" : res [ "x" ] + size [ 0 ] ,
147
+ "to_h" : res [ "y" ] + size [ 1 ]
148
+ } ) ;
149
+
134
150
for ( let i = 0 ; i < size [ 1 ] ; i ++ ) {
135
151
for ( let j = 0 ; j < size [ 0 ] ; j ++ ) {
136
152
this . matrix [ res [ "y" ] + i ] [ res [ "x" ] + j ] = {
@@ -221,7 +237,8 @@ class ShapeAlgorithm {
221
237
"label" : label . name ,
222
238
"quantity" : label . quantity ,
223
239
"width" : parseInt ( keys [ 0 ] ) ,
224
- "height" : parseInt ( keys [ 1 ] )
240
+ "height" : parseInt ( keys [ 1 ] ) ,
241
+ "positions" : this . positions [ `${ keys [ 0 ] } _${ keys [ 1 ] } ` ]
225
242
} ) ;
226
243
}
227
244
0 commit comments