Rogue Wave Views |
Rogue Wave Views Documentation Home |
Class for 3D bar displayers. More...
#include <ilviews/charts/bar.h>
Public Member Functions | |
Ilv3dBarChartDisplayer (IlvDim width=IlvChartDisplayerWidth, IlvDim depth=IlvChartDisplayerDepth, IlvPalette *palette=0) | |
Constructor. More... | |
virtual | ~Ilv3dBarChartDisplayer () |
Destructor. More... | |
void | drawTopFace (IlBoolean b) |
Specifies whether the top face of the 3D bars is drawn. More... | |
virtual void | getClipArea (IlvRect &area, const IlvTransformer *t) const |
Returns the clipping region that is used for the drawing. More... | |
IlvDim | getDepth () const |
Returns the depth of the 3D bars used to represent the data. More... | |
virtual IlvDim | getWidth () const |
Returns the width of the 3D bars used to represent the data. More... | |
IlBoolean | isDrawingTopFace () const |
Indicates whether the top face of the 3D bars is drawn. More... | |
void | setDepth (IlvDim depth) |
Sets the depth of the 3D bars used to represent the data. More... | |
virtual void | setMode (IlvDrawMode mode) |
Sets the drawing mode. More... | |
virtual void | setOverwrite (IlBoolean o) |
Sets the overwrite mode. More... | |
virtual void | setPalette (IlvPalette *palette, IlUInt index=0) |
Sets the palette used by the current displayer. More... | |
virtual void | setWidth (IlvDim width) |
Sets the width of the3D bars used to represent the data. More... | |
Public Member Functions inherited from IlvBarChartDisplayer | |
IlvBarChartDisplayer (IlvDim width=IlvChartDisplayerWidth, IlvPalette *palette=0) | |
Constructor. More... | |
IlvDim | getSize () const |
Returns the size of the bars used to represent the data. More... | |
virtual IlvDim | getSizeAlongBase () const |
Returns the size along the base for the graphical representation of a given data point. More... | |
IlUInt | getStrokeThreshold () const |
Returns the minimum width of a bar, below which the stroke of a rendering style is not used. More... | |
IlUInt | getWidthPercent () const |
Returns the width percentage of the bars used to represent the data. More... | |
virtual IlBoolean | isFilled () const |
Indicates whether the graphical representation is filled. More... | |
void | setStrokeThreshold (IlUInt threshold) |
Specifies the minimum width of a bar, below which the stroke of a rendering style is not used. More... | |
void | setWidthPercent (IlUInt width) |
Sets the width percentage of the space between two bars. More... | |
Public Member Functions inherited from IlvSingleChartDisplayer | |
virtual | ~IlvSingleChartDisplayer () |
Destructor. More... | |
virtual IlvChartDisplayerPoints * | allocDisplayerPoints () const |
Allocates and returns an IlvChartDisplayerPoints object. More... | |
virtual IlBoolean | boundingBox (IlvRect &bbox, const IlvTransformer *t=0) const |
Returns the bounding box of the graphical representation of data. More... | |
virtual IlBoolean | dataPointBBox (IlUInt dataPtIdx, IlvRect &bbox, IlBoolean takeInfoIntoAccount=IlTrue, const IlvTransformer *t=0) const |
Returns the bounding box of the graphical representation of the data points at a given index. More... | |
virtual void | draw (IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the graphical representation of data. More... | |
virtual void | drawDataPoint (IlUInt dataPtIdx, IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the graphical representation of the data point(s) at a given index. More... | |
virtual void | drawDataPoints (IlUInt iMin, IlUInt iMax, IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the graphical representation of the data points between a given interval. More... | |
virtual void | drawFill (IlBoolean b) |
Sets the filling mode of the displayer. More... | |
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. More... | |
virtual IlvColor * | getBackground (IlUInt index=0) const |
Returns the background color of a palette used by the current displayer to display data. More... | |
void | getDataDisplayArea (IlvRect &dataDisplayArea, const IlvTransformer *t=0) const |
Returns the bounds of the data display area. More... | |
IlvChartDisplayerPointsFactory * | getDisplayerPointsFactory () const |
Returns the factory used to create IlvChartDisplayerPoints instances. More... | |
virtual IlUInt | getDisplayersCount () const |
Returns the number of displayers. More... | |
virtual IlUInt | getDisplayItem (IlvChartDataSet *&dataSet, const IlvPoint &viewPoint, const IlvTransformer *t) const |
Returns the item to which a view point corresponds. More... | |
virtual IlBoolean | getDisplayPoint (const IlvChartDataSet *dataSet, IlUInt dataPtIdx, IlvPoint &point, const IlvTransformer *t=0) const |
Returns the corresponding screen point for a data point. More... | |
virtual IlvColor * | getForeground (IlUInt index=0) const |
Returns the foreground color of a palette used by the current displayer to display data. More... | |
virtual const char * | getInternalLegendText (IlUInt index=0) const |
Returns the legend text stored in the current displayer. More... | |
virtual const char * | getLegendText (IlUInt index=0) const |
Returns the text that will be used in a legend for the current displayer. More... | |
virtual IlUInt | getNearestPoint (IlvChartDataSet *&dataSet, const IlvPoint &viewPoint, IlvDim distance, IlvPoint &point, const IlvTransformer *t=0) const |
Returns the nearest data point. More... | |
virtual IlvPalette * | getPalette (IlUInt=0) const |
Returns a palette used by the current displayer to display data. More... | |
virtual IlvPointInfoCollection * | getPointInfoCollection (const IlvChartDataSet *dataSet) const |
Returns the point information collection defined to be used to display a given data set. More... | |
IlvPos | getShiftOffset () const |
Returns the offset by which the graphical representation of data is shifted along the base of the chart. More... | |
IlBoolean | isDrawingFill () const |
Returns the filling mode for the current displayer. More... | |
virtual void | releaseDisplayerPoints (IlvChartDisplayerPoints *dispPts) const |
Releases an IlvChartDisplayerPoints object used by the current displayer. More... | |
virtual void | setBackground (IlvColor *color, IlUInt index=0) |
Sets the background color of a palette used by the current displayer to display data. More... | |
virtual IlBoolean | setDataPoint (IlvChartDataSet *dataSet, IlUInt dataPtIdx, const IlvPoint &point, const IlvTransformer *t=0) const |
Sets the corresponding data point from a screen point. More... | |
IlvChartDisplayerPointsFactory * | setDisplayerPointsFactory (IlvChartDisplayerPointsFactory *factory) |
Sets the factory used to create IlvChartDisplayerPoints instances. More... | |
virtual void | setForeground (IlvColor *color, IlUInt index=0) |
Sets the foreground color of a palette used by the current displayer to display data. More... | |
virtual void | setLegendItems (IlvChartLegend *legend) const |
Sets the legend items associated with the current displayer. More... | |
virtual void | setLegendText (const char *text, IlUInt index=0) |
Sets the text that will be used in a legend for the current displayer. More... | |
virtual void | setPointInfoCollection (const IlvChartDataSet *dataSet, IlvPointInfoCollection *ptInfoCollection) |
Sets the point information collection that will be used to display a given data set. More... | |
void | setShiftOffset (IlvPos offset) |
Sets the offset by which the graphical representation of data is shifted along the base of the chart. More... | |
virtual void | treatPointsOutOfAbscissaLimits (const IlvRect &dataDisplayArea, IlvChartDisplayerPoints *displayerPoints, const IlvCoordInterval &abscissaRange, const IlvPoint &minLimit, const IlvPoint &maxLimit) const |
Treats the occurrence of points in screen coordinates that are outside the abscissa limits. More... | |
virtual IlBoolean | usePointInfo () const |
Indicates whether point information collections are defined. More... | |
virtual void | write (IlvOutputFile &file) const |
Writes the attributes of the current object in a file. More... | |
Public Member Functions inherited from IlvAbstractChartDisplayer | |
virtual | ~IlvAbstractChartDisplayer () |
Destructor. More... | |
void | addDataSet (IlvChartDataSet *dataSet) |
Adds a real data set to be displayed by the current displayer. More... | |
virtual IlBoolean | canBeProjectedIfOutOfBounds () const |
Indicates whether the graphical representation can be projected when it is out-of-bounds. More... | |
virtual IlvAbstractChartDisplayer * | copy () const =0 |
Virtual copy constructor. More... | |
IlBoolean | dataPointToDisplay (const IlvDoublePoint &dataPoint, IlvPoint &point, const IlvTransformer *t=0) const |
Projects a data point into screen coordinates. More... | |
virtual IlBoolean | displayDataSet (const IlvChartDataSet *dataSet) const |
Indicates whether the current displayer displays a data set. More... | |
IlBoolean | displayToDataPoint (const IlvPoint &point, IlvDoublePoint &dataPoint, const IlvTransformer *t=0) const |
Inversely projects a screen point to retrieve the corresponding data point. More... | |
IlvChartGraphic * | getChartGraphic () const |
Returns the chart graphic which uses the current displayer. More... | |
IlvChartDataSet * | getDataSet (IlUInt index=0) const |
Returns a data set used by the current displayer. More... | |
IlUInt | getDataSetsCount () const |
Returns the number of data sets used by the current displayer. More... | |
IlUInt | getMaxDataSetsCount () const |
Returns the maximum number of real data sets that the current displayer is allowed to display. More... | |
const char * | getName () const |
Returns the name of the current displayer. More... | |
IlvCoordinateInfo * | getOrdinateInfo () const |
Deprecated Returns the coordinate information associated with the ordinate scale considered to display data. More... | |
const IlvCompositeChartDisplayer * | getParentDisplayer () const |
Returns the parent displayer. More... | |
virtual IlvChartDataPointInfo * | getPointInfo (IlUInt dataPtIdx, const IlvChartDataSet *dataSet=0) const |
Returns the point information associated with a given data point. More... | |
virtual IlvPalette * | getProjectedPointsPalette () const |
Returns the palette used to display out-of-bounds values. More... | |
IlvChartDataSet * | getRealDataSet (IlUInt index=0) const |
Returns a real data set to be displayed by the current displayer. More... | |
IlUInt | getRealDataSetsCount () const |
Returns the number of real data sets. More... | |
virtual IlvCombinedChartDataSet * | getVirtualDataSet (const IlvChartDataSet *dataSet, IlUInt &index) const |
Returns a virtual data set used by the current displayer. More... | |
virtual IlBoolean | graphicalRepresentationByDataPoint () const |
Indicates whether there is a graphical representation by data point. More... | |
virtual void | insertDataSet (IlvChartDataSet *dataSet, IlUInt index=IlvLastPositionIndex) |
Inserts a real data set to be displayed by the current displayer. More... | |
virtual IlBoolean | isContinuous () const |
Indicates whether the graphical representation is continuous. More... | |
virtual IlBoolean | isViewable () const |
Indicates whether the graphical representation can be viewed. More... | |
IlBoolean | isVisible () const |
Indicates whether the graphical representation is visible. More... | |
virtual void | removeDataSet (IlvChartDataSet *dataSet) |
Removes a real data set from the data sets to be displayed by the current displayer. More... | |
virtual void | removeDataSets () |
Removes all the real data sets to be displayed by the current displayer. | |
void | removePointInfoCollection (const IlvChartDataSet *dataSet) |
Removes the point information collection defined to be used to display a given data set. More... | |
virtual IlBoolean | replaceDataSet (IlvChartDataSet *oldDataSet, IlvChartDataSet *newDataSet) |
Replaces a real data set with another one. More... | |
IlvOutputFile & | save (IlvOutputFile &file) const |
Writes a complete description of the current object in a file. More... | |
virtual void | setChartGraphic (IlvChartGraphic *chart) |
Sets the chart graphic which uses the current displayer. More... | |
virtual void | setDataSet (IlvChartDataSet *dataSet, IlUInt index=0) |
Sets a real data set to be displayed by the current displayer. More... | |
void | setDataSet (IlvChartDataSet *dataSet, IlvPalette *palette, IlUInt index=0) |
Sets a real data set to be displayed by the current displayer. More... | |
virtual void | setDataSets (IlUInt count, IlvChartDataSet *const *dataSets) |
Sets the real data sets to be displayed by the current displayer. More... | |
void | setName (const char *name) |
Sets the name of the current displayer. More... | |
virtual void | setOrdinateInfo (IlvCoordinateInfo *ordinateInfo) |
Sets the coordinate information associated with the ordinate scale considered to display data. More... | |
void | setParentDisplayer (const IlvCompositeChartDisplayer *displayer) |
Sets the parent displayer. More... | |
void | setVirtualDataSet (IlvCombinedChartDataSet *vDataSet, IlUInt index=0) |
Sets a virtual data set used by the current displayer. More... | |
void | setVisible (IlBoolean visible) |
Specifies whether the graphical representation is visible. More... | |
virtual IlBoolean | useVirtualDataSets () const |
Indicates whether the current displayer uses virtual data sets. More... | |
Protected Member Functions | |
virtual void | boundingBoxOfPoints (IlvChartDisplayerPoints *dspPts, IlvRect &bbox, IlBoolean takeInfoIntoAccount, const IlvTransformer *t=0) const |
Computes the bounding box of the graphical representation from points in screen coordinates corresponding to the data points to display. More... | |
virtual void | computeItem (const IlvChartDisplayerPoints *dspPts, 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. More... | |
virtual void | computePalettes () |
Computes the shadow palettes used to display the top and side faces of the 3D bars. More... | |
virtual void | computeTopBottomShadows (IlvPalette *currentPalette, IlvPalette *&topShadow, IlvPalette *&bottomShadow) const |
Computes the shadow palettes from a given palette. More... | |
virtual void | drawItem (const IlvChartDisplayerPoints *dspPts, 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. More... | |
virtual void | drawPoints (IlvChartDisplayerPoints *dspPts, 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. More... | |
virtual IlUInt | getItemPointsCount (const IlvChartDisplayerPoints *dspPts) const |
Returns the maximum number of points needed to define an item for the current displayer. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from IlvAbstractChartDisplayer | |
static IlvAbstractChartDisplayer * | Load (IlvInputFile &file) |
Reads a displayer object from a file. More... | |
Class for 3D bar displayers.
Library: ilvcharts
This class is a subclass of IlvBarChartDisplayer
which allows you to represent data with 3D bars.
The 3D bar displayer displays a unique data set. This displayer can be used with any type of projection (see the IlvAbstractProjector
class for more details).
The images below show data sets represented with 3D bar displayers in a Cartesian chart (on the left) and a polar chart (on the right).
IlvBarChartDisplayer
. Ilv3dBarChartDisplayer::Ilv3dBarChartDisplayer | ( | IlvDim | width = IlvChartDisplayerWidth , |
IlvDim | depth = IlvChartDisplayerDepth , |
||
IlvPalette * | palette = 0 |
||
) |
Constructor.
Initializes a new Ilv3dBarChartDisplayer
object. The Boolean indicating whether the top face is drawn is set to IlTrue
by default.
width | The width of the 3D bars that will be used to represent the data. |
depth | The depth of the 3D bars that will be used to represent the data. |
palette | The palette that will be used to display the 3D bars. |
|
virtual |
Destructor.
The destructor unlocks the shadow palettes computed from the palette set on the current displayer. The shadow palettes are used to display the top and side faces, whereas the front face is displayed with the palette set on the current displayer.
|
protectedvirtual |
Computes 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.
This method just calls the IlvBarChartDisplayer::boundingBoxOfPoints
method and expands the computed bounding box by the difference between the depth and the size of the bars if the depth is greater than the size.
Reimplemented from IlvBarChartDisplayer.
|
protectedvirtual |
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 dspPts 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 item that will be displayed for a given screen point corresponding to a data point is a 3D bar. This 3D bar is defined by twelve points corresponding to the corners of the three faces of the 3D bar. The following figure shows these points. The indexes at which the points are stored in the array points that is used to return the points defining the item are displayed next to the points.
The number of computed points defining the item (that is, 12
) is returned in usedPointsCount.
Reimplemented from IlvBarChartDisplayer.
|
protectedvirtual |
Computes the shadow palettes used to display the top and side faces of the 3D bars.
Computes the shadow palettes used to display the top and side faces of the 3D bars from the palette set on the current displayer. (The palette set on the current displayer is used to display the front face).
|
protectedvirtual |
Computes the shadow palettes from a given palette.
currentPalette | The palette from which the shadow palettes are computed. |
topShadow | The computed shadow palette that will be used to display the top face of the 3D bars. |
bottomShadow | The computed shadow palette that will be used to display the side face of the 3D bars. |
Ilv3dBarChartDisplayer::computePalettes()
method in order to compute the shadow palettes that will be used to display the top and the side faces of the 3D bars.
|
protectedvirtual |
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 dspPts 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 3D bar defined by the points stored in points. (See the Ilv3dBarChartDisplayer::computeItem
method for more details.) A polyline is drawn around each face of the 3D bar with the foreground color of the palette itemPalette. The front face is filled with the background color of the palette if the method IlvSingleChartDisplayer::isDrawingFill
returns IlTrue
. The top and side faces are filled with the shadow colors computed from the background color if the method IlvSingleChartDisplayer::isDrawingFill
returns IlTrue
.
Reimplemented from IlvBarChartDisplayer.
|
protectedvirtual |
Draws the graphical representation from points in screen coordinates corresponding to the data points to display.
The drawing is performed in the given port dst using the transformer t and the clipping region clip.
The default implementation of this method uses the IlvSingleChartDisplayer::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:
IlvSingleChartDisplayer::computeItem()
method to compute the item that will be displayed for this screen point. IlvSingleChartDisplayer::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).
displayerPoints | The object that stores the points in screen coordinates that have to be displayed by the current displayer. These points are considered to be already transformed by t. |
dst | The port used for the drawing. |
t | The optional transformer. |
clip | The optional clipping region. |
Reimplemented from IlvSingleChartDisplayer.
void Ilv3dBarChartDisplayer::drawTopFace | ( | IlBoolean | b | ) |
Specifies whether the top face of the 3D bars is drawn.
b | The new value of the Boolean indicating whether the top face of the 3D bars is drawn. |
IlTrue
. This Boolean is used by the stacked 3D bar displayers to draw the top faces of the 3D bars only for the 3D bars at the top of the stack. In this case, the Boolean value is automatically set in the IlvStacked3dBarChartDisplayer::updateDisplayers
method and so does not need to be set by hand.
|
virtual |
Returns the clipping region that is used for the drawing.
This method returns in area the clipping region that is used to clip the graphical representation of data drawn by the current object. If a transformer t is specified, the returned clipping region is transformed by t. The current implementation of the method returns in area the area obtained by the IlvSingleChartDisplayer::getClipArea
method expanded perpendicularly to the base by the depth of a 3D bar and along the base by the maximum between the the size and the depth of a 3D bar. The term base of a chart refers to the abscissa scale of this chart.
area | The returned clipping region that is used by the current object for the drawing. |
t | The transformer that is applied to the returned clipping region. |
Reimplemented from IlvBarChartDisplayer.
IlvDim Ilv3dBarChartDisplayer::getDepth | ( | ) | const |
Returns the depth of the 3D bars used to represent the data.
|
protectedvirtual |
Returns the maximum number of points needed to define an item for the current displayer.
See the Ilv3dBarChartDisplayer::computeItem
method for more details.
dspPts | The object that stores the points in screen coordinates that have to be displayed by the current displayer. |
12
. Reimplemented from IlvBarChartDisplayer.
|
virtual |
Returns the width of the 3D bars used to represent the data.
Reimplemented from IlvBarChartDisplayer.
IlBoolean Ilv3dBarChartDisplayer::isDrawingTopFace | ( | ) | const |
Indicates whether the top face of the 3D bars is drawn.
IlTrue
if the top face is drawn and IlFalse
otherwise.Ilv3dBarChartDisplayer::drawTopFace
. void Ilv3dBarChartDisplayer::setDepth | ( | IlvDim | depth | ) |
Sets the depth of the 3D bars used to represent the data.
depth | The new depth of the 3D bars used to represent the data. |
|
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.
|
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.
|
virtual |
Sets the palette used by the current displayer.
Sets the palette used by the current displayer to display data to palette and computes the shadow palettes from this palette. The shadow palettes are used to display the top and side faces, whereas the palette palette is used to display the front face.
IlvAbstractChartDisplayer::setPalette()
method for more details.)palette | The new palette used by the current displayer. |
index | If the current displayer is a composite displayer, this parameter indicates the index of the displayer within the displayers composing the current displayer. Otherwise, this parameter can be omitted. |
Reimplemented from IlvSingleChartDisplayer.
|
virtual |
Sets the width of the3D bars used to represent the data.
width | The new width of the 3D bars used to represent the data. |
Reimplemented from IlvBarChartDisplayer.
© Copyright 2015, 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.