#if some of the decision-making code from buildCity() were done here (like determining 1-per-face) the whole program could be made more modular and interactive-friendly
mapObject=context.object
random.seed(self.randomSeed)
options=[
self.whatChanged,#0 the property that has changed
self.alignToNormals,#1 Boolean. True aligns object's 'up' axis with the face's normal. False aligns it with Global Z
self.sgMaterialName,#2 String of the material's name
self.onePerFace,#3 Boolean. True places one object on each face. False walks the edges placing many
self.sgGroupScale,#4 Float. Manually-set scale for individual objects
self.sgStreetSize,#5 Float. Amount of empty space left between a placed object and its parent edge
self.sgScaleType,#6 String. Method for determining the size of placed objects
self.sgScaleBasis,#7 Float. Base scale factor for LOCAL scale restriction
self.sgScaleTol,#8 Float. Scale Tolerance
self.sgScaleConform#9 Enum. Behaviour for out-of-range scale values