Changeset 206:4e22275a2b52 in lemon-main for lemon
- Timestamp:
- 07/13/08 17:34:27 (16 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- lemon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/color.h
r157 r206 109 109 ///Constructor 110 110 111 ///Constructor 112 ///\param have_white indicates whether white is amongstthe111 ///Constructor. 112 ///\param have_white Indicates whether white is among the 113 113 ///provided initial colors (\c true) or not (\c false). If it is true, 114 114 ///white will be assigned to \c 0. 115 ///\param num the number of the allocated colors. If it is \c -1,115 ///\param num The number of the allocated colors. If it is \c -1, 116 116 ///the default color configuration is set up (26 color plus optionaly the 117 117 ///white). If \c num is less then 26/27 then the default color … … 154 154 colors.push_back(Color(.5,0,1)); 155 155 } while(int(colors.size())<num); 156 // colors.push_back(Color(1,1,1));157 156 if(num>=0) colors.resize(num); 158 157 } … … 172 171 colors[i%colors.size()]=c; 173 172 } 174 ///Add a new color to the end of the color list.173 ///Adds a new color to the end of the color list. 175 174 void add(const Color &c) 176 175 { … … 178 177 } 179 178 180 ///Sets the number of the exi ting colors.179 ///Sets the number of the existing colors. 181 180 void resize(int s) { colors.resize(s);} 182 181 ///Returns the number of the existing colors. -
lemon/graph_to_eps.h
r184 r206 64 64 ///Default traits class of \ref GraphToEps 65 65 66 ///Default traits class of \ref GraphToEps 66 ///Default traits class of \ref GraphToEps. 67 67 /// 68 68 ///\c G is the type of the underlying graph. … … 141 141 142 142 ///Constructor 143 ///\param _g is a reference to the graph to be printed144 ///\param _os is a reference to the output stream.145 ///\param _os is a reference to the output stream.143 ///\param _g Reference to the graph to be printed. 144 ///\param _os Reference to the output stream. 145 ///\param _os Reference to the output stream. By default it is <tt>std::cout</tt>. 146 146 ///\param _pros If it is \c true, then the \c ostream referenced by \c _os 147 147 ///will be explicitly deallocated by the destructor. 148 ///By default it is <tt>std::cout</tt>149 148 DefaultGraphToEpsTraits(const G &_g,std::ostream& _os=std::cout, 150 149 bool _pros=false) : … … 174 173 ///Auxiliary class to implement the named parameters of \ref graphToEps() 175 174 176 ///Auxiliary class to implement the named parameters of \ref graphToEps() 175 ///Auxiliary class to implement the named parameters of \ref graphToEps(). 176 /// 177 ///For detailed examples see the \ref graph_to_eps_demo.cc demo file. 177 178 template<class T> class GraphToEps : public T 178 179 { … … 259 260 ///Node shapes 260 261 261 ///Node shapes 262 ///Node shapes. 262 263 /// 263 264 enum NodeShapes { … … 336 337 337 338 ///Sets the map of the node coordinates. 338 ///\param x must be a node map with dim2::Point<double>or339 ///\param x must be a node map with \ref dim2::Point "dim2::Point<double>" or 339 340 ///\ref dim2::Point "dim2::Point<int>" values. 340 341 template<class X> GraphToEps<CoordsTraits<X> > coords(const X &x) { … … 348 349 ///Sets the map of the node sizes 349 350 350 ///Sets the map of the node sizes 351 ///Sets the map of the node sizes. 351 352 ///\param x must be a node map with \c double (or convertible) values. 352 353 template<class X> GraphToEps<NodeSizesTraits<X> > nodeSizes(const X &x) … … 377 378 ///Sets the text printed on the nodes 378 379 379 ///Sets the text printed on the nodes 380 ///Sets the text printed on the nodes. 380 381 ///\param x must be a node map with type that can be pushed to a standard 381 /// ostream.382 ///\c ostream. 382 383 template<class X> GraphToEps<NodeTextsTraits<X> > nodeTexts(const X &x) 383 384 { … … 394 395 ///With this command it is possible to insert a verbatim PostScript 395 396 ///block to the nodes. 396 ///The PS current point will be moved to the cent reof the node before397 ///The PS current point will be moved to the center of the node before 397 398 ///the PostScript block inserted. 398 399 /// … … 401 402 /// 402 403 ///\param x must be a node map with type that can be pushed to a standard 403 /// ostream.404 ///\c ostream. 404 405 /// 405 406 ///\sa nodePsTextsPreamble() … … 416 417 ///Sets the map of the arc widths 417 418 418 ///Sets the map of the arc widths 419 ///Sets the map of the arc widths. 419 420 ///\param x must be an arc map with \c double (or convertible) values. 420 421 template<class X> GraphToEps<ArcWidthsTraits<X> > arcWidths(const X &x) … … 430 431 ///Sets the map of the node colors 431 432 432 ///Sets the map of the node colors 433 ///Sets the map of the node colors. 433 434 ///\param x must be a node map with \ref Color values. 434 435 /// … … 446 447 ///Sets the map of the node text colors 447 448 448 ///Sets the map of the node text colors 449 ///Sets the map of the node text colors. 449 450 ///\param x must be a node map with \ref Color values. 450 451 /// … … 464 465 ///Sets the map of the arc colors 465 466 466 ///Sets the map of the arc colors 467 ///Sets the map of the arc colors. 467 468 ///\param x must be an arc map with \ref Color values. 468 469 /// … … 488 489 /// \sa autoNodeScale() 489 490 GraphToEps<T> &nodeScale(double d=.01) {_nodeScale=d;return *this;} 490 ///Turns on/off the automatic node widthscaling.491 492 ///Turns on/off the automatic node widthscaling.491 ///Turns on/off the automatic node size scaling. 492 493 ///Turns on/off the automatic node size scaling. 493 494 /// 494 495 ///\sa nodeScale() … … 498 499 } 499 500 500 ///Turns on/off the absolutematic node widthscaling.501 502 ///Turns on/off the absolutematic node widthscaling.501 ///Turns on/off the absolutematic node size scaling. 502 503 ///Turns on/off the absolutematic node size scaling. 503 504 /// 504 505 ///\sa nodeScale() … … 509 510 510 511 ///Negates the Y coordinates. 511 512 ///Negates the Y coordinates.513 ///514 512 GraphToEps<T> &negateY(bool b=true) { 515 513 _negY=b;return *this; … … 558 556 } 559 557 ///Sets a global scale factor for the whole picture 560 561 ///Sets a global scale factor for the whole picture562 ///563 564 558 GraphToEps<T> &scale(double d) {_scale=d;return *this;} 565 559 ///Sets the width of the border around the picture 566 567 ///Sets the width of the border around the picture568 ///569 560 GraphToEps<T> &border(double b=10) {_xBorder=_yBorder=b;return *this;} 570 561 ///Sets the width of the border around the picture 571 572 ///Sets the width of the border around the picture573 ///574 562 GraphToEps<T> &border(double x, double y) { 575 563 _xBorder=x;_yBorder=y;return *this; 576 564 } 577 565 ///Sets whether to draw arrows 578 579 ///Sets whether to draw arrows580 ///581 566 GraphToEps<T> &drawArrows(bool b=true) {_drawArrows=b;return *this;} 582 567 ///Sets the length of the arrowheads 583 584 ///Sets the length of the arrowheads585 ///586 568 GraphToEps<T> &arrowLength(double d=1.0) {_arrowLength*=d;return *this;} 587 569 ///Sets the width of the arrowheads 588 589 ///Sets the width of the arrowheads590 ///591 570 GraphToEps<T> &arrowWidth(double d=.3) {_arrowWidth*=d;return *this;} 592 571 593 572 ///Scales the drawing to fit to A4 page 594 595 ///Scales the drawing to fit to A4 page596 ///597 573 GraphToEps<T> &scaleToA4() {_scaleToA4=true;return *this;} 598 574 599 ///Enables parallel arcs600 601 575 ///Enables parallel arcs 602 576 GraphToEps<T> &enableParallel(bool b=true) {_enableParallel=b;return *this;} 603 577 604 ///Sets the distance 605 606 ///Sets the distance 607 /// 578 ///Sets the distance between parallel arcs 608 579 GraphToEps<T> &parArcDist(double d) {_parArcDist*=d;return *this;} 609 580 610 581 ///Hides the arcs 611 612 ///Hides the arcs613 ///614 582 GraphToEps<T> &hideArcs(bool b=true) {_showArcs=!b;return *this;} 615 583 ///Hides the nodes 616 617 ///Hides the nodes618 ///619 584 GraphToEps<T> &hideNodes(bool b=true) {_showNodes=!b;return *this;} 620 585 621 586 ///Sets the size of the node texts 622 623 ///Sets the size of the node texts624 ///625 587 GraphToEps<T> &nodeTextSize(double d) {_nodeTextSize=d;return *this;} 626 588 … … 628 590 629 591 ///Sets the color of the node texts to be as different from the node color 630 ///as it is possible 631 /// 592 ///as it is possible. 632 593 GraphToEps<T> &distantColorNodeTexts() 633 594 {_nodeTextColorType=DIST_COL;return *this;} … … 635 596 636 597 ///Sets the color of the node texts to be black or white according to 637 ///which is more 638 ///different from the node color 639 /// 598 ///which is more different from the node color. 640 599 GraphToEps<T> &distantBWNodeTexts() 641 600 {_nodeTextColorType=DIST_BW;return *this;} … … 649 608 _nodePsTextsPreamble=str ;return *this; 650 609 } 651 ///Sets whether the thegraph is undirected652 653 ///Sets whether the thegraph is undirected.610 ///Sets whether the graph is undirected 611 612 ///Sets whether the graph is undirected. 654 613 /// 655 614 ///This setting is the default for undirected graphs. … … 658 617 GraphToEps<T> &undirected(bool b=true) {_undirected=b;return *this;} 659 618 660 ///Sets whether the thegraph is directed661 662 ///Sets whether the thegraph is directed.619 ///Sets whether the graph is directed 620 621 ///Sets whether the graph is directed. 663 622 ///Use it to show the edges as a pair of directed ones. 664 623 /// … … 717 676 if(_title.size()>0) os << "%%Title: " << _title << '\n'; 718 677 if(_copyright.size()>0) os << "%%Copyright: " << _copyright << '\n'; 719 // << "%%Copyright: XXXX\n"720 678 os << "%%Creator: LEMON, graphToEps()\n"; 721 679 … … 749 707 for(ArcIt e(g);e!=INVALID;++e) 750 708 max_w=std::max(double(_arcWidths[e]),max_w); 751 // /\todo better 'epsilon' would be nice here.709 //\todo better 'epsilon' would be nice here. 752 710 if(max_w>EPSILON) { 753 711 _arcWidthScale/=max_w; … … 759 717 for(NodeIt n(g);n!=INVALID;++n) 760 718 max_s=std::max(double(_nodeSizes[n]),max_s); 761 // /\todo better 'epsilon' would be nice here.719 //\todo better 'epsilon' would be nice here. 762 720 if(max_s>EPSILON) { 763 721 _nodeScale/=max_s; … … 1115 1073 1116 1074 ///An alias for arcWidths() 1117 1118 ///An alias for arcWidths()1119 ///1120 1075 template<class X> GraphToEps<ArcWidthsTraits<X> > edgeWidths(const X &x) 1121 1076 { … … 1124 1079 1125 1080 ///An alias for arcColors() 1126 1127 ///An alias for arcColors()1128 ///1129 1081 template<class X> GraphToEps<ArcColorsTraits<X> > 1130 1082 edgeColors(const X &x) … … 1134 1086 1135 1087 ///An alias for arcWidthScale() 1136 1137 ///An alias for arcWidthScale()1138 ///1139 1088 GraphToEps<T> &edgeWidthScale(double d) {return arcWidthScale(d);} 1140 1089 1141 1090 ///An alias for autoArcWidthScale() 1142 1143 ///An alias for autoArcWidthScale()1144 ///1145 1091 GraphToEps<T> &autoEdgeWidthScale(bool b=true) 1146 1092 { … … 1149 1095 1150 1096 ///An alias for absoluteArcWidths() 1151 1152 ///An alias for absoluteArcWidths()1153 ///1154 1097 GraphToEps<T> &absoluteEdgeWidths(bool b=true) 1155 1098 { … … 1158 1101 1159 1102 ///An alias for parArcDist() 1160 1161 ///An alias for parArcDist()1162 ///1163 1103 GraphToEps<T> &parEdgeDist(double d) {return parArcDist(d);} 1164 1104 1165 1105 ///An alias for hideArcs() 1166 1167 ///An alias for hideArcs()1168 ///1169 1106 GraphToEps<T> &hideEdges(bool b=true) {return hideArcs(b);} 1170 1107 … … 1186 1123 ///\ingroup eps_io 1187 1124 ///Generates an EPS file from a graph. 1188 ///\param g is a reference to the graph to be printed1189 ///\param os is a reference to the output stream.1190 ///By default it is <tt>std::cout</tt> 1125 ///\param g Reference to the graph to be printed. 1126 ///\param os Reference to the output stream. 1127 ///By default it is <tt>std::cout</tt>. 1191 1128 /// 1192 1129 ///This function also has a lot of … … 1199 1136 /// .arcWidthScale(.4).run(); 1200 1137 ///\endcode 1138 /// 1139 ///For more detailed examples see the \ref graph_to_eps_demo.cc demo file. 1140 /// 1201 1141 ///\warning Don't forget to put the \ref GraphToEps::run() "run()" 1202 1142 ///to the end of the parameter list.
Note: See TracChangeset
for help on using the changeset viewer.