ROOT logo
ROOT » GRAF3D » EVE » TEveElement

class TEveElement


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

Function Members (Methods)

public:
TEveElement()
TEveElement(Color_t& main_color)
TEveElement(const TEveElement& e)
virtual~TEveElement()
virtual Bool_tAcceptElement(TEveElement* el)
virtual voidAddElement(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 voidAddStamp(UChar_t bits)
Bool_tApplyVizTag(const TString& tag, const TString& fallback_tag = "")
TEveElement::List_iBeginChildren()
TEveElement::List_ciBeginChildren() const
TEveElement::List_iBeginParents()
TEveElement::List_ciBeginParents() const
virtual Bool_tCanEditElement() const
virtual Bool_tCanEditMainColor() const
virtual Bool_tCanEditMainTrans() const
virtual Bool_tCanEditMainTransparency() const
virtual voidCheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
static TClass*Class()
virtual voidClearStamps()
virtual voidCloneChildrenRecurse(TEveElement* dest, Int_t level = 0) const
virtual TEveElement*CloneElement() const
virtual TEveElement*CloneElementRecurse(Int_t level = 0) const
virtual voidCollectSceneParents(TEveElement::List_t& scenes)
virtual voidCollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
virtual voidCopyVizParams(const TEveElement* el)
virtual voidCopyVizParamsFromDB()
voidDecDenyDestroy()
virtual voidDecImpliedHighlighted()
virtual voidDecImpliedSelected()
voidDecParentIgnoreCnt()
virtual voidDestroy()MENU
virtual voidDestroyElements()MENU
virtual voidDestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidDestroyMainTrans()
virtual voidDestroyOrWarn()
voidDisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)MENU
voidDumpSourceObject() constMENU
virtual voidElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
voidEnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)MENU
TEveElement::List_iEndChildren()
TEveElement::List_ciEndChildren() const
TEveElement::List_iEndParents()
TEveElement::List_ciEndParents() const
virtual voidExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
voidExportSourceObjectToCINT(char* var_name) constMENU
virtual voidExportToCINT(char* var_name)MENU
virtual voidFillImpliedSelectedSet(TEveElement::Set_t& impSelSet)
TEveElement*FindChild(const TString& name, const TClass* cls = 0)
TEveElement*FindChild(TPRegexp& regexp, const TClass* cls = 0)
Int_tFindChildren(TEveElement::List_t& matches, const TString& name, const TClass* cls = 0)
Int_tFindChildren(TEveElement::List_t& matches, TPRegexp& regexp, const TClass* cls = 0)
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)
Bool_tFindVizModel()
TEveElement*FirstChild() const
virtual TEveElement*ForwardEdit()
virtual TEveElement*ForwardSelection()
UChar_tGetChangeBits() const
TEveCompound*GetCompound()
Int_tGetDenyDestroy() const
Bool_tGetDestroyOnZeroRefCnt() const
virtual TObject*GetEditorObject(const TEveException& eh = "TEveElement::GetEditorObject ") const
virtual const char*GetElementName() const
virtual const char*GetElementTitle() const
virtual const TGPicture*GetListTreeCheckBoxIcon()
virtual const TGPicture*GetListTreeIcon(Bool_t open = kFALSE)
virtual Color_tGetMainColor() const
Color_t*GetMainColorPtr() const
virtual UChar_tGetMainTransparency() const
TEveElement*GetMaster()
virtual Int_tGetNItems() const
virtual TObject*GetObject(const TEveException& eh = "TEveElement::GetObject ") const
Int_tGetParentIgnoreCnt() const
virtual TObject*GetRenderObject(const TEveException& eh = "TEveElement::GetRenderObject ") const
virtual Bool_tGetRnrAnything() const
virtual Bool_tGetRnrChildren() const
virtual Bool_tGetRnrSelf() const
virtual Bool_tGetRnrState() const
virtual UChar_tGetSelectedLevel() const
TRef&GetSource()
TObject*GetSourceObject() const
void*GetUserData() const
TEveElement*GetVizModel() const
const TString&GetVizTag() const
virtual Bool_tHandleElementPaste(TEveElement* el)
Bool_tHasChild(TEveElement* el)
Bool_tHasChildren() const
virtual Bool_tHasMainColor() const
virtual Bool_tHasMainTrans() const
Bool_tHasParents() const
virtual voidHighlightElement(Bool_t state)
voidIncDenyDestroy()
virtual voidIncImpliedHighlighted()
virtual voidIncImpliedSelected()
voidIncParentIgnoreCnt()
virtual voidInitMainTrans(Bool_t can_edit = kTRUE)
virtual TClass*IsA() const
Bool_tIsPickable() const
TEveElement*LastChild() const
virtual voidNameTitleChanged()
Int_tNumChildren() const
Int_tNumParents() const
virtual voidPadPaint(Option_t* option)
voidPrintSourceObject() constMENU
virtual voidPropagateMainColorToProjecteds(Color_t color, Color_t old_color)
virtual voidPropagateRnrStateToProjecteds()
virtual voidPropagateVizParamsToElements(TEveElement* el = 0)
virtual voidPropagateVizParamsToProjecteds()
virtual TEveTrans*PtrMainTrans()
virtual TEveTrans&RefMainTrans()
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)
voidSaveVizParams(ostream& out, const TString& tag, const TString& var)
virtual voidSelectElement(Bool_t state)
voidSetCompound(TEveCompound* c)
voidSetDestroyOnZeroRefCnt(Bool_t d)
virtual voidSetElementName(const char* name)
virtual voidSetElementNameTitle(const char* name, const char* title)
virtual voidSetElementTitle(const char* title)
voidSetMainAlpha(Float_t alpha)
virtual voidSetMainColor(Color_t color)
voidSetMainColorPixel(Pixel_t pixel)
voidSetMainColorPtr(Color_t* color)
voidSetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
voidSetMainColorRGB(Float_t r, Float_t g, Float_t b)
virtual voidSetMainTransparency(UChar_t t)
voidSetPickable(Bool_t p)
virtual Bool_tSetRnrChildren(Bool_t rnr)
virtual Bool_tSetRnrSelf(Bool_t rnr)
virtual Bool_tSetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
virtual Bool_tSetRnrState(Bool_t rnr)
voidSetSourceObject(TObject* o)
virtual voidSetTransMatrix(Double_t* carr)
virtual voidSetTransMatrix(const TGeoMatrix& mat)
voidSetUserData(void* ud)
voidSetVizModel(TEveElement* model)
voidSetVizTag(const TString& tag)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Bool_tSingleRnrState() const
voidSpawnEditor()MENU
voidStampColorSelection()
voidStampObjProps()
voidStampTransBBox()
voidStampVisibility()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidVizDB_Apply(const char* tag)MENU
voidVizDB_Insert(const char* tag, Bool_t replace = kTRUE, Bool_t update = kTRUE)MENU
voidVizDB_Reapply()MENU
voidVizDB_UpdateModel(Bool_t update = kTRUE)MENU
virtual voidWriteVizParams(ostream& out, const TString& var)
protected:
virtual voidPreDeleteElement()
virtual voidRemoveElementsInternal()
static const char*ToString(Bool_t b)

Data Members

public:
enum EChangeBits { kCBColorSelection
kCBTransBBox
kCBObjProps
kCBVisibility
};
public:
static const TGPicture*fgListTreeIcons[8]
static const TGPicture*fgRnrIcons[4]
protected:
Bool_tfCanEditMainTransAllow editing of main transformation.
UChar_tfChangeBits
list<TEveElement*>fChildrenList of children.
TEveCompound*fCompoundCompound this object belongs to.
Int_tfDenyDestroy! Deny-destroy count.
Bool_tfDestroyOnZeroRefCntAuto-destruct when ref-count reaches zero.
Bool_tfDestructing
Bool_tfHighlighted!
Short_tfImpliedHighlighted!
Short_tfImpliedSelected!
set<TEveElement::TEveListTreeInfo,less<TEveElement::TEveListTreeInfo>,allocator<TEveElement::TEveListTreeInfo> >fItems! Set of list-tree-items.
Color_t*fMainColorPtrPointer to main-color variable.
TEveTrans*fMainTransPointer to main transformation matrix.
UChar_tfMainTransparencyMain-transparency variable.
Int_tfParentIgnoreCnt! Counter for parents that are ignored in ref-counting.
list<TEveElement*>fParentsList of parents.
Bool_tfPickable
Bool_tfRnrChildrenRender children of this element.
Bool_tfRnrSelfRender this element.
Bool_tfSelected!
TReffSourceExternal object that is represented by this element.
Int_tfTopItemCnt! Counter for top-level list-tree items that prevent automatic destruction.
void*fUserData! Externally assigned and controlled user data.
TEveElement*fVizModel! Element used as model from VizDB.
TStringfVizTagTag used to query VizDB for model element.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveElement()
 Default contructor.
TEveElement(Color_t& main_color)
 Constructor.
TEveElement(const TEveElement& e)
 Copy constructor. Does shallow copy.
 For deep-cloning and children-cloning, see:
   TEveElement* CloneElementRecurse(Int_t level)
   void         CloneChildrenRecurse(TEveElement* dest, Int_t level)

 'TRef fSource' is copied but 'void* UserData' is NOT.
 If the element is projectable, its projections are NOT copied.

 Not implemented for most sub-classes, let us know.
 Note that sub-classes of TEveProjected are NOT and will NOT be copyable.
~TEveElement()
 Destructor.
void PreDeleteElement()
 Called before the element is deleted, thus offering the last chance
 to detach from acquired resources and from the framework itself.
 Here the request is just passed to TEveManager.
 If you override it, make sure to call base-class version.
TEveElement* CloneElement() const
 Clone the element via copy constructor.
 Should be implemented for all classes that require cloning support.
TEveElement* CloneElementRecurse(Int_t level = 0) const
 Clone elements and recurse 'level' deep over children.
 If level ==  0, only the element itself is cloned (default).
 If level == -1, all the hierarchy is cloned.
void CloneChildrenRecurse(TEveElement* dest, Int_t level = 0) const
 Clone children and attach them to the dest element.
 If level ==  0, only the direct descendants are cloned (default).
 If level == -1, all the hierarchy is cloned.
const char* GetElementName() const
 Virtual function for retrieveing name of the element.
 Here we attempt to cast the assigned object into TNamed and call
 GetName() there.
const char* GetElementTitle() const
 Virtual function for retrieveing title of the render-element.
 Here we attempt to cast the assigned object into TNamed and call
 GetTitle() there.
void SetElementName(const char* name)
 Virtual function for setting of name of an element.
 Here we attempt to cast the assigned object into TNamed and call
 SetName() there.
 If you override this call NameTitleChanged() from there.
void SetElementTitle(const char* title)
 Virtual function for setting of title of an element.
 Here we attempt to cast the assigned object into TNamed and call
 SetTitle() there.
 If you override this call NameTitleChanged() from there.
void SetElementNameTitle(const char* name, const char* 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.
 If you override this call NameTitleChanged() from there.
void NameTitleChanged()
 Virtual function called when a name or title of the element has
 been changed.
 If you override this, call also the version of your direct base-class.
void SetVizModel(TEveElement* model)
 Set visualization-parameter model element.
 Calling of this function from outside of EVE should in principle
 be avoided as it can lead to dis-synchronization of viz-tag and
 viz-model.
Bool_t FindVizModel()
 Find model element in VizDB that corresponds to previously
 assigned fVizTag and set fVizModel accordingly.
 If the tag is not found in VizDB, the old model-element is kept
 and false is returned.
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. If the model is not found and
 fallback_tag is non-null, its search is attempted as well.
 For example: ApplyVizTag("TPC Clusters", "Clusters");

 If the model-element can not be found a warning is printed and
 false is returned.
void PropagateVizParamsToProjecteds()
 Propagate visualization parameters to dependent elements.

 MainColor is propagated independently in SetMainColor().
 In this case, as fMainColor is a pointer to Color_t, it should
 be set in TProperClass::CopyVizParams().

 Render state is not propagated. Maybe it should be, at least optionally.
void PropagateVizParamsToElements(TEveElement* el = 0)
 Propagate visualization parameters from element el (defaulting
 to this) to all elements (children).

 The primary use of this is for model-elements from
 visualization-parameter database.
void CopyVizParams(const TEveElement* el)
 Copy visualization parameters from element el.
 This method needs to be overriden by any class that introduces
 new parameters.
 See, for example, TEvePointSet::CopyVizParams(),
 TEveLine::CopyVizParams() and TEveTrack::CopyVizParams().
void CopyVizParamsFromDB()
 Copy visualization parameters from the model-element fVizModel.
 A warning is printed if the model-element fVizModel is not set.
void SaveVizParams(ostream& out, const TString& tag, const TString& var)
 Save visualization parameters for this element with given tag.

 This function creates the instantiation code, calls virtual
 WriteVizParams() and, at the end, writes out the code for
 registration of the model into the VizDB.
void WriteVizParams(ostream& out, const TString& var)
 Write-out visual parameters for this object.
 This is a virtual function and all sub-classes are required to
 first call the base-element version.
 The name of the element pointer is 'x%03d', due to cint limitations.
 Three spaces should be used for indentation, same as in
 SavePrimitive() methods.
void VizDB_Apply(const char* tag)
 Set visual parameters for this object for given tag.
void VizDB_Reapply()
 Reset visual parameters for this object from VizDB.
 The model object must be already set.
void VizDB_UpdateModel(Bool_t update = kTRUE)
 Copy visual parameters from this element to viz-db model.
 If update is set, all clients of the model will be updated to
 the new value.
 A warning is printed if the model-element fVizModel is not set.
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.
 If replace is true an existing element with the same tag will be replaced.
 If update is true, existing client of tag will be updated.
TEveElement* GetMaster()
 Return the master element - that is the upwards compound not
 inside another compound.
 If this element is not in a compound, this is returned.
 For a projected object the projectable->GetMaster() is returned.
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.

 Element 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
 parent_lti.
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
 'parent_lti'.
 Returns kTRUE if the item was found and removed, kFALSE
 otherwise.
Int_t RemoveFromListTrees(TEveElement* parent)
 Remove element from all list-trees where 'parent' is the
 user-data of the parent 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
 list-tree-item.
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(char* var_name)
 Export render-element to CINT with variable name var_name.
void DumpSourceObject() const
 Call Dump() on source object.
 Throws an exception if it is not set.
void PrintSourceObject() const
 Call Print() on source object.
 Throws an exception if it is not set.
void ExportSourceObjectToCINT(char* var_name) const
 Export source object to CINT with given name for the variable.
 Throws an exception if it is not set.
void PadPaint(Option_t* option)
 Paint self and/or children into currently active pad.
Bool_t SetRnrSelf(Bool_t rnr)
 Set render state of this element, i.e. if it will be published
 on next scene update pass.
 Returns true if the state has changed.
Bool_t SetRnrChildren(Bool_t rnr)
 Set render state of this element's children, i.e. if they will
 be published on next scene update pass.
 Returns true if the state has changed.
Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
 Set state for rendering of this element and its children.
 Returns true if the state has changed.
Bool_t SetRnrState(Bool_t rnr)
 Set render state of this element and of its children to the same
 value.
 Returns true if the state has changed.
void PropagateRnrStateToProjecteds()
 Propagate render state to the projected replicas of this element.
 Maybe this should be optional on gEve/element level.
void SetMainColor(Color_t color)
 Set main color of the element.
 List-tree-items are updated.
void SetMainColorPixel(Pixel_t pixel)
 Convert pixel to Color_t and call SetMainColor().
void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
 Convert RGB values to Color_t and call SetMainColor.
void SetMainColorRGB(Float_t r, Float_t g, Float_t b)
 Convert RGB values to Color_t and call SetMainColor.
void PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
 Convert RGB values to Color_t and call SetMainColor.
 Maybe this should be optional on gEve/element level.
void SetMainTransparency(UChar_t t)
 Set main-transparency.
 Transparency is clamped to [0, 100].
void SetMainAlpha(Float_t alpha)
 Set main-transparency via float alpha varable.
 Value of alpha is clamped t0 [0, 1].
TEveTrans* PtrMainTrans()
 Return pointer to main transformation. It is created if not yet
 existing.
TEveTrans& RefMainTrans()
 Return reference to main transformation. It is created if not yet
 existing.
void InitMainTrans(Bool_t can_edit = kTRUE)
 Initialize the main transformation to identity matrix.
 If can_edit is true (default), the user will be able to edit the
 transformation parameters via TEveElementEditor.
void DestroyMainTrans()
 Destroy the main transformation matrix, it will always be taken
 as identity. Editing of transformation parameters is disabled.
void SetTransMatrix(Double_t* carr)
 Set transformation matrix from colum-major array.
void SetTransMatrix(const TGeoMatrix& mat)
 Set transformation matrix from TGeo's matrix.
Bool_t AcceptElement(TEveElement* el)
 Check if el can be added to this element.

 In the base-class version we only make sure the new child is not
 equal to this.
void 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
 RemoveElementsLocal().
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
 them one by one.
void RemoveElementsLocal()
 Perform additional local removal of all elements.
 See comment to RemoveElementlocal(TEveElement*).
Bool_t HasChild(TEveElement* el)
 Check if element el is a child of this element.
TEveElement* FindChild(const TString& name, const TClass* cls)
 Find the first child with given name.  If cls is specified (non
 0), it is also checked.

 Returns 0 if not found.
TEveElement* FindChild(TPRegexp& regexp, const TClass* cls)
 Find the first child whose name matches regexp. If cls is
 specified (non 0), it is also checked.

 Returns 0 if not found.
Int_t FindChildren(List_t& matches, const TString& name, const TClass* cls)
 Find all children with given name and append them to matches
 list. If class is specified (non 0), it is also checked.

 Returns number of elements added to the list.
Int_t FindChildren(List_t& matches, TPRegexp& regexp, const TClass* cls)
 Find all children whose name matches regexp and append them to
 matches list.

 Returns number of elements added to the list.
TEveElement* FirstChild() const
 Returns the first child element or 0 if the list is empty.
TEveElement* LastChild() const
 Returns the last 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.
 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. Throws an exception if deny-destroy is in force.
void DestroyOrWarn()
 Destroy this element. Prints a warning if deny-destroy is in force.
void DestroyElements()
 Destroy all children of this element.
Bool_t GetDestroyOnZeroRefCnt() const
 Returns state of flag determining if the element will be
 destroyed when reference count reaches zero.
 This is true by default.
void SetDestroyOnZeroRefCnt(Bool_t d)
 Sets the state of flag determining if the element will be
 destroyed when reference count reaches zero.
 This is true by default.
Int_t GetDenyDestroy() const
 Returns the number of times deny-destroy has been requested on
 the element.
void IncDenyDestroy()
 Increases the deny-destroy count of the element.
 Call this if you store an external pointer to the element.
void DecDenyDestroy()
 Decreases the deny-destroy count of the element.
 Call this after releasing an external pointer to the element.
Int_t GetParentIgnoreCnt() const
 Get number of parents that should be ignored in doing
 reference-counting.

 For example, this is used when subscribing an element to a
 visualization-database model object.
void IncParentIgnoreCnt()
 Increase number of parents ignored in reference-counting.
void DecParentIgnoreCnt()
 Decrease number of parents ignored in reference-counting.
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.
TEveElement* ForwardSelection()
 Returns element to be selected on click.
 If value is zero the selected object will follow rules in
 TEveSelection.
TEveElement* ForwardEdit()
 Returns element to be displayed in GUI editor on click.
 If value is zero the displayed object will follow rules in
 TEveSelection.
void SelectElement(Bool_t state)
 Set element's selection state. Stamp appropriately.
void IncImpliedSelected()
 Increase element's implied-selection count. Stamp appropriately.
void DecImpliedSelected()
 Decrease element's implied-selection count. Stamp appropriately.
void HighlightElement(Bool_t state)
 Set element's highlight state. Stamp appropriately.
void IncImpliedHighlighted()
 Increase element's implied-highlight count. Stamp appropriately.
void DecImpliedHighlighted()
 Decrease element's implied-highlight count. Stamp appropriately.
void FillImpliedSelectedSet(TEveElement::Set_t& impSelSet)
 Populate set impSelSet with derived / dependant elements.

 Here we check if class of this is TEveProjectable and add the projected
 replicas to the set. Thus it does not have to be reimplemented for
 each sub-class of TEveProjected.

 Note that this also takes care of projections of TEveCompound
 class, which is also a projectable.
UChar_t GetSelectedLevel() const
 Get selection level, needed for rendering selection and
 highlight feedback.
 This should go to TAtt3D.
void AddStamp(UChar_t bits)
 Add (bitwise or) given stamps to fChangeBits.
 Register this element to gEve as stamped.
 This method is virtual so that sub-classes can add additional
 actions. The base-class method should still be called (or replicated).
const TGPicture* GetListTreeIcon(Bool_t open = kFALSE)
 Returns pointer to first listtreeicon
const TGPicture* GetListTreeCheckBoxIcon()
 Returns list-tree-item check-box picture appropriate for given
 rendering state.
const char* ToString(Bool_t b)
 Convert Bool_t to string - kTRUE or kFALSE.
 Needed in WriteVizParams().
TEveElement& operator=(const TEveElement& )
const TString& GetVizTag() const
{ return fVizTag; }
void SetVizTag(const TString& tag)
{ fVizTag = tag; }
TEveElement* GetVizModel() const
{ return fVizModel; }
TEveCompound* GetCompound()
{ return fCompound; }
void SetCompound(TEveCompound* c)
{ fCompound = c; }
List_i BeginParents()
{ return fParents.begin(); }
List_i EndParents()
{ return fParents.end(); }
List_ci BeginParents()
{ return fParents.begin(); }
List_ci EndParents()
{ return fParents.end(); }
Int_t NumParents() const
{ return fParents.size(); }
Bool_t HasParents() const
{ return !fParents.empty(); }
List_i BeginChildren()
{ return fChildren.begin(); }
List_i EndChildren()
{ return fChildren.end(); }
List_ci BeginChildren()
{ return fChildren.begin(); }
List_ci EndChildren()
{ return fChildren.end(); }
Int_t NumChildren() const
{ return fChildren.size(); }
Bool_t HasChildren() const
{ return !fChildren.empty(); }
TObject* GetEditorObject(const TEveException& eh = "TEveElement::GetEditorObject ") const
{ return GetObject(eh); }
TObject* GetRenderObject(const TEveException& eh = "TEveElement::GetRenderObject ") const
{ return GetObject(eh); }
sLTI_i FindItem(TGListTree* ltree)
sLTI_i FindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
Int_t GetNItems() const
{ return fItems.size(); }
Bool_t CanEditElement() const
{ return kTRUE; }
Bool_t SingleRnrState() const
{ return kFALSE; }
Bool_t GetRnrSelf() const
{ return fRnrSelf; }
Bool_t GetRnrChildren() const
{ return fRnrChildren; }
Bool_t GetRnrState() const
{ return fRnrSelf && fRnrChildren; }
Bool_t GetRnrAnything() const
{ return fRnrSelf || (fRnrChildren && HasChildren()); }
Bool_t CanEditMainColor() const
{ return kFALSE; }
Color_t* GetMainColorPtr() const
{ return fMainColorPtr; }
void SetMainColorPtr(Color_t* color)
{ fMainColorPtr = color; }
Bool_t HasMainColor() const
{ return fMainColorPtr != 0; }
Color_t GetMainColor() const
{ return fMainColorPtr ? *fMainColorPtr : 0; }
Bool_t CanEditMainTransparency() const
{ return kFALSE; }
UChar_t GetMainTransparency() const
{ return fMainTransparency; }
Bool_t CanEditMainTrans() const
{ return fCanEditMainTrans; }
Bool_t HasMainTrans() const
{ return fMainTrans != 0; }
TRef& GetSource()
{ return fSource; }
TObject* GetSourceObject() const
{ return fSource.GetObject(); }
void SetSourceObject(TObject* o)
     void DumpSourceObject();    // *MENU*
     void InspectSourceObject(); // *MENU*

{ fSource = o; }
void* GetUserData() const
{ return fUserData; }
void SetUserData(void* ud)
{ fUserData = ud; }
Bool_t IsPickable() const
{ return fPickable; }
void SetPickable(Bool_t p)
{ fPickable = p; }
void StampColorSelection()
void StampTransBBox()
void StampObjProps()
void StampVisibility()
 void StampElementAdded()   { AddStamp(kCBElementAdded); }
 void StampElementRemoved() { AddStamp(kCBElementRemoved); }
void ClearStamps()
{ fChangeBits = 0; }
UChar_t GetChangeBits() const
{ return fChangeBits; }