library: libRGL #include "TViewerOpenGL.h" |
TViewerOpenGL
class description - source file - inheritance tree (.pdf)
private:
TViewerOpenGL(const TViewerOpenGL&)
void AddValidatedObject(UInt_t placedID, const TBuffer3D& buffer, Bool_t* addChildren)
RootCsg::BaseMesh* BuildComposite()
void CalculateViewports()
void CalculateViewvolumes()
virtual void CloseWindow()
void CreateCameras()
void CreateViewer()
void DrawObjects() const
void MakeCurrent() const
void MoveCenter(Int_t key)
TViewerOpenGL& operator=(const TViewerOpenGL&)
void PrintObjects() const
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
void Show()
void SwapBuffers() const
TGLSceneObject* TestSelection(Event_t*)
void UpdateRange(const TGLSelection* box)
public:
TViewerOpenGL(TVirtualPad* pad)
~TViewerOpenGL()
virtual void AddCompositeOp(UInt_t operation)
virtual Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual Int_t AddObject(UInt_t placedID, const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual void BeginScene()
virtual Bool_t BuildingScene() const
static TClass* Class()
virtual void CloseComposite()
virtual void EndScene()
Bool_t HandleContainerButton(Event_t* ev)
Bool_t HandleContainerConfigure(Event_t* ev)
Bool_t HandleContainerExpose(Event_t* ev)
Bool_t HandleContainerKey(Event_t* ev)
Bool_t HandleContainerMotion(Event_t* ev)
virtual TClass* IsA() const
void ModifyScene(Int_t id)
virtual void OpenComposite(const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual Bool_t PreferLocalFrame() const
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
TGCompositeFrame* fMainFrame
TGVerticalFrame* fV1
TGVerticalFrame* fV2
TGLColorEditor* fColorEditor
TGLGeometryEditor* fGeomEditor
TGLSceneEditor* fSceneEditor
TGLLightEditor* fLightEditor
TGCanvas* fCanvasWindow
TGLRenderArea* fCanvasContainer
TGLRender* fRender
TGShutter* fShutter
TGShutterItem* fShutItem1
TGShutterItem* fShutItem2
TGShutterItem* fShutItem3
TGShutterItem* fShutItem4
TGLayoutHints* fL1
TGLayoutHints* fL2
TGLayoutHints* fL3
TGLayoutHints* fL4
TGLayoutHints* fCanvasLayout
TGMenuBar* fMenuBar
TGPopupMenu* fFileMenu
TGPopupMenu* fViewMenu
TGPopupMenu* fHelpMenu
TGLayoutHints* fMenuBarLayout
TGLayoutHints* fMenuBarItemLayout
TGLayoutHints* fMenuBarHelpLayout
TGLCamera* fCamera[4]
Double_t fViewVolume[4]
Double_t fZoom[4]
Int_t fActiveViewport[4]
Int_t fLightMask
pair<double,double> fRangeX
pair<double,double> fRangeY
pair<double,double> fRangeZ
pair<double,double> fLastPosRot
Double_t fXc
Double_t fYc
Double_t fZc
Double_t fRad
Bool_t fPressed
TArcBall* fArcBall
UInt_t fNbShapes
TPoint fLastPos
TViewerOpenGL::EViews fConf
TContextMenu* fContextMenu
TGLSceneObject* fSelectedObj
TViewerOpenGL::EAction fAction
Bool_t fBuildingScene
TVirtualPad* fPad
Bool_t fFirstScene
Bool_t fInsideComposite
UInt_t fCSLevel
vector<CSPART_t> fCSTokens
TViewerOpenGL:: fNewComposite
static const Int_t fgInitX
static const Int_t fgInitY
static const Int_t fgInitW
static const Int_t fgInitH
public:
static const TViewerOpenGL::EViews kXOY
static const TViewerOpenGL::EViews kXOZ
static const TViewerOpenGL::EViews kYOZ
static const TViewerOpenGL::EViews kPERSP
static const TViewerOpenGL::EAction kNoAction
static const TViewerOpenGL::EAction kRotating
static const TViewerOpenGL::EAction kPicking
static const TViewerOpenGL::EAction kZooming
TViewerOpenGL(TVirtualPad * pad) :
TGMainFrame(gClient->GetDefaultRoot(), fgInitW, fgInitH),
fCamera(), fViewVolume(), fZoom(),
fActiveViewport(), fBuildingScene(kFALSE),
fPad(pad), fFirstScene(kTRUE), fInsideComposite(kFALSE)
Create OpenGL viewer.
void CreateViewer()
~TViewerOpenGL()
void MakeCurrent()const
void SwapBuffers()const
Bool_t HandleContainerButton(Event_t *event)
Handle mouse button events.
Buttons 4 and 5 are from the mouse scroll wheel
Bool_t HandleContainerConfigure(Event_t *event)
Bool_t HandleContainerKey(Event_t *event)
Bool_t HandleContainerMotion(Event_t *event)
Bool_t HandleContainerExpose(Event_t *)
void Show()
void CloseWindow()
void DrawObjects()const
void PrintObjects() const
Generates a PostScript or PDF output of the OpenGL scene. They are vector
graphics files and can be huge and long to generate.
void UpdateRange(const TGLSelection *box)
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t)
TGLSceneObject* TestSelection(Event_t *event)
void CalculateViewports()
void CalculateViewvolumes()
void CreateCameras()
void ModifyScene(Int_t wid)
void MoveCenter(Int_t key)
Bool_t PreferLocalFrame() const
Not at present - but in the future....
void BeginScene()
Scene builds can't be nested
void EndScene()
Int_t AddObject(const TBuffer3D & buffer, Bool_t * addChildren)
Int_t AddObject(UInt_t placedID, const TBuffer3D & buffer, Bool_t * addChildren)
Currently we protect against add objects being added outside a scene build
as there are problems with mutliple 3D viewers on pad
void AddValidatedObject(UInt_t placedID, const TBuffer3D & buffer, Bool_t * addChildren)
void OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren)
void CloseComposite()
void AddCompositeOp(UInt_t operation)
RootCsg::BaseMesh* BuildComposite()
Inline Functions
Bool_t BuildingScene() const
TViewerOpenGL TViewerOpenGL(const TViewerOpenGL&)
TViewerOpenGL& operator=(const TViewerOpenGL&)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Timur Pocheptsov 03/08/2004
Last update: root/gl:$Name: $:$Id: TViewerOpenGL.cxx,v 1.56 2005/04/28 13:54:04 brun Exp $
Copyright (C) 1995-2004, 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.