WPSGraphicShape Class Reference documentation

WPSGraphicShape Class Reference

a structure used to define a picture shape More...

`#include <WPSGraphicShape.h>`

## Classes
struct | PathData
| a simple path component More...

## Public Types
enum | Type { Arc , Circle , Line , Rectangle , Path , Pie , Polygon , ShapeUnknown }
| an enum used to define the shape type More...
enum | Command { C_Ellipse , C_Polyline , C_Rectangle , C_Path , C_Polygon , C_Bad }
| an enum used to define the interface command More...

## Public Member Functions
| WPSGraphicShape ()
| constructor
| ~WPSGraphicShape ()
| destructor
void | translate (Vec2f const &delta)
| translate all the coordinate by delta
void | scale (Vec2f const &factor)
| rescale all the coordinate
WPSGraphicShape | rotate (float angle, Vec2f const &center) const
| return a new shape corresponding to a rotation from center.
WPSGraphicShape | transform (WPSTransformation const &matrix) const
| returns a new shape corresponding to a matrix transformation
Type | getType () const
| returns the type corresponding to a shape
WPSBox2f | getBdBox () const
| returns the basic bdbox
Command | addTo (Vec2f const &orig, bool asSurface, librevenge::RVNGPropertyList &propList) const
| updates the propList to send to an interface
int | cmp (WPSGraphicShape const &a) const
| compare two shapes

## Static Public Member Functions
static WPSGraphicShape | line (Vec2f const &orign, Vec2f const &dest)
| static constructor to create a line
static WPSGraphicShape | rectangle (WPSBox2f const &box, Vec2f const &corners=Vec2f(0, 0))
| static constructor to create a rectangle
static WPSGraphicShape | circle (WPSBox2f const &box)
| static constructor to create a circle
static WPSGraphicShape | arc (WPSBox2f const &box, WPSBox2f const &circleWPSBox, Vec2f const &angles)
| static constructor to create a arc
static WPSGraphicShape | pie (WPSBox2f const &box, WPSBox2f const &circleWPSBox, Vec2f const &angles)
| static constructor to create a pie
static WPSGraphicShape | polygon (WPSBox2f const &box)
| static constructor to create a polygon
static WPSGraphicShape | path (WPSBox2f const &box)
| static constructor to create a path

## Public Attributes
Type | m_type
| the type
WPSBox2f | m_bdBox
| the shape bdbox
WPSBox2f | m_formBox
| the internal shape bdbox ( used for arc, circle to store the circle bdbox )
Vec2f | m_cornerWidth
| the rectangle round corner
Vec2f | m_arcAngles
| the start and end value which defines an arc
std::vector< Vec2f > | m_vertices
| the list of vertices for lines or polygons
std::vector< PathData > | m_path
| the list of path component
std::string | m_extra
| extra data

## Protected Member Functions
std::vector< PathData > | getPath (bool forTransformation) const
| return a path corresponding to the shape

## Friends
std::ostream & | operator<< (std::ostream &o, WPSGraphicShape const &sh)
| a print operator

## Detailed Description

a structure used to define a picture shape

## Member Enumeration Documentation

## ◆ Command

enum WPSGraphicShape::Command

an enum used to define the interface command

Enumerator
C_Ellipse |
C_Polyline |
C_Rectangle |
C_Path |
C_Polygon |
C_Bad |

## ◆ Type

enum WPSGraphicShape::Type

an enum used to define the shape type

Enumerator
Arc |
Circle |
Line |
Rectangle |
Path |
Pie |
Polygon |
ShapeUnknown |

## Constructor & Destructor Documentation

## ◆ WPSGraphicShape()

WPSGraphicShape::WPSGraphicShape | ( |  | ) |
| inline

constructor

Referenced by arc(), circle(), cmp(), line(), operator<<, path(), pie(), polygon(), rectangle(), rotate(), and transform().

## ◆ ~WPSGraphicShape()

WPSGraphicShape::~WPSGraphicShape | ( |  | ) |
| inline

destructor

## Member Function Documentation

## ◆ addTo()

WPSGraphicShape::Command WPSGraphicShape::addTo | ( | Vec2f const & | orig,
|  | bool | asSurface,
|  | librevenge::RVNGPropertyList & | propList ) const

updates the propList to send to an interface

Referenced by WKSContentListener::insertPicture().

## ◆ arc()

WPSGraphicShape WPSGraphicShape::arc | ( | WPSBox2f const & | box,
|  | WPSBox2f const & | circleWPSBox,
|  | Vec2f const & | angles )
| inlinestatic

static constructor to create a arc

Referenced by LotusGraphInternal::ZoneMac::getGraphicShape(), and LotusGraphInternal::ZonePc::getGraphicShape().

## ◆ circle()

WPSGraphicShape WPSGraphicShape::circle | ( | WPSBox2f const & | box | ) |
| inlinestatic

static constructor to create a circle

Referenced by LotusGraphInternal::ZoneMac::getGraphicShape(), LotusGraphInternal::ZonePc::getGraphicShape(), and LotusGraph::readGraphic().

## ◆ cmp()

int WPSGraphicShape::cmp | ( | WPSGraphicShape const & | a | ) | const

compare two shapes

## ◆ getBdBox()

WPSBox2f WPSGraphicShape::getBdBox | ( |  | ) | const
| inline

returns the basic bdbox

Referenced by LotusGraph::sendZone().

## ◆ getPath()

std::vector< WPSGraphicShape::PathData > WPSGraphicShape::getPath | ( | bool | forTransformation | ) | const
| protected

return a path corresponding to the shape

Referenced by rotate(), and transform().

## ◆ getType()

Type WPSGraphicShape::getType | ( |  | ) | const
| inline

returns the type corresponding to a shape

Referenced by WKSContentListener::insertPicture().

## ◆ line()

WPSGraphicShape WPSGraphicShape::line | ( | Vec2f const & | orign,
|  | Vec2f const & | dest )
| static

static constructor to create a line

Referenced by LotusGraphInternal::ZoneMac::getGraphicShape(), LotusGraphInternal::ZonePc::getGraphicShape(), and LotusGraph::readGraphic().

## ◆ path()

WPSGraphicShape WPSGraphicShape::path | ( | WPSBox2f const & | box | ) |
| inlinestatic

static constructor to create a path

Referenced by WPSGraphicShape::PathData::operator<<, LotusGraph::readGraphic(), rotate(), and transform().

## ◆ pie()

WPSGraphicShape WPSGraphicShape::pie | ( | WPSBox2f const & | box,
|  | WPSBox2f const & | circleWPSBox,
|  | Vec2f const & | angles )
| inlinestatic

static constructor to create a pie

## ◆ polygon()

WPSGraphicShape WPSGraphicShape::polygon | ( | WPSBox2f const & | box | ) |
| inlinestatic

static constructor to create a polygon

Referenced by LotusGraphInternal::ZonePc::getGraphicShape(), and LotusGraph::readGraphic().

## ◆ rectangle()

WPSGraphicShape WPSGraphicShape::rectangle | ( | WPSBox2f const & | box,
|  | Vec2f const & | corners = Vec2f(0,0) )
| inlinestatic

static constructor to create a rectangle

Referenced by LotusGraphInternal::ZoneMac::getGraphicShape(), LotusGraphInternal::ZonePc::getGraphicShape(), and LotusGraph::readGraphic().

## ◆ rotate()

WPSGraphicShape WPSGraphicShape::rotate | ( | float | angle,
|  | Vec2f const & | center ) const

return a new shape corresponding to a rotation from center.

Note
  the final bdbox is not tight

## ◆ scale()

void WPSGraphicShape::scale | ( | Vec2f const & | factor | ) |

rescale all the coordinate

Referenced by scale(), and transform().

## ◆ transform()

WPSGraphicShape WPSGraphicShape::transform | ( | WPSTransformation const & | matrix | ) | const

returns a new shape corresponding to a matrix transformation

Referenced by LotusGraph::sendZone().

## ◆ translate()

void WPSGraphicShape::translate | ( | Vec2f const & | delta | ) |

translate all the coordinate by delta

Referenced by transform(), and translate().

## Friends And Related Symbol Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | o,
|  | WPSGraphicShape const & | sh )
| friend

a print operator

## Member Data Documentation

## ◆ m_arcAngles

Vec2f WPSGraphicShape::m_arcAngles

the start and end value which defines an arc

Referenced by addTo(), arc(), cmp(), getPath(), operator<<, pie(), and WPSGraphicShape().

## ◆ m_bdBox

WPSBox2f WPSGraphicShape::m_bdBox

the shape bdbox

Referenced by addTo(), arc(), circle(), cmp(), getBdBox(), line(), operator<<, path(), pie(), polygon(), rectangle(), rotate(), scale(), transform(), translate(), and WPSGraphicShape().

## ◆ m_cornerWidth

Vec2f WPSGraphicShape::m_cornerWidth

the rectangle round corner

Referenced by addTo(), cmp(), getPath(), operator<<, rectangle(), and WPSGraphicShape().

## ◆ m_extra

std::string WPSGraphicShape::m_extra

extra data

Referenced by operator<<, and WPSGraphicShape().

## ◆ m_formBox

WPSBox2f WPSGraphicShape::m_formBox

the internal shape bdbox ( used for arc, circle to store the circle bdbox )

Referenced by addTo(), arc(), circle(), cmp(), getPath(), operator<<, pie(), rectangle(), scale(), translate(), and WPSGraphicShape().

## ◆ m_path

std::vector<PathData> WPSGraphicShape::m_path

the list of path component

Referenced by addTo(), cmp(), getPath(), operator<<, rotate(), scale(), transform(), translate(), and WPSGraphicShape().

## ◆ m_type

Type WPSGraphicShape::m_type

the type

Referenced by addTo(), arc(), circle(), cmp(), getPath(), getType(), line(), operator<<, path(), pie(), polygon(), rectangle(), and WPSGraphicShape().

## ◆ m_vertices

std::vector<Vec2f> WPSGraphicShape::m_vertices

the list of vertices for lines or polygons

Referenced by addTo(), cmp(), LotusGraphInternal::ZonePc::getGraphicShape(), getPath(), line(), operator<<, scale(), translate(), and WPSGraphicShape().

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

- WPSGraphicShape.h
- WPSGraphicShape.cpp