Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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);
33 ~TGLCylinder() override;
34
35 UInt_t DLOffset(Short_t lod) const override;
36
37 // Cylinders support LOD (tesselation quality) adjustment along
38 // X/Y axes (round the cylinder radius), but not along length (Z)
39 ELODAxes SupportedLODAxes() const override
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 Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const override;
47 void DirectDraw(TGLRnrCtx & rnrCtx) const override;
48
49private:
50 ClassDefOverride(TGLCylinder,0); // a cylinderical logical shape
51};
52
53#endif
54
short Short_t
Definition RtypesCore.h:39
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
Complete tube description class - see TBuffer3DTypes for producer classes.
Definition TBuffer3D.h:157
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
ELODAxes SupportedLODAxes() const override
Definition TGLCylinder.h:39
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Debug tracing.
Double_t fR2
Definition TGLCylinder.h:24
Double_t fR1
Definition TGLCylinder.h:24
Double_t fDz
Definition TGLCylinder.h:25
~TGLCylinder() override
destructor
Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const override
Factor in scene/viewer LOD and quantize.
Double_t fR4
Definition TGLCylinder.h:24
Double_t fR3
Definition TGLCylinder.h:24
TGLVector3 fLowPlaneNorm
Definition TGLCylinder.h:28
Double_t fPhi1
Definition TGLCylinder.h:26
Bool_t fSegMesh
Definition TGLCylinder.h:29
UInt_t DLOffset(Short_t lod) const override
Return display-list offset for given LOD.
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:248