Board  0.9.2
Public Member Functions | List of all members
LibBoard::Circle Struct Reference

A circle. More...

#include <Shapes.h>

Inheritance diagram for LibBoard::Circle:
LibBoard::Ellipse LibBoard::Shape

Public Member Functions

 Circle (double x, double y, double radius, Color penColor, Color fillColor, double lineWidth, const LineStyle style=SolidStyle, int depth=-1)
 
const std::string & name () const
 
Point center () const
 
Circle & rotate (double angle, const Point &center)
 
Circle rotated (double angle, const Point &center) const
 
Circle & rotate (double angle)
 
Circle rotated (double angle) const
 
Circle & translate (double dx, double dy)
 
Circle translated (double dx, double dy) const
 
Circle & scale (double sx, double sy)
 
Circle & scale (double s)
 
Circle scaled (double sx, double sy) const
 
Circle scaled (double s) const
 
void scaleAll (double s)
 
void flushSVG (std::ostream &stream, const TransformSVG &transform) const
 
void flushTikZ (std::ostream &stream, const TransformTikZ &transform) const
 
Circle * clone () const
 
- Public Member Functions inherited from LibBoard::Ellipse
 Ellipse (double x, double y, double xRadius, double yRadius, Color penColor, Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, int depth=-1)
 
Ellipse rotated (double angle, const Point &center) const
 
Ellipse rotated (double angle) const
 
Ellipse translated (double dx, double dy) const
 
Ellipse scaled (double sx, double sy) const
 
Ellipse scaled (double s) const
 
void flushPostscript (std::ostream &stream, const TransformEPS &transform) const
 
void flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const
 
Rect boundingBox () const
 
- Public Member Functions inherited from LibBoard::Shape
 Shape (Color penColor, 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)
 
Shape & moveCenter (double x, double y)
 
Shape & moveCenter (Point p)
 
Rect bbox () const
 
Shape & operator-- ()
 
Shape & operator++ ()
 
int depth () const
 
virtual void depth (int)
 
virtual void shiftDepth (int shift)
 
const Color & penColor () const
 
const Color & fillColor () const
 

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
 
- Protected Attributes inherited from LibBoard::Ellipse
Point _center
 
double _xRadius
 
double _yRadius
 
double _angle
 
bool _circle
 
- Protected Attributes inherited from LibBoard::Shape
int _depth
 
Color _penColor
 
Color _fillColor
 
double _lineWidth
 
LineStyle _lineStyle
 
LineCap _lineCap
 
LineJoin _lineJoin
 

Detailed Description

A circle.

The circle structure.

Examples:
examples/clipping.cpp, examples/example4.cpp, examples/flag.cpp, and examples/graph.cpp.

Member Function Documentation

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

Returns the center of the shape.

Returns
The center of the shape, i.e. the center of its bounding box.

Reimplemented from LibBoard::Ellipse.

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

Return a copy of the shape.

Returns
A copy of the shape.

Reimplemented from LibBoard::Ellipse.

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

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

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

Reimplemented from LibBoard::Ellipse.

References LibBoard::Ellipse::flushSVG(), LibBoard::Shape::svgProperties(), LibBoard::Point::x, and LibBoard::Point::y.

void LibBoard::Circle::flushTikZ ( std::ostream &  stream,
const TransformTikZ &  transform 
) const
virtual

Write 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::Ellipse.

References LibBoard::Ellipse::flushTikZ(), LibBoard::Shape::tikzProperties(), LibBoard::Point::x, and LibBoard::Point::y.

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

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

Returns

Reimplemented from LibBoard::Ellipse.

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

Rotate the shape around a given center of rotation.

Parameters
angleThe rotation angle in radian.
centerThe center of rotation.
Returns
A reference to the shape itself.

Reimplemented from LibBoard::Ellipse.

References LibBoard::Point::rotate(), and LibBoard::Ellipse::rotate().

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

Rotate the shape around its center.

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

Reimplemented from LibBoard::Ellipse.

References LibBoard::Ellipse::rotate().

Circle & LibBoard::Circle::scale ( double  sx,
double  sy 
)
virtual

Scale the circle, given two scaling factors.

Parameters
sxScaling factor along the x axis.
syScaling factor along the y axis.
Returns
A reference to the circle itself, once scaled.

Reimplemented from LibBoard::Ellipse.

Examples:
examples/example4.cpp.

References LibBoard::Ellipse::scale().

Referenced by scaled().

Circle & LibBoard::Circle::scale ( double  s)
virtual

Scale the circle, given a scaling factor.

Parameters
sScaling factor.
Returns
A reference to the circle itself, once scaled.

Reimplemented from LibBoard::Ellipse.

References LibBoard::Ellipse::scale().

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

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

Parameters
sThe scaling factor.

Reimplemented from LibBoard::Ellipse.

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

Returns a scaled copy of the circle.

Parameters
sxThe scaling factor along the x axis.
syThe scaling factor along the y axis.
Returns
A scaled copy of the circle.

References scale().

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

Returns a scaled copy of the circle.

Parameters
sThe scaling factor.
Returns
A scaled copy of the circle.

References scale().

Circle & LibBoard::Circle::translate ( double  dx,
double  dy 
)
virtual

Translate the circle by a given offset.

Parameters
dxThe x offset.
dyThe y offset.
Returns
A reference to the circle itself.

Reimplemented from LibBoard::Ellipse.

Referenced by translated().

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

Returns a translated copy of the circle.

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

References translate().


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