+ port Sandbox module to Quarter

This commit is contained in:
wmayer 2014-10-19 12:16:33 +02:00
parent bd1bbff874
commit 21eae7f900
3 changed files with 12 additions and 92 deletions

View File

@ -46,9 +46,6 @@
# include <Inventor/nodes/SoAnnotation.h>
# include <Inventor/nodes/SoImage.h>
# include <Inventor/nodes/SoCone.h>
# include <Inventor/Qt/viewers/SoQtPlaneViewer.h>
# include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
# include <Inventor/Qt/viewers/SoQtFlyViewer.h>
# include <cmath>
# include <boost/thread/thread.hpp>
# include <boost/thread/mutex.hpp>
@ -1188,72 +1185,6 @@ void CmdTestWidgetShape::activated(int iMsg)
static_cast<SoGroup*>(viewer->getSceneGraph())->addChild(shape);
}
//===========================================================================
// Sandbox_PlaneViewer
//===========================================================================
DEF_STD_CMD(CmdSandboxPlaneViewer);
CmdSandboxPlaneViewer::CmdSandboxPlaneViewer()
: Command("Sandbox_PlaneViewer")
{
sGroup = "Standard-Test";
sMenuText = "Plane viewer";
sToolTipText = "Plane viewer";
sWhatsThis = sToolTipText;
sStatusTip = sToolTipText;
}
void CmdSandboxPlaneViewer::activated(int iMsg)
{
SoQtPlaneViewer* viewer = new SoQtPlaneViewer();
viewer->show();
viewer->setSceneGraph(new SoCone);
}
//===========================================================================
// Sandbox_ExaminerViewer
//===========================================================================
DEF_STD_CMD(CmdSandboxExaminerViewer);
CmdSandboxExaminerViewer::CmdSandboxExaminerViewer()
: Command("Sandbox_ExaminerViewer")
{
sGroup = "Standard-Test";
sMenuText = "Examiner viewer";
sToolTipText = "Examiner viewer";
sWhatsThis = sToolTipText;
sStatusTip = sToolTipText;
}
void CmdSandboxExaminerViewer::activated(int iMsg)
{
SoQtExaminerViewer* viewer = new SoQtExaminerViewer();
viewer->show();
viewer->setSceneGraph(new SoCone);
}
//===========================================================================
// Sandbox_FlyViewer
//===========================================================================
DEF_STD_CMD(CmdSandboxFlyViewer);
CmdSandboxFlyViewer::CmdSandboxFlyViewer()
: Command("Sandbox_FlyViewer")
{
sGroup = "Standard-Test";
sMenuText = "Fly viewer";
sToolTipText = "Fly viewer";
sWhatsThis = sToolTipText;
sStatusTip = sToolTipText;
}
void CmdSandboxFlyViewer::activated(int iMsg)
{
SoQtFlyViewer* viewer = new SoQtFlyViewer();
viewer->show();
viewer->setSceneGraph(new SoCone);
}
// -------------------------------------------------------------------------------
DEF_STD_CMD(CmdMengerSponge);
@ -1479,9 +1410,6 @@ void CreateSandboxCommands(void)
rcCmdMgr.addCommand(new CmdTestGDIWidget());
rcCmdMgr.addCommand(new CmdTestRedirectPaint());
rcCmdMgr.addCommand(new CmdTestCryptographicHash());
rcCmdMgr.addCommand(new CmdSandboxPlaneViewer());
rcCmdMgr.addCommand(new CmdSandboxExaminerViewer());
rcCmdMgr.addCommand(new CmdSandboxFlyViewer());
rcCmdMgr.addCommand(new CmdMengerSponge());
rcCmdMgr.addCommand(new CmdTestGraphicsView());
}

View File

@ -44,11 +44,10 @@
using namespace SandboxGui;
class MyPaintable : public Gui::GLGraphicsItem
{
QGLFramebufferObject* fbo;
SoQtViewer* view;
Gui::View3DInventorViewer* view;
QImage img;
public:
~MyPaintable()
@ -87,14 +86,14 @@ public:
//img = fbo->toImage();
//img = QGLWidget::convertToGLFormat(img);
view->scheduleRedraw();
view->getSoRenderManager()->scheduleRedraw();
}
#ifndef GL_MULTISAMPLE
#define GL_MULTISAMPLE 0x809D
#endif
void paintGL()
{
const SbViewportRegion vp = view->getViewportRegion();
const SbViewportRegion vp = view->getSoRenderManager()->getViewportRegion();
SbVec2s size = vp.getViewportSizePixels();
glMatrixMode(GL_PROJECTION);
@ -148,12 +147,12 @@ class Teapots : public Gui::GLGraphicsItem
QPoint rubberBandCorner1;
QPoint rubberBandCorner2;
bool rubberBandIsShown;
SoQtViewer* view;
Gui::View3DInventorViewer* view;
public:
Teapots(Gui::View3DInventorViewer* v) :view(v)
{
const SbViewportRegion vp = view->getViewportRegion();
const SbViewportRegion vp = view->getSoRenderManager()->getViewportRegion();
SbVec2s size = vp.getViewportSizePixels();
rubberBandIsShown = false;
@ -170,7 +169,7 @@ Teapots(Gui::View3DInventorViewer* v) :view(v)
rubberBandCorner2.setX(800);
rubberBandCorner2.setY(600);
view->scheduleRedraw();
view->getSoRenderManager()->scheduleRedraw();
}
~Teapots()
@ -235,14 +234,14 @@ void resizeGL(int width, int height)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDepthRange(0.1,1.0);
SoGLRenderAction gl(SbViewportRegion(fbObject->size().width(),fbObject->size().height()));
gl.apply(view->getSceneManager()->getSceneGraph());
gl.apply(view->getSoRenderManager()->getSceneGraph());
fbObject->release();
#endif
}
void paintGL()
{
const SbViewportRegion vp = view->getViewportRegion();
const SbViewportRegion vp = view->getSoRenderManager()->getViewportRegion();
SbVec2s size = vp.getViewportSizePixels();
@ -342,7 +341,7 @@ Rubberband(Gui::View3DInventorViewer* v) :view(v)
rubberBandCorner2.setX(800);
rubberBandCorner2.setY(600);
v->setRenderFramebuffer(true);
v->scheduleRedraw();
v->getSoRenderManager()->scheduleRedraw();
}
~Rubberband()
@ -351,7 +350,7 @@ Rubberband(Gui::View3DInventorViewer* v) :view(v)
void paintGL()
{
const SbViewportRegion vp = view->getViewportRegion();
const SbViewportRegion vp = view->getSoRenderManager()->getViewportRegion();
SbVec2s size = vp.getViewportSizePixels();
@ -497,7 +496,7 @@ void DrawingPlane::terminate()
glDepthRange(0.1,1.0);
glEnable(GL_LINE_SMOOTH);
SoGLRenderAction a(SbViewportRegion(128,128));
a.apply(_pcView3D->getSceneManager()->getSceneGraph());
a.apply(_pcView3D->getSoRenderManager()->getSceneGraph());
fbo->release();
fbo->toImage().save(QString::fromAscii("C:/Temp/DrawingPlane.png"));
delete fbo;
@ -506,7 +505,7 @@ void DrawingPlane::terminate()
void DrawingPlane::draw ()
{return;
if (1/*mustRedraw*/) {
SbVec2s view = _pcView3D->getSize();
SbVec2s view = _pcView3D->getSoRenderManager()->getSize();
static_cast<QGLWidget*>(_pcView3D->getGLWidget())->makeCurrent();
glMatrixMode(GL_PROJECTION);
glPushMatrix();

View File

@ -106,13 +106,6 @@ Gui::MenuItem* Workbench::setupMenuBar() const
<< "Sandbox_GDIWidget"
<< "Sandbox_RedirectPaint"
<< "Std_TestGraphicsView";
Gui::MenuItem* viewer = new Gui::MenuItem;
root->insertItem(item, viewer);
viewer->setCommand("Viewer");
*viewer << "Sandbox_PlaneViewer"
<< "Sandbox_ExaminerViewer"
<< "Sandbox_FlyViewer";
return root;
}