Re: Updating a TView

From: Valeri Fine (Faine) (fine@bnl.gov)
Date: Thu Jul 29 1999 - 17:15:43 MEST


> 
> I am using PadControlPanel also, but I want the user to be able to change
> the view manually with sliders.  When the user moves the slider, the View
> should be changing.
> 

   Hello Michael, but for me this sounds you have a "method" of your slider
   calculating  the new angles and ranges.
   And that approach of TPadControlPanel should work for you too.
   I mean to update your "view" you should update  TView object and TPad
   one as follows (I'd like to call your attention you must set things TWICE,
   for TPad AND for TView as well. May be very this point did confuse you ?)

   
> > 
> > static void RotateView(Float_t phi, Float_t theta, TVirtualPad *pad=0)
> > {
> >   TVirtualPad *thisPad = pad;
> >   if (!thisPad) thisPad = gPad;
> >   if (thisPad) {
> >     TView *view = thisPad->GetView(); 
> >     if (view) {
> >       Int_t iret;
> >       Float_t p = phi;
> >       Float_t t = theta;
> >       view->SetView(p, t, 0, iret);   //   <<  =======  set TView
> >       thisPad->SetPhi(-90-p);        //   <<  =======  set TPad
> >       thisPad->SetTheta(90-t);
> >       thisPad->Modified();
> >       thisPad->Update();
> >     }
> >   }
> > }
> > 



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:36 MET