gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Several doc improvements + new default parameter values * * * Several minor improvements in graph_to_eps.h * * * Several minor improvements in graph_to_eps.h
0 2 0
default
2 files changed with 27 insertions and 34 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -111,14 +111,14 @@
111 111
    ///Constructor
112 112

	
113 113
    ///Constructor 
114
    ///\param have_white indicates whether white is amongst the
115
    ///provided initial colors (\c true) or not (\c false). If it is true,
116
    ///white will be assigned to \c 0.
114 117
    ///\param num the number of the allocated colors. If it is \c -1,
115
    ///the default color configuration is set up (26 color plus the
118
    ///the default color configuration is set up (26 color plus optionaly the
116 119
    ///white).  If \c num is less then 26/27 then the default color
117 120
    ///list is cut. Otherwise the color list is filled repeatedly with
118 121
    ///the default color list.  (The colors can be changed later on.)
119
    ///\param have_white indicates whether white is amongst the
120
    ///provided color (\c true) or not (\c false). If it is true,
121
    ///white will be assigned to \c 0.
122 122
    Palette(bool have_white=false,int num=-1)
123 123
    {
124 124
      if (num==0) return;
... ...
@@ -173,7 +173,7 @@
173 173
    {
174 174
      colors[i%colors.size()]=c;
175 175
    }
176
    ///\e
176
    ///Add a new color to the end of the color list.
177 177
    void add(const Color &c) 
178 178
    {
179 179
      colors.push_back(c);
... ...
@@ -185,7 +185,7 @@
185 185
    int size() const { return int(colors.size());}
186 186
  };
187 187

	
188
  ///Returns a visible distinct \ref Color
188
  ///Returns a visibly distinct \ref Color
189 189

	
190 190
  ///Returns a \ref Color which is as different from the given parameter
191 191
  ///as it is possible.
Ignore white space 6 line context
... ...
@@ -43,9 +43,7 @@
43 43

	
44 44
///\ingroup eps_io
45 45
///\file
46
///\brief Simple graph drawer
47
///
48
///\author Alpar Juttner
46
///\brief A well configurable tool for visualizing graphs
49 47

	
50 48
namespace lemon {
51 49

	
... ...
@@ -172,16 +170,9 @@
172 170
  {}
173 171
};
174 172

	
175
///Helper class to implement the named parameters of \ref graphToEps()
173
///Auxiliary class to implement the named parameters of \ref graphToEps()
176 174

	
177
///Helper class to implement the named parameters of \ref graphToEps()
178
///\todo Is 'helper class' a good name for this?
179
///
180
///\todo Follow PostScript's DSC.
181
/// Use own dictionary.
182
///\todo Useful new features.
183
/// - Linestyles: dotted, dashed etc.
184
/// - A second color and percent value for the lines.
175
///Auxiliary class to implement the named parameters of \ref graphToEps()
185 176
template<class T> class GraphToEps : public T 
186 177
{
187 178
  // Can't believe it is required by the C++ standard
... ...
@@ -369,7 +360,7 @@
369 360
  ///Sets the map of the node shapes
370 361

	
371 362
  ///Sets the map of the node shapes.
372
  ///The availabe shape values
363
  ///The available shape values
373 364
  ///can be found in \ref NodeShapes "enum NodeShapes".
374 365
  ///\param x must be a node map with \c int (or convertible) values. 
375 366
  ///\sa NodeShapes
... ...
@@ -411,8 +402,6 @@
411 402
  ///ostream.
412 403
  ///
413 404
  ///\sa nodePsTextsPreamble()
414
  ///\todo Offer the choise not to move to the centre but pass the coordinates
415
  ///to the Postscript block inserted.
416 405
  template<class X> GraphToEps<NodePsTextsTraits<X> > nodePsTexts(const X &x)
417 406
  {
418 407
    dontPrint=true;
... ...
@@ -521,13 +510,11 @@
521 510

	
522 511
  ///Negates the Y coordinates.
523 512
  ///
524
  ///\todo More docs.
525
  ///
526 513
  GraphToEps<T> &negateY(bool b=true) {
527 514
    _negY=b;return *this;
528 515
  }
529 516

	
530
  ///Turn on/off prescaling
517
  ///Turn on/off pre-scaling
531 518

	
532 519
  ///By default graphToEps() rescales the whole image in order to avoid
533 520
  ///very big or very small bounding boxes.
... ...
@@ -578,7 +565,7 @@
578 565

	
579 566
  ///Sets the width of the border around the picture
580 567
  ///
581
  GraphToEps<T> &border(double b) {_xBorder=_yBorder=b;return *this;}
568
  GraphToEps<T> &border(double b=10) {_xBorder=_yBorder=b;return *this;}
582 569
  ///Sets the width of the border around the picture
583 570

	
584 571
  ///Sets the width of the border around the picture
... ...
@@ -595,12 +582,12 @@
595 582

	
596 583
  ///Sets the length of the arrowheads
597 584
  ///
598
  GraphToEps<T> &arrowLength(double d) {_arrowLength*=d;return *this;}
585
  GraphToEps<T> &arrowLength(double d=1.0) {_arrowLength*=d;return *this;}
599 586
  ///Sets the width of the arrowheads
600 587

	
601 588
  ///Sets the width of the arrowheads
602 589
  ///
603
  GraphToEps<T> &arrowWidth(double d) {_arrowWidth*=d;return *this;}
590
  GraphToEps<T> &arrowWidth(double d=.3) {_arrowWidth*=d;return *this;}
604 591
  
605 592
  ///Scales the drawing to fit to A4 page
606 593

	
... ...
@@ -662,16 +649,23 @@
662 649
  }
663 650
  ///Sets whether the the graph is undirected
664 651

	
665
  ///Sets whether the the graph is undirected
652
  ///Sets whether the the graph is undirected.
666 653
  ///
667
  GraphToEps<T> &undirected(bool b=true) {_undirected=b;return *this;}
654
  ///This setting is the default for undirected graphs.
655
  ///
656
  ///\sa directed()
657
   GraphToEps<T> &undirected(bool b=true) {_undirected=b;return *this;}
668 658

	
669 659
  ///Sets whether the the graph is directed
670 660

	
671 661
  ///Sets whether the the graph is directed.
672 662
  ///Use it to show the edges as a pair of directed ones.
663
  ///
664
  ///This setting is the default for digraphs.
665
  ///
666
  ///\sa undirected()
673 667
  GraphToEps<T> &directed(bool b=true) {_undirected=!b;return *this;}
674

	
668
  
675 669
  ///Sets the title.
676 670

	
677 671
  ///Sets the title of the generated image,
... ...
@@ -683,7 +677,6 @@
683 677
  ///Sets the copyright statement of the generated image,
684 678
  ///namely it inserts a <tt>%%Copyright:</tt> DSC field to the header of
685 679
  ///the EPS file.
686
  ///\todo Multiline copyright notice could be supported.
687 680
  GraphToEps<T> &copyright(const std::string &t) {_copyright=t;return *this;}
688 681

	
689 682
protected:
... ...
@@ -709,10 +702,10 @@
709 702

	
710 703
  ///Like other functions using
711 704
  ///\ref named-templ-func-param "named template parameters",
712
  ///this function calles the algorithm itself, i.e. in this case
705
  ///this function calls the algorithm itself, i.e. in this case
713 706
  ///it draws the graph.
714 707
  void run() {
715
    ///\todo better 'epsilon' would be nice here.
708
    //\todo better 'epsilon' would be nice here.
716 709
    const double EPSILON=1e-9;
717 710
    if(dontPrint) return;
718 711
    
... ...
@@ -930,7 +923,7 @@
930 923
	  dim2::Point<double>
931 924
	    dvec(mycoords[g.target(*i)]-mycoords[g.source(*i)]);
932 925
	  double l=std::sqrt(dvec.normSquare()); 
933
	  ///\todo better 'epsilon' would be nice here.
926
	  //\todo better 'epsilon' would be nice here.
934 927
	  dim2::Point<double> d(dvec/std::max(l,EPSILON));
935 928
 	  dim2::Point<double> m;
936 929
// 	  m=dim2::Point<double>(mycoords[g.target(*i)]+mycoords[g.source(*i)])/2.0;
0 comments (0 inline)