#ifndef GLWIDGET_H #define GLWIDGET_H #include class QGLView; class GLWidget : public QWidget { Q_OBJECT Q_PROPERTY (QColor backColor READ backColor WRITE setBackColor) Q_PROPERTY (float lineWidth READ lineWidth WRITE setLineWidth) Q_PROPERTY (float FOV READ FOV WRITE setFOV) Q_PROPERTY (float depthStart READ depthStart WRITE setDepthStart) Q_PROPERTY (float depthEnd READ depthEnd WRITE setDepthEnd) Q_PROPERTY (QColor ambientColor READ ambientColor WRITE setAmbientColor) Q_PROPERTY (bool grabMouse READ isGrabMouseEnabled WRITE setGrabMouseEnabled) Q_PROPERTY (bool mouseRotate READ isMouseRotateEnabled WRITE setMouseRotateEnabled) Q_PROPERTY (bool mouseSelection READ isMouseSelectionEnabled WRITE setMouseSelectionEnabled) Q_PROPERTY (bool cameraOrbit READ isCameraOrbit WRITE setCameraOrbit) Q_PROPERTY (bool hoverHalo READ isHoverHaloEnabled WRITE setHoverHaloEnabled) Q_PROPERTY (QColor hoverHaloColor READ hoverHaloColor WRITE setHoverHaloColor) Q_PROPERTY (float hoverHaloFillAlpha READ hoverHaloFillAlpha WRITE setHoverHaloFillAlpha) Q_PROPERTY (bool selectionHalo READ isSelectionHaloEnabled WRITE setSelectionHaloEnabled) Q_PROPERTY (QColor selectionHaloColor READ selectionHaloColor WRITE setSelectionHaloColor) Q_PROPERTY (float selectionHaloFillAlpha READ selectionHaloFillAlpha WRITE setSelectionHaloFillAlpha) public: explicit GLWidget(QWidget *parent = nullptr); QGLView * view() {return view_;} QColor backColor() const; float lineWidth() const; float FOV() const; float depthStart() const; float depthEnd() const; QColor ambientColor() const; bool isLightEnabled() const; bool isGrabMouseEnabled() const; bool isMouseRotateEnabled() const; bool isMouseSelectionEnabled() const; bool isCameraOrbit() const; bool isHoverHaloEnabled() const; QColor hoverHaloColor() const; float hoverHaloFillAlpha() const; bool isSelectionHaloEnabled() const; QColor selectionHaloColor() const; float selectionHaloFillAlpha() const; public slots: void stop(); void start(float freq = 60.); void setBackColor(const QColor & c); void setLineWidth(const float & arg); void setFOV(const float & arg); void setDepthStart(const float & arg); void setDepthEnd(const float & arg); void setAmbientColor(const QColor & arg); void setLightEnabled(const bool & arg); void setGrabMouseEnabled(const bool & arg); void setMouseRotateEnabled(const bool & arg); void setMouseSelectionEnabled(const bool & arg); void setCameraOrbit(const bool & arg); void setHoverHaloEnabled(const bool & arg); void setHoverHaloColor(const QColor & arg); void setHoverHaloFillAlpha(const float & arg); void setSelectionHaloEnabled(const bool & arg); void setSelectionHaloColor(const QColor & arg); void setSelectionHaloFillAlpha(const float & arg); private slots: void viewDoubleClicked(); private: QWidget * container; QGLView * view_; QLayout * lay; signals: }; #endif // GLWIDGET_H