Example #1
0
	def Save( self, dlg, minX, minY, subRgn ):
		"save the region to SC4File"
		print "saving"
		saved = True
		for i,city in enumerate( self.allCities ):      
			dlg.Update( i, "Please wait while saving the region"+"\nSaving "+" City - New city(%03d-%03d).sc4"%( city.cityXPos, city.cityYPos ) )
			citySave = CityProxy( self.waterLevel, city.cityXPos-minX, city.cityYPos-minY, city.cityXSize, city.cityYSize )
			citySave.heightMap = Numeric.zeros( (citySave.ySize, citySave.xSize), Numeric.uint16 )
			citySave.heightMap[::,::] =  self.height[ citySave.yPos+subRgn[1]:citySave.yPos+subRgn[1]+citySave.ySize,citySave.xPos+subRgn[0]:citySave.xPos+subRgn[0]+citySave.xSize ]	  
			citySave.heightMap = citySave.heightMap.astype( Numeric.float32 ) / Numeric.asarray( 10, Numeric.float32 )
			x1 = citySave.xPos
			y1 = citySave.yPos
			x2 = x1 + citySave.xSize
			y2 = y1 + citySave.ySize
			print x1,y1,x2,y2
			print citySave.yPos+subRgn[2],'to',citySave.yPos+subRgn[2]+citySave.ySize,'and',citySave.xPos+subRgn[0],'to',citySave.xPos+subRgn[0]+citySave.xSize
			lightDir = Normalize( (1, -5, -1) )
			rawRGB = tools3D.onePassColors( False, citySave.heightMap.shape, self.waterLevel, citySave.heightMap, GradientReader.paletteWater, GradientReader.paletteLand, lightDir )	  
			print citySave.heightMap.shape,len(rawRGB)
			try:
				if not Save( citySave, self.folder,rawRGB,self.waterLevel ):
					saved = False
			except:
				print 'problem while saving',citySave.fileName,city.cityXPos,city.cityYPos,city.cityXSize,city.cityYSize
				saved = False
			citySave.heightMap = None
		return saved
Example #2
0
def ComputeOneRGB(bLight, height, waterLevel, region):
    lightDir = Normalize((1, -5, -1))
    rawRGB = tools3D.onePassColors(bLight, height.shape, waterLevel, height,
                                   GradientReader.paletteWater,
                                   GradientReader.paletteLand, lightDir)
    rgb = Numeric.fromstring(rawRGB, Numeric.int8)
    rgb = Numeric.reshape(rgb, (height.shape[0], height.shape[1], 3))
    return rgb
Example #3
0
 def Save(self, dlg, minX, minY, subRgn):
     "save the region to SC4File"
     print "saving"
     saved = True
     for i, city in enumerate(self.allCities):
         dlg.Update(
             i, "Please wait while saving the region" + "\nSaving " +
             " City - New city(%03d-%03d).sc4" %
             (city.cityXPos, city.cityYPos))
         citySave = CityProxy(self.waterLevel, city.cityXPos - minX,
                              city.cityYPos - minY, city.cityXSize,
                              city.cityYSize)
         citySave.heightMap = Numeric.zeros(
             (citySave.ySize, citySave.xSize), Numeric.uint16)
         citySave.heightMap[::, ::] = self.height[citySave.yPos +
                                                  subRgn[1]:citySave.yPos +
                                                  subRgn[1] +
                                                  citySave.ySize,
                                                  citySave.xPos +
                                                  subRgn[0]:citySave.xPos +
                                                  subRgn[0] +
                                                  citySave.xSize]
         citySave.heightMap = citySave.heightMap.astype(
             Numeric.float32) / Numeric.asarray(10, Numeric.float32)
         x1 = citySave.xPos
         y1 = citySave.yPos
         x2 = x1 + citySave.xSize
         y2 = y1 + citySave.ySize
         print x1, y1, x2, y2
         print citySave.yPos + subRgn[2], 'to', citySave.yPos + subRgn[
             2] + citySave.ySize, 'and', citySave.xPos + subRgn[
                 0], 'to', citySave.xPos + subRgn[0] + citySave.xSize
         lightDir = Normalize((1, -5, -1))
         rawRGB = tools3D.onePassColors(False, citySave.heightMap.shape,
                                        self.waterLevel, citySave.heightMap,
                                        GradientReader.paletteWater,
                                        GradientReader.paletteLand,
                                        lightDir)
         print citySave.heightMap.shape, len(rawRGB)
         try:
             if not Save(citySave, self.folder, rawRGB, self.waterLevel):
                 saved = False
         except:
             print 'problem while saving', citySave.fileName, city.cityXPos, city.cityYPos, city.cityXSize, city.cityYSize
             saved = False
         citySave.heightMap = None
     return saved
Example #4
0
def ComputeOneRGB( bLight ,height, waterLevel, region):      
	lightDir = Normalize( (1, -5, -1) )
	rawRGB = tools3D.onePassColors( bLight, height.shape, waterLevel, height, GradientReader.paletteWater, GradientReader.paletteLand, lightDir )
	rgb = Numeric.fromstring( rawRGB, Numeric.int8 )
	rgb = Numeric.reshape( rgb, ( height.shape[0], height.shape[1], 3 )  )
	return rgb