#pragma once
#include "BuildLattice.h"

template<class CellType>
class BuilderGenericLattice : public BuildLattice<CellType>
{
public:
	BuilderGenericLattice(GenericLatticeData& data)
	{
		_cellX = data.dx;
		_cellY = data.dy;
		_cellZ = data.dz;
		_cellPositions = std::move(data.positions);
		if (data.radii.size() == 1)
		{
			size_t nCells = _cellPositions.size();
			data.radii.resize(nCells);
			for (size_t i = 1; i < nCells; i++)
				data.radii[i] = data.radii[0];
		}
		_cellRadii = std::move(data.radii);
	}
};