BoardLib::Line Struct Reference

A line between two points. More...

#include <Shapes.h>

Inheritance diagram for BoardLib::Line:

BoardLib::Shape BoardLib::Arrow

List of all members.

Public Member Functions

 Line (double x1, double y1, double x2, double y2, Color color, float lineWidth, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Point center () const
Shaperotate (double angle, const Point &center)
Shaperotate (double angle)
Shapetranslate (double dx, double dy)
Shapescale (double sx, double sy)
void flushPostscript (std::ostream &stream, const TransformEPS &transform) const
void flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const
void flushSVG (std::ostream &stream, const TransformSVG &transform) const
Rect boundingBox () const
Shapeclone () const

Protected Attributes

double _x1
double _y1
double _x2
double _y2


Detailed Description

A line between two points.

The line structure.


Constructor & Destructor Documentation

BoardLib::Line::Line ( double  x1,
double  y1,
double  x2,
double  y2,
Color  color,
float  lineWidth,
const LineCap  cap = ButtCap,
const LineJoin  join = MiterJoin,
int  depth = -1 
) [inline]

Constructs a line.

Parameters:
x1 First coordinate of the start point.
y1 Second coordinate of the start point.
x2 First coordinate of the end point.
y2 Second coordinate of the end point.
color The color of the line.
lineWidth The line thickness.
depth The depth of the line.


Member Function Documentation

Point BoardLib::Line::center (  )  const [virtual]

Returns the gravity center of the shape.

Returns:
The center of the shape.

Implements BoardLib::Shape.

Shape & BoardLib::Line::rotate ( double  angle,
const Point center 
) [virtual]

Rotate the shape around a given center of rotation.

Parameters:
angle The rotation angle in radian.
center The center of rotation.
Returns:
A reference to the shape itself.

Implements BoardLib::Shape.

Shape & BoardLib::Line::rotate ( double  angle  )  [virtual]

Rotate the shape around its center.

Parameters:
angle The rotation angle in radian.
Returns:
A reference to the shape itself.

Implements BoardLib::Shape.

Shape & BoardLib::Line::translate ( double  dx,
double  dy 
) [virtual]

Translate the shape by a given offset.

Parameters:
dx The x offset.
dy The y offset.
Returns:
A reference to the shape itself.

Implements BoardLib::Shape.

Shape & BoardLib::Line::scale ( double  sx,
double  sy 
) [virtual]

Scale the shape along the x an y axis.

Parameters:
sx The scale factor along the x axis.
sy The scale factor along the y axis.
Returns:
The shape itself.

Implements BoardLib::Shape.

void BoardLib::Line::flushPostscript ( std::ostream &  stream,
const TransformEPS transform 
) const [virtual]

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

Parameters:
stream The output stream.
transform A 2D transform to be applied.

Implements BoardLib::Shape.

Reimplemented in BoardLib::Arrow.

void BoardLib::Line::flushFIG ( std::ostream &  stream,
const TransformFIG transform,
std::map< Color, int > &  colormap 
) const [virtual]

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

Parameters:
stream The output stream.
transform A 2D transform to be applied.

Implements BoardLib::Shape.

Reimplemented in BoardLib::Arrow.

void BoardLib::Line::flushSVG ( std::ostream &  stream,
const TransformSVG transform 
) const [virtual]

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

Parameters:
stream The output stream.
transform A 2D transform to be applied.

Implements BoardLib::Shape.

Reimplemented in BoardLib::Arrow.

Rect BoardLib::Line::boundingBox (  )  const [virtual]

Returns the bounding box of the figure.

Returns:
The rectangle of the bounding box.

Implements BoardLib::Shape.

Shape* BoardLib::Line::clone (  )  const [inline, virtual]

Return a copy of the shape.

Returns:

Implements BoardLib::Shape.

Reimplemented in BoardLib::Arrow.


Member Data Documentation

double BoardLib::Line::_x1 [protected]

First coordinate of the start point.

double BoardLib::Line::_y1 [protected]

Second coordinate of the start point.

double BoardLib::Line::_x2 [protected]

First coordinate of the end point.

double BoardLib::Line::_y2 [protected]

Second coordinate of the end point.


The documentation for this struct was generated from the following files:
Generated on Mon Dec 17 11:15:52 2007 for Board by  doxygen 1.5.3-20071008