CMS 3D CMS Logo

Public Member Functions | Protected Attributes

FWGeoTopNodeGL Class Reference

#include <FWGeoTopNodeGL.h>

List of all members.

Public Member Functions

virtual Bool_t AlwaysSecondarySelect () const
 ClassDef (FWGeoTopNodeGL, 0)
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 FWGeoTopNodeGL ()
virtual void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
virtual void SetBBox ()
virtual Bool_t SetModel (TObject *obj, const Option_t *opt=0)
virtual Bool_t SupportsSecondarySelect () const
virtual ~FWGeoTopNodeGL ()

Protected Attributes

FWGeoTopNodefM

Detailed Description

Definition at line 7 of file FWGeoTopNodeGL.h.


Constructor & Destructor Documentation

FWGeoTopNodeGL::FWGeoTopNodeGL ( )

Definition at line 9 of file FWGeoTopNodeGL.cc.

                               :
   TGLObject()
{
   // Constructor.
}
virtual FWGeoTopNodeGL::~FWGeoTopNodeGL ( ) [inline, virtual]

Definition at line 14 of file FWGeoTopNodeGL.h.

{}

Member Function Documentation

virtual Bool_t FWGeoTopNodeGL::AlwaysSecondarySelect ( ) const [inline, virtual]

Definition at line 24 of file FWGeoTopNodeGL.h.

{ return kTRUE; }
FWGeoTopNodeGL::ClassDef ( FWGeoTopNodeGL  ,
 
)
void FWGeoTopNodeGL::DirectDraw ( TGLRnrCtx &  rnrCtx) const [virtual]

Definition at line 33 of file FWGeoTopNodeGL.cc.

{
   // Draw quad-set with GL.

   static const TEveException eH("TEveQuadSetGL::DirectDraw ");

   // printf("FWGeoTopNodeGL::DirectDraw\n");

   // glPushAttrib(GL_POINT_BIT);
   // glPointSize(20);
   // glBegin(GL_POINTS);
   // glVertex3d(1,1,1);
   // glEnd();
   // glPopAttrib();
}
void FWGeoTopNodeGL::ProcessSelection ( TGLRnrCtx &  rnrCtx,
TGLSelectRecord &  rec 
) [virtual]

Definition at line 50 of file FWGeoTopNodeGL.cc.

References FWGeoTopNode::fHted, fM, FWGeoTopNode::fSted, AlCaHLTBitMon_ParallelJobs::p, FWGeoTopNode::ProcessSelection(), and v.

{
   // Processes secondary selection from TGLViewer.
   // Calls DigitSelected(Int_t) in the model object with index of
   // selected point as the argument.

   // printf("FWGeoTopNodeGL::ProcessSelection who knows what we've got ...\n");
   // rec.Print();

   TGLViewer *v = dynamic_cast<TGLViewer*>(rnrCtx.GetViewer());
   /*
   if (v)
   {
      printf("  but we know the first selection was what we actually want!\n");
      printf("  and this is in rnrctx.viewer.selrec\n");
      printf("  log=%p, this=%p\n", v->GetSelRec().GetLogShape(), this);
   }
   */
   TGLPhysicalShape *p = v->GetSelRec().GetPhysShape();

   if (rec.GetHighlight())
   {
      fM->ProcessSelection(rec, fM->fHted, p);
   }
   else
   {
      fM->ProcessSelection(rec, fM->fSted, p);
   }

   // Also, do something in UnSelected / UnHighlighted XXXXX
}
void FWGeoTopNodeGL::SetBBox ( ) [virtual]

Definition at line 16 of file FWGeoTopNodeGL.cc.

{
   // Set bounding box.

   SetAxisAlignedBBox(((FWGeoTopNode*)fExternalObj)->AssertBBox());
}
Bool_t FWGeoTopNodeGL::SetModel ( TObject *  obj,
const Option_t *  opt = 0 
) [virtual]

Definition at line 24 of file FWGeoTopNodeGL.cc.

References fM, and VarParsing::obj.

{
   // Set model object.

   fM = SetModelDynCast<FWGeoTopNode>(obj);
   return kTRUE;
}
virtual Bool_t FWGeoTopNodeGL::SupportsSecondarySelect ( ) const [inline, virtual]

Definition at line 23 of file FWGeoTopNodeGL.h.

{ return kTRUE; }

Member Data Documentation

Definition at line 10 of file FWGeoTopNodeGL.h.

Referenced by ProcessSelection(), and SetModel().