25 ClassImp(TEveArrowGL);
30 TEveArrowGL::TEveArrowGL() :
40 Bool_t TEveArrowGL::SetModel(TObject* obj,
const Option_t* )
42 fM = SetModelDynCast<TEveArrow>(obj);
49 void TEveArrowGL::SetBBox()
52 SetAxisAlignedBBox(((TEveArrow*)fExternalObj)->AssertBBox());
60 void TEveArrowGL::DirectDraw(TGLRnrCtx& )
const
62 static TGLQuadric quad;
66 TGLVertex3 uo(fM->fOrigin.fX, fM->fOrigin.fY, fM->fOrigin.fZ);
67 TGLVector3 uv(fM->fVector.fX, fM->fVector.fY, fM->fVector.fZ);
68 TGLMatrix local(uo, uv);
69 glMultMatrixd(local.CArr());
70 Float_t size = fM->fVector.Mag();
73 Float_t r = size*fM->fTubeR;
74 Float_t h = size*fM->fConeL;
75 gluCylinder(quad.Get(), r, r, size - h, fM->fDrawQuality, 1);
76 gluQuadricOrientation(quad.Get(), (GLenum)GLU_INSIDE);
77 gluDisk(quad.Get(), 0.0, r, fM->fDrawQuality, 1);
81 glTranslated(0.0, 0.0, size - h);
82 gluDisk(quad.Get(), 0.0, r, fM->fDrawQuality, 1);
83 gluQuadricOrientation(quad.Get(), (GLenum)GLU_OUTSIDE);
84 gluCylinder(quad.Get(), r, 0., h , fM->fDrawQuality, 1);