00001
00002
00003
00004
00005
00006
00007
00008
00009 {
00010
00011
00012
00013
00014 gROOT->Reset();
00015
00016
00017
00018
00019 gSystem->Load("St_base");
00020
00021
00022
00023
00024 c1 = new TCanvas("c1","PolyLine3D & PolyMarker3D Window",200,10,700,500);
00025 p1 = new TPad("p1","p1",0.05,0.02,0.95,0.82,46,3,1);
00026 p1->Draw();
00027 p1->cd();
00028
00029
00030
00031
00032
00033 St_PolyLine3D pl3d1(5);
00034 Int_t i;
00035
00036
00037 Float_t *pp = pl3d1.GetP();
00038 pl3d1.SetPoint(0, 10, 10, 10);
00039 for(i=0;i<=pl3d1.GetLastPosition();i++) printf(" %d: x=%f y=%f z=%f\n",i, pp[3*i], pp[3*i+1], pp[3*i+2]);
00040 printf(" 1 -- \n");
00041
00042 pl3d1.SetPoint(1, 15.0, 15.0, 10.0);
00043 for(i=0;i<=pl3d1.GetLastPosition();i++) printf(" %d: x=%f y=%f z=%f\n",i, pp[3*i], pp[3*i+1], pp[3*i+2]);
00044 printf(" 2 -- \n");
00045
00046 pl3d1.SetPoint(2, 20, 15, 15);
00047 for(i=0;i<=pl3d1.GetLastPosition();i++) printf(" %d: x=%f y=%f z=%f\n",i, pp[3*i], pp[3*i+1], pp[3*i+2]);
00048 printf(" 3 -- \n");
00049
00050 pl3d1.SetPoint(3, 20, 20, 20);
00051 for(i=0;i<=pl3d1.GetLastPosition();i++) printf(" %d: x=%f y=%f z=%f\n",i, pp[3*i], pp[3*i+1], pp[3*i+2]);
00052 printf(" 4 -- \n");
00053
00054 pl3d1.SetPoint(4, 10, 10, 20);
00055 for(i=0;i<=pl3d1.GetLastPosition();i++) printf(" %d: x=%f y=%f z=%f\n",i, pp[3*i], pp[3*i+1], pp[3*i+2]);
00056 printf(" 5 -- \n");
00057
00058
00059 pl3d1.SetVisibility(1);
00060 pl3d1.SetSizeAttribute(3);
00061 pl3d1.SetColorAttribute(5);
00062
00063
00064
00065
00066
00067
00068 St_PolyLine3D pl3d2(4);
00069
00070
00071 pl3d2.SetPoint(0, 5, 10, 5);
00072 pl3d2.SetPoint(1, 10, 15, 8);
00073 pl3d2.SetPoint(2, 15, 15, 18);
00074 pl3d2.SetPoint(3, 5, 20, 20);
00075 pl3d2.SetPoint(4, 10, 10, 5);
00076
00077
00078 pl3d2.SetSizeAttribute(5);
00079 pl3d2.SetColorAttribute(2);
00080 pl3d2.SetVisibility(1);
00081
00082
00083
00084
00085 St_PolyLine3D pm3d1(12,"P");
00086
00087
00088 pm3d1.SetPoint(0, 10, 10, 10);
00089 pm3d1.SetPoint(1, 11, 15, 11);
00090 pm3d1.SetPoint(2, 12, 15, 9);
00091 pm3d1.SetPoint(3, 13, 17, 20);
00092 pm3d1.SetPoint(4, 14, 16, 15);
00093 pm3d1.SetPoint(5, 15, 20, 15);
00094 pm3d1.SetPoint(6, 16, 18, 10);
00095 pm3d1.SetPoint(7, 17, 15, 10);
00096 pm3d1.SetPoint(8, 18, 22, 15);
00097 pm3d1.SetPoint(9, 19, 28, 25);
00098 pm3d1.SetPoint(10, 20, 12, 15);
00099 pm3d1.SetPoint(11, 21, 12, 15);
00100
00101
00102 pm3d1.SetSizeAttribute(2);
00103 pm3d1.SetColorAttribute(4);
00104 pm3d1.SetStyleAttribute(2);
00105 pm3d1.SetVisibility(1);
00106
00107
00108
00109
00110 St_PolyLine3D pm3d2(8,"P");
00111
00112 pm3d2.SetPoint(0, 22, 15, 15);
00113 pm3d2.SetPoint(1, 23, 18, 21);
00114 pm3d2.SetPoint(2, 24, 26, 13);
00115 pm3d2.SetPoint(3, 25, 17, 15);
00116 pm3d2.SetPoint(4, 26, 20, 15);
00117 pm3d2.SetPoint(5, 27, 15, 18);
00118 pm3d2.SetPoint(6, 28, 20, 10);
00119 pm3d2.SetPoint(7, 29, 20, 20);
00120
00121
00122 pm3d2.SetSizeAttribute(2);
00123 pm3d2.SetColorAttribute(1);
00124 pm3d2.SetStyleAttribute(8);
00125 pm3d2.SetVisibility(1);
00126
00127
00128
00129
00130
00131 view = new TView(1);
00132 view->SetRange(5,5,5,25,25,25);
00133
00134
00135
00136
00137 pl3d1.Draw("same");
00138 pl3d2.Draw("same");
00139 pm3d1.Draw("same");
00140 pm3d2.Draw("same");
00141
00142
00143
00144
00145 St_PolyLine3D::Axis();
00146
00147
00148 c1->cd();
00149 TPaveText title(0.1,0.85,0.9,0.97);
00150 title.SetFillColor(24);
00151 title.AddText("Examples of 3-D primitives");
00152 TText *click=title.AddText("Click anywhere on the picture to rotate");
00153 click.SetTextColor(4);
00154 title.Draw();
00155 c1->Modified();
00156 c1->Update();
00157 p1->cd();
00158
00159 }