Logo ROOT  
Reference Guide
TGLCylinder.h
Go to the documentation of this file.
1// @(#)root/gl:$Id$
2// Author: Timur Pocheptsov 03/08/2004
3// NOTE: This code moved from obsoleted TGLSceneObject.h / .cxx - see these
4// attic files for previous CVS history
5
6/*************************************************************************
7 * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
8 * All rights reserved. *
9 * *
10 * For the licensing terms see $ROOTSYS/LICENSE. *
11 * For the list of contributors see $ROOTSYS/README/CREDITS. *
12 *************************************************************************/
13
14#ifndef ROOT_TGLCylinder
15#define ROOT_TGLCylinder
16
17#include "TGLLogicalShape.h"
18
19class TBuffer3DTube;
20
22{
23private:
27
30
31public:
32 TGLCylinder(const TBuffer3DTube & buffer);
34
35 virtual UInt_t DLOffset(Short_t lod) const;
36
37 // Cylinders support LOD (tesselation quality) adjustment along
38 // X/Y axes (round the cylinder radius), but not along length (Z)
39 virtual ELODAxes SupportedLODAxes() const
40 {
41 // return ELODAxes(kLODAxesX | kLODAxesY);
42 // MT 2020-06-05: There seems to be a problem with TGLPhysicalShape::CalculateShapeLOD()
43 // and LOD is set to Pixel way too early. Resetting this to kLODAxesAll.
44 return ELODAxes(kLODAxesAll);
45 }
46 virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const;
47 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
48
49private:
50 ClassDef(TGLCylinder,0); // a cylinderical logical shape
51};
52
53#endif
54
short Short_t
Definition: RtypesCore.h:37
double Double_t
Definition: RtypesCore.h:57
#define ClassDef(name, id)
Definition: Rtypes.h:322
Complete tube description class - see TBuffer3DTypes for producer classes.
Definition: TBuffer3D.h:156
Implements a native ROOT-GL cylinder that can be rendered at different levels of detail.
Definition: TGLCylinder.h:22
TGLVector3 fHighPlaneNorm
Definition: TGLCylinder.h:28
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Debug tracing.
Double_t fR2
Definition: TGLCylinder.h:24
virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const
Factor in scene/viewer LOD and quantize.
Double_t fR1
Definition: TGLCylinder.h:24
TGLCylinder(const TBuffer3DTube &buffer)
Copy out relevant parts of buffer - we create and delete mesh parts on demand in DirectDraw() and the...
Double_t fDz
Definition: TGLCylinder.h:25
Double_t fR4
Definition: TGLCylinder.h:24
virtual UInt_t DLOffset(Short_t lod) const
Return display-list offset for given LOD.
Double_t fR3
Definition: TGLCylinder.h:24
virtual ELODAxes SupportedLODAxes() const
Definition: TGLCylinder.h:39
TGLVector3 fLowPlaneNorm
Definition: TGLCylinder.h:28
Double_t fPhi1
Definition: TGLCylinder.h:26
~TGLCylinder()
destructor
Bool_t fSegMesh
Definition: TGLCylinder.h:29
Double_t fPhi2
Definition: TGLCylinder.h:26
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Definition: TGLRnrCtx.h:41
3 component (x/y/z) vector class.
Definition: TGLUtil.h:247