Toggle navigation
Toggle navigation
This project
Loading...
Sign in
arcs
/
ARCS2-Components
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Jean-Yves Didier
2013-08-17 12:48:53 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
305eed899ba9b7abafcc81f3a85b3790027afa21
305eed89
1 parent
33eda020
Mise en place d'un viewer osg qui tient la route.
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
68 additions
and
0 deletions
scene/osg/osgviewer.cpp
scene/osg/osgviewer.h
scene/osg/osgviewer.cpp
0 → 100644
View file @
305eed8
#include "osgviewer.h"
#include <osgViewer/ViewerEventHandlers>
#include <osgGA/StateSetManipulator>
#include <osgGA/TrackballManipulator>
#include <osg/DisplaySettings>
#include <osg/GraphicsContext>
#include <QGridLayout>
#include <iostream>
OSGViewer
::
OSGViewer
(
QObject
*
parent
)
:
osgQt
::
GLWidget
(
dynamic_cast
<
QWidget
*>
(
parent
))
{
viewer
=
new
osgViewer
::
Viewer
();
osgQt
::
GraphicsWindowQt
*
graphicsWindow
=
new
osgQt
::
GraphicsWindowQt
(
this
);
viewer
->
setThreadingModel
(
osgViewer
::
Viewer
::
AutomaticSelection
);
resize
(
640
,
480
);
viewer
->
getCamera
()
->
setGraphicsContext
(
graphicsWindow
);
viewer
->
getCamera
()
->
setViewport
(
new
osg
::
Viewport
(
0
,
0
,
width
(),
height
()));
if
(
!
viewer
->
getCameraManipulator
()
&&
viewer
->
getCamera
()
->
getAllowEventFocus
())
viewer
->
setCameraManipulator
(
new
osgGA
::
TrackballManipulator
());
viewer
->
addEventHandler
(
new
osgViewer
::
StatsHandler
);
viewer
->
addEventHandler
(
new
osgViewer
::
WindowSizeHandler
);
viewer
->
addEventHandler
(
new
osgGA
::
StateSetManipulator
(
viewer
->
getCamera
()
->
getOrCreateStateSet
()));
osgQt
::
setViewer
(
viewer
);
}
scene/osg/osgviewer.h
0 → 100644
View file @
305eed8
#ifndef __OSGVIEWER_H__
#define __OSGVIEWER_H__
#include <QObject>
#include <QWidget>
#include <osgViewer/Viewer>
#include <osgQt/GraphicsWindowQt>
#include <QTimer>
#include <iostream>
class
OSGViewer
:
public
osgQt
::
GLWidget
{
Q_OBJECT
public
:
explicit
OSGViewer
(
QObject
*
parent
=
0
);
public
slots
:
void
setSceneData
(
osg
::
Object
*
object
)
{
osg
::
Node
*
node
=
dynamic_cast
<
osg
::
Node
*>
(
object
);
if
(
node
)
{
viewer
->
setSceneData
(
node
);
}
}
void
realize
()
{
show
();
redrawScene
();
}
private
slots
:
void
redrawScene
()
{
viewer
->
frame
();
QTimer
::
singleShot
(
25
,
this
,
SLOT
(
redrawScene
()));
}
private
:
osgViewer
::
Viewer
*
viewer
;
};
#endif // OSGVIEWER_H
Please
register
or
login
to post a comment