#ifndef ROOT_TArcBall
#define ROOT_TArcBall
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
class TPoint;
class TArcBall {
private:
   Double_t fThisRot[9];
   Double_t fLastRot[9];
   Double_t fTransform[16];
   Double_t fStVec[3];          
   Double_t fEnVec[3];          
   Double_t fAdjustWidth;      
   Double_t fAdjustHeight;     
   
   TArcBall(const TArcBall &);
   TArcBall & operator = (const TArcBall &);
   void ResetMatrices();
protected:
   void MapToSphere(const TPoint &NewPt, Double_t *NewVec)const;
public:
   TArcBall(UInt_t NewWidth = 100, UInt_t NewHeight = 100);
   virtual ~TArcBall() { }
   void SetBounds(UInt_t NewWidth, UInt_t NewHeight)
   {
      fAdjustWidth  = 1.0f / ((NewWidth  - 1.) * 0.5);
      fAdjustHeight = 1.0f / ((NewHeight - 1.) * 0.5);
   }
   
   void Click(const TPoint &NewPt);
   
   void Drag(const TPoint &NewPt);
   const Double_t *GetRotMatrix()const
   {
      return fTransform;
   }
   ClassDef(TArcBall,0) 
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.