A procedural modelling engine for generating buildings and other features in CityGML