Skip to content
Snippets Groups Projects
Commit 282ba665 authored by Rene Brun's avatar Rene Brun
Browse files

Some improvements by Valery in the Inventor interface.

git-svn-id: http://root.cern.ch/svn/root/trunk@2199 27541ba8-7e3a-0410-8455-c3a389f83636
parent fe7613ff
No related branches found
No related tags found
No related merge requests found
// @(#)root/g3d:$Name: $:$Id: TGLViewerImp.h,v 1.1.1.1 2000/05/16 17:00:43 rdm Exp $ // @(#)root/g3d:$Name: $:$Id: TGLViewerImp.h,v 1.2 2001/05/14 15:24:08 fine Exp $
// Author: Valery Fine 23/05/97 // Author: Valery Fine 23/05/97
/************************************************************************* /*************************************************************************
...@@ -52,6 +52,7 @@ public: ...@@ -52,6 +52,7 @@ public:
virtual void DeleteContext() { } virtual void DeleteContext() { }
virtual void DeleteView(); virtual void DeleteView();
virtual void HandleInput(EEventType button, Int_t x, Int_t y); virtual void HandleInput(EEventType button, Int_t x, Int_t y);
TPadOpenGLView *GetGLView();
virtual void MakeCurrent() { }; virtual void MakeCurrent() { };
virtual void Paint(Option_t *opt=""); virtual void Paint(Option_t *opt="");
...@@ -72,7 +73,9 @@ public: ...@@ -72,7 +73,9 @@ public:
inline void TGLViewerImp::CreateStatusBar(Int_t) { } inline void TGLViewerImp::CreateStatusBar(Int_t) { }
inline void TGLViewerImp::CreateStatusBar(Int_t *, Int_t) { } inline void TGLViewerImp::CreateStatusBar(Int_t *, Int_t) { }
inline TPadOpenGLView *TGLViewerImp::GetGLView() { return fGLView;}
inline void TGLViewerImp::SetStatusText(const char *, Int_t, Int_t) { } inline void TGLViewerImp::SetStatusText(const char *, Int_t, Int_t) { }
inline void TGLViewerImp::ShowStatusBar(Bool_t) { } inline void TGLViewerImp::ShowStatusBar(Bool_t) { }
// $log$
#endif #endif
// @(#)root/gl:$Name:$:$Id:$ // @(#)root/gl:$Name: $:$Id: TRootOIViewer.cxx,v 1.4 2001/05/14 15:25:38 fine Exp $
// Author: Valery Fine & Fons Rademakers 5/10/2000 and 28/4/2001 // Author: Valery Fine & Fons Rademakers 5/10/2000 and 28/4/2001
/************************************************************************* /*************************************************************************
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#include "Buttons.h" #include "Buttons.h"
#include "TVirtualPad.h" #include "TVirtualPad.h"
#include "TPadOpenGLView.h" #include "TPadOpenGLView.h"
#include "TView.h"
#include "TVirtualGL.h" #include "TVirtualGL.h"
#include "TColor.h" #include "TColor.h"
#include "TSystem.h" #include "TSystem.h"
...@@ -71,16 +72,19 @@ void InventorCallback(void *d, SoAction *action) ...@@ -71,16 +72,19 @@ void InventorCallback(void *d, SoAction *action)
glDisable(GL_COLOR_MATERIAL); glDisable(GL_COLOR_MATERIAL);
} else if (action->isOfType(SoGetBoundingBoxAction::getClassTypeId())) { } else if (action->isOfType(SoGetBoundingBoxAction::getClassTypeId())) {
Double_t minBound[3] = { -1000, -1000, -1000 }; // define the default range
Double_t maxBound[3] = { 1000, 1000, 1000 }; Float_t minBound[3]={-1000,-1000,-1000};
Float_t maxBound[3]={ 1000, 1000, 1000};
// currentViewer->GetGLView()->GetRange(minBound,maxBound); // pick the "real" range provided by TPad object
currentViewer->GetGLView()->GetPad()->GetView()->GetRange(minBound,maxBound);
if (minBound[0] == maxBound[0]) if (minBound[0] == maxBound[0])
SoCacheElement::invalidate(action->getState()); SoCacheElement::invalidate(action->getState());
((SoGetBoundingBoxAction *)action)-> ((SoGetBoundingBoxAction *)action)->
extendBy(SbBox3f(minBound[0],minBound[1],minBound[2], extendBy(SbBox3f(minBound[0],minBound[1],minBound[2]
maxBound[0],maxBound[2],maxBound[2])); ,maxBound[0],maxBound[2],maxBound[2])
);
} }
} }
} }
...@@ -284,6 +288,7 @@ void TRootOIViewer::CreateViewer(const char *title) ...@@ -284,6 +288,7 @@ void TRootOIViewer::CreateViewer(const char *title)
fInventorViewer = new SoXtExaminerViewer(fTopLevel); fInventorViewer = new SoXtExaminerViewer(fTopLevel);
fInventorViewer->setSceneGraph(fRootNode); fInventorViewer->setSceneGraph(fRootNode);
fInventorViewer->setTitle(title); fInventorViewer->setTitle(title);
fInventorViewer->setSize(SbVec2s((short)GetWidth(), (short)GetHeight()));
// Pick the background color // Pick the background color
TVirtualPad *thisPad = fGLView->GetPad(); TVirtualPad *thisPad = fGLView->GetPad();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment