12 #ifndef ROOT_TEveProjectionManager
13 #define ROOT_TEveProjectionManager
20 class TEveProjectionManager :
public TEveElementList,
24 TEveProjectionManager(
const TEveProjectionManager&);
25 TEveProjectionManager& operator=(
const TEveProjectionManager&);
28 TEveProjection* fProjections[TEveProjection::kPT_End];
30 TEveProjection* fProjection;
32 Float_t fCurrentDepth;
38 virtual Bool_t ShouldImport(TEveElement* el);
39 virtual void UpdateDependentElsAndScenes(TEveElement* root);
42 TEveProjectionManager(TEveProjection::EPType_e type=TEveProjection::kPT_Unknown);
43 virtual ~TEveProjectionManager();
45 void AddDependent(TEveElement* el);
46 void RemoveDependent(TEveElement* el);
48 void SetProjection(TEveProjection::EPType_e type);
49 TEveProjection* GetProjection() {
return fProjection; }
51 virtual void UpdateName();
53 void SetCenter(Float_t x, Float_t y, Float_t z);
54 TEveVector& GetCenter() {
return fCenter; }
56 void SetCurrentDepth(Float_t d) { fCurrentDepth = d; }
57 Float_t GetCurrentDepth()
const {
return fCurrentDepth; }
59 void SetImportEmpty(Bool_t ie) { fImportEmpty = ie; }
60 Bool_t GetImportEmpty()
const {
return fImportEmpty; }
62 virtual Bool_t HandleElementPaste(TEveElement* el);
64 virtual TEveElement* ImportElementsRecurse(TEveElement* el,
66 virtual TEveElement* ImportElements(TEveElement* el,
67 TEveElement* ext_list=0);
69 virtual TEveElement* SubImportElements(TEveElement* el, TEveElement* proj_parent);
70 virtual Int_t SubImportChildren(TEveElement* el, TEveElement* proj_parent);
72 virtual void ProjectChildren();
73 virtual void ProjectChildrenRecurse(TEveElement* el);
75 virtual void ComputeBBox();
77 ClassDef(TEveProjectionManager, 0);