1776 TGLCamera& cam = ctx.RefCamera();
1777 TGLLine3 l1 = cam.ViewportToWorld(
eXa,
eYa);
1781 const TGLVector3& glv1 = l1.Vector();
1782 const TGLVector3& glv12 = l2.Start()-l1.Start();
1783 TVector3 v1(glv1.X(), glv1.Y(), glv1.Z());
1785 TVector3 v12(glv12.X(), glv12.Y(), glv12.Z());
1786 TVector3 vx = v1.Cross(v12);
1787 double d1 = vx.Mag();
1791 for(
int i=0;i<10;i++){
1792 if( d1 < 2*TMath::Power(10,i) ) {
d=1*TMath::Power(10,i);
break; }
1793 if( d1 < 5*TMath::Power(10,i) ) {
d=2*TMath::Power(10,i);
break; }
1794 if( d1 < 10*TMath::Power(10,i) ) {
d=5*TMath::Power(10,i);
break; }
1801 TGLLine3 l3 = cam.ViewportToWorld(
eXa+10,
eYa+20);
1802 const TGLVertex3& glp31=l3.Start();
1803 const TGLVertex3& glp32=l3.End();
1804 TVector3 vec31(glp31.CArr());
1805 TVector3 vec32(glp32.CArr());
1806 TVector3 p31 = (vec31+vec32)*0.5;
1808 TString num=Form(
" %d um",(
int)
d);
1809 #if ROOT_VERSION_CODE>=ROOT_VERSION(5,26,00)
1810 TGLUtil::Color(kWhite);
1812 ctx.RegisterFont(12,
"arial", TGLFont::kBitmap, font);
1814 font.Render(num, p31.X(), p31.Y(), p31.Z(), TGLFont::kLeft, TGLFont::kTop);
1817 TGLUtil::LineWidth(1.0);
1819 gEve->GetBrowser()->SetStatusText(num,0);
1823 TGLCapabilitySwitch lights_off(GL_LIGHTING, kFALSE);
1826 const TGLVertex3& glp1=l1.Start();
1827 const TGLVertex3& glp2=l1.End();
1828 TVector3 vec1(glp1.CArr());
1829 TVector3 vec2(glp2.CArr());
1830 TVector3 p1 = (vec1+vec2)*0.5;
1833 TGLUtil::Color3f(1.,0.,0.);
1834 TGLVertex3 glpos(p1.X(), p1.Y(), p1.Z());
1835 TGLVertex3 glpos2(p1.X()+
d, p1.Y(), p1.Z());
1836 TGLLine3 lx(glpos, glpos2);
1839 TGLUtil::Color3f(0.,1.,0.);
1840 glpos2.Set(p1.X(), p1.Y()+
d, p1.Z());
1841 TGLLine3 ly(glpos, glpos2);
1844 TGLUtil::Color(kCyan);
1846 TGLLine3 lz(glpos, glpos2);
void d()
Definition: RecDispEX.C:381