12#ifndef ROOT_TEveElement
13#define ROOT_TEveElement
67 typedef std::set<TEveListTreeInfo>
sLTI_t;
71 typedef std::list<TEveElement*>
List_t;
75 typedef std::set<TEveElement*>
Set_t;
77 typedef Set_t::const_iterator
Set_ci;
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)
#define ClassDef(name, id)
typedef void((*Func_t)())
TClass instances represent classes, structs and namespaces in the ROOT type system.
Description of TEveCompound.
A projected element list – required for proper propagation of render state to projected views.
TEveElementListProjected(const TEveElementListProjected &)
virtual ~TEveElementListProjected()
virtual void UpdateProjection()
This is abstract method from base-class TEveProjected.
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
TEveElementListProjected & operator=(const TEveElementListProjected &)
TEveElementListProjected()
Constructor.
TEveElementList & operator=(const TEveElementList &)
virtual Bool_t AcceptElement(TEveElement *el)
Check if TEveElement el is inherited from fChildClass.
TClass * GetChildClass() const
virtual TObject * GetObject(const TEveException &="TEveElementList::GetObject ") const
Get a TObject associated with this render-element.
virtual void SetElementTitle(const char *title)
Virtual function for setting of title of an element.
virtual const char * GetElementTitle() const
Virtual function for retrieving title of the render-element.
virtual TEveElementList * CloneElement() const
Clone the element via copy constructor.
void SetChildClass(TClass *c)
virtual const char * GetElementName() const
Virtual function for retrieving name of the element.
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, returns TEveCompoundProjected class.
virtual void SetElementNameTitle(const char *name, const char *title)
Virtual function for setting of name and title of render element.
virtual ~TEveElementList()
virtual void SetElementName(const char *name)
Virtual function for setting of name of an element.
Structure holding information about TGListTree and TGListTreeItem that represents given TEveElement.
bool operator==(const TEveListTreeInfo &x) const
TEveListTreeInfo & operator=(const TEveListTreeInfo &l)
bool operator<(const TEveListTreeInfo &x) const
TEveListTreeInfo(TGListTree *lt, TGListTreeItem *lti)
TEveListTreeInfo(const TEveListTreeInfo &l)
virtual ~TEveListTreeInfo()
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual void AnnihilateRecursively()
Protected member function called from TEveElement::Annihilate().
virtual void ExportToCINT(char *var_name)
Export render-element to CINT with variable name var_name.
virtual void AddStamp(UChar_t bits)
Add (bitwise or) given stamps to fChangeBits.
virtual TEveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
virtual Bool_t SingleRnrState() const
void SaveVizParams(std::ostream &out, const TString &tag, const TString &var)
Save visualization parameters for this element with given tag.
void SetSourceObject(TObject *o)
virtual void SelectElement(Bool_t state)
Set element's selection state. Stamp appropriately.
virtual void InitMainTrans(Bool_t can_edit=kTRUE)
Initialize the main transformation to identity matrix.
virtual void AddElement(TEveElement *el)
Add el to the list of children.
virtual TObject * GetEditorObject(const TEveException &eh) const
void SetMainColorPixel(Pixel_t pixel)
Convert pixel to Color_t and call SetMainColor().
virtual Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
Set state for rendering of this element and its children.
virtual void FillImpliedSelectedSet(Set_t &impSelSet)
Populate set impSelSet with derived / dependant elements.
void DumpSourceObject() const
Call Dump() on source object.
Bool_t TestCSCBits(UChar_t f) const
virtual void CloneChildrenRecurse(TEveElement *dest, Int_t level=0) const
Clone children and attach them to the dest element.
void SetEditMainColor(Bool_t x)
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 SetElementNameTitle(const char *name, const char *title)
Virtual function for setting of name and title of render element.
virtual TEveElement * ForwardSelection()
Returns element to be selected on click.
virtual TGListTreeItem * AddIntoListTrees(TEveElement *parent)
Add this render element into all list-trees and all items belonging to parent.
virtual void SetMainTransparency(Char_t t)
Set main-transparency.
List_ci BeginParents() const
Bool_t fDestroyOnZeroRefCnt
Deny-destroy count.
TEveElement * GetVizModel() const
void StampColorSelection()
void SpawnEditor()
Show GUI editor for this object.
static const TGPicture * fgRnrIcons[4]
virtual UChar_t GetSelectedLevel() const
Get selection level, needed for rendering selection and highlight feedback.
virtual TString GetHighlightTooltip()
virtual Bool_t CanEditMainTransparency() const
virtual sLTI_i FindItem(TGListTree *ltree)
Find any list-tree-item of this element in list-tree 'ltree'.
virtual void HighlightElement(Bool_t state)
Set element's highlight state. Stamp appropriately.
virtual void NameTitleChanged()
Virtual function called when a name or title of the element has been changed.
virtual void DestroyMainTrans()
Destroy the main transformation matrix, it will always be taken as identity.
virtual void DestroyListSubTree(TGListTree *ltree, TGListTreeItem *parent)
Destroy sub-tree under item 'parent' in list-tree 'ltree'.
void VizDB_UpdateModel(Bool_t update=kTRUE)
Copy visual parameters from this element to viz-db model.
virtual void ProjectChild(TEveElement *el, Bool_t same_depth=kTRUE)
If this is a projectable, loop over all projected replicas and add the projected image of child 'el' ...
void SetCSCBits(UChar_t f)
void SetEditMainTransparency(Bool_t x)
void VizDB_Insert(const char *tag, Bool_t replace=kTRUE, Bool_t update=kTRUE)
Create a replica of element and insert it into VizDB with given tag.
virtual void CheckReferenceCount(const TEveException &eh="TEveElement::CheckReferenceCount ")
Check external references to this and eventually auto-destruct the render-element.
TEveElement * FirstChild() const
Returns the first child element or 0 if the list is empty.
void DecDenyDestroy()
Decreases the deny-destroy count of the element.
Bool_t GetDestroyOnZeroRefCnt() const
Returns state of flag determining if the element will be destroyed when reference count reaches zero.
virtual TEveTrans & RefMainTrans()
Return reference to main transformation.
std::set< TEveListTreeInfo > sLTI_t
void VizDB_Reapply()
Reset visual parameters for this object from VizDB.
void CSCApplyMainTransparencyToMatchingChildren()
virtual Int_t GetNItems() const
Bool_t IsPickable() const
virtual void RemoveElements()
Remove all elements.
void PrintSourceObject() const
Call Print() on source object.
void CSCTakeAnyParentAsMaster()
void ExportSourceObjectToCINT(char *var_name) const
Export source object to CINT with given name for the variable.
Color_t * GetMainColorPtr() const
Set_t::const_iterator Set_ci
Bool_t fCanEditMainTransparency
virtual void RemoveParent(TEveElement *re)
Remove re from the list of parents.
virtual TEveElement * CloneElement() const
Clone the element via copy constructor.
virtual Bool_t CanEditElement() const
virtual void IncImpliedHighlighted()
Increase element's implied-highlight count. Stamp appropriately.
Bool_t HasChildren() const
Short_t fImpliedHighlighted
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.
virtual void ExpandIntoListTree(TGListTree *ltree, TGListTreeItem *parent)
Populates parent with elements.
virtual void PropagateVizParamsToProjecteds()
Propagate visualization parameters to dependent elements.
virtual TGListTreeItem * FindListTreeItem(TGListTree *ltree)
Find any list-tree-item of this element in list-tree 'ltree'.
virtual Bool_t CanEditMainColor() const
virtual void CollectSceneParents(List_t &scenes)
Collect all parents of class TEveScene.
std::list< TEveElement * > List_t
virtual void SetMainColor(Color_t color)
Set main color of the element.
void * GetUserData() const
void IncDenyDestroy()
Increases the deny-destroy count of the element.
virtual Bool_t CanEditMainTrans() const
void SetUserData(void *ud)
TEveElement * GetMaster()
Returns the master element - that is:
Int_t NumChildren() const
ECompoundSelectionColorBits
@ kCSCBApplyMainTransparencyToAllChildren
@ kCSCBApplyMainColorToAllChildren
@ kCSCBImplySelectAllChildren
@ kCSCBApplyMainColorToMatchingChildren
@ kCSCBTakeAnyParentAsMaster
@ kCSCBApplyMainTransparencyToMatchingChildren
virtual const char * GetElementTitle() const
Virtual function for retrieving title of the render-element.
List_ci EndChildren() const
virtual TEveElement * CloneElementRecurse(Int_t level=0) const
Clone elements and recurse 'level' deep over children.
virtual void SetElementTitle(const char *title)
Virtual function for setting of title of an element.
void DecParentIgnoreCnt()
Decrease number of parents ignored in reference-counting.
virtual void DecImpliedHighlighted()
Decrease element's implied-highlight count. Stamp appropriately.
virtual Int_t RemoveFromListTrees(TEveElement *parent)
Remove element from all list-trees where 'parent' is the user-data of the parent list-tree-item.
virtual Bool_t SetRnrChildren(Bool_t rnr)
Set render state of this element's children, i.e.
void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
Convert RGB values to Color_t and call SetMainColor.
Bool_t FindVizModel()
Find model element in VizDB that corresponds to previously assigned fVizTag and set fVizModel accordi...
virtual ~TEveElement()
Destructor.
virtual Bool_t GetRnrState() const
TEveCompound * GetCompound()
void SetPickableRecursively(Bool_t p)
Set pickable state on the element and all its children.
virtual void RemoveElementsInternal()
Remove all elements.
void DisableListElements(Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFALSE)
Disable rendering of children and their list contents.
void VizDB_Apply(const char *tag)
Set visual parameters for this object for given tag.
Bool_t HasParents() const
virtual void Destroy()
Destroy this element.
void CSCImplySelectAllChildren()
virtual void PreDeleteElement()
Externally assigned and controlled user data.
virtual void SetElementName(const char *name)
Virtual function for setting of name of an element.
Int_t GetDenyDestroy() const
Returns the number of times deny-destroy has been requested on the element.
void RecheckImpliedSelections()
Call this if it is possible that implied-selection or highlight has changed for this element or for i...
const List_t & RefChildren() const
virtual void DestroyElements()
Destroy all children of this element.
TString fVizTag
Element used as model from VizDB.
Int_t FindChildren(List_t &matches, const TString &name, const TClass *cls=0)
Find all children with given name and append them to matches list.
std::set< TEveElement * > Set_t
void SetCompound(TEveCompound *c)
void SetVizTag(const TString &tag)
virtual void PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
Propagate color to projected elements.
virtual void UnHighlighted()
Virtual function called when both fHighlighted is false and fImpliedHighlighted is 0.
void SetMainAlpha(Float_t alpha)
Set main-transparency via float alpha variable.
List_ci EndParents() const
virtual Color_t GetMainColor() const
virtual void SetTransMatrix(Double_t *carr)
Set transformation matrix from column-major array.
virtual Bool_t HasMainColor() const
void SetMainColorPtr(Color_t *color)
Int_t fTopItemCnt
Counter for parents that are ignored in ref-counting.
virtual TObject * GetRenderObject(const TEveException &eh) const
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
const TString & GetVizTag() const
virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kFALSE)
Call this after an element has been changed so that the state can be propagated around the framework.
List_t::const_iterator List_ci
virtual TGListTreeItem * AddIntoListTree(TGListTree *ltree, TGListTreeItem *parent_lti)
Add this element into ltree to an already existing item parent_lti.
virtual void Annihilate()
Optimized destruction without check of reference-count.
void ResetCSCBits(UChar_t f)
TObject * GetSourceObject() const
void SetVizModel(TEveElement *model)
Set visualization-parameter model element.
void(TEveElement::* ImplySelect_foo)()
virtual void RemoveElement(TEveElement *el)
Remove el from the list of children.
virtual Bool_t GetRnrChildren() const
virtual Bool_t HandleElementPaste(TEveElement *el)
React to element being pasted or dnd-ed.
void CSCApplyMainColorToMatchingChildren()
virtual void DecImpliedSelected()
Decrease element's implied-selection count. Stamp appropriately.
virtual void CollectSceneParentsFromChildren(List_t &scenes, TEveElement *parent)
Collect scene-parents from all children.
virtual const char * GetElementName() const
Virtual function for retrieving name of the element.
void(TEveElement::* Select_foo)(Bool_t)
TEveElement()
Default constructor.
void CSCApplyMainColorToAllChildren()
Int_t GetParentIgnoreCnt() const
Get number of parents that should be ignored in doing reference-counting.
TEveElement & operator=(const TEveElement &)=delete
virtual Bool_t AcceptElement(TEveElement *el)
Check if el can be added to this element.
Bool_t HasChild(TEveElement *el)
Check if element el is a child of this element.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
void SetPickable(Bool_t p)
static const char * ToString(Bool_t b)
Convert Bool_t to string - kTRUE or kFALSE.
virtual void PropagateRnrStateToProjecteds()
Propagate render state to the projected replicas of this element.
virtual void PropagateVizParamsToElements(TEveElement *el=0)
Propagate visualization parameters from element el (defaulting to this) to all elements (children).
virtual void PadPaint(Option_t *option)
Paint self and/or children into currently active pad.
virtual void RemoveElementLocal(TEveElement *el)
Perform additional local removal of el.
virtual void PropagateMainTransparencyToProjecteds(Char_t t, Char_t old_t)
Propagate transparency to projected elements.
static const TGPicture * fgListTreeIcons[9]
virtual Char_t GetMainTransparency() const
virtual void DestroyOrWarn()
Destroy this element. Prints a warning if deny-destroy is in force.
virtual void IncImpliedSelected()
Increase element's implied-selection count. Stamp appropriately.
virtual void AnnihilateElements()
Annihilate elements.
virtual Bool_t GetRnrSelf() const
virtual void ClearStamps()
virtual const TGPicture * GetListTreeCheckBoxIcon()
Returns list-tree-item check-box picture appropriate for given rendering state.
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write-out visual parameters for this object.
List_ci BeginChildren() const
virtual void CopyVizParamsFromDB()
Copy visualization parameters from the model-element fVizModel.
TRef fSource
Set of list-tree-items.
void SetDestroyOnZeroRefCnt(Bool_t d)
Sets the state of flag determining if the element will be destroyed when reference count reaches zero...
sLTI_t::reverse_iterator sLTI_ri
virtual TObject * GetObject(const TEveException &eh) const
Get a TObject associated with this render-element.
virtual const TGPicture * GetListTreeIcon(Bool_t open=kFALSE)
Returns pointer to first listtreeicon.
Int_t fDenyDestroy
Counter for top-level list-tree items that prevent automatic destruction.
virtual Bool_t RemoveFromListTree(TGListTree *ltree, TGListTreeItem *parent_lti)
Remove element from list-tree 'ltree' where its parent item is 'parent_lti'.
TEveElement * LastChild() const
Returns the last child element or 0 if the list is empty.
virtual void RemoveElementsLocal()
Perform additional local removal of all elements.
void IncParentIgnoreCnt()
Increase number of parents ignored in reference-counting.
virtual TEveElement * ForwardEdit()
Returns element to be displayed in GUI editor on click.
virtual void PaintStandard(TObject *id)
Paint object – a generic implementation for EVE elements.
virtual Bool_t SetRnrSelf(Bool_t rnr)
Set render state of this element, i.e.
TEveElement * FindChild(const TString &name, const TClass *cls=0)
Find the first child with given name.
void EnableListElements(Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTRUE)
Enable rendering of children and their list contents.
void CSCApplyMainTransparencyToAllChildren()
virtual void AddParent(TEveElement *re)
Add re into the list parents.
UChar_t GetChangeBits() const
virtual void UnSelected()
Virtual function called when both fSelected is false and fImpliedSelected is 0.
virtual Bool_t GetRnrAnything() const
virtual Bool_t HasMainTrans() const
Exception class thrown by TEve classes and macros.
Central application manager for Eve.
Abstract base-class for non-linear projectable objects.
Abstract base class for classes that hold results of a non-linear projection transformation.
Base-class for non-linear projections.
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
Geometrical transformation package.
The TNamed class is the base class for all named ROOT classes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
virtual void SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title).
Mother of all ROOT objects.
Persistent Reference link to a TObject A TRef is a lightweight object pointing to any TObject.
TObject * GetObject() const
Return a pointer to the referenced object.
#define dest(otri, vertexptr)