When we draw the TGeoVolume object with ogl option the ROOT’s GL viewer is created as an external window. Is it possible to embed this viewer within the explicit instance of the TCanvas("glc1",...) ? Below is as simple example what I mean.
Cheers,
Bartek
#include "TGeoManager.h"
#include "TCanvas.h"
void MyFirstGeo()
{
TGeoManager *geom = new TGeoManager("geom","My first 3D geometry");
TGeoMaterial *vacuum = new TGeoMaterial("vacuum",0,0,0);
TGeoVolume *top = geom->MakeBox("top",vacuum,10,10,10);
geom->SetTopVolume(top);
geom->CloseGeometry();
gStyle->SetCanvasPreferGL(kTRUE);
TCanvas *c1 = new TCanvas("glc1","My super box canvas",700,700);
top->Draw("ogl"); // why it's not drawn within c1 ???
}
Processing MyFirstGeo.C...
In file included from input_line_12:1:
/Users/couet/roottest/MyFirstGeo.C:5:41: error: cannot initialize a parameter of type 'TGeoMedium *' with an lvalue of type 'TGeoMaterial *'
TGeoVolume *top = geom->MakeBox("top",vacuum,10,10,10);
^~~~~~
/Users/couet/git/roottrunk-bin/include/TGeoManager.h:307:65: note: passing argument to parameter 'medium' here
TGeoVolume *MakeBox(const char *name, TGeoMedium *medium,