]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/NLTProjector.h
Dummy methods DefineParticle required by the interface added.
[u/mrichter/AliRoot.git] / EVE / Reve / NLTProjector.h
CommitLineData
debf9f47 1#ifndef REVE_NLTProjector
2#define REVE_NLTProjector
3
32e219c2 4#include <TAtt3D.h>
5#include <TAttBBox.h>
debf9f47 6
32e219c2 7#include <Reve/RenderElement.h>
504edcf6 8#include <Reve/NLTProjections.h>
66c5689e 9#include <Reve/PODs.h>
debf9f47 10
11namespace Reve {
32e219c2 12
32e219c2 13class NLTProjector : public RenderElementList,
14 public TAttBBox,
15 public TAtt3D
e2bd136a 16{
debf9f47 17private:
32e219c2 18 NLTProjector(const NLTProjector&); // Not implemented
19 NLTProjector& operator=(const NLTProjector&); // Not implemented
debf9f47 20
e2bd136a 21 NLTProjection* fProjection; // projection
22
23 Bool_t fDrawCenter; // draw center of distortion
24 Bool_t fDrawOrigin; // draw origin
25 Vector fCenter; // center of distortion
66c5689e 26
e2bd136a 27 Int_t fSplitInfoMode; // tick-mark position
28 Int_t fSplitInfoLevel; // tick-mark density
29 Color_t fAxisColor; // color of axis
debf9f47 30
e2bd136a 31 Float_t fCurrentDepth; // z depth of object being projected
32
33 virtual Bool_t ShouldImport(RenderElement* rnr_el);
debf9f47 34
35public:
36 NLTProjector();
37 virtual ~NLTProjector();
38
32e219c2 39 void SetProjection(NLTProjection::PType_e type, Float_t distort=0);
32e219c2 40 NLTProjection* GetProjection() { return fProjection; }
41
42 virtual void UpdateName();
e2bd136a 43
44 void SetAxisColor(Color_t col) { fAxisColor = col; }
45 Color_t GetAxisColor() const { return fAxisColor; }
32e219c2 46 void SetSplitInfoMode(Int_t x) { fSplitInfoMode = x; }
47 Int_t GetSplitInfoMode() const { return fSplitInfoMode; }
32e219c2 48 void SetSplitInfoLevel(Int_t x) { fSplitInfoLevel = x; }
49 Int_t GetSplitInfoLevel() const { return fSplitInfoLevel; }
50
66c5689e 51 void SetDrawCenter(Bool_t x){ fDrawCenter = x; }
52 Bool_t GetDrawCenter(){ return fDrawCenter; }
66c5689e 53 void SetDrawOrigin(Bool_t x){ fDrawOrigin = x; }
54 Bool_t GetDrawOrigin(){ return fDrawOrigin; }
55
e2bd136a 56 void SetCenter(Float_t x, Float_t y, Float_t z);
57 Vector& GetCenter(){return fCenter;}
32e219c2 58
e2bd136a 59 void SetCurrentDepth(Float_t d) { fCurrentDepth = d; }
60 Float_t GetCurrentDepth() const { return fCurrentDepth; }
61
62 virtual Bool_t HandleElementPaste(RenderElement* el);
32e219c2 63 virtual void ImportElementsRecurse(RenderElement* rnr_el, RenderElement* parent);
64 virtual void ImportElements(RenderElement* rnr_el);
32e219c2 65 virtual void ProjectChildren();
e2bd136a 66 virtual void ProjectChildrenRecurse(RenderElement* rnr_el);
32e219c2 67
68 virtual void ComputeBBox();
69 virtual void Paint(Option_t* option = "");
70
e9ef1a49 71 ClassDef(NLTProjector, 0); // Manages and steers NLT projections.
32e219c2 72};
debf9f47 73
debf9f47 74}
75#endif