A figure that displays a pie slice, that is, a section of an axis-aligned disc or filled ellipse.
A pie slice is determined by the bounding box of the full disc or ellipse, and a start and an end angle. The outline of the pie slice in non-degenerate cases consists of an arc, and two straight lines from the center of the pie to the end points of the arc.
For the start and end angles, zero points east, and angles are measured in the counter-clockwise direction. Values outside the (0,2*PI) interval are accepted for both angles.
As with all shape figures, drawing of both the outline and the fill are optional. Line and fill color, and several other properties are inherited from cAbstractShapeFigure.
The pie slice is drawn from the start angle to the end angle in counter- clockwise direction. In non-degenerate cases, the end angle should be in the (startAngle, startAngle + 2*PI) interval. If the end angle equals to or is less than the start angle, only a straight line is drawn from the center to the circumference. If the end angle equals startAngle+2*PI or is greater than that, a full circle or ellipse, and a straight line from the center to the circumference at angle endAngle is drawn.
Public Member Functions | |
Constructors, destructor, assignment. | |
cPieSliceFigure (const char *name=nullptr) | |
cPieSliceFigure (const cPieSliceFigure &other) | |
cPieSliceFigure & | operator= (const cPieSliceFigure &other) |
Redefined cObject and cFigure member functions. | |
virtual cPieSliceFigure * | dup () const override |
virtual std::string | str () const override |
virtual void | parse (cProperty *property) override |
virtual void | moveLocal (double dx, double dy) override |
virtual const char * | getRendererClassName () const override |
Geometry | |
virtual const Rectangle & | getBounds () const |
virtual void | setBounds (const Rectangle &bounds) |
virtual void | setPosition (const Point &position, Anchor anchor) |
virtual double | getStartAngle () const |
virtual void | setStartAngle (double startAngle) |
virtual double | getEndAngle () const |
virtual void | setEndAngle (double endAngle) |
Public Member Functions inherited from cAbstractShapeFigure | |
cAbstractShapeFigure (const char *name=nullptr) | |
cAbstractShapeFigure (const cAbstractShapeFigure &other) | |
cAbstractShapeFigure & | operator= (const cAbstractShapeFigure &other) |
virtual bool | isFilled () const |
virtual void | setFilled (bool filled) |
virtual bool | isOutlined () const |
virtual void | setOutlined (bool outlined) |
virtual const Color & | getLineColor () const |
virtual void | setLineColor (const Color &lineColor) |
virtual const Color & | getFillColor () const |
virtual void | setFillColor (const Color &fillColor) |
virtual LineStyle | getLineStyle () const |
virtual void | setLineStyle (LineStyle lineStyle) |
virtual double | getLineWidth () const |
virtual void | setLineWidth (double lineWidth) |
virtual double | getLineOpacity () const |
virtual void | setLineOpacity (double lineOpacity) |
virtual double | getFillOpacity () const |
virtual void | setFillOpacity (double fillOpacity) |
virtual bool | getZoomLineWidth () const |
virtual void | setZoomLineWidth (bool zoomLineWidth) |
Public Member Functions inherited from cFigure | |
cFigure (const char *name=nullptr) | |
cFigure (const cFigure &other) | |
virtual | ~cFigure () |
cFigure & | operator= (const cFigure &other) |
virtual void | forEachChild (cVisitor *v) override |
int | getId () const |
virtual bool | isVisible () const |
virtual void | setVisible (bool visible) |
virtual const Transform & | getTransform () const |
virtual void | setTransform (const Transform &transform) |
virtual void | resetTransform () |
virtual double | getZIndex () const |
virtual void | setZIndex (double zIndex) |
virtual double | getEffectiveZIndex () const |
virtual const char * | getTooltip () const |
virtual void | setTooltip (const char *tooltip) |
virtual cObject * | getAssociatedObject () const |
virtual void | setAssociatedObject (cObject *obj) |
virtual const char * | getTags () const |
virtual void | setTags (const char *tags) |
virtual cFigure * | getParentFigure () const |
virtual cCanvas * | getCanvas () const |
virtual int | getNumFigures () const |
virtual cFigure * | getFigure (int pos) const |
virtual cFigure * | getFigure (const char *name) const |
virtual int | findFigure (const char *name) const |
virtual int | findFigure (const cFigure *figure) const |
virtual bool | containsFigures () const |
virtual cFigure * | findFigureRecursively (const char *name) const |
virtual cFigure * | getFigureByPath (const char *path) const |
virtual void | addFigure (cFigure *figure) |
virtual void | addFigure (cFigure *figure, int pos) |
virtual cFigure * | removeFigure (cFigure *figure) |
virtual cFigure * | removeFigure (int pos) |
virtual cFigure * | removeFromParent () |
virtual bool | isAbove (const cFigure *figure) const |
virtual bool | isBelow (const cFigure *figure) const |
virtual void | insertAbove (cFigure *referenceFigure) |
virtual void | insertBelow (cFigure *referenceFigure) |
virtual void | insertAfter (const cFigure *referenceFigure) |
virtual void | insertBefore (const cFigure *referenceFigure) |
virtual void | raiseAbove (cFigure *figure) |
virtual void | lowerBelow (cFigure *figure) |
virtual void | raiseToTop () |
virtual void | lowerToBottom () |
virtual cFigure * | dupTree () const |
virtual void | translate (double dx, double dy) |
virtual void | scale (double s) |
virtual void | scale (double sx, double sy) |
virtual void | scale (double sx, double sy, double cx, double cy) |
virtual void | scale (double sx, double sy, const Point &c) |
virtual void | rotate (double phi) |
virtual void | rotate (double phi, double cx, double cy) |
virtual void | rotate (double phi, const Point &c) |
virtual void | skewx (double coeff) |
virtual void | skewy (double coeff) |
virtual void | skewx (double coeff, double cy) |
virtual void | skewy (double coeff, double cx) |
virtual void | move (double dx, double dy) |
virtual void | refreshDisplay () |
virtual void | updateParentTransform (Transform &transform) |
virtual void | callRefreshDisplay () |
uint8_t | getLocalChangeFlags () const |
uint8_t | getSubtreeChangeFlags () const |
void | clearChangeFlags () |
void | refreshTagBitsRec (cCanvas *ownerCanvas) |
int64_t | getTagBits () const |
void | setTagBits (uint64_t tagBits) |
uint32_t | getHash () const |
void | clearCachedHash () |
Public Member Functions inherited from cOwnedObject | |
cOwnedObject () | |
cOwnedObject (const char *name, bool namepooling=true) | |
cOwnedObject (const cOwnedObject &obj) | |
virtual | ~cOwnedObject () |
cOwnedObject & | operator= (const cOwnedObject &o) |
virtual void | parsimPack (cCommBuffer *buffer) const override |
virtual void | parsimUnpack (cCommBuffer *buffer) override |
virtual cObject * | getOwner () const override |
virtual bool | isOwnedObject () const override |
Public Member Functions inherited from cNamedObject | |
cNamedObject () | |
cNamedObject (const char *name, bool namepooling=true) | |
cNamedObject (const cNamedObject &obj) | |
virtual | ~cNamedObject () |
cNamedObject & | operator= (const cNamedObject &o) |
virtual void | setName (const char *s) |
virtual const char * | getName () const override |
virtual void | setNamePooling (bool b) |
virtual bool | getNamePooling () |
Public Member Functions inherited from cObject | |
cObject () | |
cObject (const cObject &other)=default | |
virtual | ~cObject () |
virtual const char * | getClassName () const |
bool | isName (const char *s) const |
virtual const char * | getFullName () const |
virtual std::string | getFullPath () const |
virtual std::string | getClassAndFullName () const |
virtual std::string | getClassAndFullPath () const |
const cObject * | getThisPtr () const |
virtual std::ostream & | printOn (std::ostream &os) const |
virtual bool | isSoftOwner () const |
cObject * | findObject (const char *name, bool deep=true) |
virtual cClassDescriptor * | getDescriptor () const |
void | copyNotSupported () const |
Protected Member Functions | |
virtual const char ** | getAllowedPropertyKeys () const override |
Protected Member Functions inherited from cFigure | |
virtual void | validatePropertyKeys (cProperty *property) const |
virtual bool | isAllowedPropertyKey (const char *key) const |
virtual cFigure * | getRootFigure () const |
void | fireStructuralChange () |
void | fireTransformChange () |
void | fireGeometryChange () |
void | fireVisualChange () |
void | fireInputDataChange () |
virtual void | fire (uint8_t flags) |
Protected Member Functions inherited from cObject | |
virtual void | take (cOwnedObject *obj) |
virtual void | drop (cOwnedObject *obj) |
void | dropAndDelete (cOwnedObject *obj) |
Additional Inherited Members | |
Public Types inherited from cFigure | |
enum | FontStyle |
Font style constants: FONT_NONE, FONT_BOLD, etc. More... | |
enum | LineStyle |
Line style constants: LINE_SOLID, LINE_DOTTED, etc. More... | |
enum | CapStyle |
Line cap style constants: CAP_BUTT, CAP_SQUARE, etc. More... | |
enum | JoinStyle |
Line join style constants: JOIN_BEVEL, JOIN_MITER, etc. More... | |
enum | FillRule |
Fill rule constants: FILL_EVENODD, FILL_NONZERO. More... | |
enum | Arrowhead |
Arrowhead style constants: ARROW_NONE, ARROW_SIMPLE, etc. More... | |
enum | Interpolation |
Image interpolation mode constants: INTERPOLATION_NONE, INTERPOLATION_FAST, etc. More... | |
enum | Anchor |
Anchoring mode constants: ANCHOR_CENTER, ANCHOR_N, etc. More... | |
enum | Alignment |
Text alignment mode constants: ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER. More... | |
enum | |
Static Public Member Functions inherited from cFigure | |
static Point | parsePoint (const char *s) |
static Rectangle | parseRectangle (const char *s) |
static Transform | parseTransform (const char *s) |
static Font | parseFont (const char *s) |
static Color | parseColor (const char *s) |
static bool | parseBool (const char *s) |
static LineStyle | parseLineStyle (const char *s) |
static CapStyle | parseCapStyle (const char *s) |
static JoinStyle | parseJoinStyle (const char *s) |
static FillRule | parseFillRule (const char *s) |
static Arrowhead | parseArrowhead (const char *s) |
static Interpolation | parseInterpolation (const char *s) |
static Anchor | parseAnchor (const char *s) |
static Alignment | parseAlignment (const char *s) |
Static Public Member Functions inherited from cOwnedObject | |
static long | getTotalObjectCount () |
static long | getLiveObjectCount () |
static void | resetObjectCounters () |
static cSoftOwner * | getOwningContext () |
Static Public Attributes inherited from cFigure | |
static const Color | BLACK |
static const Color | WHITE |
static const Color | GREY |
static const Color | RED |
static const Color | GREEN |
static const Color | BLUE |
static const Color | YELLOW |
static const Color | CYAN |
static const Color | MAGENTA |
static const int | NUM_GOOD_DARK_COLORS |
static const int | NUM_GOOD_LIGHT_COLORS |
static const Color | GOOD_DARK_COLORS [14] |
static const Color | GOOD_LIGHT_COLORS [10] |
Static Protected Member Functions inherited from cFigure | |
static Point | parsePoint (cProperty *property, const char *key, int index) |
static std::vector< Point > | parsePoints (cProperty *property, const char *key) |
static Rectangle | parseBounds (cProperty *property, const Rectangle &defaults) |
static Transform | parseTransform (cProperty *property, const char *key) |
static Font | parseFont (cProperty *property, const char *key) |
static Rectangle | computeBoundingBox (const Point &position, const Point &size, double ascent, Anchor anchor) |
static void | concatArrays (const char **dest, const char **first, const char **second) |
|
overrideprotectedvirtual |
Returns the list of allowed keys in @figure properties with this figure type, in a nullptr-terminated array of const char* elements. This method is invoked e.g. from parse(), in order to be able to issue error messages for invalid keys in the property. Note that property keys starting with "x-" are already allowed by default. Custom figure classes usually need to override this method together with parse(); see the source code of the library classes for example implementations.
Reimplemented from cAbstractShapeFigure.
|
inlineoverridevirtual |
Clones the figure, ignoring its child figures. (The copy will have no children.) To clone a figure together with its figure subtree, use dupTree().
Reimplemented from cAbstractShapeFigure.
|
overridevirtual |
Returns a one-line string with the most characteristic data of the figure.
Reimplemented from cAbstractShapeFigure.
|
overridevirtual |
This method is invoked by the simulation library to initialize the figure from a @figure NED property. Custom figure classes usually need to override this method (and call the super class' similar method in it).
Note: When overriding parse(), it is usually also necessary to override getAllowedPropertyKeys(), in order to allow new keys in the @figure property.
Reimplemented from cAbstractShapeFigure.
|
overridevirtual |
Change the figure's position by the given x and y deltas. Child figures will not be affected.
Implements cFigure.
|
inlineoverridevirtual |
Returns the name of the class responsible for rendering this figure. Renderer classes are specific to, and are usually implemented as part of, the graphical user interface library e.g. Qtenv.
Implements cFigure.
|
inlinevirtual |
Returns the bounding box of the axis-aligned circle or ellipse the pie slice is part of.
|
virtual |
Sets the bounding box of the axis-aligned circle or ellipse the pie slice is part of.
Utility function. Moves the bounding box so that its point denoted by anchor will be at the given position.
|
inlinevirtual |
Returns the start angle of the pie slice in radians. See the class documentation for details on how the pie slice is drawn.
|
virtual |
Sets the start angle of the pie slice in radians. See the class documentation for details on how the pie slice is drawn.
|
inlinevirtual |
Returns the end angle of the pie slice in radians. See the class documentation for details on how the pie slice is drawn.
|
virtual |
Sets the end angle of the pie slice in radians. See the class documentation for details on how the pie slice is drawn.