seat numbering algorithm working

This commit is contained in:
2023-09-20 16:13:00 +02:00
parent 32baf07c39
commit 203af48961
6 changed files with 31 additions and 22 deletions

File diff suppressed because one or more lines are too long

View File

@@ -67,7 +67,7 @@ export default {
let details = { 'data': {}, 'id': this.id }; let details = { 'data': {}, 'id': this.id };
for ( let row = this.startingRow; row < count; row++ ) { for ( let row = this.startingRow; row < count; row++ ) {
let nn = row * ( Math.PI / 2 ); let nn = row * ( Math.PI / 2 );
details.data[ row ] = Math.floor( nn ); details.data[ row - 1 ] = Math.ceil( nn );
let r = row * size; let r = row * size;
this.seats[ row ] = {}; this.seats[ row ] = {};
for ( let n = 0; n < nn; n++ ) { for ( let n = 0; n < nn; n++ ) {

View File

@@ -72,7 +72,7 @@ export default {
for ( let row = this.startingRow; row < count; row++ ) { for ( let row = this.startingRow; row < count; row++ ) {
let nn = 2 + ( row - 1 ) * 2; let nn = 2 + ( row - 1 ) * 2;
this.seats[ row ] = {}; this.seats[ row ] = {};
details.data[ row ] = Math.floor( nn ); details.data[ row - 1 ] = Math.floor( nn );
for ( let n = 0; n < nn; n++ ) { for ( let n = 0; n < nn; n++ ) {
let side = n * sideOffset; let side = n * sideOffset;
if ( this.origin === 1 ) { if ( this.origin === 1 ) {

View File

@@ -73,10 +73,13 @@ export default {
console.log( this.data.seatInfo ); console.log( this.data.seatInfo );
let offsets = {}; let offsets = {};
if ( this.data.seatInfo ) { if ( this.data.seatInfo ) {
for ( let element in this.data.seatInfo.data ) { for ( let element in this.data.seatInfo.data[ this.data.sector ] ) {
if ( this.data.seatInfo.data[ element ] > this.data.seatNumbering ) { if ( element < this.data.seatNumbering ) {
for ( let row in this.data.seatInfo.data[ element ] ) { for ( let row in this.data.seatInfo.data[ this.data.sector ][ element ] ) {
offsets[ row ] += this.data.seatInfo.data[ element ][ row ]; if ( row !== 'startingRow' ) {
if ( !offsets[ row ] ) offsets[ row ] = 0;
offsets[ row ] += this.data.seatInfo.data[ this.data.sector ][ element ][ row ];
}
} }
} }
} }
@@ -90,8 +93,8 @@ export default {
let nn = row * ( Math.PI / 2 ); let nn = row * ( Math.PI / 2 );
let r = row * size; let r = row * size;
this.seats[ row ] = {}; this.seats[ row ] = {};
for ( let n = ( offsets[ row ] ?? 0 ); n < ( nn + ( offsets[ row ] ?? 0 ) ); n++ ) { for ( let n = 0; n < nn; n++ ) {
const seatNumber = this.data.numberingDirection === 'right' ? ( Math.floor( w / size ) + ( offsets[ row ] ?? 0 ) ) - n: n; const seatNumber = this.data.numberingDirection === 'right' ? nn - n: n + ( offsets[ row - 1 ] ?? 0 );
this.seats[ row ][ n ] = { this.seats[ row ][ n ] = {
'style': '', 'style': '',
'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber, 'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber,

View File

@@ -75,11 +75,15 @@ export default {
// Size of seat at scale 1 is 32px // Size of seat at scale 1 is 32px
// w & h are normalised // w & h are normalised
let offsets = {}; let offsets = {};
console.log( this.data.seatInfo );
if ( this.data.seatInfo ) { if ( this.data.seatInfo ) {
for ( let element in this.data.seatInfo.data ) { for ( let element in this.data.seatInfo.data[ this.data.sector ] ) {
if ( this.data.seatInfo.data[ element ] > this.data.seatNumbering ) { if ( element < this.data.seatNumbering ) {
for ( let row in this.data.seatInfo.data[ element ] ) { for ( let row in this.data.seatInfo.data[ this.data.sector ][ element ] ) {
offsets[ row ] += this.data.seatInfo.data[ element ][ row ]; if ( row !== 'startingRow' ) {
if ( !offsets[ row ] ) offsets[ row ] = 0;
offsets[ row ] += this.data.seatInfo.data[ this.data.sector ][ element ][ row ];
}
} }
} }
} }
@@ -90,8 +94,8 @@ export default {
this.seats = {}; this.seats = {};
for ( let row = 0; row < Math.floor( h / size ); row++ ) { for ( let row = 0; row < Math.floor( h / size ); row++ ) {
this.seats[ row ] = {}; this.seats[ row ] = {};
for ( let n = ( offsets[ row ] ?? 0 ); n < ( Math.floor( w / size ) + ( offsets[ row ] ?? 0 ) ); n++ ) { for ( let n = 0; n < Math.floor( w / size ); n++ ) {
const seatNumber = this.data.numberingDirection === 'right' ? ( Math.floor( w / size ) + ( offsets[ row ] ?? 0 ) ) - n: n; const seatNumber = this.data.numberingDirection === 'right' ? Math.floor( w / size ) - n: n + ( offsets[ row ] ?? 0 );
this.seats[ row ][ n ] = { this.seats[ row ][ n ] = {
'style': '', 'style': '',
'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber, 'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber,

View File

@@ -70,13 +70,15 @@ export default {
calculateChairs () { calculateChairs () {
// Size of seat at scale 1 is 32px // Size of seat at scale 1 is 32px
// w & h are normalised // w & h are normalised
// TODO: update to new algorithm
let offsets = {}; let offsets = {};
if ( this.data.seatInfo ) { if ( this.data.seatInfo ) {
for ( let element in this.data.seatInfo.data ) { for ( let element in this.data.seatInfo.data[ this.data.sector ] ) {
if ( this.data.seatInfo.data[ element ] > this.data.seatNumbering ) { if ( element < this.data.seatNumbering ) {
for ( let row in this.data.seatInfo.data[ element ] ) { for ( let row in this.data.seatInfo.data[ this.data.sector ][ element ] ) {
offsets[ row ] += this.data.seatInfo.data[ element ][ row ]; if ( row !== 'startingRow' ) {
if ( !offsets[ row ] ) offsets[ row ] = 0;
offsets[ row ] += this.data.seatInfo.data[ this.data.sector ][ element ][ row ];
}
} }
} }
} }
@@ -93,8 +95,8 @@ export default {
for ( let row = this.startingRow; row < count; row++ ) { for ( let row = this.startingRow; row < count; row++ ) {
let nn = 2 + ( row - 1 ) * 2; let nn = 2 + ( row - 1 ) * 2;
this.seats[ row ] = {}; this.seats[ row ] = {};
for ( let n = ( offsets[ row ] ?? 0 ); n < ( nn + ( offsets[ row ] ?? 0 ) ); n++ ) { for ( let n = 0; n < nn; n++ ) {
const seatNumber = this.data.numberingDirection === 'right' ? ( Math.floor( w / size ) + ( offsets[ row ] ?? 0 ) ) - n: n; const seatNumber = this.data.numberingDirection === 'right' ? nn - n: n + ( offsets[ row - 1 ] ?? 0 );
this.seats[ row ][ n ] = { this.seats[ row ][ n ] = {
'style': '', 'style': '',
'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber, 'id': 'comp' + this.id + 'sec' + this.data.sector + 'r' + row + 's' + seatNumber,