ROOT  6.06/09
Reference Guide
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
TEveElement Class Reference

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

Definition at line 33 of file TEveElement.h.

Classes

class  TEveListTreeInfo
 Structure holding information about TGListTree and TGListTreeItem that represents given TEveElement. More...
 

Public Types

enum  EChangeBits { kCBColorSelection = BIT(0), kCBTransBBox = BIT(1), kCBObjProps = BIT(2), kCBVisibility = BIT(3) }
 
typedef std::set< TEveListTreeInfosLTI_t
 
typedef sLTI_t::iterator sLTI_i
 
typedef sLTI_t::reverse_iterator sLTI_ri
 
typedef std::list< TEveElement * > List_t
 
typedef List_t::iterator List_i
 
typedef List_t::const_iterator List_ci
 
typedef std::set< TEveElement * > Set_t
 
typedef Set_t::iterator Set_i
 
typedef Set_t::const_iterator Set_ci
 
typedef void(TEveElement::* Select_foo) (Bool_t)
 
typedef void(TEveElement::* ImplySelect_foo) ()
 

Public Member Functions

 TEveElement ()
 Default constructor. More...
 
 TEveElement (Color_t &main_color)
 Constructor. More...
 
 TEveElement (const TEveElement &e)
 Copy constructor. More...
 
virtual ~TEveElement ()
 Destructor. More...
 
virtual TEveElementCloneElement () const
 Clone the element via copy constructor. More...
 
virtual TEveElementCloneElementRecurse (Int_t level=0) const
 Clone elements and recurse 'level' deep over children. More...
 
virtual void CloneChildrenRecurse (TEveElement *dest, Int_t level=0) const
 Clone children and attach them to the dest element. More...
 
virtual const char * GetElementName () const
 Virtual function for retrieving name of the element. More...
 
virtual const char * GetElementTitle () const
 Virtual function for retrieving title of the render-element. More...
 
virtual TString GetHighlightTooltip ()
 
virtual void SetElementName (const char *name)
 Virtual function for setting of name of an element. More...
 
virtual void SetElementTitle (const char *title)
 Virtual function for setting of title of an element. More...
 
virtual void SetElementNameTitle (const char *name, const char *title)
 Virtual function for setting of name and title of render element. More...
 
virtual void NameTitleChanged ()
 Virtual function called when a name or title of the element has been changed. More...
 
const TStringGetVizTag () const
 
void SetVizTag (const TString &tag)
 
TEveElementGetVizModel () const
 
void SetVizModel (TEveElement *model)
 Set visualization-parameter model element. More...
 
Bool_t FindVizModel ()
 Find model element in VizDB that corresponds to previously assigned fVizTag and set fVizModel accordingly. More...
 
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. More...
 
virtual void PropagateVizParamsToProjecteds ()
 Propagate visualization parameters to dependent elements. More...
 
virtual void PropagateVizParamsToElements (TEveElement *el=0)
 Propagate visualization parameters from element el (defaulting to this) to all elements (children). More...
 
virtual void CopyVizParams (const TEveElement *el)
 Copy visualization parameters from element el. More...
 
virtual void CopyVizParamsFromDB ()
 Copy visualization parameters from the model-element fVizModel. More...
 
void SaveVizParams (std::ostream &out, const TString &tag, const TString &var)
 Save visualization parameters for this element with given tag. More...
 
virtual void WriteVizParams (std::ostream &out, const TString &var)
 Write-out visual parameters for this object. More...
 
TEveElementGetMaster ()
 Returns the master element - that is: More...
 
TEveCompoundGetCompound ()
 
void SetCompound (TEveCompound *c)
 
virtual void AddParent (TEveElement *re)
 Add re into the list parents. More...
 
virtual void RemoveParent (TEveElement *re)
 Remove re from the list of parents. More...
 
virtual void CheckReferenceCount (const TEveException &eh="TEveElement::CheckReferenceCount ")
 Check external references to this and eventually auto-destruct the render-element. More...
 
virtual void CollectSceneParents (List_t &scenes)
 Collect all parents of class TEveScene. More...
 
virtual void CollectSceneParentsFromChildren (List_t &scenes, TEveElement *parent)
 Collect scene-parents from all children. More...
 
List_i BeginParents ()
 
List_i EndParents ()
 
List_ci BeginParents () const
 
List_ci EndParents () const
 
Int_t NumParents () const
 
Bool_t HasParents () const
 
const List_tRefChildren () const
 
List_i BeginChildren ()
 
List_i EndChildren ()
 
List_ci BeginChildren () const
 
List_ci EndChildren () const
 
Int_t NumChildren () const
 
Bool_t HasChildren () const
 
Bool_t HasChild (TEveElement *el)
 Check if element el is a child of this element. More...
 
TEveElementFindChild (const TString &name, const TClass *cls=0)
 Find the first child with given name. More...
 
TEveElementFindChild (TPRegexp &regexp, const TClass *cls=0)
 Find the first child whose name matches regexp. More...
 
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. More...
 
Int_t FindChildren (List_t &matches, TPRegexp &regexp, const TClass *cls=0)
 Find all children whose name matches regexp and append them to matches list. More...
 
TEveElementFirstChild () const
 Returns the first child element or 0 if the list is empty. More...
 
TEveElementLastChild () const
 Returns the last child element or 0 if the list is empty. More...
 
void EnableListElements (Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTRUE)
 Enable rendering of children and their list contents. More...
 
void DisableListElements (Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFALSE)
 Disable rendering of children and their list contents. More...
 
Bool_t GetDestroyOnZeroRefCnt () const
 Returns state of flag determining if the element will be destroyed when reference count reaches zero. More...
 
void SetDestroyOnZeroRefCnt (Bool_t d)
 Sets the state of flag determining if the element will be destroyed when reference count reaches zero. More...
 
Int_t GetDenyDestroy () const
 Returns the number of times deny-destroy has been requested on the element. More...
 
void IncDenyDestroy ()
 Increases the deny-destroy count of the element. More...
 
void DecDenyDestroy ()
 Decreases the deny-destroy count of the element. More...
 
Int_t GetParentIgnoreCnt () const
 Get number of parents that should be ignored in doing reference-counting. More...
 
void IncParentIgnoreCnt ()
 Increase number of parents ignored in reference-counting. More...
 
void DecParentIgnoreCnt ()
 Decrease number of parents ignored in reference-counting. More...
 
virtual void PadPaint (Option_t *option)
 Paint self and/or children into currently active pad. More...
 
virtual void PaintStandard (TObject *id)
 Paint object – a generic implementation for EVE elements. More...
 
virtual TObjectGetObject (const TEveException &eh) const
 Get a TObject associated with this render-element. More...
 
virtual TObjectGetEditorObject (const TEveException &eh) const
 
virtual TObjectGetRenderObject (const TEveException &eh) const
 
virtual void ExpandIntoListTree (TGListTree *ltree, TGListTreeItem *parent)
 Populates parent with elements. More...
 
virtual void DestroyListSubTree (TGListTree *ltree, TGListTreeItem *parent)
 Destroy sub-tree under item 'parent' in list-tree 'ltree'. More...
 
virtual TGListTreeItemAddIntoListTree (TGListTree *ltree, TGListTreeItem *parent_lti)
 Add this element into ltree to an already existing item parent_lti. More...
 
virtual TGListTreeItemAddIntoListTree (TGListTree *ltree, TEveElement *parent)
 Add this render element into ltree to all items belonging to parent. More...
 
virtual TGListTreeItemAddIntoListTrees (TEveElement *parent)
 Add this render element into all list-trees and all items belonging to parent. More...
 
virtual Bool_t RemoveFromListTree (TGListTree *ltree, TGListTreeItem *parent_lti)
 Remove element from list-tree 'ltree' where its parent item is 'parent_lti'. More...
 
virtual Int_t RemoveFromListTrees (TEveElement *parent)
 Remove element from all list-trees where 'parent' is the user-data of the parent list-tree-item. More...
 
virtual sLTI_i FindItem (TGListTree *ltree)
 Find any list-tree-item of this element in list-tree 'ltree'. More...
 
virtual sLTI_i FindItem (TGListTree *ltree, TGListTreeItem *parent_lti)
 Find list-tree-item of this element with given parent list-tree-item. More...
 
virtual TGListTreeItemFindListTreeItem (TGListTree *ltree)
 Find any list-tree-item of this element in list-tree 'ltree'. More...
 
virtual TGListTreeItemFindListTreeItem (TGListTree *ltree, TGListTreeItem *parent_lti)
 Find list-tree-item of this element with given parent list-tree-item. More...
 
virtual Int_t GetNItems () const
 
void SpawnEditor ()
 Show GUI editor for this object. More...
 
virtual void ExportToCINT (char *var_name)
 Export render-element to CINT with variable name var_name. More...
 
void DumpSourceObject () const
 Call Dump() on source object. More...
 
void PrintSourceObject () const
 Call Print() on source object. More...
 
void ExportSourceObjectToCINT (char *var_name) const
 Export source object to CINT with given name for the variable. More...
 
virtual Bool_t AcceptElement (TEveElement *el)
 Check if el can be added to this element. More...
 
virtual void AddElement (TEveElement *el)
 Add el to the list of children. More...
 
virtual void RemoveElement (TEveElement *el)
 Remove el from the list of children. More...
 
virtual void RemoveElementLocal (TEveElement *el)
 Perform additional local removal of el. More...
 
virtual void RemoveElements ()
 Remove all elements. More...
 
virtual void RemoveElementsLocal ()
 Perform additional local removal of all elements. More...
 
virtual void AnnihilateElements ()
 Annihilate elements. More...
 
virtual void Annihilate ()
 Optimized destruction without check of reference-count. More...
 
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' there. More...
 
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 children there. More...
 
virtual void Destroy ()
 Destroy this element. More...
 
virtual void DestroyOrWarn ()
 Destroy this element. Prints a warning if deny-destroy is in force. More...
 
virtual void DestroyElements ()
 Destroy all children of this element. More...
 
virtual Bool_t HandleElementPaste (TEveElement *el)
 React to element being pasted or dnd-ed. More...
 
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. More...
 
virtual Bool_t CanEditElement () const
 
virtual Bool_t SingleRnrState () const
 
virtual Bool_t GetRnrSelf () const
 
virtual Bool_t GetRnrChildren () const
 
virtual Bool_t GetRnrState () const
 
virtual Bool_t GetRnrAnything () const
 
virtual Bool_t SetRnrSelf (Bool_t rnr)
 Set render state of this element, i.e. More...
 
virtual Bool_t SetRnrChildren (Bool_t rnr)
 Set render state of this element's children, i.e. More...
 
virtual Bool_t SetRnrSelfChildren (Bool_t rnr_self, Bool_t rnr_children)
 Set state for rendering of this element and its children. More...
 
virtual Bool_t SetRnrState (Bool_t rnr)
 Set render state of this element and of its children to the same value. More...
 
virtual void PropagateRnrStateToProjecteds ()
 Propagate render state to the projected replicas of this element. More...
 
virtual Bool_t CanEditMainColor () const
 
void SetEditMainColor (Bool_t x)
 
Color_tGetMainColorPtr () const
 
void SetMainColorPtr (Color_t *color)
 
virtual Bool_t HasMainColor () const
 
virtual Color_t GetMainColor () const
 
virtual void SetMainColor (Color_t color)
 Set main color of the element. More...
 
void SetMainColorPixel (Pixel_t pixel)
 Convert pixel to Color_t and call SetMainColor(). More...
 
void SetMainColorRGB (UChar_t r, UChar_t g, UChar_t b)
 Convert RGB values to Color_t and call SetMainColor. More...
 
void SetMainColorRGB (Float_t r, Float_t g, Float_t b)
 Convert RGB values to Color_t and call SetMainColor. More...
 
virtual void PropagateMainColorToProjecteds (Color_t color, Color_t old_color)
 Propagate color to projected elements. More...
 
virtual Bool_t CanEditMainTransparency () const
 
void SetEditMainTransparency (Bool_t x)
 
virtual Char_t GetMainTransparency () const
 
virtual void SetMainTransparency (Char_t t)
 Set main-transparency. More...
 
void SetMainAlpha (Float_t alpha)
 Set main-transparency via float alpha variable. More...
 
virtual void PropagateMainTransparencyToProjecteds (Char_t t, Char_t old_t)
 Propagate transparency to projected elements. More...
 
virtual Bool_t CanEditMainTrans () const
 
virtual Bool_t HasMainTrans () const
 
virtual TEveTransPtrMainTrans (Bool_t create=kTRUE)
 Return pointer to main transformation. More...
 
virtual TEveTransRefMainTrans ()
 Return reference to main transformation. More...
 
virtual void InitMainTrans (Bool_t can_edit=kTRUE)
 Initialize the main transformation to identity matrix. More...
 
virtual void DestroyMainTrans ()
 Destroy the main transformation matrix, it will always be taken as identity. More...
 
virtual void SetTransMatrix (Double_t *carr)
 Set transformation matrix from column-major array. More...
 
virtual void SetTransMatrix (const TGeoMatrix &mat)
 Set transformation matrix from TGeo's matrix. More...
 
TRefGetSource ()
 
TObjectGetSourceObject () const
 
void SetSourceObject (TObject *o)
 
voidGetUserData () const
 
void SetUserData (void *ud)
 
Bool_t IsPickable () const
 
void SetPickable (Bool_t p)
 
void SetPickableRecursively (Bool_t p)
 Set pickable state on the element and all its children. More...
 
virtual TEveElementForwardSelection ()
 Returns element to be selected on click. More...
 
virtual TEveElementForwardEdit ()
 Returns element to be displayed in GUI editor on click. More...
 
virtual void SelectElement (Bool_t state)
 Set element's selection state. Stamp appropriately. More...
 
virtual void IncImpliedSelected ()
 Increase element's implied-selection count. Stamp appropriately. More...
 
virtual void DecImpliedSelected ()
 Decrease element's implied-selection count. Stamp appropriately. More...
 
virtual void UnSelected ()
 Virtual function called when both fSelected is false and fImpliedSelected is 0. More...
 
virtual void HighlightElement (Bool_t state)
 Set element's highlight state. Stamp appropriately. More...
 
virtual void IncImpliedHighlighted ()
 Increase element's implied-highlight count. Stamp appropriately. More...
 
virtual void DecImpliedHighlighted ()
 Decrease element's implied-highlight count. Stamp appropriately. More...
 
virtual void UnHighlighted ()
 Virtual function called when both fHighlighted is false and fImpliedHighlighted is 0. More...
 
virtual void FillImpliedSelectedSet (Set_t &impSelSet)
 Populate set impSelSet with derived / dependant elements. More...
 
virtual UChar_t GetSelectedLevel () const
 Get selection level, needed for rendering selection and highlight feedback. More...
 
void RecheckImpliedSelections ()
 Call this if it is possible that implied-selection or highlight has changed for this element or for implied-selection this element is member of and you want to maintain consistent selection state. More...
 
void SetCSCBits (UChar_t f)
 
void ResetCSCBits (UChar_t f)
 
Bool_t TestCSCBits (UChar_t f) const
 
void ResetAllCSCBits ()
 
void CSCImplySelectAllChildren ()
 
void CSCTakeAnyParentAsMaster ()
 
void CSCApplyMainColorToAllChildren ()
 
void CSCApplyMainColorToMatchingChildren ()
 
void CSCApplyMainTransparencyToAllChildren ()
 
void CSCApplyMainTransparencyToMatchingChildren ()
 
void StampColorSelection ()
 
void StampTransBBox ()
 
void StampObjProps ()
 
void StampVisibility ()
 
virtual void AddStamp (UChar_t bits)
 Add (bitwise or) given stamps to fChangeBits. More...
 
virtual void ClearStamps ()
 
UChar_t GetChangeBits () const
 
virtual const TGPictureGetListTreeIcon (Bool_t open=kFALSE)
 Returns pointer to first listtreeicon. More...
 
virtual const TGPictureGetListTreeCheckBoxIcon ()
 Returns list-tree-item check-box picture appropriate for given rendering state. More...
 
void VizDB_Apply (const char *tag)
 Set visual parameters for this object for given tag. More...
 
void VizDB_Reapply ()
 Reset visual parameters for this object from VizDB. More...
 
void VizDB_UpdateModel (Bool_t update=kTRUE)
 Copy visual parameters from this element to viz-db model. More...
 
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. More...
 
 ClassDef (TEveElement, 0)
 

Static Public Attributes

static const TGPicturefgRnrIcons [4] = { 0 }
 
static const TGPicturefgListTreeIcons [9] = { 0 }
 

Protected Types

enum  ECompoundSelectionColorBits {
  kCSCBImplySelectAllChildren = BIT(0), kCSCBTakeAnyParentAsMaster = BIT(1), kCSCBApplyMainColorToAllChildren = BIT(2), kCSCBApplyMainColorToMatchingChildren = BIT(3),
  kCSCBApplyMainTransparencyToAllChildren = BIT(4), kCSCBApplyMainTransparencyToMatchingChildren = BIT(5)
}
 
enum  EDestruct { kNone, kStandard, kAnnihilate }
 

Protected Member Functions

virtual void PreDeleteElement ()
 Externally assigned and controlled user data. More...
 
virtual void RemoveElementsInternal ()
 Remove all elements. More...
 
virtual void AnnihilateRecursively ()
 Protected member function called from TEveElement::Annihilate(). More...
 

Static Protected Member Functions

static const char * ToString (Bool_t b)
 Convert Bool_t to string - kTRUE or kFALSE. More...
 

Protected Attributes

List_t fParents
 
List_t fChildren
 
TEveCompoundfCompound
 
TEveElementfVizModel
 
TString fVizTag
 Element used as model from VizDB. More...
 
Int_t fNumChildren
 
Int_t fParentIgnoreCnt
 
Int_t fTopItemCnt
 Counter for parents that are ignored in ref-counting. More...
 
Int_t fDenyDestroy
 Counter for top-level list-tree items that prevent automatic destruction. More...
 
Bool_t fDestroyOnZeroRefCnt
 Deny-destroy count. More...
 
Bool_t fRnrSelf
 
Bool_t fRnrChildren
 
Bool_t fCanEditMainColor
 
Bool_t fCanEditMainTransparency
 
Bool_t fCanEditMainTrans
 
Char_t fMainTransparency
 
Color_tfMainColorPtr
 
TEveTransfMainTrans
 
sLTI_t fItems
 
TRef fSource
 Set of list-tree-items. More...
 
voidfUserData
 
Bool_t fPickable
 
Bool_t fSelected
 
Bool_t fHighlighted
 
Short_t fImpliedSelected
 
Short_t fImpliedHighlighted
 
UChar_t fCSCBits
 
UChar_t fChangeBits
 
Char_t fDestructing
 

Private Member Functions

TEveElementoperator= (const TEveElement &)
 

Friends

class TEveManager
 

#include <TEveElement.h>

+ Inheritance diagram for TEveElement:
+ Collaboration diagram for TEveElement:

Member Typedef Documentation

typedef void(TEveElement::* TEveElement::ImplySelect_foo) ()

Definition at line 337 of file TEveElement.h.

typedef List_t::const_iterator TEveElement::List_ci

Definition at line 71 of file TEveElement.h.

typedef List_t::iterator TEveElement::List_i

Definition at line 70 of file TEveElement.h.

typedef std::list<TEveElement*> TEveElement::List_t

Definition at line 69 of file TEveElement.h.

typedef void(TEveElement::* TEveElement::Select_foo) (Bool_t)

Definition at line 336 of file TEveElement.h.

typedef Set_t::const_iterator TEveElement::Set_ci

Definition at line 75 of file TEveElement.h.

typedef Set_t::iterator TEveElement::Set_i

Definition at line 74 of file TEveElement.h.

typedef std::set<TEveElement*> TEveElement::Set_t

Definition at line 73 of file TEveElement.h.

typedef sLTI_t::iterator TEveElement::sLTI_i

Definition at line 66 of file TEveElement.h.

typedef sLTI_t::reverse_iterator TEveElement::sLTI_ri

Definition at line 67 of file TEveElement.h.

Definition at line 65 of file TEveElement.h.

Member Enumeration Documentation

Enumerator
kCBColorSelection 
kCBTransBBox 
kCBObjProps 
kCBVisibility 

Definition at line 378 of file TEveElement.h.

Enumerator
kCSCBImplySelectAllChildren 
kCSCBTakeAnyParentAsMaster 
kCSCBApplyMainColorToAllChildren 
kCSCBApplyMainColorToMatchingChildren 
kCSCBApplyMainTransparencyToAllChildren 
kCSCBApplyMainTransparencyToMatchingChildren 

Definition at line 316 of file TEveElement.h.

enum TEveElement::EDestruct
protected
Enumerator
kNone 
kStandard 
kAnnihilate 

Definition at line 326 of file TEveElement.h.

Constructor & Destructor Documentation

TEveElement::TEveElement ( )

Default constructor.

Definition at line 61 of file TEveElement.cxx.

Referenced by CloneElement().

TEveElement::TEveElement ( Color_t main_color)

Constructor.

Definition at line 97 of file TEveElement.cxx.

TEveElement::TEveElement ( const TEveElement e)

Copy constructor.

Does shallow copy. For deep-cloning and children-cloning, see:

'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.

Definition at line 143 of file TEveElement.cxx.

TEveElement::~TEveElement ( )
virtual

Destructor.

Do not call this method directly, either call Destroy() or Annihilate(). See also DestroyElements() and AnnihilateElements() if you need to delete all children of an element.

Definition at line 186 of file TEveElement.cxx.

Member Function Documentation

Bool_t TEveElement::AcceptElement ( TEveElement el)
virtual

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.

Reimplemented in TEveElementList, TEveSelection, and TEveSceneInfo.

Definition at line 1316 of file TEveElement.cxx.

Referenced by AddElement().

void TEveElement::AddElement ( TEveElement el)
virtual
TGListTreeItem * TEveElement::AddIntoListTree ( TGListTree ltree,
TGListTreeItem parent_lti 
)
virtual

Add this element into ltree to an already existing item parent_lti.

Children, if any, are added as below the newly created item. Returns the newly created list-tree-item.

Definition at line 759 of file TEveElement.cxx.

Referenced by AddIntoListTree(), AddIntoListTrees(), and TEveManager::AddToListTree().

TGListTreeItem * TEveElement::AddIntoListTree ( TGListTree ltree,
TEveElement parent 
)
virtual

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).

Definition at line 786 of file TEveElement.cxx.

TGListTreeItem * TEveElement::AddIntoListTrees ( TEveElement parent)
virtual

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).

Definition at line 807 of file TEveElement.cxx.

Referenced by AddElement().

void TEveElement::AddParent ( TEveElement re)
virtual

Add re into the list parents.

Adding parent is subordinate to adding an element. This is an internal function.

Definition at line 635 of file TEveElement.cxx.

Referenced by AddElement().

void TEveElement::AddStamp ( UChar_t  bits)
virtual

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).

Reimplemented in TEveGeoTopNode, TEveGeoNode, and TEveSceneInfo.

Definition at line 2035 of file TEveElement.cxx.

Referenced by TEveSceneInfo::AddStamp(), TEveGeoNode::AddStamp(), TEveGeoTopNode::AddStamp(), CopyVizParams(), StampColorSelection(), StampObjProps(), StampTransBBox(), and StampVisibility().

void TEveElement::Annihilate ( )
virtual

Optimized destruction without check of reference-count.

Parents are not notified about child destruction. The method should only be used when an element does not have more than one parent – otherwise an exception is thrown.

Definition at line 1649 of file TEveElement.cxx.

Referenced by AnnihilateElements().

void TEveElement::AnnihilateElements ( )
virtual

Annihilate elements.

Definition at line 1683 of file TEveElement.cxx.

void TEveElement::AnnihilateRecursively ( )
protectedvirtual

Protected member function called from TEveElement::Annihilate().

Definition at line 1612 of file TEveElement.cxx.

Referenced by Annihilate().

Bool_t TEveElement::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.

Definition at line 397 of file TEveElement.cxx.

Referenced by VizDB_Apply().

List_i TEveElement::BeginChildren ( )
inline
List_ci TEveElement::BeginChildren ( ) const
inline

Definition at line 166 of file TEveElement.h.

List_i TEveElement::BeginParents ( )
inline

Definition at line 156 of file TEveElement.h.

List_ci TEveElement::BeginParents ( ) const
inline

Definition at line 158 of file TEveElement.h.

virtual Bool_t TEveElement::CanEditElement ( ) const
inlinevirtual

Reimplemented in TEveGeoTopNode, and TEveGeoNode.

Definition at line 252 of file TEveElement.h.

Referenced by TEveElementEditor::SetModel().

virtual Bool_t TEveElement::CanEditMainColor ( ) const
inlinevirtual

Reimplemented in TEveGeoNode.

Definition at line 264 of file TEveElement.h.

Referenced by TEveElementEditor::SetModel().

virtual Bool_t TEveElement::CanEditMainTrans ( ) const
inlinevirtual

Definition at line 284 of file TEveElement.h.

Referenced by TEveElementEditor::SetModel().

virtual Bool_t TEveElement::CanEditMainTransparency ( ) const
inlinevirtual

Reimplemented in TEveGeoNode, and TEveTriangleSet.

Definition at line 277 of file TEveElement.h.

Referenced by TEveElementEditor::SetModel().

void TEveElement::CheckReferenceCount ( const TEveException eh = "TEveElement::CheckReferenceCount ")
virtual

Check external references to this and eventually auto-destruct the render-element.

Reimplemented in TEveTrackPropagator.

Definition at line 659 of file TEveElement.cxx.

Referenced by TEveTrackPropagator::CheckReferenceCount(), DecDenyDestroy(), DecParentIgnoreCnt(), RemoveFromListTree(), RemoveFromListTrees(), and RemoveParent().

TEveElement::ClassDef ( TEveElement  ,
 
)
virtual void TEveElement::ClearStamps ( )
inlinevirtual

Definition at line 402 of file TEveElement.h.

Referenced by TEveManager::DoRedraw3D().

void TEveElement::CloneChildrenRecurse ( TEveElement dest,
Int_t  level = 0 
) const
virtual

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.

Definition at line 249 of file TEveElement.cxx.

Referenced by CloneElementRecurse().

TEveElement * TEveElement::CloneElement ( ) const
virtual

Clone the element via copy constructor.

Should be implemented for all classes that require cloning support.

Reimplemented in TEveElementList, TEveElementObjectPtr, and TEvePointSet.

Definition at line 224 of file TEveElement.cxx.

Referenced by CloneElementRecurse().

TEveElement * TEveElement::CloneElementRecurse ( Int_t  level = 0) const
virtual

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.

Definition at line 234 of file TEveElement.cxx.

void TEveElement::CollectSceneParents ( List_t scenes)
virtual

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.

Reimplemented in TEveScene.

Definition at line 692 of file TEveElement.cxx.

Referenced by TEveManager::DoRedraw3D(), and TEveManager::ElementChanged().

void TEveElement::CollectSceneParentsFromChildren ( List_t scenes,
TEveElement parent 
)
virtual

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.

Definition at line 705 of file TEveElement.cxx.

Referenced by TEveProjectionManager::UpdateDependentElsAndScenes().

void TEveElement::CopyVizParams ( const TEveElement el)
virtual

Copy visualization parameters from element el.

This method needs to be overriden by any class that introduces new parameters. Color is copied in sub-classes which define it. See, for example, TEvePointSet::CopyVizParams(), TEveLine::CopyVizParams() and TEveTrack::CopyVizParams().

Reimplemented in TEveTrackList, TEveTrack, TEveStraightLineSet, TEvePointSet, TEveShape, and TEveLine.

Definition at line 462 of file TEveElement.cxx.

Referenced by TEveShape::CopyVizParams(), TEvePointSet::CopyVizParams(), TEveStraightLineSet::CopyVizParams(), TEveTrackList::CopyVizParams(), CopyVizParamsFromDB(), TEveManager::InsertVizDBEntry(), TEveProjectable::PropagateVizParams(), PropagateVizParamsToElements(), VizDB_Insert(), and VizDB_UpdateModel().

void TEveElement::CopyVizParamsFromDB ( )
virtual

Copy visualization parameters from the model-element fVizModel.

A warning is printed if the model-element fVizModel is not set.

Definition at line 475 of file TEveElement.cxx.

Referenced by ApplyVizTag(), and VizDB_Reapply().

void TEveElement::CSCApplyMainColorToAllChildren ( )
inline

Definition at line 369 of file TEveElement.h.

void TEveElement::CSCApplyMainColorToMatchingChildren ( )
inline

Definition at line 370 of file TEveElement.h.

void TEveElement::CSCApplyMainTransparencyToAllChildren ( )
inline

Definition at line 371 of file TEveElement.h.

void TEveElement::CSCApplyMainTransparencyToMatchingChildren ( )
inline

Definition at line 372 of file TEveElement.h.

void TEveElement::CSCImplySelectAllChildren ( )
inline

Definition at line 367 of file TEveElement.h.

void TEveElement::CSCTakeAnyParentAsMaster ( )
inline

Definition at line 368 of file TEveElement.h.

void TEveElement::DecDenyDestroy ( )

Decreases the deny-destroy count of the element.

Call this after releasing an external pointer to the element.

Definition at line 1803 of file TEveElement.cxx.

Referenced by TEveManager::InsertVizDBEntry(), TEveCompositeFrame::RelinquishEveWindow(), and TEveManager::~TEveManager().

void TEveElement::DecImpliedHighlighted ( )
virtual

Decrease element's implied-highlight count. Stamp appropriately.

Definition at line 1960 of file TEveElement.cxx.

Referenced by TEveSelection::SetHighlightMode().

void TEveElement::DecImpliedSelected ( )
virtual

Decrease element's implied-selection count. Stamp appropriately.

Definition at line 1915 of file TEveElement.cxx.

Referenced by TEveSelection::TEveSelection().

void TEveElement::DecParentIgnoreCnt ( )

Decrease number of parents ignored in reference-counting.

Definition at line 1832 of file TEveElement.cxx.

Referenced by TEveViewerList::RemoveElementLocal().

void TEveElement::Destroy ( )
virtual

Destroy this element.

Throws an exception if deny-destroy is in force. This method should be called instead of a destructor. Note that an exception will be thrown if the element has been protected against destruction with IncDenyDestroy().

Definition at line 1700 of file TEveElement.cxx.

Referenced by DestroyElements(), DestroyOrWarn(), TEveWindow::DestroyWindow(), TEveWindow::DestroyWindowAndSlot(), and TEveManager::~TEveManager().

void TEveElement::DestroyElements ( )
virtual

Destroy all children of this element.

Definition at line 1733 of file TEveElement.cxx.

Referenced by TEveManager::ClearOrphanage(), TEveSceneList::DestroyScenes(), and TEveManager::~TEveManager().

void TEveElement::DestroyListSubTree ( TGListTree ltree,
TGListTreeItem parent 
)
virtual

Destroy sub-tree under item 'parent' in list-tree 'ltree'.

Definition at line 742 of file TEveElement.cxx.

Referenced by AnnihilateRecursively(), RemoveElementsInternal(), RemoveFromListTree(), and RemoveFromListTrees().

void TEveElement::DestroyMainTrans ( )
virtual

Destroy the main transformation matrix, it will always be taken as identity.

Editing of transformation parameters is disabled.

Definition at line 1287 of file TEveElement.cxx.

void TEveElement::DestroyOrWarn ( )
virtual

Destroy this element. Prints a warning if deny-destroy is in force.

Definition at line 1716 of file TEveElement.cxx.

Referenced by TEveSceneList::DestroyScenes().

void TEveElement::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.

Definition at line 1598 of file TEveElement.cxx.

void TEveElement::DumpSourceObject ( ) const

Call Dump() on source object.

Throws an exception if it is not set.

Definition at line 967 of file TEveElement.cxx.

void TEveElement::ElementChanged ( Bool_t  update_scenes = kTRUE,
Bool_t  redraw = kFALSE 
)
virtual
void TEveElement::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.

Definition at line 1580 of file TEveElement.cxx.

List_i TEveElement::EndChildren ( )
inline
List_ci TEveElement::EndChildren ( ) const
inline

Definition at line 167 of file TEveElement.h.

List_i TEveElement::EndParents ( )
inline

Definition at line 157 of file TEveElement.h.

List_ci TEveElement::EndParents ( ) const
inline

Definition at line 159 of file TEveElement.h.

void TEveElement::ExpandIntoListTree ( TGListTree ltree,
TGListTreeItem parent 
)
virtual

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.

Reimplemented in TEveGeoNode.

Definition at line 729 of file TEveElement.cxx.

Referenced by TEveGeoNode::ExpandIntoListTree(), and TEveGListTreeEditorFrame::ItemDblClicked().

void TEveElement::ExportSourceObjectToCINT ( char *  var_name) const

Export source object to CINT with given name for the variable.

Throws an exception if it is not set.

Definition at line 997 of file TEveElement.cxx.

void TEveElement::ExportToCINT ( char *  var_name)
virtual

Export render-element to CINT with variable name var_name.

Reimplemented in TEveElementObjectPtr.

Definition at line 957 of file TEveElement.cxx.

void TEveElement::FillImpliedSelectedSet ( Set_t impSelSet)
virtual

Populate set impSelSet with derived / dependant elements.

If this is a TEveProjectable, the projected replicas are added 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.

Reimplemented in TEveCaloData, and TEveCompound.

Definition at line 1989 of file TEveElement.cxx.

Referenced by TEveSelection::DoElementSelect(), and TEveCompound::FillImpliedSelectedSet().

TEveElement * TEveElement::FindChild ( const TString name,
const TClass cls = 0 
)

Find the first child with given name.

If cls is specified (non 0), it is also checked.

Returns 0 if not found.

Definition at line 1480 of file TEveElement.cxx.

TEveElement * TEveElement::FindChild ( TPRegexp regexp,
const TClass cls = 0 
)

Find the first child whose name matches regexp.

If cls is specified (non 0), it is also checked.

Returns 0 if not found.

Definition at line 1499 of file TEveElement.cxx.

Int_t TEveElement::FindChildren ( List_t matches,
const TString name,
const TClass cls = 0 
)

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.

Definition at line 1518 of file TEveElement.cxx.

Int_t TEveElement::FindChildren ( List_t matches,
TPRegexp regexp,
const TClass cls = 0 
)

Find all children whose name matches regexp and append them to matches list.

Returns number of elements added to the list.

Definition at line 1542 of file TEveElement.cxx.

TEveElement::sLTI_i TEveElement::FindItem ( TGListTree ltree)
virtual

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.

Definition at line 883 of file TEveElement.cxx.

Referenced by RemoveFromListTree().

TEveElement::sLTI_i TEveElement::FindItem ( TGListTree ltree,
TGListTreeItem parent_lti 
)
virtual

Find list-tree-item of this element with given parent list-tree-item.

Definition at line 895 of file TEveElement.cxx.

TGListTreeItem * TEveElement::FindListTreeItem ( TGListTree ltree)
virtual

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.

Definition at line 909 of file TEveElement.cxx.

Referenced by TEveTrackList::FindTrackByIndex(), and TEveTrackList::FindTrackByLabel().

TGListTreeItem * TEveElement::FindListTreeItem ( TGListTree ltree,
TGListTreeItem parent_lti 
)
virtual

Find list-tree-item of this element with given parent list-tree-item.

Definition at line 921 of file TEveElement.cxx.

Bool_t TEveElement::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.

Definition at line 374 of file TEveElement.cxx.

Referenced by ApplyVizTag().

TEveElement * TEveElement::FirstChild ( ) const
TEveElement * TEveElement::ForwardEdit ( )
virtual

Returns element to be displayed in GUI editor on click.

If value is zero the displayed object will follow rules in TEveSelection.

Reimplemented in TEveCaloViz.

Definition at line 1884 of file TEveElement.cxx.

Referenced by TEveSelection::UserPickedElement().

TEveElement * TEveElement::ForwardSelection ( )
virtual

Returns element to be selected on click.

If value is zero the selected object will follow rules in TEveSelection.

Reimplemented in TEveCaloViz.

Definition at line 1874 of file TEveElement.cxx.

Referenced by TEveSelection::MapPickedToSelected().

UChar_t TEveElement::GetChangeBits ( ) const
inline

Definition at line 404 of file TEveElement.h.

Referenced by TEveManager::DoRedraw3D(), and TEveSceneList::ProcessSceneChanges().

TEveCompound* TEveElement::GetCompound ( )
inline
Int_t TEveElement::GetDenyDestroy ( ) const

Returns the number of times deny-destroy has been requested on the element.

Definition at line 1785 of file TEveElement.cxx.

Referenced by TEveGListTreeEditorFrame::ItemKeyPress().

Bool_t TEveElement::GetDestroyOnZeroRefCnt ( ) const

Returns state of flag determining if the element will be destroyed when reference count reaches zero.

This is true by default.

Definition at line 1766 of file TEveElement.cxx.

virtual TObject* TEveElement::GetEditorObject ( const TEveException eh) const
inlinevirtual
const char * TEveElement::GetElementName ( ) const
virtual

Virtual function for retrieving name of the element.

Here we attempt to cast the assigned object into TNamed and call GetName() there.

Reimplemented in TEveElementList, TEvePointSet, and TEveGeoNode.

Definition at line 265 of file TEveElement.cxx.

Referenced by AddElement(), Annihilate(), CheckReferenceCount(), Destroy(), DestroyElements(), TEveShape::FindConvexHull(), TEveDigitSet::GetHighlightTooltip(), TEveListTreeItem::GetText(), TEveListTreeItem::GetTextLength(), TEveProjectionManager::ImportElementsRecurse(), and WriteVizParams().

const char * TEveElement::GetElementTitle ( ) const
virtual

Virtual function for retrieving title of the render-element.

Here we attempt to cast the assigned object into TNamed and call GetTitle() there.

Reimplemented in TEveElementList, TEvePointSet, and TEveGeoNode.

Definition at line 278 of file TEveElement.cxx.

Referenced by GetHighlightTooltip(), TEveListTreeItem::GetTipText(), TEveListTreeItem::GetTipTextLength(), TEveProjectionManager::ImportElementsRecurse(), and WriteVizParams().

virtual TString TEveElement::GetHighlightTooltip ( )
inlinevirtual

Reimplemented in TEveCaloData, and TEveDigitSet.

Definition at line 123 of file TEveElement.h.

Referenced by TEveDigitSet::GetHighlightTooltip(), and TEveViewerList::HandleTooltip().

const TGPicture * TEveElement::GetListTreeCheckBoxIcon ( )
virtual

Returns list-tree-item check-box picture appropriate for given rendering state.

Definition at line 2054 of file TEveElement.cxx.

Referenced by TEveListTreeItem::GetCheckBoxPicture().

const TGPicture * TEveElement::GetListTreeIcon ( Bool_t  open = kFALSE)
virtual

Returns pointer to first listtreeicon.

Reimplemented in TEveTrack, TEvePointSet, TEveText, TEveProjectionAxes, TEveScene, TEveViewer, and TEveLine.

Definition at line 2044 of file TEveElement.cxx.

Referenced by TEveListTreeItem::GetPicture().

virtual Color_t TEveElement::GetMainColor ( ) const
inlinevirtual
Color_t* TEveElement::GetMainColorPtr ( ) const
inline

Definition at line 266 of file TEveElement.h.

Referenced by TEveElementObjectPtr::TEveElementObjectPtr().

virtual Char_t TEveElement::GetMainTransparency ( ) const
inlinevirtual
TEveElement * TEveElement::GetMaster ( )

Returns the master element - that is:

  • master of projectable, if this is a projected;
  • master of compound, if fCompound is set;
  • master of first compound parent, if kSCBTakeAnyParentAsMaster bit is set; If non of the above is true, this is returned.

Definition at line 609 of file TEveElement.cxx.

Referenced by GetMaster(), and TEveSelection::MapPickedToSelected().

virtual Int_t TEveElement::GetNItems ( ) const
inlinevirtual

Definition at line 222 of file TEveElement.h.

Referenced by TEveGListTreeEditorFrame::ItemKeyPress().

TObject * TEveElement::GetObject ( const TEveException eh) const
virtual

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.

Reimplemented in TEveElementList, TEveElementObjectPtr, TEveDigitSet, TEvePointSet, TEveArrow, TEveGeoNode, and TEveGeoShape.

Definition at line 937 of file TEveElement.cxx.

Referenced by TEveRefBackPtr::DecRefCount(), GetEditorObject(), GetElementName(), GetElementTitle(), GetRenderObject(), TEveGedNameTextButton::HandleButton(), TEveGListTreeEditorFrame::ItemClicked(), TEveGListTreeEditorFrame::ItemDblClicked(), SaveVizParams(), SetElementName(), SetElementNameTitle(), SetElementTitle(), and VizDB_Insert().

Int_t TEveElement::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.

Definition at line 1816 of file TEveElement.cxx.

virtual TObject* TEveElement::GetRenderObject ( const TEveException eh) const
inlinevirtual
virtual Bool_t TEveElement::GetRnrAnything ( ) const
inlinevirtual

Definition at line 257 of file TEveElement.h.

virtual Bool_t TEveElement::GetRnrChildren ( ) const
inlinevirtual
virtual Bool_t TEveElement::GetRnrSelf ( ) const
inlinevirtual
virtual Bool_t TEveElement::GetRnrState ( ) const
inlinevirtual
UChar_t TEveElement::GetSelectedLevel ( ) const
virtual

Get selection level, needed for rendering selection and highlight feedback.

This should go to TAtt3D.

Definition at line 2003 of file TEveElement.cxx.

Referenced by TEveListTreeItem::GetActiveColor(), TEveListTreeItem::IsActive(), TEveSceneList::ProcessSceneChanges(), and TEveScene::Repaint().

TRef& TEveElement::GetSource ( )
inline

Definition at line 294 of file TEveElement.h.

TObject* TEveElement::GetSourceObject ( ) const
inline

Definition at line 295 of file TEveElement.h.

Referenced by DumpSourceObject(), ExportSourceObjectToCINT(), and PrintSourceObject().

void* TEveElement::GetUserData ( ) const
inline

Definition at line 302 of file TEveElement.h.

TEveElement* TEveElement::GetVizModel ( ) const
inline

Definition at line 132 of file TEveElement.h.

const TString& TEveElement::GetVizTag ( ) const
inline

Definition at line 129 of file TEveElement.h.

Bool_t TEveElement::HandleElementPaste ( TEveElement el)
virtual

React to element being pasted or dnd-ed.

Return true if redraw is needed.

Reimplemented in TEveViewer, TEveProjectionManager, and TEveSceneInfo.

Definition at line 1842 of file TEveElement.cxx.

Referenced by TEveManager::ElementPaste().

Bool_t TEveElement::HasChild ( TEveElement el)

Check if element el is a child of this element.

Definition at line 1469 of file TEveElement.cxx.

Referenced by ProjectChild(), TEveSelection::UserPickedElement(), and TEveSelection::UserRePickedElement().

Bool_t TEveElement::HasChildren ( ) const
inline
virtual Bool_t TEveElement::HasMainColor ( ) const
inlinevirtual

Definition at line 269 of file TEveElement.h.

Referenced by TEveListTreeItem::HasColor().

virtual Bool_t TEveElement::HasMainTrans ( ) const
inlinevirtual
Bool_t TEveElement::HasParents ( ) const
inline

Definition at line 161 of file TEveElement.h.

void TEveElement::HighlightElement ( Bool_t  state)
virtual

Set element's highlight state. Stamp appropriately.

Definition at line 1937 of file TEveElement.cxx.

Referenced by TEveSelection::SetHighlightMode().

void TEveElement::IncDenyDestroy ( )

Increases the deny-destroy count of the element.

Call this if you store an external pointer to the element.

Definition at line 1794 of file TEveElement.cxx.

Referenced by TEveCompositeFrame::AcquireEveWindow(), TEveManager::AddEvent(), TEveManager::InsertVizDBEntry(), and TEveManager::TEveManager().

void TEveElement::IncImpliedHighlighted ( )
virtual

Increase element's implied-highlight count. Stamp appropriately.

Definition at line 1951 of file TEveElement.cxx.

Referenced by TEveSelection::SetHighlightMode().

void TEveElement::IncImpliedSelected ( )
virtual

Increase element's implied-selection count. Stamp appropriately.

Definition at line 1906 of file TEveElement.cxx.

Referenced by TEveSelection::TEveSelection().

void TEveElement::IncParentIgnoreCnt ( )

Increase number of parents ignored in reference-counting.

Definition at line 1824 of file TEveElement.cxx.

Referenced by TEveViewerList::AddElement().

void TEveElement::InitMainTrans ( Bool_t  can_edit = kTRUE)
virtual

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.

Definition at line 1274 of file TEveElement.cxx.

Referenced by PtrMainTrans(), RefMainTrans(), TEveDigitSet::TEveDigitSet(), TEveGeoShape::TEveGeoShape(), TEveGeoTopNode::TEveGeoTopNode(), TEvePlot3D::TEvePlot3D(), TEveStraightLineSet::TEveStraightLineSet(), TEveText::TEveText(), and TEveTriangleSet::TEveTriangleSet().

Bool_t TEveElement::IsPickable ( ) const
inline
TEveElement * TEveElement::LastChild ( ) const

Returns the last child element or 0 if the list is empty.

Definition at line 1571 of file TEveElement.cxx.

void TEveElement::NameTitleChanged ( )
virtual

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.

Reimplemented in TEveWindow.

Definition at line 342 of file TEveElement.cxx.

Referenced by TEvePointSet::SetElementName(), SetElementName(), TEveElementList::SetElementName(), TEvePointSet::SetElementNameTitle(), SetElementNameTitle(), TEveElementList::SetElementNameTitle(), TEvePointSet::SetElementTitle(), SetElementTitle(), TEveElementList::SetElementTitle(), and TEvePointSet::SetTitle().

Int_t TEveElement::NumChildren ( ) const
inline

Definition at line 168 of file TEveElement.h.

Referenced by TEveViewerList::HandleTooltip().

Int_t TEveElement::NumParents ( ) const
inline

Definition at line 160 of file TEveElement.h.

Referenced by CheckReferenceCount().

TEveElement& TEveElement::operator= ( const TEveElement )
private
void TEveElement::PadPaint ( Option_t option)
virtual

Paint self and/or children into currently active pad.

Definition at line 1012 of file TEveElement.cxx.

void TEveElement::PaintStandard ( TObject id)
virtual

Paint object – a generic implementation for EVE elements.

This supports direct rendering using a dedicated GL class. Override TObject::Paint() in sub-classes if different behaviour is required.

Definition at line 1034 of file TEveElement.cxx.

Referenced by TEvePlot3D::Paint(), TEveArrow::Paint(), TEveProjectionAxes::Paint(), TEveText::Paint(), TEveTriangleSet::Paint(), TEveShape::Paint(), TEveCaloViz::Paint(), TEvePointSet::Paint(), TEveStraightLineSet::Paint(), and TEveDigitSet::Paint().

void TEveElement::PreDeleteElement ( )
protectedvirtual

Externally assigned and controlled user data.

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.

Reimplemented in TEveWindow.

Definition at line 215 of file TEveElement.cxx.

Referenced by AnnihilateRecursively(), CheckReferenceCount(), Destroy(), and TEveWindow::PreDeleteElement().

void TEveElement::PrintSourceObject ( ) const

Call Print() on source object.

Throws an exception if it is not set.

Definition at line 982 of file TEveElement.cxx.

void TEveElement::ProjectAllChildren ( Bool_t  same_depth = kTRUE)
virtual

If this is a projectable, loop over all projected replicas and add the projected image of all children there.

This is supposed to be called after you destroy all children and then add new ones after this element has already been projected. You might also want to call RecheckImpliedSelections() on this element.

If 'same_depth' flag is true, the same depth as for the projected element is used in every projection. Otherwise current depth of each relevant projection-manager is used.

Definition at line 1448 of file TEveElement.cxx.

void TEveElement::ProjectChild ( TEveElement el,
Bool_t  same_depth = kTRUE 
)
virtual

If this is a projectable, loop over all projected replicas and add the projected image of child 'el' there.

This is supposed to be called after you add a child to a projectable after it has already been projected. You might also want to call RecheckImpliedSelections() on this element or 'el'.

If 'same_depth' flag is true, the same depth as for parent object is used in every projection. Otherwise current depth of each relevant projection-manager is used.

Definition at line 1418 of file TEveElement.cxx.

void TEveElement::PropagateMainColorToProjecteds ( Color_t  color,
Color_t  old_color 
)
virtual

Propagate color to projected elements.

Definition at line 1198 of file TEveElement.cxx.

Referenced by SetMainColor().

void TEveElement::PropagateMainTransparencyToProjecteds ( Char_t  t,
Char_t  old_t 
)
virtual

Propagate transparency to projected elements.

Definition at line 1236 of file TEveElement.cxx.

Referenced by SetMainTransparency().

void TEveElement::PropagateRnrStateToProjecteds ( )
virtual

Propagate render state to the projected replicas of this element.

Maybe this should be optional on gEve/element level.

Definition at line 1143 of file TEveElement.cxx.

Referenced by SetRnrChildren(), SetRnrSelf(), SetRnrSelfChildren(), and SetRnrState().

void TEveElement::PropagateVizParamsToElements ( TEveElement el = 0)
virtual

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.

Definition at line 443 of file TEveElement.cxx.

Referenced by VizDB_UpdateModel().

void TEveElement::PropagateVizParamsToProjecteds ( )
virtual

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.

Definition at line 427 of file TEveElement.cxx.

Referenced by TEveManager::InsertVizDBEntry(), TEveGedEditor::Update(), VizDB_Apply(), and VizDB_Reapply().

TEveTrans * TEveElement::PtrMainTrans ( Bool_t  create = kTRUE)
virtual
void TEveElement::RecheckImpliedSelections ( )

Call this if it is possible that implied-selection or highlight has changed for this element or for implied-selection this element is member of and you want to maintain consistent selection state.

This can happen if you add elements into compounds in response to user-interaction.

Definition at line 2020 of file TEveElement.cxx.

const List_t& TEveElement::RefChildren ( ) const
inline

Definition at line 163 of file TEveElement.h.

TEveTrans & TEveElement::RefMainTrans ( )
virtual
void TEveElement::RemoveElement ( TEveElement el)
virtual
void TEveElement::RemoveElementLocal ( TEveElement el)
virtual

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().

Reimplemented in TEvePointSetArray, TEveViewerList, TEveSelection, TEveViewer, and TEveCompound.

Definition at line 1360 of file TEveElement.cxx.

Referenced by RemoveElement(), TEveCompound::RemoveElementLocal(), and TEveViewerList::RemoveElementLocal().

void TEveElement::RemoveElements ( )
virtual

Remove all elements.

This assumes removing of all elements can be done more efficiently then looping over them and removing them one by one.

Reimplemented in TEveSelection.

Definition at line 1389 of file TEveElement.cxx.

Referenced by TEvePointSetArray::InitBins(), and TEveSelection::RemoveElements().

void TEveElement::RemoveElementsInternal ( )
protectedvirtual

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.

Definition at line 1370 of file TEveElement.cxx.

Referenced by RemoveElements(), and ~TEveElement().

void TEveElement::RemoveElementsLocal ( )
virtual

Perform additional local removal of all elements.

See comment to RemoveElementlocal(TEveElement*).

Reimplemented in TEvePointSetArray, TEveViewerList, TEveSelection, TEveViewer, and TEveCompound.

Definition at line 1402 of file TEveElement.cxx.

Referenced by AnnihilateRecursively(), RemoveElementsInternal(), TEveCompound::RemoveElementsLocal(), and TEveViewerList::RemoveElementsLocal().

Bool_t TEveElement::RemoveFromListTree ( TGListTree ltree,
TGListTreeItem parent_lti 
)
virtual

Remove element from list-tree 'ltree' where its parent item is 'parent_lti'.

Returns kTRUE if the item was found and removed, kFALSE otherwise.

Definition at line 823 of file TEveElement.cxx.

Referenced by DestroyListSubTree(), and TEveManager::RemoveFromListTree().

Int_t TEveElement::RemoveFromListTrees ( TEveElement parent)
virtual

Remove element from all list-trees where 'parent' is the user-data of the parent list-tree-item.

Definition at line 848 of file TEveElement.cxx.

Referenced by RemoveElement().

void TEveElement::RemoveParent ( TEveElement re)
virtual

Remove re from the list of parents.

Removing parent is subordinate to removing an element. This is an internal function.

Definition at line 645 of file TEveElement.cxx.

Referenced by RemoveElement().

void TEveElement::ResetAllCSCBits ( )
inline

Definition at line 366 of file TEveElement.h.

void TEveElement::ResetCSCBits ( UChar_t  f)
inline

Definition at line 363 of file TEveElement.h.

void TEveElement::SaveVizParams ( std::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.

Definition at line 494 of file TEveElement.cxx.

Referenced by TEveManager::SaveVizDB().

void TEveElement::SelectElement ( Bool_t  state)
virtual

Set element's selection state. Stamp appropriately.

Definition at line 1892 of file TEveElement.cxx.

Referenced by TEveSelection::TEveSelection().

void TEveElement::SetCompound ( TEveCompound c)
inline
void TEveElement::SetCSCBits ( UChar_t  f)
inline

Definition at line 362 of file TEveElement.h.

void TEveElement::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.

Definition at line 1776 of file TEveElement.cxx.

void TEveElement::SetEditMainColor ( Bool_t  x)
inline

Definition at line 265 of file TEveElement.h.

void TEveElement::SetEditMainTransparency ( Bool_t  x)
inline

Definition at line 278 of file TEveElement.h.

void TEveElement::SetElementName ( const char *  name)
virtual

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.

Reimplemented in TEveElementList, and TEvePointSet.

Definition at line 292 of file TEveElement.cxx.

Referenced by TEveProjectionManager::ImportElementsRecurse().

void TEveElement::SetElementNameTitle ( const char *  name,
const char *  title 
)
virtual

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.

Reimplemented in TEveElementList, and TEvePointSet.

Definition at line 326 of file TEveElement.cxx.

Referenced by TEveCaloLego::TEveCaloLego(), and TEveCaloViz::TEveCaloViz().

void TEveElement::SetElementTitle ( const char *  title)
virtual

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.

Reimplemented in TEveElementList, and TEvePointSet.

Definition at line 309 of file TEveElement.cxx.

Referenced by TEveProjectionManager::ImportElementsRecurse().

void TEveElement::SetMainAlpha ( Float_t  alpha)

Set main-transparency via float alpha variable.

Value of alpha is clamped t0 [0, 1].

Definition at line 1226 of file TEveElement.cxx.

Referenced by TEveGeoShape::SubImportShapeExtract().

void TEveElement::SetMainColor ( Color_t  color)
virtual
void TEveElement::SetMainColorPixel ( Pixel_t  pixel)

Convert pixel to Color_t and call SetMainColor().

Definition at line 1174 of file TEveElement.cxx.

Referenced by TEveElementEditor::DoMainColor().

void TEveElement::SetMainColorPtr ( Color_t color)
inline
void TEveElement::SetMainColorRGB ( UChar_t  r,
UChar_t  g,
UChar_t  b 
)

Convert RGB values to Color_t and call SetMainColor.

Definition at line 1182 of file TEveElement.cxx.

Referenced by TEveGeoShape::SubImportShapeExtract().

void TEveElement::SetMainColorRGB ( Float_t  r,
Float_t  g,
Float_t  b 
)

Convert RGB values to Color_t and call SetMainColor.

Definition at line 1190 of file TEveElement.cxx.

void TEveElement::SetMainTransparency ( Char_t  t)
virtual

Set main-transparency.

Transparency is clamped to [0, 100].

Reimplemented in TEveGeoNode, and TEveCompound.

Definition at line 1211 of file TEveElement.cxx.

Referenced by TEveElementEditor::DoTransparency(), SetMainAlpha(), TEveCompound::SetMainTransparency(), TEveGeoNode::SetMainTransparency(), and TEveTriangleSet::SetTransparency().

void TEveElement::SetPickable ( Bool_t  p)
inline

Definition at line 340 of file TEveElement.h.

Referenced by TEveProjectionManager::ImportElementsRecurse().

void TEveElement::SetPickableRecursively ( Bool_t  p)

Set pickable state on the element and all its children.

Definition at line 1860 of file TEveElement.cxx.

Bool_t TEveElement::SetRnrChildren ( Bool_t  rnr)
virtual

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.

Definition at line 1083 of file TEveElement.cxx.

Referenced by TEveElementEditor::DoRnrChildren(), TEveGeoNodeEditor::DoVizNodeDaughters(), TEveProjectionManager::ImportElementsRecurse(), TEveManager::InsertVizDBEntry(), and TEveGeoShape::SubImportShapeExtract().

Bool_t TEveElement::SetRnrSelf ( Bool_t  rnr)
virtual

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.

Definition at line 1061 of file TEveElement.cxx.

Referenced by TEveElementEditor::DoRnrSelf(), TEveGeoNodeEditor::DoVizNode(), TEveProjectionManager::ImportElementsRecurse(), TEvePointSetArray::InitBins(), TEvePointSetArray::SetRange(), and TEveGeoShape::SubImportShapeExtract().

Bool_t TEveElement::SetRnrSelfChildren ( Bool_t  rnr_self,
Bool_t  rnr_children 
)
virtual

Set state for rendering of this element and its children.

Returns true if the state has changed.

Definition at line 1104 of file TEveElement.cxx.

Referenced by TEveGeoNode::TEveGeoNode().

Bool_t TEveElement::SetRnrState ( Bool_t  rnr)
virtual

Set render state of this element and of its children to the same value.

Returns true if the state has changed.

Definition at line 1127 of file TEveElement.cxx.

Referenced by TEveElementEditor::DoRnrState(), TEveTrackList::SelectByP(), TEveTrackList::SelectByPt(), SetRnrChildren(), SetRnrSelf(), SetRnrSelfChildren(), and TEveListTreeItem::Toggle().

void TEveElement::SetSourceObject ( TObject o)
inline

Definition at line 296 of file TEveElement.h.

void TEveElement::SetTransMatrix ( Double_t carr)
virtual

Set transformation matrix from column-major array.

Definition at line 1297 of file TEveElement.cxx.

void TEveElement::SetTransMatrix ( const TGeoMatrix mat)
virtual

Set transformation matrix from TGeo's matrix.

Definition at line 1305 of file TEveElement.cxx.

void TEveElement::SetUserData ( void ud)
inline

Definition at line 303 of file TEveElement.h.

void TEveElement::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.

Definition at line 355 of file TEveElement.cxx.

Referenced by FindVizModel(), TEveManager::InsertVizDBEntry(), and TEveElement().

void TEveElement::SetVizTag ( const TString tag)
inline

Definition at line 130 of file TEveElement.h.

Referenced by ApplyVizTag().

virtual Bool_t TEveElement::SingleRnrState ( ) const
inlinevirtual
void TEveElement::SpawnEditor ( )

Show GUI editor for this object.

This is forwarded to TEveManager::EditElement().

Definition at line 949 of file TEveElement.cxx.

void TEveElement::StampColorSelection ( )
inline
void TEveElement::StampObjProps ( )
inline
void TEveElement::StampTransBBox ( )
inline
void TEveElement::StampVisibility ( )
inline

Definition at line 398 of file TEveElement.h.

Referenced by SetRnrChildren(), SetRnrSelf(), SetRnrSelfChildren(), and SetRnrState().

Bool_t TEveElement::TestCSCBits ( UChar_t  f) const
inline
const char * TEveElement::ToString ( Bool_t  b)
staticprotected

Convert Bool_t to string - kTRUE or kFALSE.

Needed in WriteVizParams().

Definition at line 2067 of file TEveElement.cxx.

Referenced by TEveLine::WriteVizParams(), TEveShape::WriteVizParams(), TEveStraightLineSet::WriteVizParams(), and TEveTrackList::WriteVizParams().

void TEveElement::UnHighlighted ( )
virtual

Virtual function called when both fHighlighted is false and fImpliedHighlighted is 0.

Nothing is done in this base-class version

Reimplemented in TEveCaloData, and TEveDigitSet.

Definition at line 1975 of file TEveElement.cxx.

Referenced by DecImpliedHighlighted(), HighlightElement(), and TEveDigitSet::UnHighlighted().

void TEveElement::UnSelected ( )
virtual

Virtual function called when both fSelected is false and fImpliedSelected is 0.

Nothing is done in this base-class version

Reimplemented in TEveCaloData, and TEveDigitSet.

Definition at line 1930 of file TEveElement.cxx.

Referenced by DecImpliedSelected(), SelectElement(), and TEveDigitSet::UnSelected().

void TEveElement::VizDB_Apply ( const char *  tag)

Set visual parameters for this object for given tag.

Definition at line 535 of file TEveElement.cxx.

void TEveElement::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.

Definition at line 586 of file TEveElement.cxx.

void TEveElement::VizDB_Reapply ( )

Reset visual parameters for this object from VizDB.

The model object must be already set.

Definition at line 548 of file TEveElement.cxx.

void TEveElement::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.

Definition at line 564 of file TEveElement.cxx.

void TEveElement::WriteVizParams ( std::ostream &  out,
const TString var 
)
virtual

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.

Reimplemented in TEveTrackList, TEveTrack, TEveStraightLineSet, TEvePointSet, TEveShape, and TEveLine.

Definition at line 521 of file TEveElement.cxx.

Referenced by SaveVizParams(), TEveShape::WriteVizParams(), TEvePointSet::WriteVizParams(), TEveStraightLineSet::WriteVizParams(), and TEveTrackList::WriteVizParams().

Friends And Related Function Documentation

friend class TEveManager
friend

Definition at line 35 of file TEveElement.h.

Member Data Documentation

Bool_t TEveElement::fCanEditMainColor
protected
Bool_t TEveElement::fCanEditMainTrans
protected
Bool_t TEveElement::fCanEditMainTransparency
protected
UChar_t TEveElement::fChangeBits
protected

Definition at line 391 of file TEveElement.h.

Referenced by AddStamp(), and GetChangeBits().

List_t TEveElement::fChildren
protected

Definition at line 79 of file TEveElement.h.

Referenced by AddElement(), AddIntoListTree(), AnnihilateElements(), AnnihilateRecursively(), TEveCaloData::CellSelectionChanged(), CloneChildrenRecurse(), CollectSceneParentsFromChildren(), TEveCaloData::DataChanged(), TEveViewerList::DeleteAnnotations(), TEveSceneList::DestroyElementRenderers(), DestroyElements(), TEveSceneList::DestroyScenes(), DisableListElements(), EnableListElements(), ExpandIntoListTree(), TEveGeoNode::ExpandIntoListTreesRecursively(), TEveCompound::FillImpliedSelectedSet(), TEveCaloData::FillImpliedSelectedSet(), FindChild(), FindChildren(), TEveTrackList::FindTrackByIndex(), TEveTrackList::FindTrackByLabel(), FirstChild(), TEveProjectionManager::HandleElementPaste(), HasChild(), TEveCaloData::InvalidateUsersCellIdCache(), LastChild(), TEveTrack::MakeTrack(), TEveTrackList::MakeTracks(), TEveScene::Paint(), TEveWindow::PostDock(), TEveWindow::PreUndock(), TEveSceneList::ProcessSceneChanges(), PropagateVizParamsToElements(), RefChildren(), RemoveElement(), RemoveElementsInternal(), TEveCompound::RemoveElementsLocal(), TEveViewerList::RemoveElementsLocal(), TEveSceneList::RepaintAllScenes(), TEveViewerList::RepaintAllViewers(), TEveSceneList::RepaintChangedScenes(), TEveViewerList::RepaintChangedViewers(), TEveViewerList::SceneDestructing(), TEveCompound::SetMainColor(), TEveCompound::SetMainTransparency(), TEvePointSetArray::SetMarkerColor(), TEvePointSetArray::SetMarkerSize(), TEvePointSetArray::SetMarkerStyle(), SetPickableRecursively(), TEveCaloData::SetSliceColor(), TEveCaloData::SetSliceTransparency(), TEveViewerList::SwitchColorSet(), TEveGeoNode::UpdateNode(), and TEveGeoNode::UpdateVolume().

TEveCompound* TEveElement::fCompound
protected

Definition at line 80 of file TEveElement.h.

Referenced by GetCompound(), and GetMaster().

UChar_t TEveElement::fCSCBits
protected

Definition at line 333 of file TEveElement.h.

Int_t TEveElement::fDenyDestroy
protected

Counter for top-level list-tree items that prevent automatic destruction.

Definition at line 87 of file TEveElement.h.

Referenced by CheckReferenceCount(), DecDenyDestroy(), Destroy(), DestroyElements(), TEveWindow::DestroyWindow(), TEveWindow::DestroyWindowAndSlot(), GetDenyDestroy(), IncDenyDestroy(), and TEveWindow::~TEveWindow().

Bool_t TEveElement::fDestroyOnZeroRefCnt
protected

Deny-destroy count.

Definition at line 88 of file TEveElement.h.

Referenced by CheckReferenceCount(), TEveWindow::DestroyWindow(), GetDestroyOnZeroRefCnt(), and SetDestroyOnZeroRefCnt().

Char_t TEveElement::fDestructing
protected
const TGPicture * TEveElement::fgListTreeIcons = { 0 }
static
const TGPicture * TEveElement::fgRnrIcons = { 0 }
static

Definition at line 62 of file TEveElement.h.

Referenced by GetListTreeCheckBoxIcon(), and TEveUtil::SetupGUI().

Bool_t TEveElement::fHighlighted
protected
Short_t TEveElement::fImpliedHighlighted
protected
Short_t TEveElement::fImpliedSelected
protected
sLTI_t TEveElement::fItems
protected
Color_t* TEveElement::fMainColorPtr
protected
TEveTrans* TEveElement::fMainTrans
protected
Char_t TEveElement::fMainTransparency
protected
Int_t TEveElement::fNumChildren
protected
Int_t TEveElement::fParentIgnoreCnt
protected
List_t TEveElement::fParents
protected
Bool_t TEveElement::fPickable
protected
Bool_t TEveElement::fRnrChildren
protected
Bool_t TEveElement::fRnrSelf
protected
Bool_t TEveElement::fSelected
protected
TRef TEveElement::fSource
protected

Set of list-tree-items.

Definition at line 102 of file TEveElement.h.

Referenced by GetSource().

Int_t TEveElement::fTopItemCnt
protected

Counter for parents that are ignored in ref-counting.

Definition at line 86 of file TEveElement.h.

Referenced by AddIntoListTree(), CheckReferenceCount(), RemoveFromListTree(), and RemoveFromListTrees().

void* TEveElement::fUserData
protected

Definition at line 103 of file TEveElement.h.

Referenced by GetUserData().

TEveElement* TEveElement::fVizModel
protected
TString TEveElement::fVizTag
protected

Element used as model from VizDB.

Definition at line 82 of file TEveElement.h.

Referenced by FindVizModel(), and GetVizTag().


The documentation for this class was generated from the following files: