12#ifndef ROOT7_REveElement_hxx 
   13#define ROOT7_REveElement_hxx 
   26#include <nlohmann/json.hpp> 
   31namespace Experimental {
 
   53   typedef std::list<REveElement*>              
List_t;
 
   55   typedef std::set<REveElement*>               
Set_t;
 
  108   REveElement(
const std::string &
name = 
"", 
const std::string &title = 
"");
 
  126   void SetTitle(
const std::string &title);
 
 
  399      el->RemoveAunt(
this);
 
 
 
  419      for (
auto &
n : 
fNieces) 
n->RemoveAunt(
this);
 
 
  444      for (
auto &
n : 
fNieces) 
n->RemoveAunt(
this);
 
 
 
ULong_t Pixel_t
Pixel value.
 
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
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 dest
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void pixel
 
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
 
Description of REveCompound.
 
Eve representation of TGLScene.
 
REveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
 
void RemoveNieces() override
 
bool HasNiece(REveElement *el) const override
 
void RemoveNieceInternal(REveElement *el) override
 
REveElement::List_t fNieces
 
void AddNieceInternal(REveElement *el) override
 
bool HasNieces() const override
 
~REveAuntAsList() override
 
virtual void RemoveNieceInternal(REveElement *el)=0
 
virtual bool HasNieces() const =0
 
virtual bool AcceptNiece(REveElement *)
 
virtual void RemoveNieces()=0
 
virtual void AddNieceInternal(REveElement *el)=0
 
virtual bool HasNiece(REveElement *el) const =0
 
virtual void AddNiece(REveElement *el)
 
virtual void RemoveNiece(REveElement *el)
 
virtual REveElement * CloneElement() const
Clone the element via copy constructor.
 
static thread_local REveElement * stlMirAlpha
 
virtual Bool_t GetRnrState() const
 
Bool_t ApplyVizTag(const TString &tag, const TString &fallback_tag="")
Set the VizTag, find model-element from the VizDB and copy visualization-parameters from it.
 
void DecDenyDestroy()
Decreases the deny-destroy count of the element.
 
const AuntList_t & RefAunts() const
 
virtual void DestroyOrWarn()
Destroy this element. Prints a warning if deny-destroy is in force.
 
virtual Bool_t HasMainTrans() const
 
const std::string & GetName() const
 
void SetMainColorPtr(Color_t *colptr)
 
void CSCApplyMainTransparencyToMatchingChildren()
 
void SetNameTitle(const std::string &name, const std::string &title)
Set name and title of an element.
 
virtual void RemoveAunt(REveAunt *au)
Remove el from the list of aunts.
 
virtual void ExportToInterpreter(const char *var_name)
Export render-element to CINT with variable name var_name.
 
TString fVizTag
Element used as model from VizDB.
 
void SaveVizParams(std::ostream &out, const TString &tag, const TString &var)
Save visualization parameters for this element with given tag.
 
Int_t FindChildren(List_t &matches, const TString &name, const TClass *cls=nullptr)
Find all children with given name and append them to matches list.
 
REveElement * FindChild(const TString &name, const TClass *cls=nullptr)
Find the first child with given name.
 
TClass * IsA() const
Return class for this element Return REveElement class in case dicitonary is not exisiting.
 
const char * GetCTitle() const
 
void CSCApplyMainColorToMatchingChildren()
 
REveCompound * GetCompound()
 
virtual void Destroy()
Destroy this element.
 
virtual void PropagateVizParamsToChildren(REveElement *el=nullptr)
Propagate visualization parameters from element el (defaulting to this) to all children.
 
const List_t & RefChildren() const
 
REveElement * LastChild() const
Returns the last child element or 0 if the list is empty.
 
virtual REveElement * GetSelectionMaster()
Returns the master element - that is:
 
Bool_t fCanEditMainTransparency
 
virtual void RemoveElementsLocal()
Perform additional local removal of all elements.
 
void SetCompound(REveCompound *c)
 
virtual void AnnihilateElements()
Annihilate elements.
 
virtual REveTrans & RefMainTrans()
Return reference to main transformation.
 
void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
Convert RGB values to Color_t and call SetMainColor.
 
virtual std::string GetHighlightTooltip(const std::set< int > &) const
 
virtual void SetMainTransparency(Char_t t)
Set main-transparency.
 
virtual Bool_t GetRnrAnything() const
 
virtual Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset)
Write core json.
 
virtual Bool_t CanEditMainTransparency() const
 
virtual Bool_t HasMainColor() const
 
void SetVizTag(const TString &tag)
 
virtual void SetTransMatrix(Double_t *carr)
Set transformation matrix from column-major array.
 
virtual void CopyVizParamsFromDB()
Copy visualization parameters from the model-element fVizModel.
 
void SetDestroyOnZeroRefCnt(Bool_t d)
Sets the state of flag determining if the element will be destroyed when reference count reaches zero...
 
void SetMainAlpha(Float_t alpha)
Set main-transparency via float alpha variable.
 
virtual void Annihilate()
Optimized destruction without check of reference-count.
 
virtual void PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
Propagate color to projected elements.
 
virtual bool RequiresExtraSelectionData() const
 
void CSCTakeMotherAsMaster()
 
void VizDB_Apply(const std::string &tag)
Set visual parameters for this object for given tag.
 
void SetPickable(Bool_t p)
 
void SetupDefaultColorAndTransparency(Color_t col, Bool_t can_edit_color, Bool_t can_edit_transparency)
Set up element to use built-in main color and set flags allowing editing of main color and transparen...
 
void * GetUserData() const
 
const char * GetCName() const
 
virtual void AddElement(REveElement *el)
Add el to the list of children.
 
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write-out visual parameters for this object.
 
virtual void RemoveElementLocal(REveElement *el)
Perform additional local removal of el.
 
void DisableListElements(Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFALSE)
Disable rendering of children and their list contents.
 
const TString & GetVizTag() const
 
virtual Bool_t GetRnrSelf() const
 
virtual void DestroyMainTrans()
Destroy the main transformation matrix, it will always be taken as identity.
 
static thread_local int stlMirError
 
virtual Bool_t SetRnrChildren(Bool_t rnr)
Set render state of this element's children, i.e.
 
void SetTitle(const std::string &title)
Set title of an element.
 
std::list< REveAunt * > AuntList_t
 
virtual void AnnihilateRecursively()
Protected member function called from REveElement::Annihilate().
 
void SetMainColorPixel(Pixel_t pixel)
Convert pixel to Color_t and call SetMainColor().
 
Bool_t SetVizModelByTag()
Find model element in VizDB that corresponds to previously assigned fVizTag and set fVizModel accordi...
 
void SetEditMainColor(Bool_t x)
 
virtual void RemoveElementsInternal()
Remove all elements.
 
void IncImpliedSelected()
 
virtual void InitMainTrans(Bool_t can_edit=kTRUE)
Initialize the main transformation to identity matrix.
 
Bool_t fDestroyOnZeroRefCnt
Deny-destroy count.
 
ECompoundSelectionColorBits
 
@ kCSCBApplyMainColorToMatchingChildren
 
@ kCSCBTakeMotherAsMaster
 
@ kCSCBApplyMainColorToAllChildren
 
@ kCSCBImplySelectAllChildren
 
@ kCSCBApplyMainTransparencyToAllChildren
 
@ kCSCBApplyMainTransparencyToMatchingChildren
 
std::unique_ptr< REveRenderData > fRenderData
Externally assigned and controlled user data.
 
void VizDB_Insert(const std::string &tag, Bool_t replace=kTRUE, Bool_t update=kTRUE)
Create a replica of element and insert it into VizDB with given tag.
 
virtual void DestroyElements()
Destroy all children of this element.
 
REveElement * FirstChild() const
Returns the first child element or 0 if the list is empty.
 
void EnableListElements(Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTRUE)
Enable rendering of children and their list contents.
 
static void ClearMirContext()
 
Bool_t HasChildren() const
 
TClass * GetChildClass() const
 
REveElement * GetMother()
 
virtual REveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
 
virtual Bool_t AcceptElement(REveElement *el)
Check if el can be added to this element.
 
virtual Char_t GetMainTransparency() const
 
static const std::string & ToString(Bool_t b)
Convert Bool_t to string - kTRUE or kFALSE.
 
virtual Bool_t SetRnrSelf(Bool_t rnr)
Set render state of this element, i.e.
 
const std::string & GetTitle() const
 
virtual void AddAunt(REveAunt *au)
Add el into the list aunts.
 
virtual void PropagateMainTransparencyToProjecteds(Char_t t, Char_t old_t)
Propagate transparency to projected elements.
 
void CSCImplySelectAllChildren()
 
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
 
virtual Bool_t CanEditMainColor() const
 
virtual void AddStamp(UChar_t bits)
Add (bitwise or) given stamps to fChangeBits.
 
void assign_scene_recursively(REveScene *s)
 
virtual Bool_t CanEditElement() const
 
static void SetMirContext(REveElement *el)
 
Bool_t TestCSCBits(UChar_t f) const
 
void SetUserData(void *ud)
 
ElementId_t get_mother_id() const
 
Int_t GetDenyDestroy() const
Returns the number of times deny-destroy has been requested on the element.
 
void SetCSCBits(UChar_t f)
 
void SetEditMainTransparency(Bool_t x)
 
void assign_element_id_recurisvely()
 
void SetSelectionMaster(REveElement *el)
 
REveElement * fSelectionMaster
 
UChar_t GetChangeBits() const
 
virtual Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
Set state for rendering of this element and its children.
 
REveElement * GetVizModel() const
 
void CSCApplyMainTransparencyToAllChildren()
 
void StampColorSelection()
 
Color_t * GetMainColorPtr() const
 
void DecImpliedSelected()
 
void SetPickableRecursively(Bool_t p)
Set pickable state on the element and all its children.
 
virtual void PropagateRnrStateToProjecteds()
Propagate render state to the projected replicas of this element.
 
virtual void FillExtraSelectionData(nlohmann::json &, const std::set< int > &) const
 
void IncDenyDestroy()
Increases the deny-destroy count of the element.
 
void VizDB_Reapply()
Reset visual parameters for this object from VizDB.
 
virtual Bool_t GetRnrChildren() const
 
static thread_local std::string stlMirErrorString
 
Int_t NumChildren() const
 
virtual void CopyVizParams(const REveElement *el)
Copy visualization parameters from element el.
 
virtual void PreDeleteElement()
Vertex / normal / triangle index information for rendering.
 
virtual void CheckReferenceCount(const std::string &from="<unknown>")
Check external references to this and eventually auto-destruct the render-element.
 
virtual void CloneChildrenRecurse(REveElement *dest, Int_t level=0) const
Clone children and attach them to the dest element.
 
void SetVizModel(REveElement *model)
Set visualization-parameter model element.
 
std::set< REveElement * > Set_t
 
void SetChildClass(TClass *c)
 
ElementId_t GetElementId() const
 
Bool_t IsPickable() const
 
virtual void ClearStamps()
 
virtual void RemoveElements()
Remove all elements.
 
Bool_t GetDestroyOnZeroRefCnt() const
Returns state of flag determining if the element will be destroyed when reference count reaches zero.
 
virtual Bool_t CanEditMainTrans() const
 
virtual Bool_t SingleRnrState() const
 
virtual void SetMainColor(Color_t color)
Set main color of the element.
 
void CSCApplyMainColorToAllChildren()
 
static void AppendMirErrorString(std::string_view err_str)
 
virtual void FillImpliedSelectedSet(Set_t &impSelSet, const std::set< int > &)
Populate set impSelSet with derived / dependant elements.
 
virtual ~REveElement()
Destructor.
 
void VizDB_UpdateModel(Bool_t update=kTRUE)
Copy visual parameters from this element to viz-db model.
 
virtual REveElement * CloneElementRecurse(Int_t level=0) const
Clone elements and recurse 'level' deep over children.
 
std::list< REveElement * > List_t
 
REveElement & operator=(const REveElement &)=delete
 
virtual void NameTitleChanged()
Virtual function called when a name or title of the element has been changed.
 
std::unique_ptr< REveTrans > fMainTrans
 
Bool_t HasChild(REveElement *el)
Check if element el is a child of this element.
 
static void SetMirError(int error, std::string_view err_str="")
 
REveElement(const std::string &name="", const std::string &title="")
Default constructor.
 
virtual Color_t GetMainColor() const
 
void RecheckImpliedSelections()
Call this if it is possible that implied-selection or highlight has changed for this element or for i...
 
void SetName(const std::string &name)
Set name of an element.
 
virtual void RemoveElement(REveElement *el)
Remove el from the list of children.
 
REveRenderData * GetRenderData() const
 
ElementId_t get_scene_id() const
 
virtual void PropagateVizParamsToProjecteds()
Propagate visualization parameters to dependent elements.
 
void ResetCSCBits(UChar_t f)
 
virtual void BuildRenderData()
Write transformation Matrix to render data.
 
virtual void ProjectAllChildren(Bool_t same_depth=kTRUE)
If this is a projectable, loop over all projected replicas and add the projected image of all childre...
 
virtual void ProjectChild(REveElement *el, Bool_t same_depth=kTRUE)
If this is a projectable, loop over all projected replicas and add the projected image of child 'el' ...
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
Geometrical transformation package.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...