43TObjArray *REveUtil::fgDefaultColors =
nullptr;
52void ChompTailAndDir(
TString& s,
char c=
'.')
67Bool_t REveUtil::CheckMacro(
const char* mac)
75 TString foo(mac); ChompTailAndDir(foo);
79 return (
gROOT->GetGlobalFunction(foo.
Data(),
nullptr,
kTRUE) !=
nullptr);
98 gROOT->LoadMacro(mac);
100 TString foo(mac); ChompTailAndDir(foo); foo +=
"()";
110 gROOT->LoadMacro(mac);
119 static const std::regex bad_re(
"[^\\w](?:gSystem|gROOT)[^\\w]", std::regex::optimize);
120 static const std::regex public_extra_re(
"(?:\\|\")", std::regex::optimize);
122 auto beg = expr.cbegin(), end = expr.cend();
123 if (std::regex_search(beg, end, bad_re))
126 const bool is_public =
true;
127 if (is_public && std::regex_search(beg, end, public_extra_re))
143 col[0] = (
UChar_t)(255*
c->GetRed());
144 col[1] = (
UChar_t)(255*
c->GetGreen());
145 col[2] = (
UChar_t)(255*
c->GetBlue());
146 if (alpha) col[3] = 255;
151 col[0] = 255; col[1] = 0; col[2] = 255;
152 if (alpha) col[3] = 255;
163 UChar_t alpha = (255*(100 - transparency))/100;
168 col[0] = (
UChar_t)(255*
c->GetRed());
169 col[1] = (
UChar_t)(255*
c->GetGreen());
170 col[2] = (
UChar_t)(255*
c->GetBlue());
176 col[0] = 255; col[1] = 0; col[2] = 255; col[3] = alpha;
195 if (alpha) col[3] = 255;
213 throw(eh +
"could not find member '" + varname +
"' in class " + obj->
IsA()->
GetName() +
".");
214 return (
Color_t*) (((
char*)obj) + off);
228 if (value < -2.5 || value > 2.5)
230 Error(
"REveUtil::SetColorBrightness",
"value '%f' out of range [-0.5, 0.5].",
value);
240 for (
Int_t i = 0; i < n_col; ++i)
249 for (
Int_t i = 0; i < n_col; ++i)
257 croot =
new TColor(*cdef);
279 delete colors->RemoveAt(i);
295 using namespace TMath;
299 minQ += TwoPi(); maxQ += TwoPi();
301 else if (minQ > maxM)
303 minQ -= TwoPi(); maxQ -= TwoPi();
305 return minQ >= minM && maxQ <= maxM;
316 using namespace TMath;
320 minQ += TwoPi(); maxQ += TwoPi();
322 else if (minQ > maxM)
324 minQ -= TwoPi(); maxQ -= TwoPi();
326 return maxQ >= minM && minQ <= maxM;
334 if (minQ>=minM && maxQ<=maxM)
337 else if (minQ<minM && maxQ>maxM)
338 return (maxM-minM)/(maxQ-minQ);
340 else if (minQ>=minM && maxQ>maxM)
341 return (maxM-minQ)/(maxQ-minQ);
343 else if (minQ<minM && maxQ<=maxM)
344 return (maxQ-minM)/(maxQ-minQ);
430 if (--(i->second) <= 0)
434 Warning(
"REveRefBackPtr::DecRefCount",
"element '%s' not found in back-refs.", re->
GetCName());
444 i.first->AddStamp(stamps);
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
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 r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
R__EXTERN TGeoManager * gGeoManager
R__EXTERN TGeoIdentity * gGeoIdentity
const char * GetCName() const
REveException Exception-type thrown by Eve classes.
~REveGeoManagerHolder()
Destructor.
Int_t fNSegments
! previous settings for num segments
TGeoManager * fManager
! hold manager
REveGeoManagerHolder(TGeoManager *new_gmgr=nullptr, Int_t n_seg=0)
Constructor.
void FullRedraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
Perform 3D redraw of all scenes and viewers.
~REveRefBackPtr() override
Destructor. Noop, should complain if back-ref list is not empty.
virtual void StampBackPtrElements(UChar_t stamps)
Add given stamps to elements in the list of reverse references.
static Bool_t IsU1IntervalOverlappingByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is overlapping within interval M for U1 variables.
static void LoadMacro(const char *mac)
Makes sure that macro 'mac' is loaded, but do not reload it.
static void Macro(const char *mac)
Execute macro 'mac'. Do not reload the macro.
static Bool_t CheckMacro(const char *mac)
Checks if macro 'mac' is loaded.
static Float_t GetFraction(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Get fraction of interval [minQ, maxQ] in [minM, maxM].
static void SetColorBrightness(Float_t value, Bool_t full_redraw=kFALSE)
Tweak all ROOT colors to become brighter (if value > 0) or darker (value < 0).
static Bool_t IsU1IntervalContainedByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is contained within interval M for U1 variables.
static void ColorFromIdx(Color_t ci, UChar_t col[4], Bool_t alpha=kTRUE)
Fill col with RGBA values corresponding to index ci.
static Color_t * FindColorVar(TObject *obj, const char *varname)
Find address of Color_t data-member with name varname in object obj.
static void AssertMacro(const char *mac)
Load and execute macro 'mac' if it has not been loaded yet.
static bool VerifyObjectFilterOrTableExpression(std::string_view expr)
Input string verification and sanitization.
static TObjArray * fgDefaultColors
Longptr_t GetDataMemberOffset(const char *membername) const
return offset for member name.
The color creation and management class.
virtual void SetRGB(Float_t r, Float_t g, Float_t b)
Initialize this color and its "dark" and "bright" associated colors.
virtual void GetRGB(Float_t &r, Float_t &g, Float_t &b) const
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
void Copy(TObject &color) const override
Copy this color to obj.
An identity transformation.
The manager class for any TGeo geometry.
TObjArray * GetListOfMatrices() const
void SetNsegments(Int_t nseg)
Set number of segments for approximating circles in drawing.
Int_t GetNsegments() const
Get number of segments approximating circles.
const char * GetName() const override
Returns name of object.
Int_t GetEntriesFast() const
void AddAt(TObject *obj, Int_t idx) override
Add object at position ids.
TObject * At(Int_t idx) const override
Mother of all ROOT objects.
virtual TClass * IsA() const
const char * Data() const
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TString & Remove(Ssiz_t pos)
R__EXTERN REveManager * gEve
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.