class TEveElement


 Base class for TEveUtil visualization elements, providing hierarchy
 management, rendering control and list-tree item management.

Function Members (Methods)

TEveElement(Color_t& main_color)
virtual Bool_tAcceptElement(TEveElement*)
virtual TGListTreeItem*AddElement(TEveElement* el)
virtual TGListTreeItem*AddIntoListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*AddIntoListTree(TGListTree* ltree, TEveElement* parent)
virtual TGListTreeItem*AddIntoListTrees(TEveElement* parent)
virtual voidAddParent(TEveElement* re)
virtual Bool_tCanEditMainColor()
virtual Bool_tCanEditMainHMTrans()
virtual Bool_tCanEditMainTransparency()
virtual Bool_tCanEditRnrElement()
virtual voidCheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
static TClass*Class()
virtual voidCollectSceneParents(TEveElement::List_t& scenes)
virtual voidCollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
virtual voidDestroy()
virtual voidDestroyElements()
virtual voidDestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
voidDisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)
virtual voidElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
voidEnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)
virtual voidExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidExportToCINT(Text_t* var_name)
virtual TEveElement::sLTI_iFindItem(TGListTree* ltree)
virtual TEveElement::sLTI_iFindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*FindListTreeItem(TGListTree* ltree)
virtual TGListTreeItem*FindListTreeItem(TGListTree* ltree, TGListTreeItem* parent_lti)
static const TGPicture*GetCheckBoxPicture(Bool_t rnrElement, Bool_t rnrDaughter)
Int_tGetDenyDestroy() const
Bool_tGetDestroyOnZeroRefCnt() const
virtual TObject*GetEditorObject(const TEveException& eh = "TEveElement::GetEditorObject ") const
virtual const TGPicture*GetListTreeIcon()
virtual Color_tGetMainColor() const
virtual UChar_tGetMainTransparency() const
Int_tGetNChildren() const
virtual Int_tGetNItems() const
Int_tGetNParents() const
virtual TObject*GetObject(const TEveException& eh = "TEveElement::GetObject ") const
virtual Bool_tGetRnrChildren() const
virtual const Text_t*GetRnrElName() const
virtual const Text_t*GetRnrElTitle() const
virtual Bool_tGetRnrSelf() const
virtual Bool_tHandleElementPaste(TEveElement* el)
virtual TClass*IsA() const
virtual voidPadPaint(Option_t* option)
virtual TEveTrans*PtrMainHMTrans()
virtual voidRemoveElement(TEveElement* el)
virtual voidRemoveElementLocal(TEveElement* el)
virtual voidRemoveElements()
virtual voidRemoveElementsLocal()
virtual Bool_tRemoveFromListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual Int_tRemoveFromListTrees(TEveElement* parent)
virtual voidRemoveParent(TEveElement* re)
voidSetDestroyOnZeroRefCnt(Bool_t d)
virtual voidSetMainColor(Color_t color)
voidSetMainColor(Pixel_t pixel)
voidSetMainColorPtr(Color_t* color)
virtual voidSetMainTransparency(UChar_t)
virtual voidSetRnrChildren(Bool_t rnr)
virtual voidSetRnrElNameTitle(const Text_t* name, const Text_t* title)
virtual voidSetRnrSelf(Bool_t rnr)
virtual voidSetRnrState(Bool_t rnr)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidUpdateItems()
virtual voidRemoveElementsInternal()
TEveElement(const TEveElement&)
TEveElement&operator=(const TEveElement&)

Data Members

static const TGPicture*fgListTreeIcons[8]
static const TGPicture*fgRnrIcons[4]
list<TEveElement*,allocator<TEveElement*> >fChildrenList of children.
Int_tfDenyDestroyDeny-destroy count.
Bool_tfDestroyOnZeroRefCntAuto-destruct when ref-count reaches zero.
set<TEveElement::TEveListTreeInfo,less<TEveElement::TEveListTreeInfo>,allocator<TEveElement::TEveListTreeInfo> >fItemsSet of list-tree-items.
Color_t*fMainColorPtrPointer to main-color variable.
list<TEveElement*,allocator<TEveElement*> >fParentsList of parents.
Bool_tfRnrChildrenRender children of this element.
Bool_tfRnrSelfRender this element.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

 Default contructor.
TEveElement(Color_t& main_color)
void SetRnrElNameTitle(const Text_t* name, const Text_t* title)
 Virtual function for setting of name and title of render element.
 Here we attempt to cast the assigned object into TNamed and call
 SetNameTitle() there.
const Text_t* GetRnrElName()
 Virtual function for retrieveing name of the render-element.
 Here we attempt to cast the assigned object into TNamed and call
 GetName() there.
const Text_t* GetRnrElTitle()
 Virtual function for retrieveing title of the render-element.
 Here we attempt to cast the assigned object into TNamed and call
 GetTitle() there.
void AddParent(TEveElement* re)
 Add re into the list parents.
 Adding parent is subordinate to adding an element.
 This is an internal function.
void RemoveParent(TEveElement* re)
 Remove re from the list of parents.
 Removing parent is subordinate to removing an element.
 This is an internal function.
void CheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
 Check external references to this and eventually auto-destruct
 the render-element.
void CollectSceneParents(TEveElement::List_t& scenes)
 Collect all parents of class TEveScene. This is needed to
 automatically detect which scenes need to be updated.

 Overriden in TEveScene to include itself and return.
void CollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
 Collect scene-parents from all children. This is needed to
 automatically detect which scenes need to be updated during/after
 a full sub-tree update.
 Argument parent specifies parent in traversed hierarchy for which we can
 skip the upwards search.
void ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
 Populates parent with elements.
 parent must be an already existing representation of *this*.
 Returns number of inserted elements.
 If parent already has children, it does nothing.

 RnrEl can be inserted in a list-tree several times, thus we can not
 search through fItems to get parent here.
 Anyhow, it is probably known as it must have been selected by the user.
void DestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
 Destroy sub-tree under item 'parent' in list-tree 'ltree'.
TGListTreeItem* AddIntoListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
 Add this element into ltree to an already existing item
TGListTreeItem* AddIntoListTree(TGListTree* ltree, TEveElement* parent)
 Add this render element into ltree to all items belonging to
 parent. Returns list-tree-item from the first register entry (but
 we use a set for that so it can be anything).
TGListTreeItem* AddIntoListTrees(TEveElement* parent)
 Add this render element into all list-trees and all items
 belonging to parent. Returns list-tree-item from the first
 register entry (but we use a set for that so it can be anything).
Bool_t RemoveFromListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
 Remove element from list-tree 'ltree' where its parent item is
 Returns kTRUE if the item was found and removed, kFALSE
Int_t RemoveFromListTrees(TEveElement* parent)
 Remove element from all list-trees where 'parent' is the
 user-data of the list-tree-item.
TGListTreeItem* FindListTreeItem(TGListTree* ltree)
 Find any list-tree-item of this element in list-tree 'ltree'.
 Note that each element can be placed into the same list-tree on
 several postions.
TGListTreeItem* FindListTreeItem(TGListTree* ltree, TGListTreeItem* parent_lti)
 Find list-tree-item of this element with given parent
void UpdateItems()
 Update list-tree-items representing this element.
TObject* GetObject(const TEveException& eh = "TEveElement::GetObject ") const
 Get a TObject associated with this render-element.
 Most cases uses double-inheritance from TEveElement and TObject
 so we just do a dynamic cast here.
 If some TEveElement descendant implements a different scheme,
 this virtual method should be overriden accordingly.
void SpawnEditor()
 Show GUI editor for this object.
 This is forwarded to TEveManager::EditElement().
void ExportToCINT(Text_t* var_name)
 Export render-element to CINT with variable name var_name.
void PadPaint(Option_t* option)
 Paint self and/or children into currently active pad.
void SetRnrSelf(Bool_t rnr)
 Set render state of this element, i.e. if it will be published
 on next scene update pass.
void SetRnrChildren(Bool_t rnr)
 Set render state of this element's children, i.e. if they will
 be published on next scene update pass.
void SetRnrState(Bool_t rnr)
 Set render state of this element and of its children to the same
void SetMainColor(Color_t color)
 Set main color of the render-element.
 List-tree-items are updated.
void SetMainColor(Pixel_t pixel)
 Convert pixel to Color_t and call the above function.
TGListTreeItem* AddElement(TEveElement* el)
 Add el to the list of children.
void RemoveElement(TEveElement* el)
 Remove el from the list of children.
void RemoveElementLocal(TEveElement* el)
 Perform additional local removal of el.
 Called from RemoveElement() which does whole untangling.
 Put into special function as framework-related handling of
 element removal should really be common to all classes and
 clearing of local structures happens in between removal
 of list-tree-items and final removal.
 If you override this, you should also override
void RemoveElementsInternal()
 Remove all elements. This assumes removing of all elements can
 be done more efficiently then looping over them and removing one
 by one. This protected function performs the removal on the
 level of TEveElement.
void RemoveElements()
 Remove all elements. This assumes removing of all elements can be
 done more efficiently then looping over them and removing one by
void RemoveElementsLocal()
 Perform additional local removal of all elements.
 See comment to RemoveelementLocal(TEveElement*).
void EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)
 Enable rendering of children and their list contents.
 Arguments control how to set self/child rendering.
void DisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)
 Disable rendering of children and their list contents.
 Arguments control how to set self/child rendering.

 Same as above function, but default arguments are different. This
 is convenient for calls via context menu.
void Destroy()
 Destroy this element.
void DestroyElements()
 Destroy all children of this element.
Bool_t HandleElementPaste(TEveElement* el)
 React to element being pasted or dnd-ed.
 Return true if redraw is needed.
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.
GetCheckBoxPicture(Bool_t rnrElement, Bool_t rnrDaughter)
 Returns list-tree-item check-box picture appropriate for given
 rendering state.
 Returns pointer to first listtreeicon
TEveElement(const TEveElement&)
TEveElement& operator=(const TEveElement& )
List_i BeginParents()
{ return fParents.begin(); }
List_i EndParents()
{ return fParents.end(); }
Int_t GetNParents()
{ return fParents.size(); }
List_i BeginChildren()
{ return fChildren.begin(); }
List_i EndChildren()
{ return fChildren.end(); }
Int_t GetNChildren()
{ return fChildren.size(); }
Bool_t GetDestroyOnZeroRefCnt()
{ return fDestroyOnZeroRefCnt; }
void SetDestroyOnZeroRefCnt(Bool_t d)
{ fDestroyOnZeroRefCnt = d; }
Int_t GetDenyDestroy()
{ return fDenyDestroy; }
void IncDenyDestroy()
{ ++fDenyDestroy; }
void DecDenyDestroy()
{ if (--fDenyDestroy <= 0) CheckReferenceCount("TEveElement::DecDenyDestroy "); }
TObject* GetEditorObject(const TEveException& eh = "TEveElement::GetEditorObject ") const
TRef&    GetSource() { return fSource; }
TObject* GetSourceObject() const { return fSource.GetObject(); }
void SetSourceObject(TObject* o) { fSource.SetObject(o); }

void DumpSourceObject();    // *MENU*
void InspectSourceObject(); // *MENU*

{ return GetObject(eh); }
sLTI_i FindItem(TGListTree* ltree)
sLTI_i FindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
Int_t GetNItems()
{ return fItems.size(); }
Bool_t AcceptElement(TEveElement* )
{ return kTRUE; }
Bool_t CanEditRnrElement()
{ return kTRUE; }
Bool_t GetRnrSelf()
{ return fRnrSelf; }
Bool_t GetRnrChildren()
{ return fRnrChildren; }
Bool_t CanEditMainColor()
{ return kFALSE; }
Color_t* GetMainColorPtr()
{ return fMainColorPtr; }
void SetMainColorPtr(Color_t* color)
{ fMainColorPtr = color; }
Color_t GetMainColor()
{ return fMainColorPtr ? *fMainColorPtr : 0; }
Bool_t CanEditMainTransparency()
{ return kFALSE; }
UChar_t GetMainTransparency()
{ return 0; }
void SetMainTransparency(UChar_t )
Bool_t CanEditMainHMTrans()
{ return kFALSE; }
TEveTrans* PtrMainHMTrans()
{ return 0; }

Last update: root/eve:$Id: TEveElement.h 21565 2007-12-28 12:28:46Z brun $
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.