Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TGLCylinder.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/gl:$Id$
0002 // Author:  Timur Pocheptsov  03/08/2004
0003 // NOTE: This code moved from obsoleted TGLSceneObject.h / .cxx - see these
0004 // attic files for previous CVS history
0005 
0006 /*************************************************************************
0007  * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers.               *
0008  * All rights reserved.                                                  *
0009  *                                                                       *
0010  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0011  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0012  *************************************************************************/
0013 
0014 #ifndef ROOT_TGLCylinder
0015 #define ROOT_TGLCylinder
0016 
0017 #include "TGLLogicalShape.h"
0018 
0019 class TBuffer3DTube;
0020 
0021 class TGLCylinder : public TGLLogicalShape
0022 {
0023 private:
0024    Double_t fR1, fR2, fR3, fR4;
0025    Double_t fDz;
0026    Double_t fPhi1, fPhi2;
0027 
0028    TGLVector3 fLowPlaneNorm, fHighPlaneNorm;
0029    Bool_t fSegMesh;
0030 
0031 public:
0032    TGLCylinder(const TBuffer3DTube & buffer);
0033    ~TGLCylinder() override;
0034 
0035    UInt_t DLOffset(Short_t lod) const override;
0036 
0037    // Cylinders support LOD (tesselation quality) adjustment along
0038    // X/Y axes (round the cylinder radius), but not along length (Z)
0039    ELODAxes SupportedLODAxes() const override
0040    {
0041       // return ELODAxes(kLODAxesX | kLODAxesY);
0042       // MT 2020-06-05: There seems to be a problem with TGLPhysicalShape::CalculateShapeLOD()
0043       // and LOD is set to Pixel way too early. Resetting this to kLODAxesAll.
0044       return ELODAxes(kLODAxesAll);
0045    }
0046    Short_t  QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const override;
0047    void     DirectDraw(TGLRnrCtx & rnrCtx) const override;
0048 
0049 private:
0050    ClassDefOverride(TGLCylinder,0); // a cylinderical logical shape
0051 };
0052 
0053 #endif
0054