16#include "TGLIncludes.h" 
   40   fAttAxis(nullptr), fUseAxisColors(
kTRUE),
 
   45   fLabelPixelFontSize(14), fLabel3DFontSize(1.0),
 
   46   fTitlePixelFontSize(14), fTitle3DFontSize(1.0),
 
   48   fLabelAlignH(
TGLFont::kCenterH),
 
   49   fLabelAlignV(
TGLFont::kCenterV),
 
 
   80   for (
Int_t i = 0; i <= last; i++) {
 
   81      if (
strchr(
"1234567890-+.", label[i])) {
 
   86   Error(
"LabelsLimits", 
"attempt to draw a blank label");
 
 
   97   if (s == 
"-." || s == 
"-0")
 
 
  245   for (LabVec_t::const_iterator it = 
fLabVec.begin(); it != 
fLabVec.end(); ++it) {
 
 
  306   TMVec_t::const_iterator it = 
fTMVec.begin();
 
  309   for (
Int_t t = 1; t < 
nt; ++t, ++it) {
 
  310      pos = 
fDir * ((*it).first);
 
 
  332      Error(
"TGLAxisPainter::PaintAxis", 
"axis without range");
 
 
  499   for (
Int_t i = 1; i < 4; ++i) {
 
  513   for (
Int_t i = 0; i < 4; ++i) {
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
int Int_t
Signed integer 4 bytes (int)
 
float Float_t
Float 4 bytes (float)
 
constexpr Ssiz_t kNPOS
The equivalent of std::string::npos for the ROOT class TString.
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
Option_t Option_t TPoint TPoint const char x1
 
Option_t Option_t TPoint TPoint const char y1
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
virtual Color_t GetTitleColor() const
 
virtual Color_t GetLabelColor() const
 
virtual Int_t GetNdivisions() const
 
virtual Color_t GetAxisColor() const
 
virtual Style_t GetTitleFont() const
 
virtual Float_t GetLabelOffset() const
 
virtual Style_t GetLabelFont() const
 
virtual Float_t GetTitleSize() const
 
virtual Float_t GetLabelSize() const
 
virtual Float_t GetTickLength() const
 
Class to manage histogram axis.
 
void SetAxis3DTitlePos(TGLRnrCtx &rnrCtx)
Get position of axes and titles from projected corners.
 
void PlotStandard(TGLRnrCtx &rnrCtx, TH1 *histo, const TGLBoundingBox &bbox)
 
void DrawAxis3D(TGLRnrCtx &rnrCtx)
Draw XYZ axis with bitmap font.
 
TGLAxisPainterBox()
Constructor.
 
TGLVector3 fAxisTitlePos[3]
 
~TGLAxisPainterBox() override
Destructor.
 
Utility class to paint axis in GL.
 
void RnrLabels() const
Render label reading prepared list ov value-pos pairs.
 
void SetLabelFont(TGLRnrCtx &rnrCtx, const char *fontName, Int_t pixelSize=64, Double_t font3DSize=-1)
Set label font derived from TAttAxis.
 
TPMERegexp * fAllZeroesRE
 
void LabelsLimits(const char *label, Int_t &first, Int_t &last) const
Find first and last character of a label.
 
void RnrLines() const
Render axis main line and tick-marks.
 
Int_t fLabelPixelFontSize
 
TGLFont::ETextAlignV_e fLabelAlignV
 
std::pair< Float_t, Int_t > TM_t
 
void SetLabelAlign(TGLFont::ETextAlignH_e, TGLFont::ETextAlignV_e)
Set label align.
 
Double_t fLabel3DFontSize
 
void RnrText(const TString &txt, const TGLVector3 &pos, TGLFont::ETextAlignH_e aH, TGLFont::ETextAlignV_e aV, const TGLFont &font) const
Render text at the given position. Offset depends of text alignment.
 
TGLVector3 & RefTitlePos()
 
TGLFont::ETextAlignH_e fLabelAlignH
 
Int_t fTitlePixelFontSize
 
void SetTitleFont(TGLRnrCtx &rnrCtx, const char *fontName, Int_t pixelSize=64, Double_t font3DSize=-1)
Set title font derived from TAttAxis.
 
void FormAxisValue(Double_t x, TString &s) const
Returns formatted text suitable for display of value.
 
void SetTextFormat(Double_t min, Double_t max, Double_t binWidth)
Construct print format from given primary bin width.
 
void SetLabelPixelFontSize(Int_t fs)
 
void RnrTitle(const TString &title, TGLVector3 &pos, TGLFont::ETextAlignH_e aH, TGLFont::ETextAlignV_e aV) const
Draw title at given position.
 
std::pair< Float_t, Float_t > Lab_t
 
TGLVector3 & RefTMOff(Int_t i)
 
Double_t fTitle3DFontSize
 
virtual ~TGLAxisPainter()
Destructor.
 
void PaintAxis(TGLRnrCtx &ctx, TAxis *ax)
GL render TAxis.
 
void SetTitlePixelFontSize(Int_t fs)
 
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
 
static const char * GetFontNameFromId(Int_t)
Get font name from TAttAxis font id.
 
A wrapper class for FTFont.
 
void Render(const char *txt, Double_t x, Double_t y, Double_t angle, Double_t mgn) const
 
virtual void PostRender() const
Reset GL state after FTFont rendering.
 
virtual void PreRender(Bool_t autoLight=kTRUE, Bool_t lightOn=kFALSE) const
Set-up GL state before FTFont rendering.
 
16 component (4x4) transform matrix - column MAJOR as per GL.
 
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
 
static void Color(const TGLColor &color)
Set color from TGLColor.
 
static Float_t LineWidth()
Get the line-width, taking the global scaling into account.
 
3 component (x/y/z) vector class.
 
3 component (x/y/z) vertex class.
 
void Set(Double_t x, Double_t y, Double_t z)
 
TH1 is the base class of all histogram classes in ROOT.
 
static void Optimize(Double_t A1, Double_t A2, Int_t nold, Double_t &BinLow, Double_t &BinHigh, Int_t &nbins, Double_t &BWID, Option_t *option="")
Static function to compute reasonable axis limits.
 
Wrapper for PCRE library (Perl Compatible Regular Expressions).
 
Int_t Substitute(TString &s, const TString &r, Bool_t doDollarSubst=kTRUE)
Substitute matching part of s with r, dollar back-ref substitution is performed if doDollarSubst is t...
 
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
 
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
 
Ssiz_t Last(char c) const
Find last occurrence of a character c.
 
TString & Remove(Ssiz_t pos)
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
 
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
 
T1 Sign(T1 a, T2 b)
Returns a value with the magnitude of a and the sign of b.
 
Int_t FloorNint(Double_t x)
Returns the nearest integer of TMath::Floor(x).
 
Double_t Sqrt(Double_t x)
Returns the square root of x.
 
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
 
Int_t CeilNint(Double_t x)
Returns the nearest integer of TMath::Ceil(x).
 
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
 
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.
 
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.