Changeset 691
- Timestamp:
- 09/05/03 17:58:19 (5 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Formats/SVG/RapierRenderItems.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Tools/Projections.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Tools/RectangleBase.py (modified) (1 diff)
- trunk/RBRapier/demo/Cube/cubescene.py (modified) (1 diff)
- trunk/RBRapier/demo/SVG/display.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Formats/SVG/RapierRenderItems.py
r686 r691 683 683 xalign, yalign, aligntype = [(s or '').lower() for s in self.alignment] 684 684 xalign, yalign = xalign or 'xmid', yalign or 'ymid' 685 nw, nh = float( vw)/uw, float(vh)/uh685 nw, nh = float(uw)/vw, float(uh)/vh 686 686 687 687 if aligntype == 'meet': # scale by larger dimension 688 if nh >nw: # height is greater -- scale by height688 if nh < nw: # height is greater -- scale by height 689 689 sx = sy = uh/vh 690 690 else: # width is greater -- scale by width 691 691 sx = sy = uw/vw 692 692 elif aligntype == 'slice': # scale by smaller dimension 693 if nh <nw: # width is greater -- scale by height693 if nh > nw: # width is greater -- scale by height 694 694 sx = sy = uh/vh 695 695 else: # height is greater -- scale by width trunk/RBRapier/RBRapier/Tools/Projections.py
r658 r691 124 124 def SetAspectRatio(self, value, byWidth=None): 125 125 if byWidth is None: 126 byWidth = value < 1 #self.Width < self.Height126 byWidth = value < 1 127 127 if byWidth: 128 128 self.Width = self.Height / float(value) … … 130 130 self.Height = self.Width * float(value) 131 131 AspectRatio = property(GetAspectRatio, SetAspectRatio) 132 133 def SetDimensionsAspectRatio(self, width, height, aspectYX=1., largest=True): 134 width, height, aspectYX = map(float, (width, height, aspectYX)) 135 if largest: # scale by larger dimension 136 if height/width > aspectYX: # height is greater -- scale width 137 width = height/aspectYX 138 else: # width is greater -- scale height 139 height = width*aspectYX 140 else: # scale by smaller dimension 141 if height/width < aspectYX: # width is greater -- scale height 142 width = height/aspectYX 143 else: # height is greater -- scale width 144 height = width*aspectYX 145 self.Width, self.Height = width, height 146 return width, height 132 147 133 148 def _asTuple(self): trunk/RBRapier/RBRapier/Tools/RectangleBase.py
r658 r691 68 68 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 69 70 def _getX1(self): return self.Rectangle[0]71 def _setX1(self, X): self.Rectangle[0] = X72 X = X1 = property( _getX1, _setX1)73 def _getX2(self): return self.Rectangle[0] + self.Rectangle[2]74 def _setX2(self, X): self.Rectangle[0] = X - self.Rectangle[2]75 X2 = property( _getX2, _setX2)76 def _getWidth(self): return self.Rectangle[2]77 def _setWidth(self, width): self.Rectangle[2] = width78 Width = property( _getWidth, _setWidth)70 def GetX1(self): return self.Rectangle[0] 71 def SetX1(self, X): self.Rectangle[0] = X 72 X = X1 = property(GetX1, SetX1) 73 def GetX2(self): return self.Rectangle[0] + self.Rectangle[2] 74 def SetX2(self, X): self.Rectangle[0] = X - self.Rectangle[2] 75 X2 = property(GetX2, SetX2) 76 def GetWidth(self): return self.Rectangle[2] 77 def SetWidth(self, width): self.Rectangle[2] = width 78 Width = property(GetWidth, SetWidth) 79 79 80 def _getY1(self): return self.Rectangle[1]81 def _setY1(self, Y): self.Rectangle[1] = Y82 Y = Y1 = property( _getY1, _setY1)83 def _getY2(self): return self.Rectangle[1] + self.Rectangle[3]84 def _setY2(self, Y): self.Rectangle[1] = Y - self.Rectangle[3]85 Y2 = property( _getY2, _setY2)86 def _getHeight(self): return self.Rectangle[3]87 def _setHeight(self, height): self.Rectangle[3] = height88 Height = property( _getHeight, _setHeight)80 def GetY1(self): return self.Rectangle[1] 81 def SetY1(self, Y): self.Rectangle[1] = Y 82 Y = Y1 = property(GetY1, SetY1) 83 def GetY2(self): return self.Rectangle[1] + self.Rectangle[3] 84 def SetY2(self, Y): self.Rectangle[1] = Y - self.Rectangle[3] 85 Y2 = property(GetY2, SetY2) 86 def GetHeight(self): return self.Rectangle[3] 87 def SetHeight(self, height): self.Rectangle[3] = height 88 Height = property(GetHeight, SetHeight) 89 89 90 def _getPosition(self): return self.Rectangle[0:2]91 def _setPosition(self, position): self.Rectangle[0:2] = self.Rectangle.__class__(position)92 Position = Position1 = property( _getPosition, _setPosition)90 def GetPosition(self): return self.Rectangle[0:2] 91 def SetPosition(self, position): self.Rectangle[0:2] = self.Rectangle.__class__(position) 92 Position = Position1 = property(GetPosition, SetPosition) 93 93 94 def _getPosition2(self): return map(operator.add, self.Rectangle[0:2], self.Rectangle[2:4])95 def _setPosition2(self, position): self.Rectangle[2:4] = map(operator.sub, self.Rectangle.__class__(position), self.Rectangle[0:2])96 Position2 = property( _getPosition2, _setPosition2)94 def GetPosition2(self): return map(operator.add, self.Rectangle[0:2], self.Rectangle[2:4]) 95 def SetPosition2(self, position): self.Rectangle[2:4] = map(operator.sub, self.Rectangle.__class__(position), self.Rectangle[0:2]) 96 Position2 = property(GetPosition2, SetPosition2) 97 97 98 def _getDimension(self): return self.Rectangle[2:4]99 def _setDimension(self, dimension): self.Rectangle[2:4] = self.Rectangle.__class__(dimension)100 Dimension = property( _getDimension, _setDimension)98 def GetDimension(self): return self.Rectangle[2:4] 99 def SetDimension(self, dimension): self.Rectangle[2:4] = self.Rectangle.__class__(dimension) 100 Dimension = property(GetDimension, SetDimension) 101 101 102 def _getAspectRatio(self): return float(self.Rectangle[3]) / float(self.Rectangle[2])103 AspectRatio = property( _getAspectRatio)102 def GetAspectRatio(self): return float(self.Rectangle[3]) / float(self.Rectangle[2]) 103 AspectRatio = property(GetAspectRatio) 104 104 105 105 def SetRectangle(self, *args): trunk/RBRapier/demo/Cube/cubescene.py
r666 r691 76 76 def Render(self, glviewsetup, canvas): 77 77 self.viewport.SetRectangle(canvas.GetClientRect().asTuple()) 78 self.projection.Dimensions = 2, 2, 2 79 self.projection.AspectRatio = self.viewport.AspectRatio 78 self.projection.SetDimensionsAspectRatio(2., 2., self.viewport.GetAspectRatio()) 80 79 self.root.Execute(None) 81 80 trunk/RBRapier/demo/SVG/display.py
r685 r691 140 140 def Render(self, subject, canvas): 141 141 self.viewport.SetRectangle(canvas.GetClientRect().asTuple()) 142 self.projection.Dimensions = 2, 2, 2 143 self.projection.AspectRatio = self.viewport.AspectRatio 142 self.projection.SetDimensionsAspectRatio(2., 2., self.viewport.GetAspectRatio()) 144 143 self.root.Execute(None) 145 144
