#include <TEveEllipsoidGL.h>
Public Member Functions | |
ClassDef (TEveEllipsoidGL, 0) | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
virtual Bool_t | IgnoreSizeForOfInterest () const |
virtual void | SetBBox () |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0) |
TEveEllipsoidGL () | |
virtual | ~TEveEllipsoidGL () |
Protected Attributes | |
TEveEllipsoid * | fE |
Private Member Functions | |
TEveEllipsoidGL & | operator= (const TEveEllipsoidGL &) |
TEveEllipsoidGL (const TEveEllipsoidGL &) |
Definition at line 17 of file TEveEllipsoidGL.h.
TEveEllipsoidGL::TEveEllipsoidGL | ( | const TEveEllipsoidGL & | ) | [private] |
TEveEllipsoidGL::TEveEllipsoidGL | ( | ) |
Definition at line 32 of file TEveEllipsoidGL.cc.
: TGLObject(), fE(0) { // Constructor. // fDLCache = kFALSE; // Disable display list. }
virtual TEveEllipsoidGL::~TEveEllipsoidGL | ( | ) | [inline, virtual] |
Definition at line 29 of file TEveEllipsoidGL.h.
{}
TEveEllipsoidGL::ClassDef | ( | TEveEllipsoidGL | , |
0 | |||
) |
void TEveEllipsoidGL::DirectDraw | ( | TGLRnrCtx & | rnrCtx | ) | const [virtual] |
Reimplemented in TEveEllipsoidProjectedGL.
Definition at line 62 of file TEveEllipsoidGL.cc.
References a, trackerHits::c, fE, i, j, TEveEllipsoid::RefEMtx(), TEveEllipsoid::RefExtent3D(), TEveEllipsoid::RefPos(), and x.
{ // Render with OpenGL. // printf("TEveEllipsoidGL::DirectDraw LOD %s\n", fE->GetName()); glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT | GL_LIGHTING_BIT); glEnable(GL_NORMALIZE ); if(!quad) quad = gluNewQuadric(); glPushMatrix(); TMatrixDSym xxx(3); for(int i=0;i<3;i++) for(int j=0;j<3;j++) { xxx(i,j) = fE->RefEMtx()(i+1,j+1); } TMatrixDEigen eig(xxx); // rewrite for multmatrix .... TEveTrans x; for(int i=0;i<3;i++) for(int j=0;j<3;j++) { x(i+1, j+1) = eig.GetEigenVectors()(i,j); } TVector3 a = x.GetBaseVec(1); TVector3 c = a.Cross(x.GetBaseVec(2)); x.SetBaseVec(3, c); glTranslatef(fE->RefPos()[0], fE->RefPos()[1], fE->RefPos()[2]); glMultMatrixd(x.Array()); glScalef(fE->RefExtent3D()[0] , fE->RefExtent3D()[1], fE->RefExtent3D()[2]); gluSphere(quad,1. , 30, 30); glPopMatrix(); glPopAttrib(); // gluDeleteQuadric(quad); }
virtual Bool_t TEveEllipsoidGL::IgnoreSizeForOfInterest | ( | ) | const [inline, virtual] |
Definition at line 35 of file TEveEllipsoidGL.h.
{ return kTRUE; }
TEveEllipsoidGL& TEveEllipsoidGL::operator= | ( | const TEveEllipsoidGL & | ) | [private] |
void TEveEllipsoidGL::SetBBox | ( | ) | [virtual] |
Reimplemented in TEveEllipsoidProjectedGL.
Definition at line 50 of file TEveEllipsoidGL.cc.
{ // Set bounding box. ( (TEveEllipsoid*)fExternalObj)->ComputeBBox(); SetAxisAlignedBBox(((TEveEllipsoid*)fExternalObj)->AssertBBox()); }
Bool_t TEveEllipsoidGL::SetModel | ( | TObject * | obj, |
const Option_t * | opt = 0 |
||
) | [virtual] |
Reimplemented in TEveEllipsoidProjectedGL.
Definition at line 41 of file TEveEllipsoidGL.cc.
References fE, and VarParsing::obj.
TEveEllipsoid* TEveEllipsoidGL::fE [protected] |
Definition at line 25 of file TEveEllipsoidGL.h.
Referenced by DirectDraw(), TEveEllipsoidProjectedGL::DrawRhoPhi(), TEveEllipsoidProjectedGL::DrawRhoZ(), TEveEllipsoidProjectedGL::SetModel(), and SetModel().