git-svn-id: svn://db.shs.com.ru/libs@631 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -26,11 +26,13 @@
|
||||
#include "glscene.h"
|
||||
#include "glrendererbase.h"
|
||||
#include "renderer.h"
|
||||
#include "mouse_controller.h"
|
||||
#include <QTime>
|
||||
|
||||
|
||||
class QGLView: public OpenGLWindow
|
||||
{
|
||||
friend class MouseController;
|
||||
friend class GLRendererBase;
|
||||
friend class TextureManager;
|
||||
friend class ObjectBase;
|
||||
@@ -117,10 +119,10 @@ public:
|
||||
float fogEnd() const {return fogEnd_;}
|
||||
bool isFogEnabled() const {return fogEnabled_;}
|
||||
bool isLightEnabled() const {return lightEnabled_;}
|
||||
bool isGrabMouseEnabled() const {return grabMouse_;}
|
||||
bool isMouseRotateEnabled() const {return mouseRotate_;}
|
||||
bool isMouseSelectionEnabled() const {return mouseSelect_;}
|
||||
bool isCameraOrbit() const {return cameraOrbit_;}
|
||||
bool isGrabMouseEnabled() const {return mouse.isGrabMouseEnabled();}
|
||||
bool isMouseRotateEnabled() const {return mouse.isMouseRotateEnabled();}
|
||||
bool isMouseSelectionEnabled() const {return mouse.isMouseSelectionEnabled();}
|
||||
bool isCameraOrbit() const {return mouse.isCameraOrbit();}
|
||||
bool isHoverHaloEnabled() const {return hoverHalo_;}
|
||||
QColor hoverHaloColor() const {return hoverHaloColor_;}
|
||||
float hoverHaloFillAlpha() const {return hoverHaloFill_;}
|
||||
@@ -137,37 +139,37 @@ public:
|
||||
|
||||
// void addObject(GLObjectBase & o) {addObject(&o);}
|
||||
|
||||
Scene::SelectionMode selectionMode() const;
|
||||
Qt::MouseButton selectionButton() const {return sel_button;}
|
||||
Qt::KeyboardModifier selectionModifier() const {return sel_mod;}
|
||||
Scene::SelectionMode selectionMode() const {return scene_->selectionMode();}
|
||||
Qt::MouseButton selectionButton() const {return mouse.selectionButton();}
|
||||
Qt::KeyboardModifier selectionModifier() const {return mouse.selectionModifier();}
|
||||
|
||||
void setSelectionMode(Scene::SelectionMode m);
|
||||
void setSelectionButton(Qt::MouseButton v) {sel_button = v;}
|
||||
void setSelectionModifier(Qt::KeyboardModifier v) {sel_mod = v;}
|
||||
void setSelectionMode(Scene::SelectionMode m) {scene_->setSelectionMode(m);}
|
||||
void setSelectionButton(Qt::MouseButton v) {mouse.setSelectionButton(v);}
|
||||
void setSelectionModifier(Qt::KeyboardModifier v) {mouse.setSelectionModifier(v);}
|
||||
|
||||
void selectObject(ObjectBase * o, bool add_to_selection = false);
|
||||
void clearSelection();
|
||||
QList<ObjectBase * > selectedObjects() const;
|
||||
ObjectBase * selectedObject() const;
|
||||
void selectObject(ObjectBase * o, bool add_to_selection = false) {scene_->selectObject(o, add_to_selection);}
|
||||
void clearSelection() {scene_->clearSelection();}
|
||||
QList<ObjectBase * > selectedObjects() const {return scene_->selectedObjects();}
|
||||
ObjectBase * selectedObject() const {return scene_->selectedObject();}
|
||||
|
||||
TextureManager * textureManager();
|
||||
void reloadTextures();
|
||||
TextureManager * textureManager() {return renderer_.textures_manager;}
|
||||
void reloadTextures() {renderer_.markReloadTextures();}
|
||||
|
||||
Scene * scene() {return scene_;}
|
||||
void focusOn(const Box3D & bb);
|
||||
void setCameraLightOn(bool on);
|
||||
bool isCameraLightOn() const;
|
||||
void setCameraLightOn(bool on) {renderer_.setCameraLightOn(on);}
|
||||
bool isCameraLightOn() const {return renderer_.isCameraLightOn();}
|
||||
|
||||
Camera * camera();
|
||||
const Camera * camera() const;
|
||||
void setCamera(Camera * camera);
|
||||
Camera * camera() {return camera_;}
|
||||
const Camera * camera() const {return camera_;}
|
||||
void setCamera(Camera * camera) {camera_ = camera;}
|
||||
QByteArray saveCamera();
|
||||
void restoreCamera(const QByteArray & ba);
|
||||
QByteArray saveFeatures();
|
||||
void restoreFeatures(const QByteArray & ba);
|
||||
|
||||
QImage materialThumbnail(Material * m);
|
||||
void setCurrentHadle(RendererService::HandleType ht);
|
||||
QImage materialThumbnail(Material * m) {return renderer_.materialThumbnail(m);}
|
||||
void setCurrentAction(RendererService::HandleAction ha) {renderer_.rend_service.setCurrentAction(ha);}
|
||||
|
||||
|
||||
GLfloat aspect, iaspect;
|
||||
@@ -180,12 +182,12 @@ protected:
|
||||
void timerEvent(QTimerEvent * );
|
||||
void initialize();
|
||||
void resizeGL(int width, int height);
|
||||
void mousePressEvent(QMouseEvent * e);
|
||||
void mouseMoveEvent(QMouseEvent * e);
|
||||
void mouseReleaseEvent(QMouseEvent * e);
|
||||
void wheelEvent(QWheelEvent * e);
|
||||
void mousePressEvent(QMouseEvent * e) {mouse.mousePressEvent(e);}
|
||||
void mouseMoveEvent(QMouseEvent * e) {mouse.mouseMoveEvent(e);}
|
||||
void mouseReleaseEvent(QMouseEvent * e) {mouse.mouseReleaseEvent(e);}
|
||||
void wheelEvent(QWheelEvent * e) {mouse.wheelEvent(e);}
|
||||
void mouseDoubleClickEvent(QMouseEvent * e) {mouse.mouseDoubleClickEvent(e);}
|
||||
void leaveEvent(QEvent * );
|
||||
void mouseDoubleClickEvent(QMouseEvent * e);
|
||||
|
||||
void keyPressEvent(QKeyEvent * e);
|
||||
void keyReleaseEvent(QKeyEvent * e);
|
||||
@@ -199,28 +201,24 @@ private:
|
||||
void processKeys();
|
||||
bool setupViewport();
|
||||
|
||||
QPoint lastPos, downPos;
|
||||
Scene * scene_;
|
||||
Camera * camera_;
|
||||
MouseController mouse;
|
||||
// uint cid;
|
||||
QSet<int> keys_;
|
||||
QColor backColor_, fogColor_, ambientColor_, hoverHaloColor_, selectionHaloColor_;
|
||||
QTime time, ktm_;
|
||||
GLint max_anisotropic, max_texture_chanels;
|
||||
ObjectBase::RenderMode rmode;
|
||||
QVector<ObjectBase * > hov_objects;
|
||||
Qt::MouseButton sel_button;
|
||||
Qt::KeyboardModifier sel_mod;
|
||||
GLRendererBase::RenderingParameters start_rp;
|
||||
RendererService::HandleType cur_handle;
|
||||
QHash<int, QVariant> features_;
|
||||
QSize prev_size;
|
||||
float lineWidth_, app_scale;
|
||||
float lineWidth_;
|
||||
float fogDensity_, fogStart_, fogEnd_, fps_, fps_tm, hoverHaloFill_, selectionHaloFill_, m_motionBlurFactor;
|
||||
int timer, fps_cnt, sh_id_loc, deleting_;
|
||||
bool is_first_draw, is_init, fogEnabled_, lightEnabled_, grabMouse_, mouse_first, mouseRotate_, mouseSelect_, customMouseMove_, canSelect_;
|
||||
bool shaders_supported, changed_, cameraOrbit_, need_init_;
|
||||
bool hoverHalo_, selectionHalo_, shaders_bind, selecting_;
|
||||
bool is_first_draw, is_init, fogEnabled_, lightEnabled_;
|
||||
bool shaders_supported, changed_, need_init_;
|
||||
bool hoverHalo_, selectionHalo_, shaders_bind;
|
||||
|
||||
private slots:
|
||||
void __destroyed();
|
||||
@@ -238,11 +236,11 @@ public slots:
|
||||
void setFogEnd(const float & arg) {fogEnd_ = arg;}
|
||||
void setFogEnabled(const bool & arg) {fogEnabled_ = arg;}
|
||||
void setLightEnabled(const bool & arg) {lightEnabled_ = arg;}
|
||||
void setGrabMouseEnabled(const bool & arg) {grabMouse_ = arg; mouse_first = true;}
|
||||
void setMouseRotateEnabled(const bool & arg) {mouseRotate_ = arg;}
|
||||
void setMouseSelectionEnabled(const bool & arg) {mouseSelect_ = arg;}
|
||||
void setCustomMouseMove(const bool & arg) {customMouseMove_ = arg;}
|
||||
void setCameraOrbit(const bool & arg) {cameraOrbit_ = arg;}
|
||||
void setGrabMouseEnabled(const bool & arg) {mouse.setGrabMouseEnabled(arg);}
|
||||
void setMouseRotateEnabled(const bool & arg) {mouse.setMouseRotateEnabled(arg);}
|
||||
void setMouseSelectionEnabled(const bool & arg) {mouse.setMouseSelectionEnabled(arg);}
|
||||
void setCustomMouseMove(const bool & arg) {mouse.setCustomMouseMove(arg);}
|
||||
void setCameraOrbit(const bool & arg) {mouse.setCameraOrbit(arg);}
|
||||
void setHoverHaloEnabled(const bool & arg) {hoverHalo_ = arg;}
|
||||
void setHoverHaloColor(const QColor & arg) {hoverHaloColor_ = arg;}
|
||||
void setHoverHaloFillAlpha(const float & arg) {hoverHaloFill_ = arg;}
|
||||
|
||||
Reference in New Issue
Block a user