]>
Commit | Line | Data |
---|---|---|
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 | |
11 | namespace Reve { | |
32e219c2 | 12 | |
32e219c2 | 13 | class NLTProjector : public RenderElementList, |
14 | public TAttBBox, | |
15 | public TAtt3D | |
e2bd136a | 16 | { |
debf9f47 | 17 | private: |
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 | |
35 | public: | |
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 |