def build( self, projContext ): ( dx0, dy0, dx1,dy1 ) = self.getDeckRect() # w = dx1 - dx0 # h = dy1 - dy0 w = self.w h = self.h ox, oy, oz = self.getDeckOffset() localGuideTopFace = self.h - ( self.alt - oy ) oy = oy + oz oz = - oz # print self.fullName, w, h, '|', ox, oy, oz, '|', localGuideTopFace #build mesh #format: x,y,z/ u,v /color if localGuideTopFace < h: x0 = 0 y0 = 0 z0 = 0 x1 = w y1 = h - localGuideTopFace z1 = 0 u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadFront = { 'verts' : [ [ x0 + ox, y0 +oy, z0 + oz ], [ x1 + ox, y0 +oy, z0 + oz ], [ x1 + ox, y1 +oy, z1 + oz ], [ x0 + ox, y1 +oy, z1 + oz ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadFront ) if localGuideTopFace > 0: x0 = 0 y0 = h - localGuideTopFace z0 = 0 x1 = w y1 = h z1 = -( y1 - y0 ) u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts' : [ [ x0 + ox, y0 + oy, z0 + oz ], [ x1 + ox, y0 + oy, z0 + oz ], [ x1 + ox, y1 + oy, z1 + oz ], [ x0 + ox, y1 + oy, z1 + oz ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadTop ) normalOption = { 'guide-top-face' : localGuideTopFace } self.imgNormal = makeNormalMap( self.getTextureMap(), normalOption )
def build( self, projContext ): foldMode = 'auto' if self.options['floor']: foldMode = 'floor' elif self.options['wall']: foldMode = 'wall' ( w, h ) = self.getSize() ( x, y ) = self.getOffset() localGuideTopFace = h if foldMode == 'auto': guideTopFace = projContext.get( 'guide-top-face', 0 ) localGuideTopFace = clamp( guideTopFace - y, 0, h ) elif foldMode == 'wall': localGuideTopFace = 0 elif foldMode == 'floor': localGuideTopFace = h img = DeckPartImg ( '', w, h, (0, 0, w, h) ) img.node = None img.src = self self.imgInfo = img #build normal tex = self.getTextureMap() normalOption = { 'guide-top-face' : localGuideTopFace } self.imgNormal = makeNormalMap( tex, normalOption ) self.guideTopFace = localGuideTopFace #build mesh #format: x,y,z/ u,v /color if localGuideTopFace < h: x0 = 0 y0 = 0 z0 = 0 x1 = w y1 = h - localGuideTopFace z1 = 0 u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadFront = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadFront ) if localGuideTopFace > 0: x0 = 0 y0 = h - localGuideTopFace z0 = 0 x1 = w y1 = h z1 = -( y1 - y0 ) u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadTop )
def onBuild( self, project ): foldMode = self.foldMode concave = False ( w, h ) = self.getSize() ( x, y ) = self.getOffset() (rectOffX, rectOffY, rectOffZ) = self.rectOffset localGuideTopFace = h if foldMode == 'auto': concave = False guideTopFace = project.getOption( 'global-guide-top-face', 0 ) localGuideTopFace = clamp( guideTopFace - y, 0, h ) elif foldMode == 'fold': foldPos = self.foldPos if foldPos < 0: concave = True localGuideTopFace = clamp( - foldPos , 0, h ) else: concave = False localGuideTopFace = clamp( h - foldPos , 0, h ) elif foldMode == 'wall': concave = False localGuideTopFace = 0 elif foldMode == 'floor': concave = False localGuideTopFace = h img = DeckPartImg ( '', w, h, (0, 0, w, h) ) img.node = None img.src = self self.imgInfo = img #build normal px0, py0, px1, py1 = self.parentItem.aabb offx = self.getLeft() - px0 offy = self.getTop() - py0 tex = self.getTextureMap() normalOption = { 'guide-top-face' : localGuideTopFace, 'concave' : concave, 'height_guide' : self.parentItem.heightGuideImage, 'height_guide_offset' : ( offx, offy ), 'height_guide_opacity': 1.0 } self.imgNormal = makeNormalMap( tex, normalOption ) self.guideTopFace = localGuideTopFace #build mesh #format: x,y,z/ u,v /color if concave: if localGuideTopFace < h: #TOP x0 = 0 + rectOffX y0 = 0 + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX y1 = h - localGuideTopFace + rectOffY z1 = -( y1 - y0 ) + rectOffZ u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadWall = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadWall ) if localGuideTopFace > 0: #WALL x0 = 0 + rectOffX y0 = h - localGuideTopFace + rectOffY z0 = -y0 + rectOffZ x1 = w + rectOffX y1 = h + rectOffY z1 = -y0 + rectOffZ u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadTop ) else: if localGuideTopFace < h: #WALL x0 = 0 + rectOffX y0 = 0 + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX y1 = h - localGuideTopFace + rectOffY z1 = 0 + rectOffZ u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadWall = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadWall ) if localGuideTopFace > 0: #TOP x0 = 0 + rectOffX y0 = h - localGuideTopFace + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX y1 = h + rectOffY z1 = -( y1 - y0 ) + rectOffZ u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts' : [ [ x0,y0,z0 ], [ x1,y0,z0 ], [ x1,y1,z1 ], [ x0,y1,z1 ] ], 'uv' : [ [ u0,v0 ], [ u1,v0 ], [ u1,v1 ], [ u0,v1 ], ] } self.meshes.append( quadTop )
def onBuild(self, project): foldMode = self.foldMode concave = False (w, h) = self.getSize() (x, y) = self.getOffset() (rectOffX, rectOffY, rectOffZ) = self.rectOffset localGuideTopFace = h if foldMode == 'auto': concave = False guideTopFace = project.getOption('global-guide-top-face', 0) localGuideTopFace = clamp(guideTopFace - y, 0, h) elif foldMode == 'fold': foldPos = self.foldPos if foldPos < 0: concave = True localGuideTopFace = clamp(-foldPos, 0, h) else: concave = False localGuideTopFace = clamp(h - foldPos, 0, h) elif foldMode == 'wall': concave = False localGuideTopFace = 0 elif foldMode == 'floor': concave = False localGuideTopFace = h img = DeckPartImg('', w, h, (0, 0, w, h)) img.node = None img.src = self self.imgInfo = img #build normal px0, py0, px1, py1 = self.parentItem.aabb offx = self.getLeft() - px0 offy = self.getTop() - py0 tex = self.getTextureMap() normalOption = { 'guide-top-face': localGuideTopFace, 'concave': concave, 'height_guide': self.parentItem.heightGuideImage, 'height_guide_offset': (offx, offy), 'height_guide_opacity': 1.0 } self.imgNormal = makeNormalMap(tex, normalOption) self.guideTopFace = localGuideTopFace #build mesh #format: x,y,z/ u,v /color hh = h - localGuideTopFace if concave: if localGuideTopFace < h: #TOP x0 = 0 + rectOffX y0 = 0 + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX # y1 = h - localGuideTopFace + rectOffY # z1 = -( y1 - y0 ) + rectOffZ y1 = y0 z1 = -hh + rectOffZ u0 = 0 v0 = 0 u1 = 1 v1 = float(hh) / h quadWall = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadWall) if localGuideTopFace > 0: #WALL x0 = 0 + rectOffX y0 = 0 + rectOffY z0 = -hh + rectOffZ # y0 = h - localGuideTopFace + rectOffY # z0 = -y0 + rectOffZ x1 = w + rectOffX y1 = localGuideTopFace + rectOffY z1 = z0 # y1 = h + rectOffY # z1 = -y0 + rectOffZ u0 = 0 v0 = 1 u1 = 1 v1 = float(hh) / h quadTop = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadTop) else: if localGuideTopFace < h: #WALL x0 = 0 + rectOffX y0 = 0 + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX y1 = hh + rectOffY z1 = 0 + rectOffZ u0 = 0 v0 = 0 u1 = 1 v1 = float(hh) / h quadWall = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadWall) if localGuideTopFace > 0: #TOP x0 = 0 + rectOffX y0 = hh + rectOffY z0 = 0 + rectOffZ x1 = w + rectOffX # y1 = h + rectOffY # z1 = -( y1 - y0 ) + rectOffZ y1 = y0 z1 = z0 - localGuideTopFace u0 = 0 v0 = float(hh) / h u1 = 1 v1 = 1 quadTop = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadTop)
def build(self, projContext): (dx0, dy0, dx1, dy1) = self.getDeckRect() # w = dx1 - dx0 # h = dy1 - dy0 w = self.w h = self.h ox, oy, oz = self.getDeckOffset() localGuideTopFace = self.h - (self.alt - oy) oy = oy + oz oz = -oz # print self.fullName, w, h, '|', ox, oy, oz, '|', localGuideTopFace #build mesh #format: x,y,z/ u,v /color if localGuideTopFace < h: x0 = 0 y0 = 0 z0 = 0 x1 = w y1 = h - localGuideTopFace z1 = 0 u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadFront = { 'verts': [[x0 + ox, y0 + oy, z0 + oz], [x1 + ox, y0 + oy, z0 + oz], [x1 + ox, y1 + oy, z1 + oz], [x0 + ox, y1 + oy, z1 + oz]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadFront) if localGuideTopFace > 0: x0 = 0 y0 = h - localGuideTopFace z0 = 0 x1 = w y1 = h z1 = -(y1 - y0) u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts': [[x0 + ox, y0 + oy, z0 + oz], [x1 + ox, y0 + oy, z0 + oz], [x1 + ox, y1 + oy, z1 + oz], [x0 + ox, y1 + oy, z1 + oz]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadTop) normalOption = {'guide-top-face': localGuideTopFace} self.imgNormal = makeNormalMap(self.getTextureMap(), normalOption)
def build(self, projContext): foldMode = 'auto' if self.options['floor']: foldMode = 'floor' elif self.options['wall']: foldMode = 'wall' (w, h) = self.getSize() (x, y) = self.getOffset() localGuideTopFace = h if foldMode == 'auto': guideTopFace = projContext.get('guide-top-face', 0) localGuideTopFace = clamp(guideTopFace - y, 0, h) elif foldMode == 'wall': localGuideTopFace = 0 elif foldMode == 'floor': localGuideTopFace = h img = DeckPartImg('', w, h, (0, 0, w, h)) img.node = None img.src = self self.imgInfo = img #build normal tex = self.getTextureMap() normalOption = {'guide-top-face': localGuideTopFace} self.imgNormal = makeNormalMap(tex, normalOption) self.guideTopFace = localGuideTopFace #build mesh #format: x,y,z/ u,v /color if localGuideTopFace < h: x0 = 0 y0 = 0 z0 = 0 x1 = w y1 = h - localGuideTopFace z1 = 0 u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadFront = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadFront) if localGuideTopFace > 0: x0 = 0 y0 = h - localGuideTopFace z0 = 0 x1 = w y1 = h z1 = -(y1 - y0) u0 = float(x0) / w v0 = float(y0) / h u1 = float(x1) / w v1 = float(y1) / h quadTop = { 'verts': [[x0, y0, z0], [x1, y0, z0], [x1, y1, z1], [x0, y1, z1]], 'uv': [ [u0, v0], [u1, v0], [u1, v1], [u0, v1], ] } self.meshes.append(quadTop)