Nakuja Flight Computer Testing and Simulation Engine (NaFCTSE) 1.0
A testing and verification tool for the Nakuja Rocket Project flight computers
|
Specialized axis ticker to display ticks in units of an arbitrary constant, for example pi. More...
Public Types | |
enum | FractionStyle { fsFloatingPoint , fsAsciiFractions , fsUnicodeFractions } |
Public Types inherited from QCPAxisTicker | |
enum | TickStepStrategy { tssReadability , tssMeetTickCount } |
Public Member Functions | |
QCPAxisTickerPi () | |
QString | piSymbol () const |
double | piValue () const |
bool | periodicity () const |
FractionStyle | fractionStyle () const |
void | setPiSymbol (QString symbol) |
void | setPiValue (double pi) |
void | setPeriodicity (int multiplesOfPi) |
void | setFractionStyle (FractionStyle style) |
Public Member Functions inherited from QCPAxisTicker | |
QCPAxisTicker () | |
TickStepStrategy | tickStepStrategy () const |
int | tickCount () const |
double | tickOrigin () const |
void | setTickStepStrategy (TickStepStrategy strategy) |
void | setTickCount (int count) |
void | setTickOrigin (double origin) |
virtual void | generate (const QCPRange &range, const QLocale &locale, QChar formatChar, int precision, QVector< double > &ticks, QVector< double > *subTicks, QVector< QString > *tickLabels) |
Protected Member Functions | |
virtual double | getTickStep (const QCPRange &range) Q_DECL_OVERRIDE |
virtual int | getSubTickCount (double tickStep) Q_DECL_OVERRIDE |
virtual QString | getTickLabel (double tick, const QLocale &locale, QChar formatChar, int precision) Q_DECL_OVERRIDE |
void | simplifyFraction (int &numerator, int &denominator) const |
QString | fractionToString (int numerator, int denominator) const |
QString | unicodeFraction (int numerator, int denominator) const |
QString | unicodeSuperscript (int number) const |
QString | unicodeSubscript (int number) const |
Protected Member Functions inherited from QCPAxisTicker | |
virtual QVector< double > | createTickVector (double tickStep, const QCPRange &range) |
virtual QVector< double > | createSubTickVector (int subTickCount, const QVector< double > &ticks) |
virtual QVector< QString > | createLabelVector (const QVector< double > &ticks, const QLocale &locale, QChar formatChar, int precision) |
void | trimTicks (const QCPRange &range, QVector< double > &ticks, bool keepOneOutlier) const |
double | pickClosest (double target, const QVector< double > &candidates) const |
double | getMantissa (double input, double *magnitude=nullptr) const |
double | cleanMantissa (double input) const |
Protected Attributes | |
QString | mPiSymbol |
double | mPiValue |
int | mPeriodicity |
FractionStyle | mFractionStyle |
double | mPiTickStep |
Protected Attributes inherited from QCPAxisTicker | |
TickStepStrategy | mTickStepStrategy |
int | mTickCount |
double | mTickOrigin |
Specialized axis ticker to display ticks in units of an arbitrary constant, for example pi.
This QCPAxisTicker subclass generates ticks that are expressed with respect to a given symbolic constant with a numerical value specified with setPiValue and an appearance in the tick labels specified with setPiSymbol.
Ticks may be generated at fractions of the symbolic constant. How these fractions appear in the tick label can be configured with setFractionStyle.
The ticker can be created and assigned to an axis like this:
Defines how fractions should be displayed in tick labels.
QCPAxisTickerPi::QCPAxisTickerPi | ( | ) |
Constructs the ticker and sets reasonable default values. Axis tickers are commonly created managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker.
|
protectedvirtual |
Reimplemented from QCPAxisTicker.
|
protectedvirtual |
Reimplemented from QCPAxisTicker.
|
protectedvirtual |
Reimplemented from QCPAxisTicker.
void QCPAxisTickerPi::setFractionStyle | ( | QCPAxisTickerPi::FractionStyle | style | ) |
Sets how the numerical/fractional part preceding the symbolic constant is displayed in tick labels. See FractionStyle for the various options.
void QCPAxisTickerPi::setPeriodicity | ( | int | multiplesOfPi | ) |
Sets whether the axis labels shall appear periodicly and if so, at which multiplicity of the symbolic constant.
To disable periodicity, set multiplesOfPi to zero.
For example, an axis that identifies 0 with 2pi would set multiplesOfPi to two.
void QCPAxisTickerPi::setPiSymbol | ( | QString | symbol | ) |
Sets how the symbol part (which is always a suffix to the number) shall appear in the axis tick label.
If a space shall appear between the number and the symbol, make sure the space is contained in symbol.
void QCPAxisTickerPi::setPiValue | ( | double | pi | ) |
Sets the numerical value that the symbolic constant has.
This will be used to place the appropriate fractions of the symbol at the respective axis coordinates.