Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
Class for pie displayers. More...
#include <ilviews/charts/pie.h>
Public Member Functions | |
IlvPieChartDisplayer (IlDouble radius, IlDouble startingAngle=0.0, IlDouble range=360.0, IlvDim tearOffDelta=20, IlvPalette *palette=0) | |
Constructor. | |
virtual | ~IlvPieChartDisplayer () |
Destructor. | |
virtual IlvAbstractChartDisplayer * | copy () const |
Virtual copy constructor. | |
virtual void | drawLegendItem (IlvPort *dst, const IlvRect &legendArea, IlvPalette *itemPal, const IlvRegion *clip, IlAny clientData=0) const |
Draws the graphic part of a legend item associated with the current displayer. | |
virtual void | getClipArea (IlvRect &area, const IlvTransformer *t) const |
Returns the clipping region that is used for the drawing. | |
const IlvDoublePoint & | getOffset () const |
Returns the offset between the added graphic objects and all the slices. | |
IlvPieChartDataSet * | getPieDataSet () const |
Returns the virtual data set used by the current displayer. | |
IlDouble | getRadius () const |
Returns the radius of the pie. | |
IlDouble | getRange () const |
Returns the range of the pie. | |
virtual IlBoolean | getSliceGeometry (IlUInt sliceIndex, IlvRect &sliceRect, IlDouble &startAngle, IlDouble &range, const IlvTransformer *t=0) const |
Returns the geometric parameters defining a given slice. | |
IlvGraphic * | getSliceGraphic (IlUInt sliceIndex) const |
Returns the graphic object that is drawn along with a given slice. | |
virtual void | getSliceGraphicPosition (IlUInt sliceIndex, const IlvRect &sliceRect, IlDouble startAngle, IlDouble range, IlvPoint &position, const IlvTransformer *t=0) const |
Returns the position at which the added graphic object will be drawn for a given slice. | |
IlvPieSliceInfo * | getSliceInfo (IlUInt sliceIndex) const |
Returns the slice information object for a given slice. | |
IlvPointInfoCollection * | getSliceInfoCollection () const |
Returns the object managing the slice information objects defined for the current displayer. | |
IlUInt | getSliceInfoCount () const |
Returns the number of slice information objects defined for the current displayer. | |
const char * | getSliceLegendText (IlUInt sliceIndex) const |
Returns the text that will be used in a legend for a given slice. | |
IlvPalette * | getSlicePalette (IlUInt sliceIndex) const |
Returns the palette used to display a given slice. | |
IlDouble | getStartingAngle () const |
Returns the angle at which the first slice is drawn. | |
IlvDim | getTearOffDelta () const |
Returns the offset applied to torn-off slices. | |
virtual IlBoolean | isContinuous () const |
Indicates whether the graphical representation is continuous. | |
IlBoolean | isSliceTornOff (IlUInt sliceIndex) const |
Indicates whether a given slice is torn off. | |
void | removeAllSliceInfo () |
Removes all the slice information objects defined for the current displayer. | |
void | removeSliceInfo (IlUInt sliceIndex) |
Removes the slice information defined for a given slice. | |
virtual void | setChartGraphic (IlvChartGraphic *chart) |
Sets the chart graphic which uses the current displayer. | |
virtual void | setLegendItems (IlvChartLegend *legend) const |
Sets the legend items associated with the current displayer. | |
virtual void | setMode (IlvDrawMode mode) |
Sets the drawing mode. | |
void | setOffset (const IlvDoublePoint &offset) |
Sets the offset between the added graphic objects and all the slices. | |
void | setOffset (IlDouble theta, IlvPos rho) |
Sets the offset between the added graphic objects and all the slices. | |
virtual void | setOverwrite (IlBoolean o) |
Sets the overwrite mode. | |
void | setRadius (IlDouble radius) |
Sets the radius of the pie. | |
void | setRange (IlDouble range) |
Sets the angle range of the pie. | |
void | setSliceGraphic (IlUInt sliceIndex, IlvGraphic *graphic) |
Sets the graphic object that is drawn along with a given slice. | |
void | setSliceInfo (IlUInt sliceIndex, IlvPieSliceInfo *sliceInfo) |
Sets the slice information defined for a given slice. | |
virtual void | setSliceLegendText (IlUInt sliceIndex, const char *legendText) |
Sets the text that will be used in a legend for a given slice. | |
void | setSlicePalette (IlUInt sliceIndex, IlvPalette *palette) |
Sets the palette used to display a given slice. | |
void | setStartingAngle (IlDouble angle) |
Sets the angle at which the first slice is drawn. | |
void | setTearOffDelta (IlvDim delta) |
Sets the offset applied to torn-off slices. | |
virtual IlBoolean | sliceBBox (IlUInt sliceIndex, IlvRect &bbox, const IlvTransformer *t=0) const |
Returns the bounding box of a given slice. | |
virtual IlBoolean | sliceContains (IlUInt sliceIndex, const IlvPoint &viewPoint, const IlvTransformer *t=0) const |
Indicates whether a given slice contains a given screen point. | |
void | tearOffSlice (IlUInt sliceIndex, IlBoolean flag=IlTrue) |
Specifies whether a given slice is torn off. | |
virtual IlBoolean | useVirtualDataSets () const |
Indicates whether the current displayer uses virtual data sets. | |
IlUInt | whichSlice (const IlvPoint &viewPoint, const IlvTransformer *t=0) const |
Returns the slice containing a given screen point. | |
virtual void | write (IlvOutputFile &) const |
Writes the attributes of the current object in a file. | |
Protected Member Functions | |
virtual void | boundingBoxOfItem (const IlvChartDisplayerPoints *displayerPoints, IlUInt pointIndex, IlUInt pointCount, IlvPoint *points, IlvRect &bbox, IlBoolean takeInfoIntoAccount=IlTrue, const IlvTransformer *t=0) const |
Returns the bounding box of the item drawn for a given point in screen coordinates corresponding to a data point to display. | |
virtual void | boundingBoxOfPoints (IlvChartDisplayerPoints *displayerPoints, IlvRect &bbox, IlBoolean takeInfoIntoAccount=IlTrue, const IlvTransformer *t=0) const |
Returns the bounding box of the graphical representation from points in screen coordinates corresponding to the data points to display. | |
virtual void | computeItem (const IlvChartDisplayerPoints *displayerPoints, IlUInt pointIndex, IlUInt &usedPointsCount, IlvPoint *points, const IlvTransformer *t=0) const |
Computes the item that will be displayed for a given point in screen coordinates corresponding to a data point to display. | |
virtual IlvPieSliceInfo * | createSliceInfo () const |
Creates and returns a new slice information object. | |
virtual void | drawItem (const IlvChartDisplayerPoints *displayerPoints, IlUInt pointIndex, IlUInt pointCount, IlvPoint *points, IlvPalette *itemPalette, IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the item for a given point in screen coordinates corresponding to a data point to display. | |
virtual void | drawPoints (IlvChartDisplayerPoints *displayerPoints, IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the graphical representation from points in screen coordinates corresponding to the data points to display. | |
virtual IlUInt | getItemPointsCount (const IlvChartDisplayerPoints *) const |
Returns the maximum number of points needed to define an item for the current displayer. | |
virtual IlvDoublePoint * | selectDataPointsForPoint (IlUInt dataPointIndex, IlUInt &count, IlUInt *&dataPointIndexes) const |
Selects and returns the data points needed to display the graphical representation of the data points at a given index in the real data set(s) to be displayed by the current displayer. | |
virtual IlvDoublePoint * | selectDataPointsForRange (const IlvCoordInterval &abscissaRange, IlUInt &pointCount, IlUInt *&dataPointIndexes, const IlvTransformer *t=0, const IlvRect *clip=0) const |
Selects and returns the data points to display that are within a given abscissa interval. | |
virtual void | updateVirtualDataSets () |
Updates the virtual data set. |
Class for pie displayers.
Library: ilvcharts
This class is a subclass of IlvSingleChartDisplayer
which allows you to represent data values with a pie chart.
The pie displayer displays a unique data set. Only the Y-values of the data points represented by the data set are considered. These values are represented in the form of slices of the pie. Therefore, it is better to use a Y-values data set (instance of the IlvChartYValueSet
class) to store the data you want to display with a pie. However, it will also work if you use a data set of another type. Just remember that, in such a case, the values to be represented as slices of the pie are the Y-values of the data points represented by your data set.
The Y-values of the data points cannot be displayed directly by the pie displayer, since angle values are needed to be able to draw these values as slices. To display the real data set it has to display with slices, the pie displayer internally uses a specific virtual data set that is composed of data points expressed in polar coordinates (theta, rho) computed from the initial data points of the real data set. These computed data points lie on the extremities of the arcs of the slices. The virtual data set is an instance of the IlvPieChartDataSet
class. (See this class for more details.) The virtual data set, constructed from the real data set that is set on the displayer, is the data set that is actually displayed by the displayer. (See the Detailed Description of the IlvAbstractChartDisplayer
class for more information about virtual data sets).
Since the data points that are actually displayed by the pie displayer are expressed in polar coordinates, the pie displayer can only be used with a polar projection. (See the IlvPolarProjector
class for more details.) Thus a pie displayer should only be added to a chart graphic using a polar projector.
A slice information object that stores specific information related to a slice can be added to each slice representing a data point in a pie displayer. This object should be an instance of the IlvPieSliceInfo
class or one of its derived classes. The slice information objects defined for the current displayer are managed by an instance of the IlvPointInfoMap
class.
The following image shows a data set represented with a pie displayer in a polar chart. A slice information object storing a label (instance of the IlvLabel
class) has been added to each slice of the pie.
IlvPieChartDisplayer::IlvPieChartDisplayer | ( | IlDouble | radius, | |
IlDouble | startingAngle = 0.0 , |
|||
IlDouble | range = 360.0 , |
|||
IlvDim | tearOffDelta = 20 , |
|||
IlvPalette * | palette = 0 | |||
) |
Constructor.
Initializes a new IlvPieChartDisplayer
object.
radius | The radius of the pie. The radius is expressed with respect to the ordinate range of the chart graphic. The value of the radius should be within this range if you want the whole pie to appear. Otherwise the pie may be not visible or it may be truncated. | |
startingAngle | The angle at which the first slice is drawn. | |
range | The range of the angles covered by the slices of the pie. If range is equal to 360 degrees, the slices will cover a whole circle. | |
tearOffDelta | The offset, in pixels, applied to torn-off slices. | |
palette | The default palette that will be used to display the slices. |
virtual IlvPieChartDisplayer::~IlvPieChartDisplayer | ( | ) | [virtual] |
Destructor.
The destructor removes and unlocks all the slice information objects.
virtual void IlvPieChartDisplayer::boundingBoxOfItem | ( | const IlvChartDisplayerPoints * | displayerPoints, | |
IlUInt | pointIndex, | |||
IlUInt | pointCount, | |||
IlvPoint * | points, | |||
IlvRect & | bbox, | |||
IlBoolean | takeInfoIntoAccount = IlTrue , |
|||
const IlvTransformer * | t = 0 | |||
) | const [protected, virtual] |
Returns the bounding box of the item drawn for a given point in screen coordinates corresponding to a data point to display.
Computes the bounding box of the item drawn for the point in screen coordinates that is stored at the index pointIndex in the displayerPoints object. (See the IlvSingleChartDisplayer::boundingBoxOfItem
method for more details.)
This method returns the bounding box of the slice defined by the points stored in points and of all the defined slice information objects (if any and if the Boolean takeInfoIntoAccount is equal to IlTrue
).
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::boundingBoxOfPoints | ( | IlvChartDisplayerPoints * | displayerPoints, | |
IlvRect & | bbox, | |||
IlBoolean | takeInfoIntoAccount = IlTrue , |
|||
const IlvTransformer * | t = 0 | |||
) | const [protected, virtual] |
Returns the bounding box of the graphical representation from points in screen coordinates corresponding to the data points to display.
(See the IlvSingleChartDisplayer::boundingBoxOfPoints
method for more details.)
The method calls the IlvPieChartDisplayer::computeItem
method for each screen point stored in displayerPoints to compute the item that will be displayed for the screen point. Then, the IlvPieChartDisplayer::boundingBoxOfItem
is called for each item to compute the bounding box of each item. The returned bounding box corresponds to the bounding box of all the items displayed by the current displayer and of the defined point information objects (if any and if the Boolean takeInfoIntoAccount is equal to IlTrue
).
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::computeItem | ( | const IlvChartDisplayerPoints * | displayerPoints, | |
IlUInt | pointIndex, | |||
IlUInt & | usedPointsCount, | |||
IlvPoint * | points, | |||
const IlvTransformer * | t = 0 | |||
) | const [protected, virtual] |
Computes the item that will be displayed for a given point in screen coordinates corresponding to a data point to display.
Computes the points defining the item that will be displayed for the point in screen coordinates that is stored at the index pointIndex in the displayerPoints object. This object stores the points in screen coordinates corresponding to the data points that have to be displayed by the current displayer. (See the IlvSingleChartDisplayer::computeItem
method for more details.)
The data points that are displayed are those of the virtual data set that is constructed internally from the data set that is set on the current displayer. (See the Detailed Description for more details.) These data points are data points expressed in polar coordinates (theta, rho) that lie on the extremities of the arcs of the slices.
The item that will be displayed for a given screen point corresponding to one of these data points is a slice that is defined by three points: the two extremities of its arc (these points correspond to the points at the indexes pointIndex and pointIndex+1 in the displayerPoints object) and the point that lies at the pointed extremity of the slice.
The number of points defining the item is returned in usedPointsCount.
drawPoints
method. Implements IlvSingleChartDisplayer.
virtual IlvAbstractChartDisplayer* IlvPieChartDisplayer::copy | ( | ) | const [virtual] |
Virtual copy constructor.
Creates and returns a copy of the current object. This method must be overloaded in subclasses. It is automatically declared by the DeclareChartDisplayerTypeInfo
macro. The IlvPredefinedChartDisplayerIOMembers
macro lets you define a default implementation, which returns an instance initialized with the copy constructor.
Implements IlvAbstractChartDisplayer.
virtual IlvPieSliceInfo* IlvPieChartDisplayer::createSliceInfo | ( | ) | const [protected, virtual] |
Creates and returns a new slice information object.
The slice information object created by default is an instance of the IlvPieSliceInfo
class.
setSlicePalette
, setSliceGraphic
, tearOffSlice
or setSliceLegendText
methods on a slice that does not exist. virtual void IlvPieChartDisplayer::drawItem | ( | const IlvChartDisplayerPoints * | displayerPoints, | |
IlUInt | pointIndex, | |||
IlUInt | pointCount, | |||
IlvPoint * | points, | |||
IlvPalette * | itemPalette, | |||
IlvPort * | dst, | |||
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [protected, virtual] |
Draws the item for a given point in screen coordinates corresponding to a data point to display.
Draws the item for the point in screen coordinates that is stored at the index pointIndex in the displayerPoints object. This object stores the points in screen coordinates corresponding to the data points that have to be displayed by the current displayer. (See the IlvSingleChartDisplayer::drawItem
method for more details.)
This method draws the slice defined by the points stored in points. A polyline is drawn between these points with the foreground color of the palette used by the current displayer. An arc is drawn between the extremities of the polyline with the same color. The slice is filled with the foreground color of the palette itemPalette if the method IlvSingleChartDisplayer::isDrawingFill
returns IlTrue
. (See the IlvPieChartDisplayer::computeItem
method for more details.) This method also draws all the slice information objects that are defined.
drawPoints
method. Implements IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::drawLegendItem | ( | IlvPort * | dst, | |
const IlvRect & | legendArea, | |||
IlvPalette * | itemPal, | |||
const IlvRegion * | clip, | |||
IlAny | clientData = 0 | |||
) | const [virtual] |
Draws the graphic part of a legend item associated with the current displayer.
The drawing is performed in the port dst using the clipping region clip. It is bounded by the rectangle legendArea.
The current implementation of the method simply draws a filled rectangle on the boundaries of legendArea. The outline of the rectangle is drawn with the foreground color of the palette itemPal and the rectangle is filled with the foreground color of the palette defined for the slice with the index passed in the parameter clientData.
dst | The port used for the drawing. | |
legendArea | The area where the drawing is performed. | |
itemPal | The palette of the considered legend item associated with the current displayer. | |
clip | The optional clipping region. | |
clientData | The client data defined for the considered legend item associated with the current displayer. This parameter contains the index of the slice for which the considered legend item is drawn. |
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::drawPoints | ( | IlvChartDisplayerPoints * | displayerPoints, | |
IlvPort * | dst, | |||
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [protected, virtual] |
Draws the graphical representation from points in screen coordinates corresponding to the data points to display.
(See the IlvSingleChartDisplayer::drawPoints
method for more details.)
The default implementation of this method uses the IlvPieChartDisplayer::getClipArea
method to obtain the clipping region to be used for the drawing. Then, for each point in screen coordinates stored in displayerPoints, it uses:
IlvPieChartDisplayer::computeItem
method to compute the item that will be displayed for this screen point. IlvPieChartDisplayer::drawItem
method to draw the item for this screen point. At the end, it uses the IlvSingleChartDisplayer::drawPointInfos
method to draw the point information (if any).
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::getClipArea | ( | IlvRect & | area, | |
const IlvTransformer * | t | |||
) | const [virtual] |
Returns the clipping region that is used for the drawing.
The current implementation of the method returns in area the graph area obtained by the IlvChartGraphic::getGraphArea
method.
area | The clipping region that is used to clip the graphical representation of data drawn by the current object. | |
t | The transformer that is applied to the returned clipping region. |
Reimplemented from IlvSingleChartDisplayer.
virtual IlUInt IlvPieChartDisplayer::getItemPointsCount | ( | const IlvChartDisplayerPoints * | ) | const [protected, virtual] |
Returns the maximum number of points needed to define an item for the current displayer.
(See the IlvPieChartDisplayer::computeItem
method for more details.)
displayerPoints | The object that stores the points in screen coordinates to be displayed by the current displayer. |
3
. Reimplemented from IlvSingleChartDisplayer.
const IlvDoublePoint& IlvPieChartDisplayer::getOffset | ( | ) | const |
Returns the offset between the added graphic objects and all the slices.
The offset is defined by an angle value expressed in degrees and a radial value expressed in pixels. The angle value is stored in the abscissa of the returned point and the radial value in the ordinate.
IlvPieChartDataSet* IlvPieChartDisplayer::getPieDataSet | ( | ) | const |
Returns the virtual data set used by the current displayer.
IlDouble IlvPieChartDisplayer::getRadius | ( | ) | const |
IlDouble IlvPieChartDisplayer::getRange | ( | ) | const |
virtual IlBoolean IlvPieChartDisplayer::getSliceGeometry | ( | IlUInt | sliceIndex, | |
IlvRect & | sliceRect, | |||
IlDouble & | startAngle, | |||
IlDouble & | range, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Returns the geometric parameters defining a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
sliceRect | The parameter used to return the rectangle used to display the slice. | |
startAngle | The parameter used to return the starting angle of the slice. | |
range | The parameter used to return the angle range of slice. | |
t | The transformer that is applied to the rectangle used to display the slice that is returned. |
IlvGraphic* IlvPieChartDisplayer::getSliceGraphic | ( | IlUInt | sliceIndex | ) | const |
Returns the graphic object that is drawn along with a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. |
virtual void IlvPieChartDisplayer::getSliceGraphicPosition | ( | IlUInt | sliceIndex, | |
const IlvRect & | sliceRect, | |||
IlDouble | startAngle, | |||
IlDouble | range, | |||
IlvPoint & | position, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Returns the position at which the added graphic object will be drawn for a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
sliceRect | The rectangle used to display the slice. This rectangle is considered to be already transformed by the transformer t. | |
startAngle | The starting angle of the slice. | |
range | The angle range of the slice. | |
position | The parameter used to return the position at which the added graphic object will be drawn for the slice. | |
t | The transformer that will be applied to the returned position. |
IlvPieSliceInfo* IlvPieChartDisplayer::getSliceInfo | ( | IlUInt | sliceIndex | ) | const |
Returns the slice information object for a given slice.
sliceIndex | The index of the slice with which the returned slice information is associated. |
IlvPointInfoCollection* IlvPieChartDisplayer::getSliceInfoCollection | ( | ) | const |
Returns the object managing the slice information objects defined for the current displayer.
IlvPointInfoMap
class. IlUInt IlvPieChartDisplayer::getSliceInfoCount | ( | ) | const |
Returns the number of slice information objects defined for the current displayer.
const char* IlvPieChartDisplayer::getSliceLegendText | ( | IlUInt | sliceIndex | ) | const |
Returns the text that will be used in a legend for a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. |
IlvPalette* IlvPieChartDisplayer::getSlicePalette | ( | IlUInt | sliceIndex | ) | const |
Returns the palette used to display a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. |
IlDouble IlvPieChartDisplayer::getStartingAngle | ( | ) | const |
Returns the angle at which the first slice is drawn.
IlvDim IlvPieChartDisplayer::getTearOffDelta | ( | ) | const |
Returns the offset applied to torn-off slices.
virtual IlBoolean IlvPieChartDisplayer::isContinuous | ( | ) | const [virtual] |
Indicates whether the graphical representation is continuous.
The graphical representation of data displayed by a displayer is said continuous if the graphical representation displayed for a given data point extends to and relies on another data point. So it is continuous if a given data point is not sufficient to display the graphical representation for this data point.
IlTrue
by default, since the graphical representation displayed by the current displayer is made up of slices for which the angle depends on the other slices. Reimplemented from IlvAbstractChartDisplayer.
Indicates whether a given slice is torn off.
sliceIndex | The index of the slice among the slices displayed by the current displayer. |
IlTrue
if the slice with the index sliceIndex is torn off and IlFalse
otherwise.void IlvPieChartDisplayer::removeSliceInfo | ( | IlUInt | sliceIndex | ) |
Removes the slice information defined for a given slice.
sliceIndex | The index of the slice for which the slice information is removed. |
virtual IlvDoublePoint* IlvPieChartDisplayer::selectDataPointsForPoint | ( | IlUInt | dataPointIndex, | |
IlUInt & | count, | |||
IlUInt *& | dataPointIndexes | |||
) | const [protected, virtual] |
Selects and returns the data points needed to display the graphical representation of the data points at a given index in the real data set(s) to be displayed by the current displayer.
(See the IlvSingleChartDisplayer::selectDataPointsForPoint
method for more details.)
The data points are selected in the virtual data set that is constructed internally from the data set that is set on the current displayer, since it is the data points of this virtual data set that are finally displayed. (See the Detailed Description for more details.)
For a pie displayer, the data points that are selected to be able to draw the slice for the data point at a given index in the real data set that is set on this displayer are: the data points at the index dataPointIndex and at the index dataPointIndex +1
in the virtual data set. These data points correspond to the extremities of the arc of the slice.
Reimplemented from IlvSingleChartDisplayer.
virtual IlvDoublePoint* IlvPieChartDisplayer::selectDataPointsForRange | ( | const IlvCoordInterval & | abscissaRange, | |
IlUInt & | pointCount, | |||
IlUInt *& | dataPointIndexes, | |||
const IlvTransformer * | t = 0 , |
|||
const IlvRect * | clip = 0 | |||
) | const [protected, virtual] |
Selects and returns the data points to display that are within a given abscissa interval.
Selects and returns the data points to display that are within the abscissa interval defined by abscissaRange. The indexes of the selected data points are returned in the array dataPointIndexes. The number of selected data points is returned in pointCount.
The current implementation of the method does not take the clipping region into account to select the data points. All the data points to display that are within abscissaRange will be selected.
abscissaRange | The abscissa interval used to select the data points. | |
pointCount | The number of selected data points. | |
dataPointIndexes | An array of the indexes of the selected data points. | |
t | The transformer (if any) that is used for drawing the data points by the current displayer. | |
clip | The clipping region (if any) that is used for drawing the data points by the current displayer. |
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::setChartGraphic | ( | IlvChartGraphic * | chart | ) | [virtual] |
Sets the chart graphic which uses the current displayer.
chart | The chart graphic which uses the current displayer. |
Reimplemented from IlvAbstractChartDisplayer.
virtual void IlvPieChartDisplayer::setLegendItems | ( | IlvChartLegend * | legend | ) | const [virtual] |
Sets the legend items associated with the current displayer.
Sets the legend items associated with the current displayer on the legend legend.
The current implementation calls the IlvChartLegend::addLegendItem
method for each slice that is drawn by the current displayer. The slice index is passed as client data in the called method.
See the IlvSingleChartDisplayer::setLegendItems
method for more details.
legend | The legend that will display the legend items associated with the current displayer. |
Reimplemented from IlvSingleChartDisplayer.
virtual void IlvPieChartDisplayer::setMode | ( | IlvDrawMode | mode | ) | [virtual] |
Sets the drawing mode.
Sets the drawing mode for the current object. The information is passed to all the palettes used by the current displayer to display data.
mode | The new drawing mode for the current object. |
Reimplemented from IlvSingleChartDisplayer.
void IlvPieChartDisplayer::setOffset | ( | const IlvDoublePoint & | offset | ) |
Sets the offset between the added graphic objects and all the slices.
The offset is defined by an angle value expressed in degrees and a radial value expressed in pixels. The angle value should be stored in the abscissa of offset and the radial value in the ordinate.
offset | The new offset between the added graphic objects and all the slices. |
Sets the offset between the added graphic objects and all the slices.
The offset is defined by an angle value expressed in degrees and a radial value expressed in pixels.
theta | The new angle value defining the offset between the added graphic objects and all the slices. This value must be expressed in degrees. | |
rho | The new radial value defining the offset between the added graphic objects and all the slices. |
virtual void IlvPieChartDisplayer::setOverwrite | ( | IlBoolean | o | ) | [virtual] |
Sets the overwrite mode.
Modifies the way the drawing member functions of the current object operate when drawing on the root port. If the o parameter is set to IlFalse
, the drawing operations are hidden by the windows stored on the top window. If the parameter is set to IlTrue
, the drawing operations are performed on top of every window present on the screen, just as if the windows were part of the root window. The information is passed to all the palettes used by the current displayer to display data.
o | The new value of the Boolean indicating the way the drawing member functions operate. |
Reimplemented from IlvSingleChartDisplayer.
void IlvPieChartDisplayer::setRadius | ( | IlDouble | radius | ) |
Sets the radius of the pie.
The radius is expressed with respect to the ordinate range of the chart graphic. The value of the radius should be within this range if you want the whole pie to appear. Otherwise the pie may be not visible or it may be truncated.
radius | The new radius of the pie. |
void IlvPieChartDisplayer::setRange | ( | IlDouble | range | ) |
Sets the angle range of the pie.
range | The new angle range. The angle range must be expressed in degrees. This range corresponds to the sum of the angles of the slices. If range is equal to 360 degrees, the slices will cover a whole circle. |
void IlvPieChartDisplayer::setSliceGraphic | ( | IlUInt | sliceIndex, | |
IlvGraphic * | graphic | |||
) |
Sets the graphic object that is drawn along with a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
graphic | The new graphic object that will be drawn along with the slice with the index sliceIndex. |
void IlvPieChartDisplayer::setSliceInfo | ( | IlUInt | sliceIndex, | |
IlvPieSliceInfo * | sliceInfo | |||
) |
Sets the slice information defined for a given slice.
sliceIndex | The index of the slice for which the slice information is set. | |
sliceInfo | The new slice information. |
virtual void IlvPieChartDisplayer::setSliceLegendText | ( | IlUInt | sliceIndex, | |
const char * | legendText | |||
) | [virtual] |
Sets the text that will be used in a legend for a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
legendText | The new text that will be used in a legend for the slice with the index sliceIndex. |
void IlvPieChartDisplayer::setSlicePalette | ( | IlUInt | sliceIndex, | |
IlvPalette * | palette | |||
) |
Sets the palette used to display a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
palette | The new palette that will be used to display the slice with the index sliceIndex. |
void IlvPieChartDisplayer::setStartingAngle | ( | IlDouble | angle | ) |
Sets the angle at which the first slice is drawn.
angle | The new angle. This angle must be expressed in degrees. |
void IlvPieChartDisplayer::setTearOffDelta | ( | IlvDim | delta | ) |
Sets the offset applied to torn-off slices.
delta | The new offset applied to torn-off slices. |
virtual IlBoolean IlvPieChartDisplayer::sliceBBox | ( | IlUInt | sliceIndex, | |
IlvRect & | bbox, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Returns the bounding box of a given slice.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
bbox | The parameter used to return the bounding box of the slice. | |
t | The transformer that will be applied to the returned bounding box. |
virtual IlBoolean IlvPieChartDisplayer::sliceContains | ( | IlUInt | sliceIndex, | |
const IlvPoint & | viewPoint, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Indicates whether a given slice contains a given screen point.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
viewPoint | The screen point for which we want to know if it is contained in the slice. | |
t | The transformer that has been applied to viewPoint if any. |
IlTrue
if the considered slice contains the point viewPoint and IlFalse
otherwise. Specifies whether a given slice is torn off.
sliceIndex | The index of the slice among the slices displayed by the current displayer. | |
flag | The new value of the Boolean indicating whether the slice with the index sliceIndex is torn off. |
virtual void IlvPieChartDisplayer::updateVirtualDataSets | ( | ) | [protected, virtual] |
Updates the virtual data set.
This method first removes the existing virtual data set and then constructs the new virtual data set of the IlvPieChartDataSet
type used by the current displayer. This virtual data set is composed of only the real data set that has to be displayed by the current displayer.
IlvAbstractChartDisplayer::update
method to update the virtual data sets when the real data sets have been modified. Reimplemented from IlvAbstractChartDisplayer.
virtual IlBoolean IlvPieChartDisplayer::useVirtualDataSets | ( | ) | const [virtual] |
Indicates whether the current displayer uses virtual data sets.
Returns a Boolean that indicates whether the current displayer uses virtual data sets.
IlTrue
by default. Reimplemented from IlvAbstractChartDisplayer.
IlUInt IlvPieChartDisplayer::whichSlice | ( | const IlvPoint & | viewPoint, | |
const IlvTransformer * | t = 0 | |||
) | const |
Returns the slice containing a given screen point.
viewPoint | The screen point contained in the slice to be retrieved. | |
t | The transformer that has been applied to viewPoint if any. |
virtual void IlvPieChartDisplayer::write | ( | IlvOutputFile & | file | ) | const [virtual] |
Writes the attributes of the current object in a file.
Called by the IlvAbstractChartDisplayer::save
method. This method can be overloaded in subclasses that define new attributes. The information written by the write
method is read by the IO constructor, which takes an IlvInputFile
as its only argument. Both this method and the IO constructor can be automatically declared by using the DeclareChartDisplayerTypeInfo
macro within the class declaration.
file | The file where the attributes of the current object are written. |
Reimplemented from IlvSingleChartDisplayer.
© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.