Alexander Zvyagin wrote: > > Date: Fri, 2 Oct 1998 09:19:49 +0000 > From: Alexander Zvyagin <ZVYAGIN@mx.ihep.su> > X-Sender: ZVYAGIN@polar.ihep.su > To: roottalk@hpsalo.cern.ch > Subject: Axis for TNode. > Message-ID: <Pine.VMS.3.91-b11-vms.981002091104.2198A-100000@polar.ihep.su> > MIME-Version: 1.0 > Content-Type: TEXT/PLAIN; charset=US-ASCII > > Dear ROOTers! > > I'd like to draw axis on my TNode. (I mean I would like to have axis drawn > when I call function TNode::Draw() in CINT.) > What is the simples way to do this? > > May be it will be good to add 'axis feature' in the TNode/TShape class? > > With best wishes, > Alexander. Alex, I don't think this should be part of TNode/TShape, but an independent small class. Meanwhile (and for fun) you can get some inspiration for one (or both) macros below: Rene Brun //==============simple axis.C { lx = new TPolyLine3D(2); lx->SetLineColor(6); lx->SetLineWidth(2); lx->SetLineStyle(2); lx->SetPoint(0,0,0,0); lx->SetPoint(1,800,0,0); ly = new TPolyLine3D(2); ly->SetLineColor(4); ly->SetLineStyle(2); ly->SetLineWidth(2); ly->SetPoint(0,0,0,0); ly->SetPoint(1,0,800,0); lz = new TPolyLine3D(2); lz->SetLineColor(2); lz->SetLineStyle(2); lz->SetLineWidth(2); lz->SetPoint(0,0,0,0); lz->SetPoint(1,0,0,1200); lx->Draw(); ly->Draw(); lz->Draw(); } //==============funny axis.C by Stascek Jadach { // S. Jadach, arrows.C, truly 3-dim. reference system gROOT->Reset(); c1 = new TCanvas("c1","Geometry Shapes",0,0,700,700); brik = new TBRIK("BRIK","BRIK","void",1000,1000,1000); cone = new TCONE("CONE","CONE","void", 200, 0,200, 0,0); // +-z r1,rmax r1,rmax tube = new TTUBE("TUBE","TUBE","void", 0,50,500); cone->SetLineColor(1); tube->SetLineColor(2); //delete rot1; TRotMatrix *rot1 = new TRotMatrix("rot1","rot1" ,90,90 ,0,0 ,90,0 ); // y z x TRotMatrix *rot2 = new TRotMatrix("rot2","rot2" ,0,0 ,90,0 ,90,90); // y z x // Build the geometry hierarchy node1 = new TNode("NODE1","NODE1","BRIK"); node1->cd(); TNode *node2 = new TNode("NODE2","NODE2","TUBE", 500,0,0,"rot1"); node2->cd(); TNode *node3 = new TNode("NODE3","NODE3","CONE", 0, 0, 700,""); node3->SetLineColor(6); node1->cd(); TNode *node4 = new TNode("NODE4","NODE4","TUBE", 0, 0, 500); node4->cd(); TNode *node5 = new TNode("NODE5","NODE5","CONE", 0, 0, 700); node3->SetLineColor(4); node1->cd(); TNode *node6 = new TNode("NODE6","NODE6","TUBE", 0, 500, 0,"rot2"); node6->cd(); TNode *node7 = new TNode("NODE7","NODE7","CONE", 0, 0, 700); node7->SetLineColor(5); // Draw this geometry in the current canvas node1->cd(); node1->Draw(); node1->SetVisibility(0); c1->Update(); pline3D = new TPolyLine3D(2,""); pline3D->SetLineColor(7); pline3D->SetLineWidth(2); pline3D->SetPoint(0, 0,0,0); pline3D->SetPoint(1, 1200,800,1000); pline3D->Draw(); }
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:38 MET