test rowGenerator

by Konstantin Cryman

HTML

<script src="https://threejs.org/build/three.min.js"></script>

JavaScript

let getGlobalConfig = function( options ){

            let sectionWidth = options.rowWidth * options.rowNum;
            let sectionZOffset = sectionWidth/2;
            let sectionHeight = options.rowHeight * options.rowNum;
            let sectionYOffset = -sectionWidth/2;

            let chairsDifference = options.chairEnd - options.chairStart;

            let sectionLng = {
                min: options.chairSpace * options.chairStart,
                max: options.chairSpace * options.chairEnd,
                dif: options.chairSpace * options.chairEnd - options.chairSpace * options.chairStart
            };

            let rowsZMinMax = [];
            let rowsYMinMax = [];
            let rowsXMinMax = [];
            let rowsChairsCount = [];

            //computeZ
            for( let i = 0; i < options.rowNum; i++ ){
                rowsZMinMax[ i ] = {
                    min: sectionZOffset + ( i * options.rowWidth ),
                    max: sectionZOffset + ( i * options.rowWidth ) + options.rowWidth
                };
            }

            //computeY
            for( let i = 0; i < options.rowNum; i++ ){
                rowsYMinMax[ i ] = {
                    min: sectionYOffset,
                    max: sectionYOffset + ( i * options.rowHeight ) + options.rowHeight
                };
            }

            //computeX
            for( let i = 0; i < options.rowNum; i++ ){

                let rowAlpha = (i/options.rowNum);

                rowsChairsCount[ i ] = options.chairStart + Math.ceil( chairsDifference * (i/(options.rowNum-1)) );

                if( i === 0 ){
                    rowsXMinMax[ i ] = {
                        minA: -( ( sectionLng.min + ( sectionLng.dif * rowAlpha ) ) /2 ),
                        maxA:  ( sectionLng.min + ( sectionLng.dif * rowAlpha ) ) /2,
                        minB: false,
                        maxB: false,
                    };
                } else if ( i === options.rowNum-1 ){
     ...