12 #ifndef ROOT_TGLRotateManip
13 #define ROOT_TGLRotateManip
18 class TGLRotateManip :
public TGLManip
27 TGLPlane fActiveRingPlane;
28 TGLVertex3 fActiveRingCenter;
33 TGLLine3 fRingLineOld;
35 void DrawAxisRing(
const TGLVertex3& origin,
const TGLVector3& axis,
36 Double_t radius, Float_t rgba[4])
const;
37 Double_t CalculateAngleDelta(
const TPoint& mouse,
const TGLCamera& camera);
38 TGLLine3 CalculateRingLine(
const TPoint& mouse,
const TGLCamera& camera)
const;
41 static Double_t Angle(
const TGLVector3& v1,
const TGLVector3& v2);
42 static Double_t Angle(
const TGLVector3& v1,
const TGLVector3& v2,
const TGLVector3& ref);
46 TGLRotateManip(TGLPhysicalShape* shape);
47 virtual ~TGLRotateManip();
49 virtual void Draw(
const TGLCamera& camera)
const;
50 virtual Bool_t HandleButton(
const Event_t& event,
const TGLCamera& camera);
51 virtual Bool_t HandleMotion(
const Event_t& event,
const TGLCamera& camera);
53 ClassDef(TGLRotateManip, 0);