ROOT  6.06/09
Reference Guide
TGLScaleManip.h
Go to the documentation of this file.
1 // @(#)root/gl:$Id$
2 // Author: Richard Maunder 16/09/2005
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2005, 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_TGLScaleManip
13 #define ROOT_TGLScaleManip
14 
15 #ifndef ROOT_TGLManip
16 #include "TGLManip.h"
17 #endif
18 
19 
20 //////////////////////////////////////////////////////////////////////////
21 // //
22 // TGLScaleManip //
23 // //
24 // Scale manipulator - attaches to physical shape and draws local axes //
25 // widgets with box heads. User can mouse over (turns yellow) and L //
26 // click/drag to scale along this axis. //
27 // Widgets use standard 3D package axes colours: X red, Y green, Z blue.//
28 //////////////////////////////////////////////////////////////////////////
29 
30 class TGLScaleManip : public TGLManip
31 {
32 private:
33  TGLVector3 fStartScale; //! initial scaling factors
34 
35  void LimitScale(Double_t & factor) const;
36 
37 public:
38  TGLScaleManip();
40  virtual ~TGLScaleManip();
41 
42  virtual void Draw(const TGLCamera & camera) const;
43  virtual Bool_t HandleButton(const Event_t & event, const TGLCamera & camera);
44  virtual Bool_t HandleMotion(const Event_t & event, const TGLCamera & camera);
45 
46  ClassDef(TGLScaleManip,0) // GL scaling manipulator widget
47 };
48 
49 #endif
Abstract base class for viewer manipulators, which allow direct in viewer manipulation of a (TGlPhysi...
Definition: TGLManip.h:36
virtual Bool_t HandleButton(const Event_t &event, const TGLCamera &camera)
Handle mouse button event over manipulator - returns kTRUE if redraw required kFALSE otherwise...
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
Definition: TGLCamera.h:43
void LimitScale(Double_t &factor) const
initial scaling factors
ClassDef(TGLManip, 0)
virtual Bool_t HandleMotion(const Event_t &event, const TGLCamera &camera)
Handle mouse motion over manipulator - if active (selected widget) scale physical along selected widg...
bool Bool_t
Definition: RtypesCore.h:59
Scale manipulator - attaches to physical shape and draws local axes widgets with box heads...
Definition: TGLScaleManip.h:30
Concrete physical shape - a GL drawable.
TGLVector3 fStartScale
Definition: TGLScaleManip.h:33
3 component (x/y/z) vector class.
Definition: TGLUtil.h:250
double Double_t
Definition: RtypesCore.h:55
virtual ~TGLScaleManip()
Destroy the scale manipulator.
virtual void Draw(const TGLCamera &camera) const
Draw scale manipulator - tubes with box heads, in local axes of attached shape, in red(X)...