ROOT logo
// @(#)root/gl:$Id: TGLCylinder.h 26250 2008-11-17 20:56:44Z matevz $
// Author:  Timur Pocheptsov  03/08/2004
// NOTE: This code moved from obsoleted TGLSceneObject.h / .cxx - see these
// attic files for previous CVS history

/*************************************************************************
 * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGLCylinder
#define ROOT_TGLCylinder

#ifndef ROOT_TGLLogicalShape
#include "TGLLogicalShape.h"
#endif

class TBuffer3DTube;

class TGLCylinder : public TGLLogicalShape
{
private:
   Double_t fR1, fR2, fR3, fR4;
   Double_t fDz;
   Double_t fPhi1, fPhi2;

   TGLVector3 fLowPlaneNorm, fHighPlaneNorm;
   Bool_t fSegMesh;

public:
   TGLCylinder(const TBuffer3DTube & buffer);
   ~TGLCylinder();

   virtual UInt_t DLOffset(Short_t lod) const;

   // Cylinders support LOD (tesselation quality) adjustment along
   // X/Y axes (round the cylinder radius), but not along length (Z)
   virtual ELODAxes SupportedLODAxes() const { return ELODAxes(kLODAxesX | kLODAxesY); }
   virtual Short_t  QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const;
   virtual void     DirectDraw(TGLRnrCtx & rnrCtx) const;

private:
   ClassDef(TGLCylinder,0); // a cylinderical logical shape
};

#endif

 TGLCylinder.h:1
 TGLCylinder.h:2
 TGLCylinder.h:3
 TGLCylinder.h:4
 TGLCylinder.h:5
 TGLCylinder.h:6
 TGLCylinder.h:7
 TGLCylinder.h:8
 TGLCylinder.h:9
 TGLCylinder.h:10
 TGLCylinder.h:11
 TGLCylinder.h:12
 TGLCylinder.h:13
 TGLCylinder.h:14
 TGLCylinder.h:15
 TGLCylinder.h:16
 TGLCylinder.h:17
 TGLCylinder.h:18
 TGLCylinder.h:19
 TGLCylinder.h:20
 TGLCylinder.h:21
 TGLCylinder.h:22
 TGLCylinder.h:23
 TGLCylinder.h:24
 TGLCylinder.h:25
 TGLCylinder.h:26
 TGLCylinder.h:27
 TGLCylinder.h:28
 TGLCylinder.h:29
 TGLCylinder.h:30
 TGLCylinder.h:31
 TGLCylinder.h:32
 TGLCylinder.h:33
 TGLCylinder.h:34
 TGLCylinder.h:35
 TGLCylinder.h:36
 TGLCylinder.h:37
 TGLCylinder.h:38
 TGLCylinder.h:39
 TGLCylinder.h:40
 TGLCylinder.h:41
 TGLCylinder.h:42
 TGLCylinder.h:43
 TGLCylinder.h:44
 TGLCylinder.h:45
 TGLCylinder.h:46
 TGLCylinder.h:47
 TGLCylinder.h:48
 TGLCylinder.h:49
 TGLCylinder.h:50