Board  0.6.devel
 All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Macros
LibBoard::Arrow Struct Reference

#include <Shapes.h>

Inheritance diagram for LibBoard::Arrow:
Collaboration diagram for LibBoard::Arrow:

Public Member Functions

 Arrow (double x1, double y1, double x2, double y2, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
const std::string & name () const
Arrow rotated (double angle, const Point &center) const
Arrow rotated (double angle) const
Arrow translated (double dx, double dy) const
Arrow scaled (double sx, double sy) const
Arrow scaled (double s) const
void flushPostscript (std::ostream &stream, const TransformEPS &transform) const
void flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< DGtal::Color, int > &colormap) const
void flushSVG (std::ostream &stream, const TransformSVG &transform) const
void flushTikZ (std::ostream &stream, const TransformTikZ &transform) const
Arrowclone () const
- Public Member Functions inherited from LibBoard::Line
 Line (double x1, double y1, double x2, double y2, DGtal::Color color, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Point center () const
Linerotate (double angle, const Point &center)
Linerotate (double angle)
Linetranslate (double dx, double dy)
Shapescale (double sx, double sy)
Shapescale (double s)
void scaleAll (double s)
Rect boundingBox () const
- Public Member Functions inherited from LibBoard::Shape
 Shape (DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, LineStyle style, const LineCap cap, const LineJoin join, int depth)
virtual ~Shape ()
bool filled () const
ShaperotateDeg (double angle, const Point &center)
ShaperotateDeg (double angle)
Rect bbox ()
Shapeoperator-- ()
Shapeoperator++ ()
int depth () const
virtual void depth (int)
virtual void shiftDepth (int shift)
const DGtal::Color & penColor () const
const DGtal::Color & fillColor () const

Static Private Attributes

static const std::string _name

Additional Inherited Members

- Protected Attributes inherited from LibBoard::Line
double _x1
double _y1
double _x2
double _y2
- Protected Attributes inherited from LibBoard::Shape
int _depth
DGtal::Color _penColor
DGtal::Color _fillColor
double _lineWidth
LineStyle _lineStyle
LineCap _lineCap
LineJoin _lineJoin

Detailed Description

A line between two points with an arrow at one extremity.

The arrow structure.


Constructor & Destructor Documentation

LibBoard::Arrow::Arrow ( double  x1,
double  y1,
double  x2,
double  y2,
DGtal::Color  penColor,
DGtal::Color  fillColor,
double  lineWidth,
const LineStyle  style = SolidStyle,
const LineCap  cap = ButtCap,
const LineJoin  join = MiterJoin,
int  depth = -1 
)
inline

Constructs an arrow.

Parameters:
x1First coordinate of the start point.
y1Second coordinate of the start point.
x2First coordinate of the end point.
y2Second coordinate of the end point.
penColorThe color of the line.
fillColorThe fill color of the sharp end.
lineWidthThe line thickness.
depthThe depth of the line.

Referenced by clone().


Member Function Documentation

Arrow * LibBoard::Arrow::clone ( ) const
virtual

Return a copy of the shape.

Returns:

Reimplemented from LibBoard::Line.

References Arrow().

void LibBoard::Arrow::flushFIG ( std::ostream &  stream,
const TransformFIG transform,
std::map< DGtal::Color, int > &  colormap 
) const
virtual
void LibBoard::Arrow::flushPostscript ( std::ostream &  stream,
const TransformEPS transform 
) const
virtual

Writes the EPS code of the shape in a stream according to a transform.

Parameters:
streamThe output stream.
transformA 2D transform to be applied.

Reimplemented from LibBoard::Line.

References LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Shape::filled(), LibBoard::Transform::mapX(), LibBoard::TransformEPS::mapY(), LibBoard::Shape::postscriptProperties(), and LibBoard::Transform::scale().

void LibBoard::Arrow::flushSVG ( std::ostream &  stream,
const TransformSVG transform 
) const
virtual
void LibBoard::Arrow::flushTikZ ( std::ostream &  stream,
const TransformTikZ transform 
) const
virtual

Writes the TikZ code of the shape in a stream according to a transform.

Parameters:
streamThe output stream.
transformA 2D transform to be applied.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_y1, LibBoard::Transform::mapX(), LibBoard::TransformSVG::mapY(), and LibBoard::Shape::tikzProperties().

const std::string & LibBoard::Arrow::name ( ) const
virtual

Returns the generic name of the shape (e.g., Circle, Rectangle, etc.)

Returns:

Reimplemented from LibBoard::Line.

References _name.

Arrow LibBoard::Arrow::rotated ( double  angle,
const Point center 
) const

Returns a copy of the arrow, rotated around a given rotation center.

Parameters:
angleThe rotation angle.
centerThe center of rotation.
Returns:
The rotated copy of the line.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Point::get(), and LibBoard::Point::rotate().

Arrow LibBoard::Arrow::rotated ( double  angle) const

Returns a copy of the arrow, rotated around its center.

Parameters:
angleThe angle of rotation.
Returns:
A copy of the lines, rotated around its center by the given angle.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Line::center(), LibBoard::Point::get(), and LibBoard::Point::rotate().

Arrow LibBoard::Arrow::scaled ( double  sx,
double  sy 
) const

Returns a scaled copy of the arrow.

Parameters:
sxScale factor along the x axis.
syScale factor along the y axis.
Returns:
A scaled copy of the arrow.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Line::center(), LibBoard::Line::translate(), LibBoard::Point::x, and LibBoard::Point::y.

Referenced by scaled().

Arrow LibBoard::Arrow::scaled ( double  s) const

Reimplemented from LibBoard::Line.

References scaled().

Arrow LibBoard::Arrow::translated ( double  dx,
double  dy 
) const

Returns a translated copy of the arrow.

Parameters:
dxThe shift along the x axis.
dyThe shift along the y axis.
Returns:
A translated copy of the line.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, and LibBoard::Line::_y2.


Field Documentation

const std::string LibBoard::Arrow::_name
staticprivate

The generic name of the shape.

Reimplemented from LibBoard::Line.

Referenced by name().


The documentation for this struct was generated from the following files: