TGLCylinder.h

Go to the documentation of this file.
00001 // @(#)root/gl:$Id: TGLCylinder.h 26250 2008-11-17 20:56:44Z matevz $
00002 // Author:  Timur Pocheptsov  03/08/2004
00003 // NOTE: This code moved from obsoleted TGLSceneObject.h / .cxx - see these
00004 // attic files for previous CVS history
00005 
00006 /*************************************************************************
00007  * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers.               *
00008  * All rights reserved.                                                  *
00009  *                                                                       *
00010  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00011  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00012  *************************************************************************/
00013 
00014 #ifndef ROOT_TGLCylinder
00015 #define ROOT_TGLCylinder
00016 
00017 #ifndef ROOT_TGLLogicalShape
00018 #include "TGLLogicalShape.h"
00019 #endif
00020 
00021 class TBuffer3DTube;
00022 
00023 class TGLCylinder : public TGLLogicalShape
00024 {
00025 private:
00026    Double_t fR1, fR2, fR3, fR4;
00027    Double_t fDz;
00028    Double_t fPhi1, fPhi2;
00029 
00030    TGLVector3 fLowPlaneNorm, fHighPlaneNorm;
00031    Bool_t fSegMesh;
00032 
00033 public:
00034    TGLCylinder(const TBuffer3DTube & buffer);
00035    ~TGLCylinder();
00036 
00037    virtual UInt_t DLOffset(Short_t lod) const;
00038 
00039    // Cylinders support LOD (tesselation quality) adjustment along
00040    // X/Y axes (round the cylinder radius), but not along length (Z)
00041    virtual ELODAxes SupportedLODAxes() const { return ELODAxes(kLODAxesX | kLODAxesY); }
00042    virtual Short_t  QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const;
00043    virtual void     DirectDraw(TGLRnrCtx & rnrCtx) const;
00044 
00045 private:
00046    ClassDef(TGLCylinder,0); // a cylinderical logical shape
00047 };
00048 
00049 #endif
00050 

Generated on Tue Jul 5 14:16:43 2011 for ROOT_528-00b_version by  doxygen 1.5.1