Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TEveCompound.h
Go to the documentation of this file.
1// @(#)root/eve:$Id$
2// Author: Matevz Tadel 2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TEveCompound
13#define ROOT_TEveCompound
14
15#include "TEveElement.h"
16#include "TEveProjectionBases.h"
17
18
19//==============================================================================
20// TEveCompound
21//==============================================================================
22
24{
25private:
26 TEveCompound(const TEveCompound&); // Not implemented
27 TEveCompound& operator=(const TEveCompound&); // Not implemented
28
29protected:
30 Short_t fCompoundOpen; // If more than zero, tag new children as compound members.
31
32public:
33 TEveCompound(const char* n="TEveCompound", const char* t="",
34 Bool_t doColor=kTRUE, Bool_t doTransparency=kFALSE);
35 ~TEveCompound() override {}
36
39 Bool_t IsCompoundOpen() const { return fCompoundOpen > 0; }
40
41 void SetMainColor(Color_t color) override;
42 void SetMainTransparency(Char_t t) override;
43
44 void AddElement(TEveElement* el) override;
45 void RemoveElementLocal(TEveElement* el) override;
46 void RemoveElementsLocal() override;
47
48 void FillImpliedSelectedSet(Set_t& impSelSet) override;
49
50 TClass* ProjectedClass(const TEveProjection* p) const override;
51
52 ClassDefOverride(TEveCompound, 0); // Container for managing compounds of TEveElements.
53};
54
55
56//==============================================================================
57// TEveCompoundProjected
58//==============================================================================
59
61 public TEveProjected
62{
63private:
64 TEveCompoundProjected(const TEveCompoundProjected&); // Not implemented
66
67public:
70
71 void SetMainColor(Color_t color) override;
72
73 void UpdateProjection() override {}
74 TEveElement* GetProjectedAsElement() override { return this; }
75
76 ClassDefOverride(TEveCompoundProjected, 0); // Projected TEveCompund container.
77};
78
79#endif
char Char_t
Character 1 byte (char).
Definition RtypesCore.h:51
bool Bool_t
Boolean (0=false, 1=true) (bool).
Definition RtypesCore.h:77
short Short_t
Signed Short integer 2 bytes (short).
Definition RtypesCore.h:53
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
short Color_t
Color number (short).
Definition RtypesCore.h:99
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition TClass.h:84
TEveCompoundProjected(const TEveCompoundProjected &)
void SetMainColor(Color_t color) override
Revert back to the behaviour of TEveElement as color is propagated:
TEveCompoundProjected()
Constructor.
TEveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to TEveElement.
void UpdateProjection() override
TEveCompoundProjected & operator=(const TEveCompoundProjected &)
~TEveCompoundProjected() override
void CloseCompound()
TEveCompound & operator=(const TEveCompound &)
void FillImpliedSelectedSet(Set_t &impSelSet) override
Recurse on all children that are in this compound and call the base-class version.
Bool_t IsCompoundOpen() const
~TEveCompound() override
void SetMainTransparency(Char_t t) override
SetMainTransparency for the compound.
Short_t fCompoundOpen
void AddElement(TEveElement *el) override
Call base-class implementation.
TClass * ProjectedClass(const TEveProjection *p) const override
Virtual from TEveProjectable, returns TEveCompoundProjected class.
void OpenCompound()
void SetMainColor(Color_t color) override
SetMainColor for the compound.
void RemoveElementLocal(TEveElement *el) override
Decompoundofy el, call base-class version.
void RemoveElementsLocal() override
Decompoundofy children, call base-class version.
TEveCompound(const TEveCompound &)
TEveElementList(const char *n="TEveElementList", const char *t="", Bool_t doColor=kFALSE, Bool_t doTransparency=kFALSE)
Constructor.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
TEveElement()
Default constructor.
TEveProjected(const TEveProjected &)
Base-class for non-linear projections.
const Int_t n
Definition legend1.C:16