Board 0.9.6
examples/flag.cpp
#include <cmath>
#include <Board.h>
using namespace LibBoard;
const int RAYS = 40;
int main(int, char *[])
{
Board board;
board << circle(0, 0, 40, Color::Null, Color::Red, 0.0);
Line line(0, 45, 0, 400, Color::Black, 1.0);
Line rline(line);
const double angle = 2 * M_PI / RAYS;
int n = RAYS;
while (n--) {
board << rline;
rline.rotate(angle, Point(0, 0));
}
board.setClippingRectangle(-100, 100, 350, 250);
board.saveEPS("flag.eps", 210, 297, 0.0, Unit::Millimeter);
board.saveTikZ("flag.tikz");
board.scaleToWidth(20, UseLineWidth);
board.saveSVG("flag.svg", PageSize::BoundingBox, 0.0, Unit::Centimeter);
board.saveEPS("flag.eps", PageSize::BoundingBox, 0.0, Unit::Centimeter);
}
Declaration of the Board class.
#define M_PI
Definition Shape.h:46
int main(int argc, char *argv[])
Definition arithmetic.cpp:16
const int RAYS
Definition flag.cpp:16
Definition Board.h:55
Class for EPS, FIG or SVG drawings.
Definition Board.h:61
void setClippingRectangle(double x, double y, double width, double height)
Definition Board.cpp:455
void saveEPS(std::ostream &out, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter, const std::string &title=std::string()) const
Definition Board.cpp:539
void saveTikZ(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0) const
Definition Board.cpp:856
void saveSVG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:765
A line between two points.
Definition Line.h:38
Line & rotate(double angle, const Point &center) override
Definition Line.cpp:55
Struct representing a 2D point.
Definition Point.h:42
Shape & scaleToWidth(double w, LineWidthFlag lineWidthFlag)
Definition Shape.cpp:85