mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-03-03 17:49:41 +00:00
Part two
This commit is contained in:
parent
7309be8592
commit
19c74a4d6e
4 changed files with 17 additions and 25 deletions
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue