bool hasTransform() const{ return tr->hasData();}
virtual const Fill& getFill() const { if( fill && fill->hasData() ){ return fill->getData(); } throw std::runtime_error( "Called getFill() on an unfilled cell"); }
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" ); }
virtual bool hasFill() const { return fill && fill->hasData(); }