/usr/include/root/TGLPShapeObjEditor.h is in libroot-graf3d-gl-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | // @(#)root/gl:$Id$
// Author: Matevz Tadel 25/09/2006
#ifndef ROOT_TGLPShapeObjEditor
#define ROOT_TGLPShapeObjEditor
#include <memory>
#ifndef ROOT_TGedFrame
#include "TGedFrame.h"
#endif
#ifndef ROOT_TGLUtil
#include "TGLUtil.h"
#endif
#include "TGLPShapeRef.h"
class TGLPShapeObj;
class TGLayoutHints;
class TGCheckButton;
class TGNumberEntry;
class TGButtonGroup;
class TGroupFrame;
class TGHSlider;
class TGRadioButton;
class TGTabElement;
class TGButton;
class TGLViewer;
class TGTab;
class TGLWidget;
class TGLPShapeObjEditor : public TGedFrame,
public TGLPShapeRef
{
private:
enum ELightMode { kDiffuse, kAmbient, kSpecular, kEmission };
ELightMode fLMode;
TGLayoutHints fLb; //button layout
TGLayoutHints fLe; //num entry layout
TGLayoutHints fLl; //label layout
TGLayoutHints fLs; //slider layout
TGCompositeFrame *fGeoFrame; //orientation, clipping
// "Geometry" tab's controls
TGNumberEntry *fGeomData[6]; //position and clipping control
TGButton *fGeoApplyButton; //action button
// "Color" tab's controls
TGCompositeFrame *fColorFrame; //top frame for color componet control
TGLWidget *fMatView; //inner structure to handle sphere GL window
TGButton *fLightTypes[4]; //light type
TGHSlider *fRedSlider; //red component of selected material
TGHSlider *fGreenSlider; //green component of selected material
TGHSlider *fBlueSlider; //blue component of selected material
TGHSlider *fAlphaSlider; //alpha component of selected material lider;
TGHSlider *fShineSlider; //specular refelction of selected material
TGButton *fColorApplyButton; //apply to selected
TGButton *fColorApplyFamily; //apply to selected and family
Float_t fRGBA[17]; //color multiplet
Window_t fGLWin; //GL window with sphere
ULong_t fCtx; //GL context
TGLPShapeObj *fPShapeObj; //model
void CreateGeoControls();
void CreateColorControls();
virtual void DoRedraw();
public:
TGLPShapeObjEditor(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground());
~TGLPShapeObjEditor();
// Virtuals from TGLPShapeRef
virtual void SetPShape(TGLPhysicalShape * shape);
virtual void PShapeModified();
virtual void SetModel(TObject* obj);
// geometry
void SetCenter(const Double_t *center);
void SetScale(const Double_t *scale);
void DoGeoButton();
void GetObjectData(Double_t *shift, Double_t *scale);
void GeoValueSet(Long_t unusedVal);
//colors
void CreateColorRadioButtons();
void CreateColorSliders();
void SetColorSlidersPos();
void DrawSphere()const;
void SetRGBA(const Float_t *rgba);
const Float_t *GetRGBA()const{return fRGBA;}
//color slots
void DoColorSlider(Int_t val);
void DoColorButton();
ClassDef(TGLPShapeObjEditor, 0); //GUI for editing attributes of a physical-shape.
};
#endif
|