1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-03 17:49:41 +00:00
This commit is contained in:
LohikaarmeHAV 2016-08-03 20:39:46 +03:00
parent 7309be8592
commit 19c74a4d6e
4 changed files with 17 additions and 25 deletions

View file

@ -37,10 +37,9 @@ namespace CSMWorld
/// ///
/// \note The worldspace part of \a id is ignored /// \note The worldspace part of \a id is ignored
static std::pair<CellCoordinates, bool> fromId (const std::string& id); static std::pair<CellCoordinates, bool> fromId (const std::string& id);
/// \return cell coordinates such that given world coordinates are in it. /// \return cell coordinates such that given world coordinates are in it.
static std::pair<int, int> coordinatesToCellIndex (float x, float y); static std::pair<int, int> coordinatesToCellIndex (float x, float y);
}; };
bool operator== (const CellCoordinates& left, const CellCoordinates& right); bool operator== (const CellCoordinates& left, const CellCoordinates& right);

View file

@ -84,7 +84,7 @@ namespace CSVRender
/// hint system. /// hint system.
virtual ~PagedWorldspaceWidget(); virtual ~PagedWorldspaceWidget();
/// Decodes the the hint string to set of cell that are rendered. /// Decodes the the hint string to set of cell that are rendered.
void useViewHint (const std::string& hint); void useViewHint (const std::string& hint);

View file

@ -32,7 +32,7 @@ RenderWidget::RenderWidget(QWidget *parent, Qt::WindowFlags f)
: QWidget(parent, f) : QWidget(parent, f)
, mRootNode(0) , mRootNode(0)
{ {
osgViewer::CompositeViewer& viewer = CompositeViewer::get(); osgViewer::CompositeViewer& viewer = CompositeViewer::get();
osg::DisplaySettings* ds = osg::DisplaySettings::instance().get(); osg::DisplaySettings* ds = osg::DisplaySettings::instance().get();

View file

@ -7,14 +7,15 @@
#include <QWidget> #include <QWidget>
#include <QTimer> #include <QTimer>
#include <osgViewer/View>
#include <osgViewer/CompositeViewer>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "lightingday.hpp" #include "lightingday.hpp"
#include "lightingnight.hpp" #include "lightingnight.hpp"
#include "lightingbright.hpp" #include "lightingbright.hpp"
#include <osgViewer/View>
#include <osgViewer/CompositeViewer>
namespace Resource namespace Resource
{ {
@ -53,6 +54,7 @@ namespace CSVRender
RenderWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); RenderWidget(QWidget* parent = 0, Qt::WindowFlags f = 0);
virtual ~RenderWidget(); virtual ~RenderWidget();
/// Initiates a request to redraw the view
void flagAsModified(); void flagAsModified();
void setVisibilityMask(int mask); void setVisibilityMask(int mask);
@ -62,13 +64,16 @@ namespace CSVRender
protected: protected:
osg::ref_ptr<osgViewer::View> mView; osg::ref_ptr<osgViewer::View> mView;
osg::ref_ptr<osg::Group> mRootNode;
osg::Group* mRootNode;
QTimer mTimer; QTimer mTimer;
protected slots:
void toggleRenderStats();
}; };
// Extension of RenderWidget to support lighting mode selection & toolbar /// Extension of RenderWidget to support lighting mode selection & toolbar
class SceneWidget : public RenderWidget class SceneWidget : public RenderWidget
{ {
Q_OBJECT Q_OBJECT
@ -90,18 +95,8 @@ namespace CSVRender
void setAmbient(const osg::Vec4f& ambient); void setAmbient(const osg::Vec4f& ambient);
virtual void mousePressEvent (QMouseEvent *event);
virtual void mouseReleaseEvent (QMouseEvent *event);
virtual void mouseMoveEvent (QMouseEvent *event); virtual void mouseMoveEvent (QMouseEvent *event);
virtual void wheelEvent (QWheelEvent *event); virtual void wheelEvent (QWheelEvent *event);
virtual void keyPressEvent (QKeyEvent *event);
virtual void keyReleaseEvent (QKeyEvent *event);
virtual void focusOutEvent (QFocusEvent *event);
/// \return Is \a key a button mapping setting? (ignored otherwise)
virtual bool storeMappingSetting (const CSMPrefs::Setting *setting);
std::string mapButton (QMouseEvent *event);
boost::shared_ptr<Resource::ResourceSystem> mResourceSystem; boost::shared_ptr<Resource::ResourceSystem> mResourceSystem;
@ -114,17 +109,15 @@ namespace CSVRender
LightingBright mLightingBright; LightingBright mLightingBright;
int mPrevMouseX, mPrevMouseY; int mPrevMouseX, mPrevMouseY;
std::string mMouseMode;
std::auto_ptr<FreeCameraController> mFreeCamControl;
std::auto_ptr<OrbitCameraController> mOrbitCamControl;
CameraController* mCurrentCamControl;
/// Tells update that camera isn't set /// Tells update that camera isn't set
bool mCamPositionSet; bool mCamPositionSet;
std::map<std::pair<Qt::MouseButton, bool>, std::string> mButtonMapping; FreeCameraController* mFreeCamControl;
OrbitCameraController* mOrbitCamControl;
CameraController* mCurrentCamControl;
public slots: public slots:
/// \note Remember set the camera before running
void update(double dt); void update(double dt);
protected slots: protected slots: