00001
00002
00003
00004 Double_t pi;
00005 Float_t theta = 0;
00006 Float_t phi = 30;
00007 void shapesAnim() {
00008 TCanvas *c1 = new TCanvas("c1","Geometry Shapes",10,10,500,500);
00009
00010
00011 TBRIK *brik = new TBRIK("BRIK","BRIK","void",200,150,150);
00012 TTRD1 *trd1 = new TTRD1("TRD1","TRD1","void",200,50,100,100);
00013 TTRD2 *trd2 = new TTRD2("TRD2","TRD2","void",200,50,200,50,100);
00014 TTRAP *trap = new TTRAP("TRAP","TRAP","void",190,0,0,60,40,90,15,120,80,180,15);
00015 TPARA *para = new TPARA("PARA","PARA","void",100,200,200,15,30,30);
00016 TGTRA *gtra = new TGTRA("GTRA","GTRA","void",390,0,0,20,60,40,90,15,120,80,180,15);
00017 TTUBE *tube = new TTUBE("TUBE","TUBE","void",150,200,400);
00018 TTUBS *tubs = new TTUBS("TUBS","TUBS","void",80,100,100,90,235);
00019 TCONE *cone = new TCONE("CONE","CONE","void",100,50,70,120,150);
00020 TCONS *cons = new TCONS("CONS","CONS","void",50,100,100,200,300,90,270);
00021 TSPHE *sphe = new TSPHE("SPHE","SPHE","void",25,340, 45,135, 0,270);
00022 TSPHE *sphe1 = new TSPHE("SPHE1","SPHE1","void",0,140, 0,180, 0,360);
00023 TSPHE *sphe2 = new TSPHE("SPHE2","SPHE2","void",0,200, 10,120, 45,145);
00024
00025 TPCON *pcon = new TPCON("PCON","PCON","void",180,270,4);
00026 pcon->DefineSection(0,-200,50,100);
00027 pcon->DefineSection(1,-50,50,80);
00028 pcon->DefineSection(2,50,50,80);
00029 pcon->DefineSection(3,200,50,100);
00030
00031 TPGON *pgon = new TPGON("PGON","PGON","void",180,270,8,4);
00032 pgon->DefineSection(0,-200,50,100);
00033 pgon->DefineSection(1,-50,50,80);
00034 pgon->DefineSection(2,50,50,80);
00035 pgon->DefineSection(3,200,50,100);
00036
00037
00038 brik->SetLineColor(1);
00039 trd1->SetLineColor(2);
00040 trd2->SetLineColor(3);
00041 trap->SetLineColor(4);
00042 para->SetLineColor(5);
00043 gtra->SetLineColor(7);
00044 tube->SetLineColor(6);
00045 tubs->SetLineColor(7);
00046 cone->SetLineColor(2);
00047 cons->SetLineColor(3);
00048 pcon->SetLineColor(6);
00049 pgon->SetLineColor(2);
00050 sphe->SetLineColor(kRed);
00051 sphe1->SetLineColor(kBlack);
00052 sphe2->SetLineColor(kBlue);
00053
00054
00055
00056 TNode *node1 = new TNode("NODE1","NODE1","BRIK");
00057 node1->cd();
00058
00059 TNode *node2 = new TNode("NODE2","NODE2","TRD1",0,0,-1000);
00060 TNode *node3 = new TNode("NODE3","NODE3","TRD2",0,0,1000);
00061 TNode *node4 = new TNode("NODE4","NODE4","TRAP",0,-1000,0);
00062 TNode *node5 = new TNode("NODE5","NODE5","PARA",0,1000,0);
00063 TNode *node6 = new TNode("NODE6","NODE6","TUBE",-1000,0,0);
00064 TNode *node7 = new TNode("NODE7","NODE7","TUBS",1000,0,0);
00065 TNode *node8 = new TNode("NODE8","NODE8","CONE",-300,-300,0);
00066 TNode *node9 = new TNode("NODE9","NODE9","CONS",300,300,0);
00067 TNode *node10 = new TNode("NODE10","NODE10","PCON",0,-1000,-1000);
00068 TNode *node11 = new TNode("NODE11","NODE11","PGON",0,1000,1000);
00069 TNode *node12 = new TNode("NODE12","NODE12","GTRA",0,-400,700);
00070 TNode *node13 = new TNode("NODE13","NODE13","SPHE",10,-400,500);
00071 TNode *node14 = new TNode("NODE14","NODE14","SPHE1",10, 250,300);
00072 TNode *node15 = new TNode("NODE15","NODE15","SPHE2",10,-100,-200);
00073
00074
00075
00076 node1->cd();
00077 node1->Draw();
00078 c1->Update();
00079
00080
00081 TTimer *timer = new TTimer(20);
00082 timer->SetCommand("Animate()");
00083 timer->TurnOn();
00084 }
00085 void Animate()
00086 {
00087 theta += 2;
00088 phi += 2;
00089 gPad->GetView()->RotateView(theta,phi);
00090 gPad->Modified();
00091 gPad->Update();
00092 }