Logo ROOT  
Reference Guide
ROOT::Experimental::RPadUserAxisBase Class Referenceabstract

Base class for user coordinates (e.g.

for histograms) used by RPad and RCanvas.

Author
Axel Naumann axel@.nosp@m.cern.nosp@m..ch
Date
2017-07-15
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 28 of file RPadUserAxis.hxx.

Public Types

enum  EAxisBoundsKind { kAxisBoundsAuto, kAxisBoundsBegin = 1, kAxisBoundsEnd = 2, kAxisBoundsBeginEnd = kAxisBoundsBegin | kAxisBoundsEnd }
 Types of axis bounds to respect by the painter. More...
 

Public Member Functions

virtual ~RPadUserAxisBase ()
 
double GetBegin () const
 
EAxisBoundsKind GetBoundsKind () const
 
double GetEnd () const
 
bool RespectBegin () const
 
bool RespectEnd () const
 
void SetAutoBounds ()
 
void SetBegin (double begin)
 
void SetBound (EAxisBoundsKind boundKind, double bound)
 
void SetBounds (double begin, double end)
 
void SetEnd (double end)
 
virtual RPadLength::Normal ToNormal (const RPadLength::User &) const =0
 Convert user coordinates to normal coordinates. More...
 

Protected Member Functions

 RPadUserAxisBase ()=default
 Allow derived classes to default construct a RPadUserAxisBase. More...
 
 RPadUserAxisBase (const RPadUserAxisBase &)=default
 Disable spliced copy construction. More...
 
 RPadUserAxisBase (double begin, double end)
 Construct a cartesian axis from min and max, setting fBoundsKind to kAxisBoundsMinMax. More...
 
 RPadUserAxisBase (EAxisBoundsKind boundKind, double bound)
 Construct a cartesian axis with min or max, depending on the boundKind parameter. More...
 
double GetSensibleDenominator () const
 For (pos-min)/(max-min) calculations, return a sensible, div-by-0 protected denominator. More...
 
RPadUserAxisBaseoperator= (const RPadUserAxisBase &)=default
 Disable spliced assignment. More...
 

Private Attributes

double fBegin = 0.
 Begin of the axis range (but see fBoundsKind) More...
 
int fBoundsKind = kAxisBoundsAuto
 Axis bounds to be used by the painter. More...
 
double fEnd = 1.
 End of the axis range (but see fBoundsKind) More...
 

#include <ROOT/RPadUserAxis.hxx>

Inheritance diagram for ROOT::Experimental::RPadUserAxisBase:
[legend]

Member Enumeration Documentation

◆ EAxisBoundsKind

Types of axis bounds to respect by the painter.

Non-fixed ones will be updated by the painter once the first paint has happened.

Enumerator
kAxisBoundsAuto 

no defined axis range; the painter will decide

kAxisBoundsBegin 

the axis begin is to be respected by the painter.

kAxisBoundsEnd 

the axis end is to be respected by the painter.

kAxisBoundsBeginEnd 

the axis minimum and maximum are to be respected by the painter

Definition at line 32 of file RPadUserAxis.hxx.

Constructor & Destructor Documentation

◆ RPadUserAxisBase() [1/4]

ROOT::Experimental::RPadUserAxisBase::RPadUserAxisBase ( )
protecteddefault

Allow derived classes to default construct a RPadUserAxisBase.

◆ RPadUserAxisBase() [2/4]

ROOT::Experimental::RPadUserAxisBase::RPadUserAxisBase ( double  begin,
double  end 
)
inlineprotected

Construct a cartesian axis from min and max, setting fBoundsKind to kAxisBoundsMinMax.

Definition at line 54 of file RPadUserAxis.hxx.

◆ RPadUserAxisBase() [3/4]

ROOT::Experimental::RPadUserAxisBase::RPadUserAxisBase ( EAxisBoundsKind  boundKind,
double  bound 
)
inlineprotected

Construct a cartesian axis with min or max, depending on the boundKind parameter.

Definition at line 57 of file RPadUserAxis.hxx.

◆ RPadUserAxisBase() [4/4]

ROOT::Experimental::RPadUserAxisBase::RPadUserAxisBase ( const RPadUserAxisBase )
protecteddefault

Disable spliced copy construction.

◆ ~RPadUserAxisBase()

ROOT::Experimental::RPadUserAxisBase::~RPadUserAxisBase ( )
virtual

Definition at line 12 of file RPadUserAxis.cxx.

Member Function Documentation

◆ GetBegin()

double ROOT::Experimental::RPadUserAxisBase::GetBegin ( ) const
inline

Definition at line 81 of file RPadUserAxis.hxx.

◆ GetBoundsKind()

EAxisBoundsKind ROOT::Experimental::RPadUserAxisBase::GetBoundsKind ( ) const
inline

Definition at line 77 of file RPadUserAxis.hxx.

◆ GetEnd()

double ROOT::Experimental::RPadUserAxisBase::GetEnd ( ) const
inline

Definition at line 82 of file RPadUserAxis.hxx.

◆ GetSensibleDenominator()

double ROOT::Experimental::RPadUserAxisBase::GetSensibleDenominator ( ) const
inlineprotected

For (pos-min)/(max-min) calculations, return a sensible, div-by-0 protected denominator.

Definition at line 67 of file RPadUserAxis.hxx.

◆ operator=()

RPadUserAxisBase& ROOT::Experimental::RPadUserAxisBase::operator= ( const RPadUserAxisBase )
protecteddefault

Disable spliced assignment.

◆ RespectBegin()

bool ROOT::Experimental::RPadUserAxisBase::RespectBegin ( ) const
inline

Definition at line 78 of file RPadUserAxis.hxx.

◆ RespectEnd()

bool ROOT::Experimental::RPadUserAxisBase::RespectEnd ( ) const
inline

Definition at line 79 of file RPadUserAxis.hxx.

◆ SetAutoBounds()

void ROOT::Experimental::RPadUserAxisBase::SetAutoBounds ( )
inline

Definition at line 91 of file RPadUserAxis.hxx.

◆ SetBegin()

void ROOT::Experimental::RPadUserAxisBase::SetBegin ( double  begin)
inline

Definition at line 93 of file RPadUserAxis.hxx.

◆ SetBound()

void ROOT::Experimental::RPadUserAxisBase::SetBound ( EAxisBoundsKind  boundKind,
double  bound 
)
inline

Definition at line 90 of file RPadUserAxis.hxx.

◆ SetBounds()

void ROOT::Experimental::RPadUserAxisBase::SetBounds ( double  begin,
double  end 
)
inline

Definition at line 84 of file RPadUserAxis.hxx.

◆ SetEnd()

void ROOT::Experimental::RPadUserAxisBase::SetEnd ( double  end)
inline

Definition at line 94 of file RPadUserAxis.hxx.

◆ ToNormal()

virtual RPadLength::Normal ROOT::Experimental::RPadUserAxisBase::ToNormal ( const RPadLength::User ) const
pure virtual

Convert user coordinates to normal coordinates.

Implemented in ROOT::Experimental::RPadCartesianUserAxis.

Member Data Documentation

◆ fBegin

double ROOT::Experimental::RPadUserAxisBase::fBegin = 0.
private

Begin of the axis range (but see fBoundsKind)

Definition at line 44 of file RPadUserAxis.hxx.

◆ fBoundsKind

int ROOT::Experimental::RPadUserAxisBase::fBoundsKind = kAxisBoundsAuto
private

Axis bounds to be used by the painter.

Definition at line 41 of file RPadUserAxis.hxx.

◆ fEnd

double ROOT::Experimental::RPadUserAxisBase::fEnd = 1.
private

End of the axis range (but see fBoundsKind)

Definition at line 47 of file RPadUserAxis.hxx.


The documentation for this class was generated from the following files: