[Lemon-commits] Alpar Juttner: Merge

Lemon HG hg at lemon.cs.elte.hu
Tue Sep 2 11:23:50 CEST 2008


details:   http://lemon.cs.elte.hu/hg/lemon/rev/914c5432be97
changeset: 255:914c5432be97
user:      Alpar Juttner <alpar [at] cs.elte.hu>
date:      Tue Sep 02 10:23:23 2008 +0100
description:
	Merge

diffstat:

5 files changed, 115 insertions(+), 65 deletions(-)
lemon/bfs.h          |    5 +
lemon/dfs.h          |    5 +
lemon/dim2.h         |  130 ++++++++++++++++++++++++++++++++------------------
lemon/graph_to_eps.h |    8 +--
test/dim_test.cc     |   32 ++++++------

diffs (truncated from 434 to 300 lines):

diff -r a1ffc9099c25 -r 914c5432be97 lemon/bfs.h
--- a/lemon/bfs.h	Tue Sep 02 00:44:17 2008 +0200
+++ b/lemon/bfs.h	Tue Sep 02 10:23:23 2008 +0100
@@ -1262,6 +1262,11 @@
   /// class. It works with callback mechanism, the BfsVisit object calls
   /// the member functions of the \c Visitor class on every BFS event.
   ///
+  /// This interface of the BFS algorithm should be used in special cases
+  /// when extra actions have to be performed in connection with certain
+  /// events of the BFS algorithm. Otherwise consider to use Bfs or bfs()
+  /// instead.
+  ///
   /// \tparam _Digraph The type of the digraph the algorithm runs on.
   /// The default value is
   /// \ref ListDigraph. The value of _Digraph is not used directly by
diff -r a1ffc9099c25 -r 914c5432be97 lemon/dfs.h
--- a/lemon/dfs.h	Tue Sep 02 00:44:17 2008 +0200
+++ b/lemon/dfs.h	Tue Sep 02 10:23:23 2008 +0100
@@ -1209,6 +1209,11 @@
   /// class. It works with callback mechanism, the DfsVisit object calls
   /// the member functions of the \c Visitor class on every DFS event.
   ///
+  /// This interface of the DFS algorithm should be used in special cases
+  /// when extra actions have to be performed in connection with certain
+  /// events of the DFS algorithm. Otherwise consider to use Dfs or dfs()
+  /// instead.
+  ///
   /// \tparam _Digraph The type of the digraph the algorithm runs on.
   /// The default value is
   /// \ref ListDigraph. The value of _Digraph is not used directly by
diff -r a1ffc9099c25 -r 914c5432be97 lemon/dim2.h
--- a/lemon/dim2.h	Tue Sep 02 00:44:17 2008 +0200
+++ b/lemon/dim2.h	Tue Sep 02 10:23:23 2008 +0100
@@ -28,8 +28,7 @@
 /// The class \ref lemon::dim2::Point "dim2::Point" implements
 /// a two dimensional vector with the usual operations.
 ///
-/// The class \ref lemon::dim2::BoundingBox "dim2::BoundingBox"
-/// can be used to determine
+/// The class \ref lemon::dim2::Box "dim2::Box" can be used to determine
 /// the rectangular bounding box of a set of
 /// \ref lemon::dim2::Point "dim2::Point"'s.
 
@@ -44,7 +43,7 @@
   /// \addtogroup misc
   /// @{
 
-  /// A simple two dimensional vector (plain vector) implementation
+  /// Two dimensional vector (plain vector)
 
   /// A simple two dimensional vector (plain vector) implementation
   /// with the usual vector operations.
@@ -221,7 +220,7 @@
   template<typename T>
   inline std::ostream& operator<<(std::ostream &os, const Point<T>& z)
   {
-    os << "(" << z.x << ", " << z.y << ")";
+    os << "(" << z.x << "," << z.y << ")";
     return os;
   }
 
@@ -260,67 +259,67 @@
 
 
 
-    /// A class to calculate or store the bounding box of plain vectors.
+  /// Bounding box of plain vectors (\ref Point points).
 
-    /// A class to calculate or store the bounding box of plain vectors.
-    ///
-    template<typename T>
-    class BoundingBox {
+  /// A class to calculate or store the bounding box of plain vectors
+  /// (\ref Point points).
+  template<typename T>
+  class Box {
       Point<T> _bottom_left, _top_right;
       bool _empty;
     public:
 
-      ///Default constructor: creates an empty bounding box
-      BoundingBox() { _empty = true; }
+      ///Default constructor: creates an empty box
+      Box() { _empty = true; }
 
-      ///Construct an instance from one point
-      BoundingBox(Point<T> a) {
+      ///Construct a box from one point
+      Box(Point<T> a) {
         _bottom_left = _top_right = a;
         _empty = false;
       }
 
-      ///Construct an instance from two points
+      ///Construct a box from two points
 
-      ///Construct an instance from two points.
+      ///Construct a box from two points.
       ///\param a The bottom left corner.
       ///\param b The top right corner.
       ///\warning The coordinates of the bottom left corner must be no more
       ///than those of the top right one.
-      BoundingBox(Point<T> a,Point<T> b)
+      Box(Point<T> a,Point<T> b)
       {
         _bottom_left = a;
         _top_right = b;
         _empty = false;
       }
 
-      ///Construct an instance from four numbers
+      ///Construct a box from four numbers
 
-      ///Construct an instance from four numbers.
+      ///Construct a box from four numbers.
       ///\param l The left side of the box.
       ///\param b The bottom of the box.
       ///\param r The right side of the box.
       ///\param t The top of the box.
       ///\warning The left side must be no more than the right side and
       ///bottom must be no more than the top.
-      BoundingBox(T l,T b,T r,T t)
+      Box(T l,T b,T r,T t)
       {
         _bottom_left=Point<T>(l,b);
         _top_right=Point<T>(r,t);
         _empty = false;
       }
 
-      ///Return \c true if the bounding box is empty.
+      ///Return \c true if the box is empty.
 
-      ///Return \c true if the bounding box is empty (i.e. return \c false
+      ///Return \c true if the box is empty (i.e. return \c false
       ///if at least one point was added to the box or the coordinates of
       ///the box were set).
       ///
-      ///The coordinates of an empty bounding box are not defined.
+      ///The coordinates of an empty box are not defined.
       bool empty() const {
         return _empty;
       }
 
-      ///Make the BoundingBox empty
+      ///Make the box empty
       void clear() {
         _empty = true;
       }
@@ -328,7 +327,7 @@
       ///Give back the bottom left corner of the box
 
       ///Give back the bottom left corner of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       Point<T> bottomLeft() const {
         return _bottom_left;
       }
@@ -344,7 +343,7 @@
       ///Give back the top right corner of the box
 
       ///Give back the top right corner of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       Point<T> topRight() const {
         return _top_right;
       }
@@ -360,7 +359,7 @@
       ///Give back the bottom right corner of the box
 
       ///Give back the bottom right corner of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       Point<T> bottomRight() const {
         return Point<T>(_top_right.x,_bottom_left.y);
       }
@@ -377,7 +376,7 @@
       ///Give back the top left corner of the box
 
       ///Give back the top left corner of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       Point<T> topLeft() const {
         return Point<T>(_bottom_left.x,_top_right.y);
       }
@@ -394,7 +393,7 @@
       ///Give back the bottom of the box
 
       ///Give back the bottom of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T bottom() const {
         return _bottom_left.y;
       }
@@ -410,7 +409,7 @@
       ///Give back the top of the box
 
       ///Give back the top of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T top() const {
         return _top_right.y;
       }
@@ -426,7 +425,7 @@
       ///Give back the left side of the box
 
       ///Give back the left side of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T left() const {
         return _bottom_left.x;
       }
@@ -442,7 +441,7 @@
       /// Give back the right side of the box
 
       /// Give back the right side of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T right() const {
         return _top_right.x;
       }
@@ -458,7 +457,7 @@
       ///Give back the height of the box
 
       ///Give back the height of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T height() const {
         return _top_right.y-_bottom_left.y;
       }
@@ -466,12 +465,12 @@
       ///Give back the width of the box
 
       ///Give back the width of the box.
-      ///If the bounding box is empty, then the return value is not defined.
+      ///If the box is empty, then the return value is not defined.
       T width() const {
         return _top_right.x-_bottom_left.x;
       }
 
-      ///Checks whether a point is inside a bounding box
+      ///Checks whether a point is inside the box
       bool inside(const Point<T>& u) const {
         if (_empty)
           return false;
@@ -481,11 +480,11 @@
         }
       }
 
-      ///Increments a bounding box with a point
+      ///Increments the box with a point
 
-      ///Increments a bounding box with a point.
+      ///Increments the box with a point.
       ///
-      BoundingBox& add(const Point<T>& u){
+      Box& add(const Point<T>& u){
         if (_empty) {
           _bottom_left = _top_right = u;
           _empty = false;
@@ -499,11 +498,11 @@
         return *this;
       }
 
-      ///Increments a bounding box to contain another bounding box
+      ///Increments the box to contain another box
 
-      ///Increments a bounding box to contain another bounding box.
+      ///Increments the box to contain another box.
       ///
-      BoundingBox& add(const BoundingBox &u){
+      Box& add(const Box &u){
         if ( !u.empty() ){
           add(u._bottom_left);
           add(u._top_right);
@@ -511,12 +510,12 @@
         return *this;
       }
 
-      ///Intersection of two bounding boxes
+      ///Intersection of two boxes
 
-      ///Intersection of two bounding boxes.
+      ///Intersection of two boxes.
       ///
-      BoundingBox operator&(const BoundingBox& u) const {
-        BoundingBox b;
+      Box operator&(const Box& u) const {
+        Box b;
         if (_empty || u._empty) {
           b._empty = true;
         } else {
@@ -530,8 +529,49 @@
         return b;
       }
 
-    };//class Boundingbox
+  };//class Box
 
+
+  ///Read a box from a stream



More information about the Lemon-commits mailing list