Hi Rutger,
The way you create TView is OK. I have to know a bit more about
what your Track class is (how you draw it?) to come with a diagnostic.
Look at $ROOTSYS/tutorials/tornado.C for a simple example.
Did you derive your class from TAtt3D ?
At least one 3-d object must be in the pad to get the view cursor.
Rene Brun
On Fri, 25 Feb 2000, Rutger van der Eijk wrote:
> Hi,
>
> I want to be able to rotate a track which I draw on a canvas by using a
> TView.
>
> I have some geometry description with the ROOT geometry classes. If I draw
> the geometry on a canvas I am able to rotate it. The rotation is provided
> by TView. I always get the rotation symbol if the TView is 'selected'
> (i.e. shortest distanceToPrimitive; turning on 'Event Status' in canvas
> tells me).
>
> I want to be able to do the same thing (rotate from a TView) with a track
> that I paint. So as done in TNode::Draw() (which is called by
> TGeometry::Draw()) I create a TView:
>
> if (!gPad) {
> if (!gROOT->GetMakeDefCanvas()) return;
> (gROOT->GetMakeDefCanvas())();
> }
> gPad->Clear();
>
> TView *view = gPad->GetView();
> if (!view) {
> view = new TView(1);
> view->SetRange(-100, -250, 300, 100, 250, 1000);
> // where the range is the range where the track can be present
> }
>
> and after that draw by track
>
> The track is correctly painted, but I am not able to rotate the track
> because TView is never 'selected'. Instead of TView the created canvas
> (c1) is selected.
>
> Why doesn't this work? Or better why is TView selected after a geometry
> draw, and in my simple case not?
>
> (I know I can use a TMarker3DBox to get a box which helps me rotate, but I
> want to rotate without having to refer to the TMarker3DBox edges. Which
> works with TView on the 'background', i.e. always 'selected' if no other
> object is.)
>
> I have the feeling I am missing something trivial. But I seem not to be
> able to figure out what. Can anyone show me the light?
>
> Thanks,
>
> Rutger
>
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:20 MET