Changeset 694

Show
Ignore:
Timestamp:
09/08/03 17:22:45 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBRapier/RBRapier/Tools/ViewBox.py

    r693 r694  
    124124        return self._box 
    125125    def SetPts(self, pos0, pos1): 
    126         return self.SetBox(self._ascoords(pos0, pos1)) 
     126        pos0, pos1 = self._ascoords(pos0, pos1) 
     127        pos0, pos1 = Numeric.minimum(pos0, pos1), Numeric.maximum(pos0, pos1) 
     128        return self.SetBox((pos0, pos1)) 
    127129    def SetCenterAndSize(self, center, dim): 
    128130        center, dim = self._ascoords(center, dim) 
     
    175177            return self.Move((self.GetBox()[0][0], pos), False) 
    176178 
    177     def ViewBoxSize(self, dim, aspectYX=1.0, largest=True): 
     179    def ViewBoxSize(self, dim, aspectYX=None, largest=True): 
    178180        return self.SetCenterAndSize(self.GetCenter(), self._GetViewBoxSize(dim, aspectYX, largest)) 
    179181 
    180     def ViewBox(self, pos, dim, aspectYX=1.0, largest=True): 
     182    def ViewBox(self, pos, dim, aspectYX=None, largest=True): 
    181183        return self.SetCenterAndSize(pos, self._GetViewBoxSize(dim, aspectYX, largest)) 
     184 
     185    def ViewBoxPts(self, pos0, pos1, aspectYX=None, largest=True): 
     186        pos0, pos1 = self._ascoords(pos0, pos1) 
     187        pos0, pos1 = Numeric.minimum(pos0, pos1), Numeric.maximum(pos0, pos1) 
     188        dim = abs(pos1-pos0) 
     189        center = 0.5*(pos0+pos1) 
     190        return self.SetCenterAndSize(center, self._GetViewBoxSize(dim, aspectYX, largest)) 
    182191 
    183192    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    189198    _ascoords = classmethod(_ascoords) 
    190199 
    191     def _GetViewBoxSize(self, dim, aspectYX=1.0, largest=True): 
     200    def _GetViewBoxSize(self, dim, aspectYX=None, largest=True): 
     201        if aspectYX is None: aspectYX = self.GetAspectRatio() 
     202 
    192203        width, height = map(float, dim) 
    193204        if largest: # scale by larger dimension