CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Member Functions | Friends

TEveEllipsoidProjected Class Reference

#include <TEveEllipsoid.h>

List of all members.

Public Member Functions

 ClassDef (TEveEllipsoidProjected, 0)
virtual void ComputeBBox ()
virtual TEveElement * GetProjectedAsElement ()
virtual void SetProjection (TEveProjectionManager *mng, TEveProjectable *model)
 TEveEllipsoidProjected (const char *n="TEveEllipsoidProjected", const char *t="")
virtual void UpdateProjection ()
virtual ~TEveEllipsoidProjected ()

Protected Member Functions

virtual void SetDepthLocal (Float_t d)

Private Member Functions

TEveEllipsoidProjectedoperator= (const TEveEllipsoidProjected &)
 TEveEllipsoidProjected (const TEveEllipsoidProjected &)

Friends

class TEveEllipsoidProjectedGL

Detailed Description

Definition at line 52 of file TEveEllipsoid.h.


Constructor & Destructor Documentation

TEveEllipsoidProjected::TEveEllipsoidProjected ( const TEveEllipsoidProjected ) [private]
TEveEllipsoidProjected::TEveEllipsoidProjected ( const char *  n = "TEveEllipsoidProjected",
const char *  t = "" 
)

Definition at line 49 of file TEveEllipsoid.cc.

                                                                           :
   TEveShape(n, t)
{
   // Constructor.
}
TEveEllipsoidProjected::~TEveEllipsoidProjected ( ) [virtual]

Definition at line 56 of file TEveEllipsoid.cc.

{
   // Destructor.
}

Member Function Documentation

TEveEllipsoidProjected::ClassDef ( TEveEllipsoidProjected  ,
 
)
void TEveEllipsoidProjected::ComputeBBox ( ) [virtual]

Definition at line 62 of file TEveEllipsoid.cc.

References a, b, siStripFEDMonitor_P5_cff::Max, AlCaHLTBitMon_ParallelJobs::p, trackerHitRTTI::proj, TEveEllipsoid::RefExtent3D(), TEveEllipsoid::RefPos(), and findQualityFiles::v.

{
   // Compute bounding-box, virtual from TAttBBox.

   BBoxInit();
   

   TEveEllipsoid    *e3d = dynamic_cast<TEveEllipsoid*>(fProjectable);

   //printf("project bbox  %p\n", (void*)e3d->GetBBox());
   if ( e3d ) {
      TEveProjection *proj = GetManager()->GetProjection();
      Float_t a = TMath::Max(TMath::Max(TMath::Abs(e3d->RefExtent3D()[0]), TMath::Abs(e3d->RefExtent3D()[1])), TMath::Abs(e3d->RefExtent3D()[2]));
      float* p = e3d->RefPos().Arr(); 
      float b[] = {-a + p[0], a + p[0], -a + p[1], a + p[1], -a + p[2], a + p[2] };
      TEveVector v;
      v.Set(b[0],b[2], b[4]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[1],b[2], b[4]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[0],b[3], b[4]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[1],b[3], b[4]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[0],b[2], b[5]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[1],b[2], b[5]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[0],b[3], b[5]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);
      v.Set(b[1],b[3], b[5]); proj->ProjectVector(v, fDepth); BBoxCheckPoint(v);

      // for Z dimesion
      fBBox[4] -= a;
      fBBox[5] += a;

   }
   // printf("(%f, %f) (%f, %f) (%f, %f)\n",fBBox[0],fBBox[1],fBBox[2],fBBox[3],fBBox[4],fBBox[5] );
}
virtual TEveElement* TEveEllipsoidProjected::GetProjectedAsElement ( ) [inline, virtual]

Definition at line 74 of file TEveEllipsoid.h.

{ return this; }
TEveEllipsoidProjected& TEveEllipsoidProjected::operator= ( const TEveEllipsoidProjected ) [private]
void TEveEllipsoidProjected::SetDepthLocal ( Float_t  d) [protected, virtual]

Definition at line 96 of file TEveEllipsoid.cc.

{
   // This is virtual method from base-class TEveProjected.

   SetDepthCommon(d, this, fBBox);
}
void TEveEllipsoidProjected::SetProjection ( TEveProjectionManager *  mng,
TEveProjectable *  model 
) [virtual]

Definition at line 104 of file TEveEllipsoid.cc.

{
   // This is virtual method from base-class TEveProjected.

   TEveProjected::SetProjection(mng, model);
   CopyVizParams(dynamic_cast<TEveElement*>(model));
}
void TEveEllipsoidProjected::UpdateProjection ( ) [virtual]

Definition at line 113 of file TEveEllipsoid.cc.

{
   // Override from abstract function.
}

Friends And Related Function Documentation

friend class TEveEllipsoidProjectedGL [friend]

Definition at line 55 of file TEveEllipsoid.h.