Views
Charts Package API Reference Guide
Product Documentation:
Views Documentation Home
List of all members | Public Member Functions
IlvCircularGridDisplayer Class Reference

Grid displayer subclass for ordinate scales of polar charts. More...

#include <ilviews/charts/grid.h>

Inheritance diagram for IlvCircularGridDisplayer:
IlvAbstractGridDisplayer IlvValueInterface IlvRadarGridDisplayer

Public Member Functions

 IlvCircularGridDisplayer (IlvCircularScaleDisplayer *ref, IlvPalette *major=0, IlvPalette *minor=0)
 Constructor. More...
 
virtual ~IlvCircularGridDisplayer ()
 Destructor. More...
 
virtual IlvRectangularGridDisplayercreateRectangularGrid () const
 Creates and returns a rectangular grid instantiated with the current grid parameters. More...
 
virtual void drawTick (IlUInt tickIdx, const IlvPoint &tickPoint, IlDouble tickAngle, IlBoolean major, IlvPort *dst, const IlvRegion *givenClip) const
 Draws the grid line for a given tick of the scale with which the grid is associated. More...
 
const IlvCircularScaleDisplayergetReferenceScale () const
 Returns the reference scale. More...
 
void setReferenceScale (const IlvCircularScaleDisplayer *scale)
 Sets the reference scale. More...
 
- Public Member Functions inherited from IlvAbstractGridDisplayer
virtual ~IlvAbstractGridDisplayer ()
 Destructor. More...
 
virtual IlvAbstractGridDisplayercopy () const =0
 Virtual copy constructor. More...
 
void drawMinorLines (IlBoolean flag)
 Specifies that the minor lines are drawn. More...
 
IlvPalettegetDefaultPalette () const
 Returns the palette used by default. More...
 
IlvDrawOrder getDrawOrder () const
 Returns the drawing order for the current grid. More...
 
IlvPalettegetMajorPalette () const
 Returns the palette for the major lines. More...
 
IlvPalettegetMinorPalette () const
 Returns the palette for the minor lines. More...
 
const IlvAbstractProjectorgetProjector () const
 Returns the object used to project the data into screen coordinates. More...
 
const IlvSingleScaleDisplayergetTickScale () const
 Returns the scale with which the current grid is associated. More...
 
IlBoolean isDrawingMinorLines () const
 Indicates whether the minor lines are drawn. More...
 
IlBoolean isVisible () const
 Indicates whether the current grid is visible. More...
 
IlvOutputFilesave (IlvOutputFile &file) const
 Writes a complete description of the current object in a file. More...
 
void setDrawOrder (IlvDrawOrder drawOrder)
 Sets the drawing order for the current grid. More...
 
void setMajorPalette (IlvPalette *pal)
 Sets the palette for the major lines. More...
 
void setMinorPalette (IlvPalette *pal)
 Sets the palette for the minor lines. More...
 
virtual void setMode (IlvDrawMode mode)
 Sets the drawing mode. More...
 
virtual void setOverwrite (IlBoolean o)
 Sets the way the drawing member functions operate. More...
 
void setVisible (IlBoolean visible)
 Specifies whether the current grid is visible. More...
 
virtual void write (IlvOutputFile &file) const
 Writes the attributes of the current object in a file. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IlvAbstractGridDisplayer
static IlvAbstractGridDisplayerLoad (IlvInputFile &file)
 Reads a grid object from a file. More...
 
- Protected Member Functions inherited from IlvAbstractGridDisplayer
 IlvAbstractGridDisplayer (const IlvAbstractGridDisplayer &grid)
 Constructor. More...
 
 IlvAbstractGridDisplayer (IlvInputFile &file)
 Constructor. More...
 
 IlvAbstractGridDisplayer (IlvPalette *major=0, IlvPalette *minor=0)
 Constructor. More...
 

Detailed Description

Grid displayer subclass for ordinate scales of polar charts.

Library: ilvcharts

This class is a subclass of IlvAbstractGridDisplayer that allows you to define a circular grid composed of circular lines. This kind of grid is used only for polar charts. A polar chart displays data expressed in polar coordinates with an abscissa scale that is circular and ordinate scales that are radial. In a polar chart, the circular grid is used to draw the grid lines for the ticks of the radial scales, which means that it is used for the ordinate scales. If you want to set a grid on the abscissa scale of a polar chart, you must use a radial grid, which is represented by an instance of the IlvRadialGridDisplayer class.

In a polar chart, the abscissa scale is drawn by using an instance of the IlvCircularScaleDisplayer class and the ordinate scales are drawn by using instances of the IlvRectangularScaleDisplayer class. Therefore, a circular grid can only be used with an IlvRectangularScaleDisplayer object and when the projector used to project the data is an IlvPolarProjector object.

The IlvCircularGridDisplayer class stores a pointer to the abscissa scale in addition to the pointer to the ordinate scale with which it is associated. The pointer to the abscissa scale, called reference scale, is needed to know where the grid lines stop: the grid lines are drawn by using the same range as the abscissa scale that is circular.

You can see an example of a circular grid on the figure below where a grid is set for the ordinate scale of the displayed chart. You can notice that the grid lines are drawn by using the same range as the circular abscissa scale.

See also
IlvAbstractGridDisplayer, IlvCircularScaleDisplayer, IlvRadialGridDisplayer.

Constructor & Destructor Documentation

◆ IlvCircularGridDisplayer()

IlvCircularGridDisplayer::IlvCircularGridDisplayer ( IlvCircularScaleDisplayer ref,
IlvPalette major = 0,
IlvPalette minor = 0 
)

Constructor.

Initializes a new IlvCircularGridDisplayer object. By default, the scale with which the current grid is associated is set to 0. The Boolean indicating that the grid is visible is set to IlTrue. The Boolean indicating that the minor lines are drawn is set to IlFalse, meaning that by default only the major lines will be drawn. The drawing order is set to IlvDrawAbove, specifying that the grid is drawn above the graphic representations of data in the chart.

Parameters
refThe circular scale used as the reference scale to bound the grid lines.
majorThe new palette that will be used to draw the major lines of the current grid.
minorThe new palette that will be used to draw the minor lines of the current grid.

◆ ~IlvCircularGridDisplayer()

virtual IlvCircularGridDisplayer::~IlvCircularGridDisplayer ( )
virtual

Destructor.

This destructor sets the pointer to the reference scale to 0.

Member Function Documentation

◆ createRectangularGrid()

virtual IlvRectangularGridDisplayer* IlvCircularGridDisplayer::createRectangularGrid ( ) const
virtual

Creates and returns a rectangular grid instantiated with the current grid parameters.

Returns
The rectangular grid that is created.

◆ drawTick()

virtual void IlvCircularGridDisplayer::drawTick ( IlUInt  tickIdx,
const IlvPoint tickPoint,
IlDouble  tickAngle,
IlBoolean  major,
IlvPort dst,
const IlvRegion clip 
) const
virtual

Draws the grid line for a given tick of the scale with which the grid is associated.

Draws the grid line for the scale tick of index tickIdx, defined by the point tickPoint, which is its position in pixels, and by its angle tickAngle.

The grid line is drawn in the given port named dst using the clipping region clip.

Parameters
tickIdxThe index of the tick on the scale to which the grid is attached.
tickPointThe position in pixels of the scale tick for which the grid line is drawn. This point is already transformed.
tickAngleThe angle of the scale tick for which the grid line is drawn.
majorA Boolean value indicating whether the tick is a major step or a substep.
dstThe port where the grid line is drawn.
clipThe clipping region.
Note
This method is called inside the IlvSingleScaleDisplayer::drawTick() method. Therefore, the grid line is drawn when the scale tick is drawn.
The data display area is automatically set by the scale with the IlvAbstractGridDisplayer::setDataDisplayArea() method before the grid lines are drawn. This area can therefore be fetched with the IlvAbstractGridDisplayer::getDataDisplayArea() method.

Implements IlvAbstractGridDisplayer.

Reimplemented in IlvRadarGridDisplayer.

◆ getReferenceScale()

const IlvCircularScaleDisplayer* IlvCircularGridDisplayer::getReferenceScale ( ) const

Returns the reference scale.

The reference scale is a circular scale that determines the boundaries for the grid lines while drawing: the grid lines are drawn by using the same range as this scale.

Returns
A pointer to the reference scale defined for the current grid.

◆ setReferenceScale()

void IlvCircularGridDisplayer::setReferenceScale ( const IlvCircularScaleDisplayer scale)

Sets the reference scale.

The reference scale is a circular scale that determines the boundaries for the grid lines while drawing: the grid lines are drawn by using the same range as this scale.

Parameters
scaleThe new scale used as the reference scale by the current grid.