Revision: 3997
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3997&view=rev
Author:   mdboom
Date:     2007-10-24 12:22:00 -0700 (Wed, 24 Oct 2007)

Log Message:
-----------
Renamed [xmin, ymin, xmax, ymax] in Bbox to [x0, y0, x1, y1] and
provide functions that really do give xmax etc. as well.
Renamed lbrt to extents and lbwh to bounds (for consistency).
Removed some dead code.

Modified Paths:
--------------
    branches/transforms/lib/matplotlib/axes.py
    branches/transforms/lib/matplotlib/axis.py
    branches/transforms/lib/matplotlib/backend_bases.py
    branches/transforms/lib/matplotlib/backends/backend_agg.py
    branches/transforms/lib/matplotlib/backends/backend_pdf.py
    branches/transforms/lib/matplotlib/collections.py
    branches/transforms/lib/matplotlib/figure.py
    branches/transforms/lib/matplotlib/image.py
    branches/transforms/lib/matplotlib/legend.py
    branches/transforms/lib/matplotlib/lines.py
    branches/transforms/lib/matplotlib/patches.py
    branches/transforms/lib/matplotlib/path.py
    branches/transforms/lib/matplotlib/projections/polar.py
    branches/transforms/lib/matplotlib/text.py
    branches/transforms/lib/matplotlib/transforms.py

Modified: branches/transforms/lib/matplotlib/axes.py
===================================================================
--- branches/transforms/lib/matplotlib/axes.py  2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/axes.py  2007-10-24 19:22:00 UTC (rev 
3997)
@@ -480,7 +480,7 @@
         if isinstance(rect, mtransforms.Bbox):
             self._position = rect
         else:
-            self._position = mtransforms.Bbox.from_lbwh(*rect)
+            self._position = mtransforms.Bbox.from_bounds(*rect)
         self._originalPosition = self._position.frozen()
         self.set_axes(self)
         self.set_aspect('auto')
@@ -1696,7 +1696,7 @@
            # Call all of the other y-axes that are shared with this one
            for other in self._shared_y_axes.get_siblings(self):
                if other is not self:
-                   other.set_ylim(self.viewLim.ymin, self.viewLim.ymax, 
emit=False)
+                   other.set_ylim(self.viewLim.intervaly, emit=False)
 
         if self.figure.canvas is not None:
             self.figure.canvas.draw_idle()
@@ -1902,7 +1902,6 @@
                 if self.get_aspect() != 'auto':
                     dx = 0.5 * (dx + dy)
                     dy = dx
-                xmin, ymin, xmax, ymax = p.lim.lbrt
 
                 alpha = npy.power(10.0, (dx, dy))
                 start = p.trans_inverse.transform_point((p.x, p.y))
@@ -5207,7 +5206,7 @@
         figBottom = top - (rowNum+1)*figH - rowNum*sepH
         figLeft = left + colNum*(figW + sepW)
 
-        self.figbox = mtransforms.Bbox.from_lbwh(figLeft, figBottom, figW, 
figH)
+        self.figbox = mtransforms.Bbox.from_bounds(figLeft, figBottom, figW, 
figH)
         self.rowNum = rowNum
         self.colNum = colNum
         self.numRows = rows

Modified: branches/transforms/lib/matplotlib/axis.py
===================================================================
--- branches/transforms/lib/matplotlib/axis.py  2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/axis.py  2007-10-24 19:22:00 UTC (rev 
3997)
@@ -1070,7 +1070,7 @@
                 bottom = self.axes.bbox.ymin
             else:
                 bbox = Bbox.union(bboxes)
-                bottom = bbox.ymin
+                bottom = bbox.y0
             self.label.set_position( (x, bottom - 
self.LABELPAD*self.figure.dpi / 72.0))
             
         else:
@@ -1078,8 +1078,7 @@
                 top = self.axes.bbox.ymax
             else:
                 bbox = bbox_union(bboxes2)
-                top = bbox.ymax
- 
+                top = bbox.y1
             self.label.set_position( (x, top+self.LABELPAD*self.figure.dpi / 
72.0))
 
     def _update_offset_text_position(self, bboxes, bboxes2):
@@ -1092,7 +1091,7 @@
             bottom = self.axes.bbox.ymin
         else:
             bbox = Bbox.union(bboxes)
-            bottom = bbox.ymin
+            bottom = bbox.y0
         self.offsetText.set_position((x, 
bottom-self.OFFSETTEXTPAD*self.figure.dpi/72.0))
        
     def set_ticks_position(self, position):
@@ -1280,9 +1279,8 @@
             if not len(bboxes):
                 left = self.axes.bbox.xmin
             else:
-
                 bbox = Bbox.union(bboxes)
-                left = bbox.xmin
+                left = bbox.x0
 
             self.label.set_position( (left-self.LABELPAD*self.figure.dpi/72.0, 
y))
            
@@ -1291,7 +1289,7 @@
                 right = self.axes.bbox.xmax
             else:
                 bbox = Bbox.union(bboxes2)
-                right = bbox.xmax
+                right = bbox.x1
 
             self.label.set_position( 
(right+self.LABELPAD*self.figure.dpi/72.0, y))
 

Modified: branches/transforms/lib/matplotlib/backend_bases.py
===================================================================
--- branches/transforms/lib/matplotlib/backend_bases.py 2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/backend_bases.py 2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -1422,7 +1422,7 @@
                 self.draw()
                 return
 
-            xmin, ymin, xmax, ymax = lim.lbrt
+            x0, y0, x1, y1 = lim.extents
 
             # zoom to rect
            inverse = a.transData.inverted()
@@ -1432,49 +1432,49 @@
             Ymin,Ymax=a.get_ylim()
 
             if Xmin < Xmax:
-                if x<lastx:  xmin, xmax = x, lastx
-                else: xmin, xmax = lastx, x
-                if xmin < Xmin: xmin=Xmin
-                if xmax > Xmax: xmax=Xmax
+                if x<lastx:  x0, x1 = x, lastx
+                else: x0, x1 = lastx, x
+                if x0 < Xmin: x0=Xmin
+                if x1 > Xmax: x1=Xmax
             else:
-                if x>lastx:  xmin, xmax = x, lastx
-                else: xmin, xmax = lastx, x
-                if xmin > Xmin: xmin=Xmin
-                if xmax < Xmax: xmax=Xmax
+                if x>lastx:  x0, x1 = x, lastx
+                else: x0, x1 = lastx, x
+                if x0 > Xmin: x0=Xmin
+                if x1 < Xmax: x1=Xmax
 
             if Ymin < Ymax:
-                if y<lasty:  ymin, ymax = y, lasty
-                else: ymin, ymax = lasty, y
-                if ymin < Ymin: ymin=Ymin
-                if ymax > Ymax: ymax=Ymax
+                if y<lasty:  y0, y1 = y, lasty
+                else: y0, y1 = lasty, y
+                if y0 < Ymin: y0=Ymin
+                if y1 > Ymax: y1=Ymax
             else:
-                if y>lasty:  ymin, ymax = y, lasty
-                else: ymin, ymax = lasty, y
-                if ymin > Ymin: ymin=Ymin
-                if ymax < Ymax: ymax=Ymax
+                if y>lasty:  y0, y1 = y, lasty
+                else: y0, y1 = lasty, y
+                if y0 > Ymin: y0=Ymin
+                if y1 < Ymax: y1=Ymax
 
             if self._button_pressed == 1:
-                a.set_xlim((xmin, xmax))
-                a.set_ylim((ymin, ymax))
+                a.set_xlim((x0, x1))
+                a.set_ylim((y0, y1))
             elif self._button_pressed == 3:
                 if a.get_xscale()=='log':
-                    alpha=npy.log(Xmax/Xmin)/npy.log(xmax/xmin)
-                    x1=pow(Xmin/xmin,alpha)*Xmin
-                    x2=pow(Xmax/xmin,alpha)*Xmin
+                    alpha=npy.log(Xmax/Xmin)/npy.log(x1/x0)
+                    rx1=pow(Xmin/x0,alpha)*Xmin
+                    x2=pow(Xmax/x0,alpha)*Xmin
                 else:
-                    alpha=(Xmax-Xmin)/(xmax-xmin)
-                    x1=alpha*(Xmin-xmin)+Xmin
-                    x2=alpha*(Xmax-xmin)+Xmin
+                    alpha=(Xmax-Xmin)/(x1-x0)
+                    rx1=alpha*(Xmin-x0)+Xmin
+                    x2=alpha*(Xmax-x0)+Xmin
                 if a.get_yscale()=='log':
-                    alpha=npy.log(Ymax/Ymin)/npy.log(ymax/ymin)
-                    y1=pow(Ymin/ymin,alpha)*Ymin
-                    y2=pow(Ymax/ymin,alpha)*Ymin
+                    alpha=npy.log(Ymax/Ymin)/npy.log(y1/y0)
+                    ry1=pow(Ymin/y0,alpha)*Ymin
+                    ry2=pow(Ymax/y0,alpha)*Ymin
                 else:
-                    alpha=(Ymax-Ymin)/(ymax-ymin)
-                    y1=alpha*(Ymin-ymin)+Ymin
-                    y2=alpha*(Ymax-ymin)+Ymin
-                a.set_xlim((x1, x2))
-                a.set_ylim((y1, y2))
+                    alpha=(Ymax-Ymin)/(y1-y0)
+                    ry1=alpha*(Ymin-y0)+Ymin
+                    ry2=alpha*(Ymax-y0)+Ymin
+                a.set_xlim((rx1, rx2))
+                a.set_ylim((ry1, ry2))
 
         self.draw()
         self._xypress = None

Modified: branches/transforms/lib/matplotlib/backends/backend_agg.py
===================================================================
--- branches/transforms/lib/matplotlib/backends/backend_agg.py  2007-10-24 
18:49:08 UTC (rev 3996)
+++ branches/transforms/lib/matplotlib/backends/backend_agg.py  2007-10-24 
19:22:00 UTC (rev 3997)
@@ -118,7 +118,7 @@
         self.mathtext_parser = MathTextParser('Agg')
         self._fontd = {}
         
-        self.bbox = Bbox.from_lbwh(0,0, self.width, self.height)
+        self.bbox = Bbox.from_bounds(0, 0, self.width, self.height)
         if __debug__: verbose.report('RendererAgg.__init__ done',
                                      'debug-annoying')
 
@@ -227,7 +227,7 @@
 
         cliprect = gc.get_clip_rectangle()
         if cliprect is None: bbox = None
-        else: bbox = Bbox.from_lbwh(*cliprect)
+        else: bbox = Bbox.from_bounds(*cliprect)
         self.draw_image(x, self.height-y, im, bbox)
 
     def get_canvas_width_height(self):

Modified: branches/transforms/lib/matplotlib/backends/backend_pdf.py
===================================================================
--- branches/transforms/lib/matplotlib/backends/backend_pdf.py  2007-10-24 
18:49:08 UTC (rev 3996)
+++ branches/transforms/lib/matplotlib/backends/backend_pdf.py  2007-10-24 
19:22:00 UTC (rev 3997)
@@ -1032,12 +1032,12 @@
     def writeMarkers(self):
         for tup in self.markers.values():
             name, object, path, trans, fillp, lw = tup
-            bbox = Bbox.from_lbrt(*path.get_extents(trans))
+            bbox = Bbox.from_extents(*path.get_extents(trans))
             bbox = bbox.padded(lw * 0.5)
             self.beginStream(
                 object.id, None,
                 {'Type': Name('XObject'), 'Subtype': Name('Form'),
-                 'BBox': list(bbox.lbrt) })
+                 'BBox': list(bbox.extents) })
             self.writePath(path, trans)
             if fillp:
                 self.output(Op.fill_stroke)

Modified: branches/transforms/lib/matplotlib/collections.py
===================================================================
--- branches/transforms/lib/matplotlib/collections.py   2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/collections.py   2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -126,12 +126,12 @@
         return self._transforms
         
     def get_datalim(self, transData):
-        result = transforms.Bbox.from_lbrt(*path.get_path_collection_extents(
-                self.get_transform().frozen(),
-                self.get_paths(),
-                self.get_transforms(),
-                self._offsets,
-                self._transOffset.frozen()))
+        result = path.get_path_collection_extents(
+            self.get_transform().frozen(),
+            self.get_paths(),
+            self.get_transforms(),
+            self._offsets,
+            self._transOffset.frozen())
         result = result.transformed(transData.inverted())
         return result
 

Modified: branches/transforms/lib/matplotlib/figure.py
===================================================================
--- branches/transforms/lib/matplotlib/figure.py        2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/figure.py        2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -131,7 +131,7 @@
 
        self._dpi_scale_trans = Affine2D()
         self.dpi = dpi
-       self.bbox_inches = Bbox.from_lbwh(0, 0, *figsize)
+       self.bbox_inches = Bbox.from_bounds(0, 0, *figsize)
        self.bbox = TransformedBbox(self.bbox_inches, self._dpi_scale_trans)
        
         self.frameon = frameon
@@ -351,11 +351,11 @@
 
     def get_figwidth(self):
         'Return the figwidth as a float'
-       return self.bbox_inches.xmax
+       return self.bbox_inches.width
 
     def get_figheight(self):
         'Return the figheight as a float'
-        return self.bbox_inches.ymax
+        return self.bbox_inches.height
 
     def get_dpi(self):
         'Return the dpi as a float'
@@ -395,7 +395,7 @@
 
         ACCEPTS: float
         """
-       self.bbox_inches.xmax = val
+       self.bbox_inches.x1 = val
        
     def set_figheight(self, val):
         """
@@ -403,7 +403,7 @@
 
         ACCEPTS: float
         """
-       self.bbox_inches.ymax = val
+       self.bbox_inches.y1 = val
 
     def set_frameon(self, b):
         """

Modified: branches/transforms/lib/matplotlib/image.py
===================================================================
--- branches/transforms/lib/matplotlib/image.py 2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/image.py 2007-10-24 19:22:00 UTC (rev 
3997)
@@ -156,8 +156,8 @@
             im.apply_translation(-1, -1)
 
         # the viewport translation
-        tx = (xmin-self.axes.viewLim.xmin)/dxintv * numcols
-        ty = (ymin-self.axes.viewLim.ymin)/dyintv * numrows
+        tx = (xmin-self.axes.viewLim.x0)/dxintv * numcols
+        ty = (ymin-self.axes.viewLim.y0)/dyintv * numrows
 
         l, b, widthDisplay, heightDisplay = self.axes.bbox.bounds
         widthDisplay *= magnification

Modified: branches/transforms/lib/matplotlib/legend.py
===================================================================
--- branches/transforms/lib/matplotlib/legend.py        2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/legend.py        2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -442,7 +442,7 @@
 
         candidates = []
         for l, b in consider:
-            legendBox = Bbox.from_lbwh(l, b, width, height)
+            legendBox = Bbox.from_bounds(l, b, width, height)
             badness = 0
             badness = legendBox.count_contains(verts)
             badness += legendBox.count_overlaps(bboxes)

Modified: branches/transforms/lib/matplotlib/lines.py
===================================================================
--- branches/transforms/lib/matplotlib/lines.py 2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/lines.py 2007-10-24 19:22:00 UTC (rev 
3997)
@@ -673,39 +673,6 @@
         gc.set_linestyle('solid')
        renderer.draw_path(gc, path, trans)
 
-
-    def _step(self, x, y, where):
-        if not cbook.iterable(x):
-            x = ma.array([x], dtype=npy.float_)
-        if not cbook.iterable(y):
-            y = ma.array([y], dtype=npy.float_)
-
-        if where=='pre':
-            x2 = ma.zeros((2*len(x)-1,), npy.float_)
-            y2 = ma.zeros((2*len(y)-1,), npy.float_)
-
-            x2[0::2], x2[1::2] = x, x[:-1]
-            y2[0::2], y2[1:-1:2] = y, y[1:]
-
-        elif where=='post':
-            x2 = ma.zeros((2*len(x)-1,), npy.float_)
-            y2 = ma.zeros((2*len(y)-1,), npy.float_)
-
-            x2[::2], x2[1:-1:2] = x, x[1:]
-            y2[0::2], y2[1::2] = y, y[:-1]
-
-        elif where=='mid':
-            x2 = ma.zeros((2*len(x),), npy.float_)
-            y2 = ma.zeros((2*len(y),), npy.float_)
-
-            x2[1:-1:2] = 0.5*(x[:-1]+x[1:])
-            x2[2::2] = 0.5*(x[:-1]+x[1:])
-            x2[0], x2[-1] = x[0], x[-1]
-
-            y2[0::2], y2[1::2] = y, y
-
-        return x2, y2
-
     
     def _draw_steps_pre(self, renderer, gc, path, trans):
         vertices = self._xy

Modified: branches/transforms/lib/matplotlib/patches.py
===================================================================
--- branches/transforms/lib/matplotlib/patches.py       2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/patches.py       2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -346,7 +346,7 @@
 
         left, right = self.convert_xunits((xy[0], xy[0] + width))
         bottom, top = self.convert_yunits((xy[1], xy[1] + height))
-       self._bbox = transforms.Bbox.from_lbrt(left, bottom, right, top)
+       self._bbox = transforms.Bbox.from_extents(left, bottom, right, top)
        self._rect_transform = transforms.BboxTransform(
            transforms.Bbox.unit(), self._bbox)
     __init__.__doc__ = cbook.dedent(__init__.__doc__) % artist.kwdocd
@@ -367,11 +367,11 @@
     
     def get_x(self):
         "Return the left coord of the rectangle"
-        return self._bbox.xmin
+        return self._bbox.x0
 
     def get_y(self):
         "Return the bottom coord of the rectangle"
-        return self._bbox.ymin
+        return self._bbox.y0
 
     def get_width(self):
         "Return the width of the  rectangle"
@@ -405,7 +405,7 @@
 
         ACCEPTS: float
         """
-        self._bbox.xmax = self._bbox.xmin + w
+        self._bbox.x1 = self._bbox.x0 + w
 
     def set_height(self, h):
         """
@@ -413,7 +413,7 @@
 
         ACCEPTS: float
         """
-        self._bbox.ymax = self._bbox.ymin + h
+        self._bbox.y1 = self._bbox.y0 + h
 
     def set_bounds(self, *args):
         """

Modified: branches/transforms/lib/matplotlib/path.py
===================================================================
--- branches/transforms/lib/matplotlib/path.py  2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/path.py  2007-10-24 19:22:00 UTC (rev 
3997)
@@ -10,7 +10,8 @@
 from numpy import ma as ma
 
 from matplotlib._path import point_in_path, get_path_extents, \
-    get_path_collection_extents, point_in_path_collection
+    point_in_path_collection
+import matplotlib._path as _path
 from matplotlib.cbook import simple_linear_interpolation
 
 KAPPA = 4.0 * (npy.sqrt(2) - 1) / 3.0
@@ -199,7 +200,7 @@
         from transforms import Affine2D, Bbox
         if transform is None:
             transform = Affine2D()
-        return Bbox.from_lbrt(*get_path_extents(self, transform))
+        return Bbox.from_extents(*get_path_extents(self, transform))
 
     def interpolated(self, steps):
         """
@@ -402,3 +403,6 @@
         """
         return cls.arc(theta1, theta2, True)
     wedge = classmethod(wedge)
+
+def get_path_collection_extents(*args):
+    return Bbox.from_extents(*_path.get_path_collection_extents(*args))

Modified: branches/transforms/lib/matplotlib/projections/polar.py
===================================================================
--- branches/transforms/lib/matplotlib/projections/polar.py     2007-10-24 
18:49:08 UTC (rev 3996)
+++ branches/transforms/lib/matplotlib/projections/polar.py     2007-10-24 
19:22:00 UTC (rev 3997)
@@ -256,7 +256,7 @@
         return Circle((0.5, 0.5), 0.5)
             
     def set_rmax(self, rmax):
-        self.viewLim.ymax = rmax
+        self.viewLim.y1 = rmax
         angle = self._r_label1_position.to_values()[4]
         self._r_label1_position.clear().translate(
             angle, rmax * self._rpad)

Modified: branches/transforms/lib/matplotlib/text.py
===================================================================
--- branches/transforms/lib/matplotlib/text.py  2007-10-24 18:49:08 UTC (rev 
3996)
+++ branches/transforms/lib/matplotlib/text.py  2007-10-24 19:22:00 UTC (rev 
3997)
@@ -253,7 +253,7 @@
         xmin -= offsetx
         ymin -= offsety
 
-        bbox = Bbox.from_lbwh(xmin, ymin, width, height)
+        bbox = Bbox.from_bounds(xmin, ymin, width, height)
 
         # now rotate the positions around the first x,y position
         xys = M.transform(offsetLayout)
@@ -407,7 +407,7 @@
         if not self.get_visible(): return Bbox.unit()
         if self._text == '':
             tx, ty = self._get_xy_display()
-            return Bbox.from_lbwh(tx,ty,0,0)
+            return Bbox.from_bounds(tx,ty,0,0)
 
         if renderer is not None:
             self._renderer = renderer

Modified: branches/transforms/lib/matplotlib/transforms.py
===================================================================
--- branches/transforms/lib/matplotlib/transforms.py    2007-10-24 18:49:08 UTC 
(rev 3996)
+++ branches/transforms/lib/matplotlib/transforms.py    2007-10-24 19:22:00 UTC 
(rev 3997)
@@ -196,28 +196,46 @@
     def __array__(self, *args, **kwargs):
         return self.get_points()
 
+    def _get_x0(self):
+        return self.get_points()[0, 0]
+    x0 = property(_get_x0)
+    
+    def _get_y0(self):
+        return self.get_points()[0, 1]
+    y0 = property(_get_y0)
+
+    def _get_x1(self):
+        return self.get_points()[1, 0]
+    x1 = property(_get_x1)
+
+    def _get_y1(self):
+        return self.get_points()[1, 1]
+    y1 = property(_get_y1)
+
     def _get_xmin(self):
-        return self.get_points()[0, 0]
+        return min(self.get_points()[:, 0])
     xmin = property(_get_xmin)
-    
+
     def _get_ymin(self):
-        return self.get_points()[0, 1]
+        return min(self.get_points()[:, 1])
     ymin = property(_get_ymin)
 
     def _get_xmax(self):
-        return self.get_points()[1, 0]
+        return max(self.get_points()[:, 0])
     xmax = property(_get_xmax)
 
     def _get_ymax(self):
-        return self.get_points()[1, 1]
+        return max(self.get_points()[:, 1])
     ymax = property(_get_ymax)
-
+    
     def _get_min(self):
-        return self.get_points()[0]
+        return [min(self.get_points()[:, 0]),
+                min(self.get_points()[:, 1])]
     min = property(_get_min)
     
     def _get_max(self):
-        return self.get_points()[1]
+        return [max(self.get_points()[:, 0]),
+                max(self.get_points()[:, 1])]
     max = property(_get_max)
     
     def _get_intervalx(self):
@@ -244,35 +262,35 @@
     size = property(_get_size)
     
     def _get_bounds(self):
-        ((xmin, ymin), (xmax, ymax)) = self.get_points()
-        return (xmin, ymin, xmax - xmin, ymax - ymin)
+        ((x0, y0), (x1, y1)) = self.get_points()
+        return (x0, y0, x1 - x0, y1 - y0)
     bounds = property(_get_bounds)
 
-    def _get_lbrt(self):
+    def _get_extents(self):
         return self.get_points().flatten().copy()
-    lbrt = property(_get_lbrt)
+    extents = property(_get_extents)
     
     def get_points(self):
         return NotImplementedError()
     
     def containsx(self, x):
-        xmin, xmax = self.intervalx
-        return ((xmin < xmax
-                 and (x >= xmin and x <= xmax))
-                or (x >= xmax and x <= xmin))
+        x0, x1 = self.intervalx
+        return ((x0 < x1
+                 and (x >= x0 and x <= x1))
+                or (x >= x1 and x <= x0))
 
     def containsy(self, y):
-        ymin, ymax = self.intervaly
-        return ((ymin < ymax
-                 and (y >= ymin and y <= ymax))
-                or (y >= ymax and y <= ymin))
+        y0, y1 = self.intervaly
+        return ((y0 < y1
+                 and (y >= y0 and y <= y1))
+                or (y >= y1 and y <= y0))
     
     def contains(self, x, y):
         return self.containsx(x) and self.containsy(y)
 
     def overlaps(self, other):
-        ax1, ay1, ax2, ay2 = self._get_lbrt()
-        bx1, by1, bx2, by2 = other._get_lbrt()
+        ax1, ay1, ax2, ay2 = self._get_extents()
+        bx1, by1, bx2, by2 = other._get_extents()
 
         if ax2 < ax1:
             ax2, ax1 = ax1, ax2
@@ -289,24 +307,24 @@
                     (by1 > ay2))
     
     def fully_containsx(self, x):
-        xmin, xmax = self.intervalx
-        return ((xmin < xmax
-                 and (x > xmin and x < xmax))
-                or (x > xmax and x < xmin))
+        x0, x1 = self.intervalx
+        return ((x0 < x1
+                 and (x > x0 and x < x1))
+                or (x > x1 and x < x0))
 
     def fully_containsy(self, y):
-        ymin, ymax = self.intervaly
-        return ((ymin < ymax
-                 and (x > ymin and x < ymax))
-                or (x > ymax and x < ymin))
+        y0, y1 = self.intervaly
+        return ((y0 < y1
+                 and (x > y0 and x < y1))
+                or (x > y1 and x < y0))
     
     def fully_contains(self, x, y):
         return self.fully_containsx(x) \
             and self.fully_containsy(y)
 
     def fully_overlaps(self, other):
-        ax1, ay1, ax2, ay2 = self._get_lbrt()
-        bx1, by1, bx2, by2 = other._get_lbrt()
+        ax1, ay1, ax2, ay2 = self._get_extents()
+        bx1, by1, bx2, by2 = other._get_extents()
 
         if ax2 < ax1:
             ax2, ax1 = ax1, ax2
@@ -354,7 +372,7 @@
         or b) a string: C for centered, S for bottom-center, SE for
         bottom-left, E for left, etc.
 
-        Optional arg container is the lbwh box within which the BBox
+        Optional arg container is the box within which the BBox
         is positioned; it defaults to the initial BBox.
         """
         if container is None:
@@ -413,10 +431,10 @@
         """
         boxes = []
         xf = [0] + list(args) + [1]
-        l, b, r, t = self.lbrt
-        w = r - l
+        x0, y0, x1, y1 = self._get_extents()
+        w = x1 - x0
         for xf0, xf1 in zip(xf[:-1], xf[1:]):
-            boxes.append(Bbox([[l + xf0 * w, b], [l + xf1 * w, t]]))
+            boxes.append(Bbox([[x0 + xf0 * w, y0], [x0 + xf1 * w, y1]]))
         return boxes
 
     def splity(self, *args):
@@ -429,10 +447,10 @@
         """
         boxes = []
         yf = [0] + list(args) + [1]
-        l, b, r, t = self.lbrt
-        h = t - b
+        x0, y0, x1, y1 = self._get_extents()
+        h = y1 - y0
         for yf0, yf1 in zip(yf[:-1], yf[1:]):
-            boxes.append(Bbox([[l, b + yf0 * h], [r, b + yf1 * h]]))
+            boxes.append(Bbox([[x0, y0 + yf0 * h], [x1, y0 + yf1 * h]]))
         return boxes
 
     def count_contains(self, vertices):
@@ -444,12 +462,12 @@
         if len(vertices) == 0:
             return 0
         vertices = npy.asarray(vertices)
-        xmin, ymin, xmax, ymax = self._get_lbrt()
-        dxmin = npy.sign(vertices[:, 0] - xmin)
-        dymin = npy.sign(vertices[:, 1] - ymin)
-        dxmax = npy.sign(vertices[:, 0] - xmax)
-        dymax = npy.sign(vertices[:, 1] - ymax)
-        inside = (abs(dxmin + dxmax) + abs(dymin + dymax)) <= 2
+        x0, y0, x1, y1 = self._get_extents()
+        dx0 = npy.sign(vertices[:, 0] - x0)
+        dy0 = npy.sign(vertices[:, 1] - y0)
+        dx1 = npy.sign(vertices[:, 0] - x1)
+        dy1 = npy.sign(vertices[:, 1] - y1)
+        inside = (abs(dx0 + dx1) + abs(dy0 + dy1)) <= 2
         return N.sum(inside)
 
     def count_overlaps(self, bboxes):
@@ -458,7 +476,7 @@
 
         bboxes is a sequence of Bbox objects
         """
-        ax1, ay1, ax2, ay2 = self._get_lbrt()
+        ax1, ay1, ax2, ay2 = self._get_extents()
         if ax2 < ax1:
             ax2, ax1 = ax1, ax2
         if ay2 < ay1:
@@ -466,7 +484,7 @@
 
         count = 0
         for bbox in bboxes:
-            # bx1, by1, bx2, by2 = bbox._get_lbrt() ... inlined...
+            # bx1, by1, bx2, by2 = bbox._get_extents() ... inlined...
             bx1, by1, bx2, by2 = bbox.get_points().flatten()
             if bx2 < bx1:
                 bx2, bx1 = bx1, bx2
@@ -534,21 +552,21 @@
         if len(bboxes) == 1:
             return bboxes[0]
 
-        xmin = npy.inf
-        ymin = npy.inf
-        xmax = -npy.inf
-        ymax = -npy.inf
+        x0 = npy.inf
+        y0 = npy.inf
+        x1 = -npy.inf
+        y1 = -npy.inf
 
         for bbox in bboxes:
             points = bbox.get_points()
             xs = points[:, 0]
             ys = points[:, 1]
-            xmin = min(xmin, npy.min(xs))
-            ymin = min(ymin, npy.min(ys))
-            xmax = max(xmax, npy.max(xs))
-            ymax = max(ymax, npy.max(ys))
+            x0 = min(x0, npy.min(xs))
+            y0 = min(y0, npy.min(ys))
+            x1 = max(x1, npy.max(xs))
+            y1 = max(y1, npy.max(ys))
 
-        return Bbox.from_lbrt(xmin, ymin, xmax, ymax)
+        return Bbox.from_extents(x0, y0, x1, y1)
     union = staticmethod(union)
     
     
@@ -557,10 +575,10 @@
         """
         Create a new bounding box.
 
-        points: a 2x2 numpy array of the form [[xmin, ymin], [xmax, ymax]]
+        points: a 2x2 numpy array of the form [[x0, y0], [x1, y1]]
 
         If you need to create Bbox from another form of data, consider the
-        class methods unit, from_lbwh and from_lbrt.
+        class methods unit, from_bounds and from_extents.
         """
         BboxBase.__init__(self)
         self._points = npy.asarray(points, npy.float_)
@@ -572,19 +590,19 @@
         """
         Create a new unit BBox from (0, 0) to (1, 1).
         """
-        return Bbox.from_lbrt(0., 0., 1., 1.)
+        return Bbox.from_extents(0., 0., 1., 1.)
     unit = staticmethod(unit)
 
     [EMAIL PROTECTED]
-    def from_lbwh(left, bottom, width, height):
+    def from_bounds(left, bottom, width, height):
         """
         Create a new Bbox from left, bottom, width and height.
         """
-        return Bbox.from_lbrt(left, bottom, left + width, bottom + height)
-    from_lbwh = staticmethod(from_lbwh)
+        return Bbox.from_extents(left, bottom, left + width, bottom + height)
+    from_bounds = staticmethod(from_bounds)
 
     [EMAIL PROTECTED]
-    def from_lbrt(*args):
+    def from_extents(*args):
         """
         Create a new Bbox from left, bottom, right and top.
 
@@ -592,7 +610,7 @@
         """
         points = npy.array(args, dtype=npy.float_).reshape(2, 2)
         return Bbox(points)
-    from_lbrt = staticmethod(from_lbrt)
+    from_extents = staticmethod(from_extents)
     
     def __repr__(self):
         return 'Bbox(%s)' % repr(self._points)
@@ -648,11 +666,12 @@
                 npy.float_)
             self._minpos = minpos
         else:
+            x0, y0, x1, y1 = self._get_extents()
            points = npy.array(
-               [[min(x.min(), self.xmin),
-                  min(y.min(), self.ymin)],
-                [max(x.max(), self.xmax),
-                  max(y.max(), self.ymax)]],
+               [[min(x.min(), x0, x1),
+                  min(y.min(), y0, y1)],
+                [max(x.max(), x0, x1),
+                  max(y.max(), y0, y1)]],
                 npy.float_)
             self._minpos = npy.minimum(minpos, self._minpos)
 
@@ -672,25 +691,25 @@
         """
         return self.update_from_data(xy[:, 0], xy[:, 1], ignore)
         
-    def _set_xmin(self, val):
+    def _set_x0(self, val):
         self._points[0, 0] = val
         self.invalidate()
-    xmin = property(BboxBase._get_xmin, _set_xmin)
+    x0 = property(BboxBase._get_x0, _set_x0)
 
-    def _set_ymin(self, val):
+    def _set_y0(self, val):
         self._points[0, 1] = val
         self.invalidate()
-    ymin = property(BboxBase._get_ymin, _set_ymin)
+    y0 = property(BboxBase._get_y0, _set_y0)
 
-    def _set_xmax(self, val):
+    def _set_x1(self, val):
         self._points[1, 0] = val
         self.invalidate()
-    xmax = property(BboxBase._get_xmax, _set_xmax)
+    x1 = property(BboxBase._get_x1, _set_x1)
 
-    def _set_ymax(self, val):
+    def _set_y1(self, val):
         self._points[1, 1] = val
         self.invalidate()
-    ymax = property(BboxBase._get_ymax, _set_ymax)
+    y1 = property(BboxBase._get_y1, _set_y1)
 
     def _set_min(self, val):
         self._points[0] = val
@@ -735,7 +754,7 @@
     def get_points(self):
         """
         Set the points of the bounding box directly as a numpy array
-        of the form: [[xmin, ymin], [xmax, ymax]].
+        of the form: [[x0, y0], [x1, y1]].
         """
         self._invalid = 0
         return self._points
@@ -743,7 +762,7 @@
     def set_points(self, points):
         """
         Set the points of the bounding box directly from a numpy array
-        of the form: [[xmin, ymin], [xmax, ymax]].  No error checking
+        of the form: [[x0, y0], [x1, y1]].  No error checking
         is performed, as this method is mainly for internal use.
         """
         if npy.any(self._points != points):
@@ -2137,11 +2156,11 @@
     from random import random
     import timeit
 
-    bbox = Bbox.from_lbrt(10., 15., 20., 25.)
-    assert bbox.xmin == 10
-    assert bbox.ymin == 15
-    assert bbox.xmax == 20
-    assert bbox.ymax == 25
+    bbox = Bbox.from_extents(10., 15., 20., 25.)
+    assert bbox.x0 == 10
+    assert bbox.y0 == 15
+    assert bbox.x1 == 20
+    assert bbox.y1 == 25
 
     assert npy.all(bbox.min == [10, 15])
     assert npy.all(bbox.max == [20, 25])
@@ -2160,18 +2179,18 @@
     
     assert bbox.bounds == (11, 16, 10, 10)
 
-    bbox.xmin = 12
-    bbox.ymin = 17
-    bbox.xmax = 22
-    bbox.ymax = 27
+    bbox.x0 = 12
+    bbox.y0 = 17
+    bbox.x1 = 22
+    bbox.y1 = 27
 
     assert bbox.bounds == (12, 17, 10, 10)
 
-    bbox = Bbox.from_lbwh(10, 11, 12, 13)
+    bbox = Bbox.from_bounds(10, 11, 12, 13)
     assert bbox.bounds == (10, 11, 12, 13)
 
     bbox_copy = copy.deepcopy(bbox)
-    assert (bbox.lbrt == bbox_copy.lbrt).all()
+    assert (bbox.extents == bbox_copy.extents).all()
     bbox_copy.max = (14, 15)
     assert bbox.bounds == (10, 11, 12, 13)
     assert bbox_copy.bounds == (10, 11, 4, 4)
@@ -2180,7 +2199,7 @@
     bbox2 = Bbox([[30., 35.], [40., 45.]])
     trans = BboxTransform(bbox1, bbox2)
     bbox3 = bbox1.transformed(trans)
-    assert (bbox3.lbrt == bbox2.lbrt).all()
+    assert (bbox3.extents == bbox2.extents).all()
 
     translation = Affine2D().translate(10, 20)
     assert translation.to_values() == (1, 0, 0, 1, 10, 20)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to