1 #ifndef REVE_NLTProjector
2 #define REVE_NLTProjector
7 #include <Reve/RenderElement.h>
8 #include <Reve/NLTProjections.h>
13 class NLTProjector : public RenderElementList,
18 NLTProjector(const NLTProjector&); // Not implemented
19 NLTProjector& operator=(const NLTProjector&); // Not implemented
21 NLTProjection* fProjection; // projection
23 Bool_t fDrawCenter; // draw center of distortion
24 Bool_t fDrawOrigin; // draw origin
25 Vector fCenter; // center of distortion
27 Int_t fSplitInfoMode; // tick-mark position
28 Int_t fSplitInfoLevel; // tick-mark density
29 Color_t fAxisColor; // color of axis
31 Float_t fCurrentDepth; // z depth of object being projected
33 virtual Bool_t ShouldImport(RenderElement* rnr_el);
37 virtual ~NLTProjector();
39 void SetProjection(NLTProjection::PType_e type, Float_t distort=0);
40 NLTProjection* GetProjection() { return fProjection; }
42 virtual void UpdateName();
44 void SetAxisColor(Color_t col) { fAxisColor = col; }
45 Color_t GetAxisColor() const { return fAxisColor; }
46 void SetSplitInfoMode(Int_t x) { fSplitInfoMode = x; }
47 Int_t GetSplitInfoMode() const { return fSplitInfoMode; }
48 void SetSplitInfoLevel(Int_t x) { fSplitInfoLevel = x; }
49 Int_t GetSplitInfoLevel() const { return fSplitInfoLevel; }
51 void SetDrawCenter(Bool_t x){ fDrawCenter = x; }
52 Bool_t GetDrawCenter(){ return fDrawCenter; }
53 void SetDrawOrigin(Bool_t x){ fDrawOrigin = x; }
54 Bool_t GetDrawOrigin(){ return fDrawOrigin; }
56 void SetCenter(Float_t x, Float_t y, Float_t z);
57 Vector& GetCenter(){return fCenter;}
59 void SetCurrentDepth(Float_t d) { fCurrentDepth = d; }
60 Float_t GetCurrentDepth() const { return fCurrentDepth; }
62 virtual Bool_t HandleElementPaste(RenderElement* el);
63 virtual void ImportElementsRecurse(RenderElement* rnr_el, RenderElement* parent);
64 virtual void ImportElements(RenderElement* rnr_el);
65 virtual void ProjectChildren();
66 virtual void ProjectChildrenRecurse(RenderElement* rnr_el);
68 virtual void ComputeBBox();
69 virtual void Paint(Option_t* option = "");
71 ClassDef(NLTProjector, 0); // Manages and steers NLT projections.