[ROOT] 3D drawings

From: Mark Messier (messier@indiana.edu)
Date: Fri Feb 21 2003 - 21:43:46 MET


Hello,

I'm working on an event display for the E907 experiment at FNAL and was
wondering if someone could outline the "correct" way to draw a detector
geometry and a set of TMarker3D, TPolyMarker3D, TPolyLine3D, and
TMarker3DBox together on a single pad. Unfortunately my code is a little
complicated, but here are the essentials of what I'm doing:

// Once when display is created...
{
fFrontView  = new TPad("fFrontView","FrontView",x1,y1,x2,y2);
fFrontViewV = new TView(r1, r2, 1);
fFrontView->SetView(fFrontViewV);
fFrontView->Draw();
}

{
// For each new event

// Inserting this clear results in a core dump on the second event
// fFrontView->Clear();
fFrontView->cd();

// Draw the detector using a TGeoVolume. If I remove the "same" I get a 
// core dump
GMIPPGeo::Instance()->Top()->Draw("same"); 

// Draw collection of markers, lines etc...
f3DDisp->Draw();
}

The problem with this is that the TPolyLine3D's do not get cleared from
event to event (strangely the markers do get cleared). Seems that the TPad
remembers some things but not others. If I try to clear the pad
(TPad->Clear()) I get a core dump. What am I missing?

Thanks for any help,
Mark
==========================================================================
Mark Messier                                   e-mail: messier@indiana.edu
Department of Physics              http://www.physics.indiana.edu/~messier
Indiana University                                   Phone: (812) 855-0236
Bloomington, IN 47405                                  Fax: (812) 855-0440



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET