library: libRGL
#include "TGLViewer.h"

TGLViewer


class description - header file - source file
viewCVS header - viewCVS source

class TGLViewer: public TVirtualViewer3D

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TGLViewer(TVirtualPad* pad)
TGLViewer(TVirtualPad* pad, Int_t x, Int_t y, UInt_t width, UInt_t height)
virtual~TGLViewer()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddCompositeOp(UInt_t operation)
virtual Int_tAddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual Int_tAddObject(UInt_t physicalID, const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
voidApplySelection()
virtual voidBeginScene()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tBuildingScene() const
voidChangedBy(const char* method)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual voidCloseComposite()
virtual Int_tTObject::Compare(const TObject* obj) const
Bool_tConnect(const char* sig, const char* cl, void* rcvr, const char* slt)
virtual voidTObject::Copy(TObject& object) const
TGLCamera&CurrentCamera() const
virtual voidTObject::Delete(Option_t* option = "")
voidDestroyed()
Bool_tDisconnect(const char* sig = "0", void* rcvr = 0, const char* slt = "0")
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidDoDraw()
virtual Bool_tDoSelect(const TGLRect& rect)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTVirtualViewer3D::DrawViewer()
virtual voidTObject::Dump() const
voidEmit(const char* signal)
voidEmit(const char* signal, const char* params)
voidEmit(const char* signal, Long_t* paramArr)
voidEmit(const char* signal, Double_t param)
voidEmit(const char* signal, Long_t param)
voidEmit(const char* signal, Long64_t param)
voidEmit(const char* signal, ULong64_t param)
voidEmit(const char* signal, Bool_t param)
voidEmit(const char* signal, Char_t param)
voidEmit(const char* signal, UChar_t param)
voidEmit(const char* signal, Short_t param)
voidEmit(const char* signal, UShort_t param)
voidEmit(const char* signal, Int_t param)
voidEmit(const char* signal, UInt_t param)
voidEmit(const char* signal, ULong_t param)
voidEmit(const char* signal, Float_t param)
voidEmitVA(const char* signal, Int_t nargs)
virtual voidEndScene()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TGLCameraMarkupStyle*GetCameraMarkup() const
Color_tGetClearColor() const
voidGetClipState(EClipType type, Double_t* data) const
voidGetCurrentClip(EClipType& type, Bool_t& edit) const
Int_tGetDev() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidGetGuideState(TGLViewer::EAxesType& axesType, Bool_t& referenceOn, Double_t* referencePos) const
virtual const char*TObject::GetIconName() const
Bool_tGetIgnoreSizesOnUpdate() const
UInt_tGetLightState()
TList*GetListOfSignals() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tGetResetCameraOnDoubleClick() const
Bool_tGetResetCamerasOnUpdate() const
const TGLPhysicalShape*GetSelected() const
Bool_tGetSmartRefresh() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tHandleButton(Event_t* ev)
Bool_tHandleConfigureNotify(Event_t* ev)
Bool_tHandleDoubleClick(Event_t* ev)
Bool_tHandleEvent(Event_t* ev)
Bool_tHandleExpose(Event_t* ev)
Bool_tHandleKey(Event_t* ev)
Bool_tHandleMotion(Event_t* ev)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidHighPriority(const char* signal_name, const char* slot_name = "0")
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
voidLowPriority(const char* signal_name, const char* slot_name = "0")
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
voidMessage(const char* msg)
virtual Bool_tTObject::Notify()
virtual Bool_tOpenComposite(const TBuffer3D& buffer, Bool_t* addChildren = 0)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual Bool_tPreferLocalFrame() const
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPrintObjects()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidRefreshPadEditor(TObject* = 0)
voidRequestDraw(Short_t LOD = TGLDrawFlags::kLODMed)
Bool_tRequestSelect(UInt_t x, UInt_t y)
voidTObject::ResetBit(UInt_t f)
virtual voidResetCameras()
virtual voidResetCamerasAfterNextUpdate()
voidResetCurrentCamera()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual TObject*TVirtualViewer3D::SelectObject(Int_t, Int_t)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCameraMarkup(TGLCameraMarkupStyle* m)
voidSetClearColor(Color_t col)
voidSetClipState(EClipType type, const Double_t* data)
voidSetColorOnSelectedFamily(const Float_t* rgba)
voidSetCurrentCamera(TGLViewer::ECameraType camera)
voidSetCurrentClip(EClipType type, Bool_t edit)
virtual voidTObject::SetDrawOption(Option_t* option = "")
voidSetDrawStyle(TGLDrawFlags::EStyle style)
static voidTObject::SetDtorOnly(void* obj)
voidSetGuideState(TGLViewer::EAxesType axesType, Bool_t referenceOn, const Double_t* referencePos)
voidSetIgnoreSizesOnUpdate(Bool_t v)
voidSetLight(TGLViewer::ELight light, Bool_t on)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOrthoCamera(TGLViewer::ECameraType camera, Double_t left, Double_t right, Double_t top, Double_t bottom)
voidSetPadEditor(TGLViewerEditor* ed)
voidSetPerspectiveCamera(TGLViewer::ECameraType camera, Double_t fov, Double_t dolly, Double_t* center, Double_t hRotate, Double_t vRotate)
voidSetResetCameraOnDoubleClick(Bool_t v)
voidSetResetCamerasOnUpdate(Bool_t v)
voidSetSelectedColor(const Float_t* rgba)
voidSetSelectedGeom(const TGLVertex3& trans, const TGLVector3& scale)
voidSetSmartRefresh(Bool_t smart_ref)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidToggleLight(TGLViewer::ELight light)
voidUpdateScene()
virtual voidTObject::UseCurrentStyle()
static TVirtualViewer3D*TVirtualViewer3D::Viewer3D(TVirtualPad* pad = 0, Option_t* type = "")
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
TGLViewer(const TGLViewer&)
TGLLogicalShape*AttemptDirectRenderer(TObject* id)
RootCsg::TBaseMesh*BuildComposite()
virtual voidClipChanged()
TGLLogicalShape*CreateNewLogical(const TBuffer3D& buffer) const
TGLPhysicalShape*CreateNewPhysical(UInt_t physicalID, const TBuffer3D& buffer, const TGLLogicalShape& logical) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TClass*FindDirectRendererClass(TClass* cls)
voidInitGL()
voidMakeCurrent() const
voidTObject::MakeZombie()
TGLViewer&operator=(const TGLViewer&)
voidPostDraw()
virtual voidPostSceneBuildSetup(Bool_t resetCameras)
voidPreDraw()
Bool_tRebuildScene()
virtual voidSelectionChanged()
voidSetupCameras(Bool_t reset)
voidSetupLights()
voidSetViewport(Int_t x, Int_t y, UInt_t width, UInt_t height)
voidSwapBuffers() const
Int_tValidateObjectBuffer(const TBuffer3D& buffer, Bool_t includeRaw) const

Data Members

public:
enum ECameraType { kCameraPerspXOZ
kCameraPerspYOZ
kCameraPerspXOY
kCameraOrthoXOY
kCameraOrthoXOZ
kCameraOrthoZOY
};
enum ELight { kLightFront
kLightTop
kLightBottom
kLightLeft
kLightRight
kLightMask
};
enum EAxesType { kAxesNone
kAxesEdge
kAxesOrigin
};
enum ECameraAction { kCameraNone
kCameraRotate
kCameraTruck
kCameraDolly
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TVirtualPad*fPad! external pad - remove replace with signal
TContextMenu*fContextMenu!
TGLPerspectiveCamerafPerspectiveCameraXOZ!
TGLPerspectiveCamerafPerspectiveCameraYOZ!
TGLPerspectiveCamerafPerspectiveCameraXOY!
TGLOrthoCamerafOrthoXOYCamera!
TGLOrthoCamerafOrthoXOZCamera!
TGLOrthoCamerafOrthoZOYCamera!
TGLCamera*fCurrentCamera!
Bool_tfInternalRebuild! scene rebuild triggered internally/externally?
Bool_tfPostSceneBuildSetup! setup viewer after (re)build complete?
Bool_tfAcceptedAllPhysicals! did we take all physicals offered in AddObject()
Bool_tfForceAcceptAll! force taking of all logicals/physicals in AddObject()
Bool_tfInternalPIDs! using internal physical IDs
UInt_tfNextInternalPID! next internal physical ID (from 1 - 0 reserved)
TGLFaceSet*fComposite! Paritally created composite
UInt_tfCSLevel
vector<CSPart_t>fCSTokens
TGLViewer::ECameraActionfAction
TPointfLastPos
UInt_tfActiveButtonID
TGLDrawFlagsfDrawFlags! next draw flags - passed to scene
TGLRedrawTimer*fRedrawTimer!
TGLScenefScene! the GL scene - owned by viewer at present
TGLRectfViewport! viewport - drawn area
Color_tfClearColor! clear-color
UInt_tfLightState! light states (on/off) mask
TGLViewer::EAxesTypefAxesType! axes type
Bool_tfReferenceOn! reference marker on?
TGLVertex3fReferencePos! reference position
Bool_tfInitGL! has GL been initialised?
Bool_tfSmartRefresh! cache logicals during scene rebuilds, use TAtt3D time-stamp to determine if they are still valid
Bool_tfDebugMode! debug mode (forced rebuild + draw scene/frustum/interest boxes)
UInt_tfAcceptedPhysicals! number of physicals accepted in last rebuild
UInt_tfRejectedPhysicals! number of physicals rejected in last rebuild
Bool_tfIsPrinting
TGLWindow*fGLWindow! remove - replace with TGLManager
Int_tfGLDevice!for embedded gl viewer
TGLViewerEditor*fPadEditor
map<TClass*,TClass*>fDirectRendererMap!
Bool_tfIgnoreSizesOnUpdateignore sizes of bounding-boxes on update
Bool_tfResetCamerasOnUpdatereposition camera on each update
Bool_tfResetCamerasOnNextUpdatereposition camera on next update
Bool_tfResetCameraOnDoubleClickreposition camera on double-click
private:
TQObjSenderfQObject

Class Description

                                                                      
 TGLViewer                                                            
                                                                      
 Base GL viewer object - used by both standalone and embedded (in pad)
 GL. Contains core viewer objects :                                   
                                                                      
 GL scene (fScene) - collection of main drawn objects - see TGLScene  
 Cameras (fXXXXCamera) - ortho and perspective cameras - see TGLCamera
 Clipping (fClipXXXX) - collection of clip objects - see TGLClip      
 Manipulators (fXXXXManip) - collection of manipulators - see TGLManip
                                                                      
 It maintains the current active draw styles, clipping object,        
 manipulator, camera etc.                                             
                                                                      
 TGLViewer is 'GUI free' in that it does not derive from any ROOT GUI 
 TGFrame etc - see TGLSAViewer for this. However it contains GUI      
 GUI style methods HandleButton() etc to which GUI events can be      
 directed from standalone frame or embedding pad to perform           
 interaction.                                                         
                                                                      
 For embedded (pad) GL this viewer is created directly by plugin      
 manager. For standalone the derived TGLSAViewer is.                  

TGLViewer(TVirtualPad * pad, Int_t x, Int_t y, UInt_t width, UInt_t height)
 Construct the viewer object, with following arguments:
    'pad' - external pad viewer is bound to
    'x', 'y' - initial top left position
    'width', 'height' - initial width/height
 Create timer
TGLViewer(TVirtualPad * pad)
gl-embedded viewer's ctor
 Construct the viewer object, with following arguments:
    'pad' - external pad viewer is bound to
    'x', 'y' - initial top left position
    'width', 'height' - initial width/height
 Create timer
~TGLViewer()
 Destroy viewer object
Bool_t PreferLocalFrame()
 Indicate if viewer prefers to receive logical shape descriptions
 in local (kTRUE) or world frame (kFALSE). For GL viewer is kTRUE always
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
void BeginScene()
 Start building of viewer scene
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
void EndScene()
 End building of viewer scene
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Bool_t RebuildScene()
 If we accepted all offered physicals into the scene no point in
 rebuilding it.
Int_t AddObject(const TBuffer3D & buffer, Bool_t * addChildren)
 Add an object to the viewer, using internal physical IDs
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Int_t AddObject(UInt_t physicalID, const TBuffer3D & buffer, Bool_t * addChildren)
 Add an object to the viewer, using an external physical ID
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Bool_t OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren)
 Open new composite container.
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture.
void CloseComposite()
 Close composite container
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
void AddCompositeOp(UInt_t operation)
 Add composite operation used to combine objects added via AddObject
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Int_t ValidateObjectBuffer(const TBuffer3D & buffer, Bool_t includeRaw)
 Validate if the passed 'buffer' contains all sections we require to add object.
 Returns Int_t combination of TBuffer::ESection flags still required - or
 TBuffer3D::kNone if buffer is valid.
 If 'includeRaw' is kTRUE check for kRaw/kRawSizes - skip otherwise.
 See base/src/TVirtualViewer3D.cxx for description of viewer architecture
TGLLogicalShape * CreateNewLogical(const TBuffer3D & buffer)
 Create and return a new TGLLogicalShape from the supplied buffer
TGLPhysicalShape * CreateNewPhysical(UInt_t ID, const TBuffer3D & buffer, const TGLLogicalShape & logical)
 Create and return a new TGLPhysicalShape with id 'ID', using 'buffer' placement
 information (translation etc), and bound to suppled 'logical'
RootCsg::TBaseMesh * BuildComposite()
 Build and return composite shape mesh
void InitGL()
 Initialise GL state if not already done
void PostSceneBuildSetup(Bool_t resetCameras)
 Perform post scene (re)build setup
void SetupCameras(Bool_t reset)
 Setup cameras for current scene bounding box
void ResetCurrentCamera()
 Resets position/rotation of current camera to default values.
void UpdateScene()
 Force a scene update.
 Code segments taken from protected RebuildScene().
void SetupLights()
 Setup lights for current scene bounding box
void RequestDraw(Short_t LOD)
 Post request for redraw of viewer at level of detail 'LOD'
 Request is directed via cross thread gVirtualGL object
void DoDraw()
 Draw out the the current viewer/scene
void PreDraw()
 Perform GL work which must be done before each draw of scene
void PostDraw()
 Perform GL work which must be done after each draw of scene
void MakeCurrent()
 Make GL context current
void SwapBuffers()
 Swap GL buffers
Bool_t RequestSelect(UInt_t x, UInt_t y)
 Post request for select draw of viewer, picking objects round the WINDOW
 point (x,y).
 Request is directed via cross thread gVirtualGL object
Bool_t DoSelect(const TGLRect & rect)
 Perform GL selection, picking objects overlapping WINDOW
 area described by 'rect'. Return kTRUE if selection
 changed, kFALSE otherwise. Selection can be obtained
 via fScene.GetSelected()
 Select lock should already been taken in other thread in
 TGLViewer::DoSelect()
void ApplySelection()
void SetViewport(Int_t x, Int_t y, UInt_t width, UInt_t height)
 Set viewer viewport (window area) with bottom/left at (x,y), with
 dimensions 'width'/'height'
void SetDrawStyle(TGLDrawFlags::EStyle drawStyle)
 Set the draw style - one of kFill, kWireframe, kOutline
void SetCurrentCamera(ECameraType cameraType)
 Set current active camera - 'cameraType' one of:
 kCameraPerspX, kCameraPerspY, kCameraPerspZ
 kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY
void SetOrthoCamera(ECameraType camera, Double_t left, Double_t right, Double_t top, Double_t bottom)
 Set an orthographic camera to supplied configuration - note this does not need
 to be the current camera - though you will not see the effect if it is not.

 'camera' defines the ortho camera - one of kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY
 'left' / 'right' / 'top' / 'bottom' define the WORLD coordinates which
 corresepond with the left/right/top/bottom positions on the GL viewer viewport
 E.g. for kCameraOrthoXOY camera left/right are X world coords,
 top/bottom are Y world coords
 As this is an orthographic camera the other axis (in eye direction) is
 no relevant. The near/far clip planes are set automatically based in scene
 contents
void SetPerspectiveCamera(ECameraType camera, Double_t fov, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)
 Set a perspective camera to supplied configuration - note this does not need
 to be the current camera - though you will not see the effect if it is not.

 'camera' defines the persp camera - one of kCameraPerspXOZ, kCameraPerspYOZ, kCameraPerspXOY
 'fov' - field of view (lens angle) in degrees (clamped to 0.1 - 170.0)
 'dolly' - distance from 'center'
 'center' - world position from which dolly/hRotate/vRotate are measured
             camera rotates round this, always facing in (in center of viewport)
 'hRotate' - horizontal rotation from initial configuration in degrees
 'hRotate' - vertical rotation from initial configuration in degrees
void ToggleLight(ELight light)
 Toggle light on/off - 'light' one of kFront, kTop, kBottom, kLeft, kRight
void SetLight(ELight light, Bool_t on)
 Set light on/off - 'light' one of kFront, kTop, kBottom, kLeft, kRight
void GetGuideState(EAxesType & axesType, Bool_t & referenceOn, Double_t referencePos[3])
 Fetch the state of guides (axes & reference markers) into arguments
void SetGuideState(EAxesType axesType, Bool_t referenceOn, const Double_t referencePos[3])
 Set the state of guides (axes & reference markers) from arguments
void SetSelectedColor(const Float_t color[17])
 Set full color attributes on current selected physical shape:

 0...3  - diffuse
 4...7  - ambient
 8...11 - specular
 12..15 - emission
 16     - shininess

 see OpenGL documentation for details of materials
void SetColorOnSelectedFamily(const Float_t color[17])
 Set full color attributes on all physical shapes sharing the same
 logical shape as the selected physical

 0...3  - diffuse
 4...7  - ambient
 8...11 - specular
 12..15 - emission
 16     - shininess

 see OpenGL documentation for details of materials
void SetSelectedGeom(const TGLVertex3 & trans, const TGLVector3 & scale)
 Update geometry of the selected physical. 'trans' and 'scale' specify the
 translation and scaling components of the physical shapes translation matrix
 See TGLMatrix for more details
void SelectionChanged()
 Emit signal indicating selection has changed
void ClipChanged()
 Emit signal indicating clip object has changed
Int_t DistancetoPrimitive(Int_t /*px*/, Int_t /*py*/)
 Calcaulate and return pxiel distance to nearest viewer object from
 window location px, py
 This is provided for use when embedding GL viewer into pad
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 Process event of type 'event' - one of EEventType types,
 occuring at window location px, py
 This is provided for use when embedding GL viewer into pad
Bool_t HandleEvent(Event_t *event)
 Handle generic Event_t type 'event' - provided to catch focus changes
 and terminate any interaction in viewer
Bool_t HandleButton(Event_t * event)
 Handle mouse button 'event'
Bool_t HandleDoubleClick(Event_t *event)
 Handle mouse double click 'event'
Bool_t HandleConfigureNotify(Event_t *event)
 Handle configure notify 'event' - a window resize/movement
Bool_t HandleKey(Event_t *event)
 Handle keyboard 'event'
Bool_t HandleMotion(Event_t * event)
 Handle mouse motion 'event'
Bool_t HandleExpose(Event_t *)
 Handle window expose 'event' - show
TClass* FindDirectRendererClass(TClass* cls)
TGLLogicalShape* AttemptDirectRenderer(TObject* id)
void PrintObjects()
void GetClipState(EClipType type, Double_t data[6])
______________________________________________________________________________
void SetClipState(EClipType type, const Double_t data[6])
______________________________________________________________________________
void GetCurrentClip(EClipType & type, Bool_t & edit)
______________________________________________________________________________
void SetCurrentClip(EClipType type, Bool_t edit)
______________________________________________________________________________
TGLViewer(const TGLViewer &)
 Non-copyable class
TGLViewer & operator=(const TGLViewer &)
Bool_t BuildingScene()
{ return fScene.CurrentLock() == TGLScene::kModifyLock; }
void ResetCameras()
{ SetupCameras(kTRUE); }
void ResetCamerasAfterNextUpdate()
{ fResetCamerasOnNextUpdate = kTRUE; }
void RefreshPadEditor(TObject* =0)
{}
Int_t GetDev()
{return fGLDevice;}
Color_t GetClearColor()
{ return fClearColor; }
void SetClearColor(Color_t col)
{ fClearColor = col; }
Bool_t GetSmartRefresh()
{ return fSmartRefresh; }
void SetSmartRefresh(Bool_t smart_ref)
{ fSmartRefresh = smart_ref; }
TGLCamera & CurrentCamera()
{ return *fCurrentCamera; }
UInt_t GetLightState()
{return fLightState;}
TGLCameraMarkupStyle* GetCameraMarkup()
{ return fScene.GetCameraMarkup(); }
void SetCameraMarkup(TGLCameraMarkupStyle* m)
{ fScene.SetCameraMarkup(m); }
const TGLPhysicalShape * GetSelected()
{ return fScene.GetSelected(); }
Bool_t GetIgnoreSizesOnUpdate()
{ return fIgnoreSizesOnUpdate; }
void SetIgnoreSizesOnUpdate(Bool_t v)
{ fIgnoreSizesOnUpdate = v; }
Bool_t GetResetCamerasOnUpdate()
{ return fResetCamerasOnUpdate; }
void SetResetCamerasOnUpdate(Bool_t v)
{ fResetCamerasOnUpdate = v; }
Bool_t GetResetCameraOnDoubleClick()
{ return fResetCameraOnDoubleClick; }
void SetResetCameraOnDoubleClick(Bool_t v)
{ fResetCameraOnDoubleClick = v; }
void SetPadEditor(TGLViewerEditor *ed)
{fPadEditor = ed;}

Author: Richard Maunder 25/05/2005
Last update: root/gl:$Name: $:$Id: TGLViewer.cxx,v 1.55 2006/12/09 23:06:32 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.