def __init__( self, parentItem, psdLayer ): super( MQuadDeckPart, self ).__init__( psdLayer ) self.parentItem = parentItem self.meshes = [] self.globalMeshes = [] layerName = psdLayer.name meta = parseMetaTag( layerName ) if meta: tags = meta[ 'tags' ] else: tags = {} self.foldMode = 'auto' self.altOffset = 0 if tags.has_key( 'FOLD' ): self.foldMode = 'fold' args = tags[ 'FOLD' ] self.foldPos = getArrayI( args, 0, 0 ) elif tags.has_key( 'FLOOR' ): self.foldMode = 'floor' elif tags.has_key( 'WALL' ): self.foldMode = 'wall' if tags.has_key( 'OFF' ): args = tags[ 'OFF' ] self.rectOffset = ( getArrayI( args, 0, 0 ), getArrayI( args, 1, 0 ), getArrayI( args, 2, 0 ) ) else: self.rectOffset = ( 0,0,0 )
def __init__(self, parentItem, psdLayer): super(MQuadDeckPart, self).__init__(psdLayer) self.parentItem = parentItem self.meshes = [] self.globalMeshes = [] layerName = psdLayer.name meta = parseMetaTag(layerName) if meta: tags = meta['tags'] else: tags = {} self.foldMode = 'auto' self.altOffset = 0 if tags.has_key('FOLD'): self.foldMode = 'fold' args = tags['FOLD'] self.foldPos = getArrayI(args, 0, 0) elif tags.has_key('FLOOR') or tags.has_key('F'): self.foldMode = 'floor' elif tags.has_key('WALL') or tags.has_key('W'): self.foldMode = 'wall' if tags.has_key('OFF'): args = tags['OFF'] self.rectOffset = (getArrayI(args, 0, 0), getArrayI(args, 1, 0), getArrayI(args, 2, 0)) else: self.rectOffset = (0, 0, 0)
def __init__( self, project, psdLayer ): super( DeckPartMQuad, self ).__init__( project, psdLayer ) self.meshes = [] self.globalMeshes = [] #parameter layerName = self.rawName metaInfo = parseMetaTag( layerName ) print( metaInfo ) self.options[ 'floor' ] = (':FLOOR' in layerName) self.options[ 'wall' ] = (':WALL' in layerName) self.options[ 'fold' ] = ('')
def __init__(self, project, psdLayer): super(DeckPartMQuad, self).__init__(project, psdLayer) self.meshes = [] self.globalMeshes = [] #parameter layerName = self.rawName metaInfo = parseMetaTag(layerName) print(metaInfo) self.options['floor'] = (':FLOOR' in layerName) self.options['wall'] = (':WALL' in layerName) self.options['fold'] = ('')
def processLayer( self, layer ): metaInfo = parseMetaTag( layer.name ) if not metaInfo: #invalid name, skip logging.warning( 'invalid psd deck layer name:' + layer.name ) return False for processor in self.processors: if processor.acceptLayer( layer, metaInfo ): processor.processLayer( layer, metaInfo ) return True return False
def processLayer( self, layer ): metaInfo = parseMetaTag( layer.name ) if not metaInfo: #invalid name, skip logging.warning( 'invalid psd deck layer name:' + layer.name ) return False for processor in self.processors: if processor.acceptLayer( layer, metaInfo, False ): processor.processLayer( layer, metaInfo ) return True if self.defaultProcessor: if self.defaultProcessor.acceptLayer( layer, metaInfo, True ): self.defaultProcessor.processLayer( layer, metaInfo ) return True return False
def __init__( self, name, partLayers ): meta = parseMetaTag( name ) if meta: self.name = meta['name'] else: self.name = name self.rawName = name self.parts = [] self.heightGuides = [] self.heightGuideImage = None for layer in partLayers: layerName = layer.name.encode( 'utf-8' ) if layerName.startswith( '//' ): continue if layerName.startswith( '@' ) : if layerName.startswith( '@hmap' ): #normal guide self.heightGuides.append( layer ) continue part = self.createPart( layer ) self.parts.append( part )
def __init__(self, name, partLayers): meta = parseMetaTag(name) if meta: self.name = meta['name'] else: self.name = name self.rawName = name self.parts = [] self.heightGuides = [] self.heightGuideImage = None for layer in partLayers: layerName = layer.name.encode('utf-8') if layerName.startswith('//'): continue if layerName.startswith('@'): if layerName.startswith('@hmap'): #normal guide self.heightGuides.append(layer) continue part = self.createPart(layer) self.parts.append(part)
def loadPSD( self, path ): image = PSDImage.load( path ) #root layers for layer in image.layers: if not isinstance( layer, Group ): layerName = layer.name.encode( 'utf-8' ) if layerName == '@guide-top-face': x1,y1,x2,y2 = layer.bbox self.globalGuideTopFace = y1 for layer in image.layers: layerName = layer.name.encode( 'utf-8' ) if layerName.startswith( '//' ): continue if isinstance( layer, Group ): mo = re.match( r'\s*([\w\-\._]+)(\s*:\s*(.*))?\s*', layerName ) if mo: name, profix = mo.group(1), mo.group(3) or self.defaultDeckProfix meta = parseMetaTag( layerName ) for factory in self.deckFactories: deck = factory.build( self, layer, name, profix, meta ) if deck: self.decks.append( deck )
def loadPSD(self, path): image = PSDImage.load(path) #root layers for layer in image.layers: if not isinstance(layer, Group): layerName = layer.name.encode('utf-8') if layerName == '@guide-top-face': x1, y1, x2, y2 = layer.bbox self.globalGuideTopFace = y1 for layer in image.layers: layerName = layer.name.encode('utf-8') if layerName.startswith('//'): continue if isinstance(layer, Group): mo = re.match(r'\s*([\w\-\._]+)(\s*:\s*(.*))?\s*', layerName) if mo: name, profix = mo.group( 1), mo.group(3) or self.defaultDeckProfix meta = parseMetaTag(layerName) for factory in self.deckFactories: deck = factory.build(self, layer, name, profix, meta) if deck: self.decks.append(deck)