class TGLViewer: public TVirtualViewer3D, public TGLViewerBase

 TGLViewer

 Base GL viewer object - used by both standalone and embedded (in pad)
 GL. Contains core viewer objects :

 GL scene - collection of main drawn objects - see TGLStdScene
 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.

Function Members (Methods)

public:
TGLViewer(TVirtualPad* pad)
TGLViewer(TVirtualPad* pad, Int_t x, Int_t y, Int_t width, Int_t height)
virtual~TGLViewer()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddCompositeOp(UInt_t)
virtual Int_tAddObject(const TBuffer3D&, Bool_t* = 0)
virtual Int_tAddObject(UInt_t, const TBuffer3D&, Bool_t* = 0)
voidTGLViewerBase::AddOverlayElement(TGLOverlayElement* el)
TGLSceneInfo*TGLViewerBase::AddScene(TGLSceneBase* scene)
virtual voidTObject::AppendPad(Option_t* option = "")
voidApplySelection()
virtual voidBeginScene()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tBuildingScene() const
virtual Bool_tCanLoopOnPrimitives() const
virtual voidTGLViewerBase::Changed()
voidChangedBy(const char* method)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
TGLClip*TGLViewerBase::Clip() const
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
TGLLockable::ELockTGLLockable::CurrentLock() 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)
voidDoDraw()
Bool_tDoOverlaySelect(Int_t x, Int_t y)
Bool_tDoSelect(Int_t x, Int_t y, Bool_t trySecSel = kFALSE)
virtual voidTObject::Draw(Option_t* option = "")
voidDrawCameraMarkup()
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
voidDrawDebugInfo()
voidDrawGuides()
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
Bool_tTGLViewerBase::FindClosestOpaqueRecord(TGLSelectRecord& rec, Int_t& recIdx)
Bool_tTGLViewerBase::FindClosestOverlayRecord(TGLOvlSelectRecord& rec, Int_t& recIdx)
Bool_tTGLViewerBase::FindClosestRecord(TGLSelectRecord& rec, Int_t& recIdx)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TGLViewer::EDragActionGetAction() const
TGLCameraMarkupStyle*GetCameraMarkup() const
Color_tGetClearColor() const
TGLClipSet*GetClipSet() const
Int_tGetDev() const
Bool_tGetDrawCameraCenter()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidGetGuideState(Int_t& axesType, Bool_t& axesDepthTest, Bool_t& referenceOn, Double_t* referencePos) const
virtual const char*TObject::GetIconName() const
Bool_tGetIgnoreSizesOnUpdate() const
TGLLightSet*GetLightSet() const
TList*GetListOfSignals() const
Float_tGetMaxSceneDrawTimeHQ() const
Float_tGetMaxSceneDrawTimeLQ() 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
TGLViewer::EPushActionGetPushAction() const
Bool_tGetResetCameraOnDoubleClick() const
Bool_tGetResetCamerasOnUpdate() const
TGLSceneInfo*TGLViewerBase::GetSceneInfo(TGLSceneBase* scene)
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_tTGLViewerBase::IsChanged() const
Bool_tTGLLockable::IsDrawOrSelectLock() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTGLLockable::IsLocked() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual const char*TGLViewerBase::LockIdStr() const
static const char*TGLLockable::LockName(TGLLockable::ELock lock)
static Bool_tTGLLockable::LockValid(TGLLockable::ELock lock)
Short_tTGLViewerBase::LOD() const
voidLowPriority(const char* signal_name, const char* slot_name = 0)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTGLViewerBase::MergeSceneBBoxes(TGLBoundingBox& bbox)
voidMessage(const char* msg)
virtual Bool_tTObject::Notify()
virtual voidTVirtualViewer3D::ObjectPaint(TObject*, Option_t* = "")
virtual Bool_tOpenComposite(const TBuffer3D&, Bool_t* = 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 voidOverlayDragFinished()
virtual voidPadPaint(TVirtualPad* pad)
virtual voidTObject::Paint(Option_t* option = "")
voidPickCameraCenter()
virtual voidTObject::Pop()
virtual voidTGLViewerBase::PostRender()
virtual voidTGLViewerBase::PostRenderOverlaySelection()
virtual voidPostSceneBuildSetup(Bool_t resetCameras)
virtual Bool_tPreferLocalFrame() const
virtual voidPreRender()
virtual voidTGLViewerBase::PreRenderOverlaySelection()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPrintObjects()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
TGLCamera&RefCamera(TGLViewer::ECameraType camera)
virtual voidRefreshPadEditor(TObject* = 0)
Bool_tTGLLockable::ReleaseLock(TGLLockable::ELock lock) const
voidTGLViewerBase::RemoveAllScenes()
voidTGLViewerBase::RemoveOverlayElement(TGLOverlayElement* el)
voidTGLViewerBase::RemoveScene(TGLSceneBase* scene)
virtual voidTGLViewerBase::Render()
virtual voidTGLViewerBase::RenderOverlay()
voidRepaint()
voidRequestDraw(Short_t LOD = TGLRnrCtx::kLODMed)
Bool_tRequestOverlaySelect(Int_t x, Int_t y)
Bool_tRequestSelect(Int_t x, Int_t y, Bool_t trySecSel = kFALSE)
voidTObject::ResetBit(UInt_t f)
virtual voidResetCameras()
virtual voidResetCamerasAfterNextUpdate()
voidResetCurrentCamera()
virtual voidTGLViewerBase::ResetSceneInfos()
Bool_tTGLViewerBase::ResolveSelectRecord(TGLSelectRecord& rec, Int_t recIdx)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTGLViewerBase::SceneDestructing(TGLSceneBase* scene)
virtual voidSelectionChanged()
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)
voidTGLViewerBase::SetClip(TGLClip* p)
voidSetCurrentCamera(TGLViewer::ECameraType camera)
voidSetDrawCameraCenter(Bool_t x)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
voidSetGuideState(Int_t axesType, Bool_t axesDepthTest, Bool_t referenceOn, const Double_t* referencePos)
voidSetIgnoreSizesOnUpdate(Bool_t v)
voidTGLViewerBase::SetLOD(Short_t lod)
voidSetMaxSceneDrawTimeHQ(Float_t t)
voidSetMaxSceneDrawTimeLQ(Float_t t)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOrthoCamera(TGLViewer::ECameraType camera, Double_t zoom, Double_t dolly, Double_t* center, Double_t hRotate, Double_t vRotate)
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)
voidSetSmartRefresh(Bool_t smart_ref)
voidTGLViewerBase::SetStyle(Short_t st)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Short_tTGLViewerBase::Style() const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTGLLockable::TakeLock(TGLLockable::ELock lock) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TGLViewerBase::SceneInfoList_iTGLViewerBase::FindScene(TGLSceneBase* scene)
voidInitGL()
voidMakeCurrent() const
voidTObject::MakeZombie()
voidPostDraw()
voidPreDraw()
voidSetupCameras(Bool_t reset)
voidSetViewport(Int_t x, Int_t y, Int_t width, Int_t height)
voidSwapBuffers() const
private:
TGLViewer(const TGLViewer&)
voidInitSecondaryObjects()
TGLViewer&operator=(const TGLViewer&)

Data Members

public:
enum ECameraType { kCameraPerspXOZ
kCameraPerspYOZ
kCameraPerspXOY
kCameraOrthoXOY
kCameraOrthoXOZ
kCameraOrthoZOY
};
enum EPushAction { kPushStd
kPushCamCenter
};
enum EDragAction { kDragNone
kDragCameraRotate
kDragCameraTruck
kDragCameraDolly
kDragOverlay
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum TGLLockable::ELock { kUnlocked
kDrawLock
kSelectLock
kModifyLock
};
protected:
TGLViewer::EDragActionfAction
UInt_tfActiveButtonID
Bool_tfAxesDepthTest! remove guides hidden-lines
Int_tfAxesType! axes type
TGLCamera*TGLViewerBase::fCameraCamera for rendering.
TGLCameraMarkupStyle*fCameraMarkup! markup size of viewport in scene units
Bool_tTGLViewerBase::fChangedChange requiring redraw is pending.
Color_tfClearColor! clear-color
TGLClip*TGLViewerBase::fClipViewer clipping-plane.
TGLClipSet*fClipSet!
TContextMenu*fContextMenu!
TGLCamera*fCurrentCamera!
TGLOverlayElement*fCurrentOvlElm! current overlay element
TGLSelectRecordfCurrentSelRec! select record in use as selected
Bool_tfDebugMode! debug mode (forced rebuild + draw scene/frustum/interest boxes)
Bool_tfDrawCameraCenter! reference marker on?
TGLContextIdentity*fGLCtxId!for embedded gl viewer
Int_tfGLDevice!for embedded gl viewer
TGLWidget*fGLWindow
Bool_tfIgnoreSizesOnUpdateignore sizes of bounding-boxes on update
Bool_tfInitGL! has GL been initialised?
Bool_tfIsPrinting
Short_tTGLViewerBase::fLODViewer-lod for rendering.
TPointfLastPos
TGLLightSet*fLightSet!
TGLLockable::ELockTGLLockable::fLockLock state.
Float_tfMaxSceneDrawTimeHQ! max time for scene rendering at high LOD (in ms)
Float_tfMaxSceneDrawTimeLQ! max time for scene rendering at high LOD (in ms)
TGLOrthoCamerafOrthoXOYCamera!
TGLOrthoCamerafOrthoXOZCamera!
TGLOrthoCamerafOrthoZOYCamera!
TGLBoundingBoxTGLViewerBase::fOverallBoundingBoxAxis-aligned union of scene bboxes.
vector<TGLOverlayElement*,allocator<TGLOverlayElement*> >TGLViewerBase::fOverlay
TGLOvlSelectRecordfOvlSelRec! select record from last overlay select
TVirtualPad*fPad! external pad - remove replace with signal
TGLPerspectiveCamerafPerspectiveCameraXOY!
TGLPerspectiveCamerafPerspectiveCameraXOZ!
TGLPerspectiveCamerafPerspectiveCameraYOZ!
TGLViewer::EPushActionfPushAction
TGLRedrawTimer*fRedrawTimer! timer for triggering redraws
Bool_tfReferenceOn! reference marker on?
TGLVertex3fReferencePos! reference position
Bool_tfResetCameraOnDoubleClickreposition camera on double-click
Bool_tfResetCamerasOnNextUpdatereposition camera on next update
Bool_tfResetCamerasOnUpdatereposition camera on each update
Bool_tTGLViewerBase::fResetSceneInfosOnRenderRequest rebuild of view-specific scene data.
TGLRnrCtx*TGLViewerBase::fRnrCtx
list<TGLSceneInfo*,allocator<TGLSceneInfo*> >TGLViewerBase::fScenesRegistered scenes.
TGLSelectRecordfSecSelRec! select record from last secondary select (should go to context)
TGLSelectRecordfSelRec! select record from last select (should go to context)
TGLManipSet*fSelectedPShapeRef!
Bool_tfSmartRefresh! cache logicals during scene rebuilds, use TAtt3D time-stamp to determine if they are still valid
Short_tTGLViewerBase::fStyleViewer-style for rendering.
TGLRectfViewport! viewport - drawn area
vector<TGLSceneInfo*,allocator<TGLSceneInfo*> >TGLViewerBase::fVisScenesVisible scenes.
private:
TQObjSenderfQObject

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLViewer(TVirtualPad* pad, Int_t x, Int_t y, Int_t width, Int_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
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
void InitSecondaryObjects()
 Common initialization.
~TGLViewer()
 Destroy viewer object.
void PadPaint(TVirtualPad* pad)
 Entry point for updating viewer contents via VirtualViewer3D
 interface.
 We search and forward the request to appropriate TGLScenePad.
 If it is not found we create a new TGLScenePad so this can
 potentially also be used for registration of new pads.
void UpdateScene()
 Force update of pad-scenes. Eventually this could be generalized
 to all scene-types via a virtual function in TGLSceneBase.
void ResetCurrentCamera()
 Resets position/rotation of current camera to default values.
void SetupCameras(Bool_t reset)
 Setup cameras for current bounding box.
void PostSceneBuildSetup(Bool_t resetCameras)
 Perform post scene-build setup.
void InitGL()
 Initialise GL state if not already done
void RequestDraw(Short_t LOD = TGLRnrCtx::kLODMed)
 Post request for redraw of viewer at level of detail 'LOD'
 Request is directed via cross thread gVirtualGL object.
void PreRender()
void DoDraw()
 Draw out the the current viewer/scene
void DrawGuides()
 Draw reference marker and coordinate axes.
void DrawCameraMarkup()
 Draw camera markup overlay.
void DrawDebugInfo()
 If in debug mode draw camera aids and overall bounding box.
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(Int_t x, Int_t y, Bool_t trySecSel = kFALSE)
 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(Int_t x, Int_t y, Bool_t trySecSel = kFALSE)
 Perform GL selection, picking objects overlapping WINDOW
 area described by 'rect'. Return kTRUE if selection should be
 changed, kFALSE otherwise.
 Select lock should already been taken in other thread in
 TGLViewer::ReqSelect().
void ApplySelection()
 Process result from last selection (in fSelRec) and
 extract a new current selection from it.
 Here we only use physical shape.
Bool_t RequestOverlaySelect(Int_t x, Int_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 DoOverlaySelect(Int_t x, Int_t y)
 Perform GL selection, picking overlay objects only.
 Return TRUE if the selected overlay-element has changed.
void SetViewport(Int_t x, Int_t y, Int_t width, Int_t height)
 Set viewer viewport (window area) with bottom/left at (x,y), with
 dimensions 'width'/'height'
TGLCamera& RefCamera(TGLViewer::ECameraType camera)
 Return camera reference by type.
void SetCurrentCamera(TGLViewer::ECameraType camera)
 Set current active camera - 'cameraType' one of:
 kCameraPerspX, kCameraPerspY, kCameraPerspZ
 kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY
void SetOrthoCamera(TGLViewer::ECameraType camera, Double_t zoom, Double_t dolly, Double_t* center, Double_t hRotate, Double_t vRotate)
 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 / XOZ / ZOY
 '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(TGLViewer::ECameraType camera, Double_t fov, Double_t dolly, Double_t* center, 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 GetGuideState(Int_t& axesType, Bool_t& axesDepthTest, Bool_t& referenceOn, Double_t* referencePos) const
 Fetch the state of guides (axes & reference markers) into arguments
void SetGuideState(Int_t axesType, Bool_t axesDepthTest, Bool_t referenceOn, const Double_t* referencePos)
 Set the state of guides (axes & reference markers) from arguments.
void SetDrawCameraCenter(Bool_t x)
 Draw camera look at and rotation point.
const TGLPhysicalShape * GetSelected()
 Return selected physical shape.
void SelectionChanged()
 Emit signal indicating selection has changed.
void OverlayDragFinished()
 Emit signal indicating that an overlay drag has finished.
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Calcaulate and return pixel 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* ev)
 Handle generic Event_t type 'event' - provided to catch focus changes
 and terminate any interaction in viewer.
Bool_t HandleButton(Event_t* ev)
 Handle mouse button 'event'.
Bool_t HandleDoubleClick(Event_t* ev)
 Handle mouse double click 'event'.
Bool_t HandleConfigureNotify(Event_t* ev)
 Handle configure notify 'event' - a window resize/movement.
Bool_t HandleKey(Event_t* ev)
 Handle keyboard 'event'.
Bool_t HandleMotion(Event_t* ev)
 Handle mouse motion 'event'.
Bool_t HandleExpose(Event_t* ev)
 Handle window expose 'event' - show.
void Repaint()
 Handle window expose 'event' - show.
void PrintObjects()
 Pass viewer for print capture by TGLOutput.
TGLViewer(const TGLViewer &)
TGLViewer & operator=(const TGLViewer& )
Bool_t CanLoopOnPrimitives()
 TVirtualViewer3D interface ... mostly a facade
 Forward to TGLScenePad
{ return kTRUE; }
Bool_t PreferLocalFrame()
 Only implemented because they're abstract ... should throw an
 exception or assert they are not called.
{ return kTRUE; }
void BeginScene()
{}
Bool_t BuildingScene()
{ return kFALSE; }
void EndScene()
{}
Int_t AddObject(const TBuffer3D& , Bool_t* = 0)
{ return TBuffer3D::kNone; }
Int_t AddObject(UInt_t , const TBuffer3D& , Bool_t* = 0)
{ return TBuffer3D::kNone; }
Bool_t OpenComposite(const TBuffer3D& , Bool_t* = 0)
{ return kFALSE; }
void CloseComposite()
{}
void AddCompositeOp(UInt_t )
{}
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; }
TGLLightSet* GetLightSet()
{ return fLightSet; }
TGLClipSet * GetClipSet()
{ return fClipSet; }
TGLCamera & CurrentCamera()
 External GUI component interface
{ return *fCurrentCamera; }
Bool_t GetDrawCameraCenter()
{ return fDrawCameraCenter; }
void PickCameraCenter()
{ fPushAction = kPushCamCenter; RefreshPadEditor(this); }
TGLCameraMarkupStyle* GetCameraMarkup()
{ return fCameraMarkup; }
void SetCameraMarkup(TGLCameraMarkupStyle* m)
{ fCameraMarkup = m; }
EPushAction GetPushAction()
{ return fPushAction; }
EDragAction GetAction()
{ return fAction; }
Float_t GetMaxSceneDrawTimeHQ()
 Draw and selection
 Scene rendering timeouts
{ return fMaxSceneDrawTimeHQ; }
Float_t GetMaxSceneDrawTimeLQ()
{ return fMaxSceneDrawTimeLQ; }
void SetMaxSceneDrawTimeHQ(Float_t t)
{ fMaxSceneDrawTimeHQ = t; }
void SetMaxSceneDrawTimeLQ(Float_t t)
{ fMaxSceneDrawTimeLQ = t; }
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; }

Author: Richard Maunder 25/05/2005
Last update: root/gl:$Id: TGLViewer.h 21702 2008-01-14 18:55:14Z matevz $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

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.