Program Listing for File ClothoidAsyPlot.hxx¶
↰ Return to documentation for file (Clothoids/ClothoidAsyPlot.hxx)
/*--------------------------------------------------------------------------*\
| |
| Copyright (C) 2017 |
| |
| , __ , __ |
| /|/ \ /|/ \ |
| | __/ _ ,_ | __/ _ ,_ |
| | \|/ / | | | | \|/ / | | | |
| |(__/|__/ |_/ \_/|/|(__/|__/ |_/ \_/|/ |
| /| /| |
| \| \| |
| |
| Enrico Bertolazzi and Marco Frego |
| Dipartimento di Ingegneria Industriale |
| Universita` degli Studi di Trento |
| email: enrico.bertolazzi@unitn.it |
| email: marco.frego@unitn.it |
| |
\*--------------------------------------------------------------------------*/
namespace G2lib {
using std::string;
using std::ofstream;
class AsyPlot {
public:
AsyPlot( string filename, bool showAxes );
~AsyPlot();
void
drawClothoid(
ClothoidCurve const& c,
std::string const & penna="black",
real_type offset = 0
) const;
void dot( real_type x, real_type y, string const & penna="black" ) const;
void triangle(Triangle2D const & t, string const & penna="black" ) const;
void
drawRect(
real_type x0, real_type y0,
real_type x1, real_type y1,
real_type x2, real_type y2,
real_type x3, real_type y3,
string const & penna="black"
) const;
void
drawLine(
real_type x0, real_type y0,
real_type x1, real_type y1,
std::string const & penna="black"
) const;
void
label(
string const & text,
real_type x,
real_type y,
string const & placement = "",
string const & penna = "black"
) const;
void
displayAxes(
string const & labX,
string const & labY,
real_type xmin,
real_type xmax,
real_type ymin,
real_type ymax
) const;
private:
mutable ofstream file;
string filename;
bool showAxes;
bool openFile();
bool closeFile();
void initFile();
void displayAxes() const;
void compileFile();
};
}