#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
Last change: Wed Jun 25 08:34:43 2008
Last generated: 2008-06-25 08:34
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.