irange getYRange() const { return fill->getData().yrange; }
bool isFixedSize() const { return fill->getData().has_grid; }
virtual const Lattice& getLattice() const { if( lattice && lattice->hasData() ){ return lattice->getData(); } throw std::runtime_error( "Called getLattice() on a cell that hasn't got one" ); }
const Transform& getTransform() const { return tr->getData(); }
virtual const Fill& getFill() const { if( fill && fill->hasData() ){ return fill->getData(); } throw std::runtime_error( "Called getFill() on an unfilled cell"); }