BoardLib::GouraudTriangle Struct Reference

A triangle with shaded filling according to colors given for each vertex. More...

#include <Shapes.h>

Inheritance diagram for BoardLib::GouraudTriangle:

BoardLib::Polyline BoardLib::Shape

List of all members.

Public Member Functions

 GouraudTriangle (const Point &p0, const Color &color0, const Point &p1, const Color &color1, const Point &p2, const Color &color2, int subdivisions, int depth=-1)
 GouraudTriangle (const Point &p0, float brightness0, const Point &p1, float brightness1, const Point &p2, float brightness2, const Color &fillColor, int subdivisions, int depth=-1)
Point center () const
Shaperotate (double angle, const Point &center)
Shaperotate (double angle)
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
Shapeclone () const

Protected Attributes

Color _color0
Color _color1
Color _color2
int _subdivisions


Detailed Description

A triangle with shaded filling according to colors given for each vertex.

The GouraudTriangle structure.


Member Function Documentation

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

Returns the gravity center of the shape.

Returns:
The center of the shape.

Reimplemented from BoardLib::Polyline.

Shape & BoardLib::GouraudTriangle::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.

Reimplemented from BoardLib::Polyline.

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

Rotate the shape around its center.

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

Reimplemented from BoardLib::Polyline.

void BoardLib::GouraudTriangle::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.

Reimplemented from BoardLib::Polyline.

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

Sends the Triangle to a FIG file format stream.

Warning! Because shading would generally require more colors in the colormap than allowed by the FIG file format, rendering a Gouraud triangle in an XFig file is the same as rendering a simple triangle whose filling color is the average of the vertex colors.

Parameters:
stream 
transform 
Color 
colormap 

Reimplemented from BoardLib::Polyline.

void BoardLib::GouraudTriangle::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.

Reimplemented from BoardLib::Polyline.

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

Return a copy of the shape.

Returns:

Reimplemented from BoardLib::Polyline.


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