import { Vector2, Vector3, Quaternion, Group, Mesh } from '../../../node_modules/three/build/three.module.js';
import { Reporter } from '../../reporter/reporter.js';
import { checkPropTypes } from '../../lib.js';
import { BuildableComponent } from '../component/buildable_component.js';
import { Block } from './block.js';
import { PositionedComponent } from '../component/positioned_component.js';
import { Configuration } from '../../configurator/configuration.js';
/**
* Block that is embedded in a 3D structure and therefore needs spatial information
*/
class PositionedBlock extends PositionedComponent {
/**
* @param {Reporter} reporter
* @param {Object} settings
* @param {UUID} [settings.id]
* @param {string} [settings.name]
* @param {Vector3} settings.position
* @param {Quaternion} settings.quaternion
* @param {Block} settings.component - the block to position
*/
constructor( reporter, settings ) {
super(
reporter,
settings,
// { useComponentName: 'mesh' }
);
checkPropTypes(
settings,
{
component: Block
},
{}
);
// this.exportName = 'positionedBlocks';
// this.exportEntry = settings.mesh;
}
static _exportName = {
singular: 'positionedBlock',
plural: 'positionedBlocks'
};
static _exportLevel = 'inline';
};
export { PositionedBlock };