Hello Rene,
Rene Brun <Rene.Brun_at_cern.ch> writes:
> Try this...
I modified your example to try to rotate the viewpoint and I now have this:
{
TCanvas *c = new TCanvas("c","Graph2D example",0,0,600,400);
TGraph2D *dt = new TGraph2D("graph.dat");
gStyle->SetPalette(1);
Double_t contours[] = {20,40,60,80,100,120,140,160,180,200};
// Set the canvas range a bit bigger than the x,y data ranges
c->Range(0,0,160,160); // does not work c->SetTheta(84); c->SetPhi(45); TH2D* h = new TH2D(); h = dt->GetHistogram(); // Get histo interpolated between // control points in dt. h->SetContour(10,contours); // Set 10 contour levels (default is 20) h->Draw("surf2"); // Draw interpolated points as surface h->Draw("cont1 same"); // Contour the surface dt->SetMarkerStyle(8); // Marker for the control points dt->Draw("p same"); // Superimpose the control pointsdt->GetZaxis()->SetNdivisions(2);
TView *view = c->GetView();
Double_t longit = view->GetLongitude();
Double_t lat = view->GetLatitude();
Double_t psi = view->GetPsi();
cout << "Longit: " << longit << " Lat: " << lat << " Psi: " << psi <<
endl;
Int_t irep;
// view->SetView(longit,view->GetLatitude(),view->GetPsi(),0);
view->SetView(10,0,100,irep);
c->Modified();
c->Update();
// TText t; // t->SetTextSize(0.035); // for (Int_t i=0;i<np;i++) { // xyz[0] = dt->GetX()[i]; // xyz[1] = dt->GetY()[i]; // xyz[2] = dt->GetZ()[i]; // view->WCtoNDC(xyz,uv); // t->DrawText(uv[0]+0.01,uv[1],Form("point %d",i)); // }
return c;
}
Using view->SetView() does not change the viewpoint. What am I doing wrong?
Thanks for your help.
Roger Received on Mon May 18 2009 - 11:54:36 CEST
This archive was generated by hypermail 2.2.0 : Mon May 18 2009 - 17:50:01 CEST