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

#include <Shapes.h>

Inheritance diagram for LibBoard::Dot:
Collaboration diagram for LibBoard::Dot:

Public Member Functions

 Dot (double x, double y, DGtal::Color color, double lineWidth, int depth=-1)
const std::string & name () const
Point center () const
Dot & rotate (double angle, const Point &center)
Dot rotated (double angle, const Point &center) const
Dot & rotate (double angle)
Dot rotated (double angle) const
Dot & translate (double dx, double dy)
Dot translated (double dx, double dy) const
Shape & scale (double sx, double sy)
Shape & scale (double s)
Dot scaled (double sx, double sy) const
Dot scaled (double s) const
void scaleAll (double s)
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
Rect boundingBox () const
Dot * clone () 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
Shape & rotateDeg (double angle, const Point &center)
Shape & rotateDeg (double angle)
Rect bbox ()
Shape & operator-- ()
Shape & operator++ ()
int depth () const
virtual void depth (int)
virtual void shiftDepth (int shift)
const DGtal::Color & penColor () const
const DGtal::Color & fillColor () const

Protected Attributes

double _x
double _y
- Protected Attributes inherited from LibBoard::Shape
int _depth
DGtal::Color _penColor
DGtal::Color _fillColor
double _lineWidth
LineStyle _lineStyle
LineCap _lineCap
LineJoin _lineJoin

Static Private Attributes

static const std::string _name

Additional Inherited Members

- Public Types inherited from LibBoard::Shape
enum  LineCap { ButtCap = 0, RoundCap, SquareCap }
enum  LineJoin { MiterJoin = 0, RoundJoin, BevelJoin }
enum  LineStyle {
  SolidStyle = 0, DashStyle, DotStyle, DashDotStyle,
  DashDotDotStyle, DashDotDotDotStyle
}
- Protected Member Functions inherited from LibBoard::Shape
std::string svgProperties (const TransformSVG &transform) const
std::string postscriptProperties () const
std::string tikzProperties (const TransformTikZ &transform) const

Detailed Description

A line between two points.

The dot structure. This primitive ha been reported as "missing" by Manuel Peinado from Spain. Manuel also suggested that rendering a dot consists in drawing a line from a point to the same point with a roundcap style.


Constructor & Destructor Documentation

LibBoard::Dot::Dot ( double  x,
double  y,
DGtal::Color  color,
double  lineWidth,
int  depth = -1 
)
inline

Referenced by clone(), rotated(), and translated().


Member Function Documentation

Rect LibBoard::Dot::boundingBox ( ) const
virtual

Returns the bounding box of the figure.

Returns:
The rectangle of the bounding box.

Implements LibBoard::Shape.

References _x, and _y.

Point LibBoard::Dot::center ( ) const
virtual

Returns the gravity center of the shape.

Returns:
The center of the shape.

Implements LibBoard::Shape.

References _x, and _y.

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

Return a copy of the shape.

Returns:

Implements LibBoard::Shape.

References Dot().

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

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

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

Implements LibBoard::Shape.

References LibBoard::Shape::_depth, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, _x, _y, LibBoard::TransformFIG::mapDepth(), LibBoard::TransformFIG::mapWidth(), LibBoard::Transform::mapX(), and LibBoard::TransformFIG::mapY().

void LibBoard::Dot::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.

Implements LibBoard::Shape.

References LibBoard::Shape::_penColor, _x, _y, LibBoard::Transform::mapX(), LibBoard::TransformEPS::mapY(), and LibBoard::Shape::postscriptProperties().

void LibBoard::Dot::flushSVG ( std::ostream &  stream,
const TransformSVG &  transform 
) const
virtual

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

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

Implements LibBoard::Shape.

References _x, _y, LibBoard::Transform::mapX(), LibBoard::TransformSVG::mapY(), and LibBoard::Shape::svgProperties().

void LibBoard::Dot::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.

Implements LibBoard::Shape.

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

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

Returns:

Reimplemented from LibBoard::Shape.

References _name.

Dot & LibBoard::Dot::rotate ( double  angle,
const Point &  center 
)
virtual

Rotates the dot around a given center of rotation.

Parameters:
angleThe rotation angle.
centerThe center of rotation.
Returns:
A reference to the Dot itself.

Implements LibBoard::Shape.

References _x, _y, LibBoard::Point::get(), and LibBoard::Point::rotate().

Dot & LibBoard::Dot::rotate ( double  angle)
virtual

Rotates the dot around its center (actually does nothing!).

Parameters:
angleThe rotation angle.
Returns:
A reference to the Dot itself.

Implements LibBoard::Shape.

Dot LibBoard::Dot::rotated ( double  angle,
const Point &  center 
) const

Returns a rotated copy of the dot around a given rotation center.

Parameters:
angleTh rotation angle.
centerThe center of rotation.
Returns:
A rotated copy of the Dot.

References Dot().

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

Returns a copy of the dot rotated around its center (i.e. left unchanged!)

Parameters:
angleThe rotation angle.
Returns:
A copy of the dot.
Shape & LibBoard::Dot::scale ( double  sx,
double  sy 
)
virtual

Scale the shape along the x an y axis.

Parameters:
sxThe scale factor along the x axis.
syThe scale factor along the y axis.
Returns:
The shape itself.

Implements LibBoard::Shape.

Shape & LibBoard::Dot::scale ( double  s)
virtual

Scale the shape along both axis.

Parameters:
sThe scale factor along both axis.
Returns:
The shape itself.

Implements LibBoard::Shape.

void LibBoard::Dot::scaleAll ( double  s)
virtual

Scales all the values (positions, dimensions, etc.) associated with the shape.

Parameters:
sThe scaling factor.

Implements LibBoard::Shape.

References _x, and _y.

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

Returns a scaled copy of the dot, i.e. the dot itself. (Dots are not actually scaled since their diameters is given by the line width.)

Parameters:
sxThe scale factor around the x axis.
syThe scale factor around the y axis.
Returns:
A scaled copy of the Dot, i.e. the Dot itself.
Dot LibBoard::Dot::scaled ( double  s) const
Dot & LibBoard::Dot::translate ( double  dx,
double  dy 
)
virtual
Parameters:
dx
dy
Returns:

Implements LibBoard::Shape.

References _x, and _y.

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

Returns a translated copy of the dot.

Parameters:
dxShift of the first coordinate.
dyShift of the second coordinate.
Returns:
A copy of the Dot, translated.

References Dot().


Field Documentation

const std::string LibBoard::Dot::_name
staticprivate

The generic name of the shape.

Reimplemented from LibBoard::Shape.

Referenced by name().

double LibBoard::Dot::_x
protected

First coordinate of the dot.

Referenced by boundingBox(), center(), flushFIG(), flushPostscript(), flushSVG(), rotate(), scaleAll(), and translate().

double LibBoard::Dot::_y
protected

Second coordinate of the dot.

Referenced by boundingBox(), center(), flushFIG(), flushPostscript(), flushSVG(), rotate(), scaleAll(), and translate().


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