archivage initial
This commit is contained in:
commit
8281c6f6db
633
Makefile
Normal file
633
Makefile
Normal file
@ -0,0 +1,633 @@
|
||||
#############################################################################
|
||||
# Makefile for building: tp4
|
||||
# Generated by qmake (3.1) (Qt 5.13.2)
|
||||
# Project: tp4.pro
|
||||
# Template: app
|
||||
# Command: /usr/lib/qt5/bin/qmake -o Makefile tp4.pro
|
||||
#############################################################################
|
||||
|
||||
MAKEFILE = Makefile
|
||||
|
||||
EQ = =
|
||||
|
||||
####### Compiler, tools and options
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
DEFINES = -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
|
||||
CFLAGS = -pipe -g -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
CXXFLAGS = -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
INCPATH = -I. -I /usr/include/qt5 -I /usr/include/qt5/QtWidgets -I /usr/include/qt5/QtGui -I /usr/include/qt5/QtCore -I. -I /usr/include/libdrm -I. -I/usr/lib/qt5/mkspecs/linux-g++
|
||||
QMAKE = /usr/lib/qt5/bin/qmake
|
||||
DEL_FILE = rm -f
|
||||
CHK_DIR_EXISTS= test -d
|
||||
MKDIR = mkdir -p
|
||||
COPY = cp -f
|
||||
COPY_FILE = cp -f
|
||||
COPY_DIR = cp -f -R
|
||||
INSTALL_FILE = install -m 644 -p
|
||||
INSTALL_PROGRAM = install -m 755 -p
|
||||
INSTALL_DIR = cp -f -R
|
||||
QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall
|
||||
QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -f -s
|
||||
DEL_DIR = rmdir
|
||||
MOVE = mv -f
|
||||
TAR = tar -cf
|
||||
COMPRESS = gzip -9f
|
||||
DISTNAME = tp41.0.0
|
||||
DISTDIR = /home/papush/m1/pg/tp4/tp4/.tmp/tp41.0.0
|
||||
LINK = g++
|
||||
LFLAGS = -Wl,-rpath,/usr/lib
|
||||
LIBS = $(SUBLIBS) /usr/lib/libQt5Widgets.so /usr/lib/libQt5Gui.so /usr/lib/libQt5Core.so -lGL -lpthread
|
||||
AR = ar cqs
|
||||
RANLIB =
|
||||
SED = sed
|
||||
STRIP = strip
|
||||
|
||||
####### Output directory
|
||||
|
||||
OBJECTS_DIR = ./
|
||||
|
||||
####### Files
|
||||
|
||||
SOURCES = main.cpp \
|
||||
princ.cpp \
|
||||
glarea.cpp \
|
||||
cylinder.cpp \
|
||||
scene.cpp \
|
||||
settingsdialog.cpp \
|
||||
propslider.cpp qrc_tp4.cpp \
|
||||
moc_princ.cpp \
|
||||
moc_glarea.cpp \
|
||||
moc_settingsdialog.cpp \
|
||||
moc_propslider.cpp
|
||||
OBJECTS = main.o \
|
||||
princ.o \
|
||||
glarea.o \
|
||||
cylinder.o \
|
||||
scene.o \
|
||||
settingsdialog.o \
|
||||
propslider.o \
|
||||
qrc_tp4.o \
|
||||
moc_princ.o \
|
||||
moc_glarea.o \
|
||||
moc_settingsdialog.o \
|
||||
moc_propslider.o
|
||||
DIST = /usr/lib/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/qt5/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/qt5/mkspecs/features/spec_post.prf \
|
||||
.qmake.stash \
|
||||
/usr/lib/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/qt5/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/qt5/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/qt5/mkspecs/features/lex.prf \
|
||||
tp4.pro princ.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
settingsdialog.h \
|
||||
propslider.h main.cpp \
|
||||
princ.cpp \
|
||||
glarea.cpp \
|
||||
cylinder.cpp \
|
||||
scene.cpp \
|
||||
settingsdialog.cpp \
|
||||
propslider.cpp
|
||||
QMAKE_TARGET = tp4
|
||||
DESTDIR =
|
||||
TARGET = tp4
|
||||
|
||||
|
||||
first: all
|
||||
####### Build rules
|
||||
|
||||
tp4: ui_princ.h ui_settingsdialog.h $(OBJECTS)
|
||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
||||
|
||||
Makefile: tp4.pro /usr/lib/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/qt5/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/qt5/mkspecs/features/spec_post.prf \
|
||||
.qmake.stash \
|
||||
/usr/lib/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/qt5/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/qt5/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/qt5/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/qt5/mkspecs/features/lex.prf \
|
||||
tp4.pro \
|
||||
tp4.qrc
|
||||
$(QMAKE) -o Makefile tp4.pro
|
||||
/usr/lib/qt5/mkspecs/features/spec_pre.prf:
|
||||
/usr/lib/qt5/mkspecs/common/unix.conf:
|
||||
/usr/lib/qt5/mkspecs/common/linux.conf:
|
||||
/usr/lib/qt5/mkspecs/common/sanitize.conf:
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base.conf:
|
||||
/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf:
|
||||
/usr/lib/qt5/mkspecs/common/g++-base.conf:
|
||||
/usr/lib/qt5/mkspecs/common/g++-unix.conf:
|
||||
/usr/lib/qt5/mkspecs/qconfig.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3danimation_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dcore_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dextras_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dinput_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquick_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_3drender_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_core_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_glx_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_gui_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_network_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qml_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_qmltest_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quick_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_sql_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml.pri:
|
||||
/usr/lib/qt5/mkspecs/modules/qt_lib_xml_private.pri:
|
||||
/usr/lib/qt5/mkspecs/features/qt_functions.prf:
|
||||
/usr/lib/qt5/mkspecs/features/qt_config.prf:
|
||||
/usr/lib/qt5/mkspecs/linux-g++/qmake.conf:
|
||||
/usr/lib/qt5/mkspecs/features/spec_post.prf:
|
||||
.qmake.stash:
|
||||
/usr/lib/qt5/mkspecs/features/exclusive_builds.prf:
|
||||
/usr/lib/qt5/mkspecs/features/toolchain.prf:
|
||||
/usr/lib/qt5/mkspecs/features/default_pre.prf:
|
||||
/usr/lib/qt5/mkspecs/features/resolve_config.prf:
|
||||
/usr/lib/qt5/mkspecs/features/default_post.prf:
|
||||
/usr/lib/qt5/mkspecs/features/warn_on.prf:
|
||||
/usr/lib/qt5/mkspecs/features/qt.prf:
|
||||
/usr/lib/qt5/mkspecs/features/resources.prf:
|
||||
/usr/lib/qt5/mkspecs/features/moc.prf:
|
||||
/usr/lib/qt5/mkspecs/features/unix/opengl.prf:
|
||||
/usr/lib/qt5/mkspecs/features/uic.prf:
|
||||
/usr/lib/qt5/mkspecs/features/unix/thread.prf:
|
||||
/usr/lib/qt5/mkspecs/features/qmake_use.prf:
|
||||
/usr/lib/qt5/mkspecs/features/file_copies.prf:
|
||||
/usr/lib/qt5/mkspecs/features/testcase_targets.prf:
|
||||
/usr/lib/qt5/mkspecs/features/exceptions.prf:
|
||||
/usr/lib/qt5/mkspecs/features/yacc.prf:
|
||||
/usr/lib/qt5/mkspecs/features/lex.prf:
|
||||
tp4.pro:
|
||||
tp4.qrc:
|
||||
qmake: FORCE
|
||||
@$(QMAKE) -o Makefile tp4.pro
|
||||
|
||||
qmake_all: FORCE
|
||||
|
||||
|
||||
all: Makefile tp4
|
||||
|
||||
dist: distdir FORCE
|
||||
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
|
||||
|
||||
distdir: FORCE
|
||||
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||
$(COPY_FILE) --parents tp4.qrc $(DISTDIR)/
|
||||
$(COPY_FILE) --parents /usr/lib/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents princ.h glarea.h scene.h cylinder.h settingsdialog.h propslider.h $(DISTDIR)/
|
||||
$(COPY_FILE) --parents main.cpp princ.cpp glarea.cpp cylinder.cpp scene.cpp settingsdialog.cpp propslider.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents princ.ui settingsdialog.ui $(DISTDIR)/
|
||||
|
||||
|
||||
clean: compiler_clean
|
||||
-$(DEL_FILE) $(OBJECTS)
|
||||
-$(DEL_FILE) *~ core *.core
|
||||
|
||||
|
||||
distclean: clean
|
||||
-$(DEL_FILE) $(TARGET)
|
||||
-$(DEL_FILE) .qmake.stash
|
||||
-$(DEL_FILE) Makefile
|
||||
|
||||
|
||||
####### Sub-libraries
|
||||
|
||||
mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
|
||||
|
||||
mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
|
||||
|
||||
check: first
|
||||
|
||||
benchmark: first
|
||||
|
||||
compiler_rcc_make_all: qrc_tp4.cpp
|
||||
compiler_rcc_clean:
|
||||
-$(DEL_FILE) qrc_tp4.cpp
|
||||
qrc_tp4.cpp: tp4.qrc \
|
||||
/usr/lib/qt5/bin/rcc \
|
||||
basic.vsh \
|
||||
basic.fsh
|
||||
/usr/lib/qt5/bin/rcc -name tp4 tp4.qrc -o qrc_tp4.cpp
|
||||
|
||||
compiler_moc_predefs_make_all: moc_predefs.h
|
||||
compiler_moc_predefs_clean:
|
||||
-$(DEL_FILE) moc_predefs.h
|
||||
moc_predefs.h: /usr/lib/qt5/mkspecs/features/data/dummy.cpp
|
||||
g++ -pipe -g -std=gnu++1y -Wall -W -dM -E -o moc_predefs.h /usr/lib/qt5/mkspecs/features/data/dummy.cpp
|
||||
|
||||
compiler_moc_header_make_all: moc_princ.cpp moc_glarea.cpp moc_settingsdialog.cpp moc_propslider.cpp
|
||||
compiler_moc_header_clean:
|
||||
-$(DEL_FILE) moc_princ.cpp moc_glarea.cpp moc_settingsdialog.cpp moc_propslider.cpp
|
||||
moc_princ.cpp: princ.h \
|
||||
ui_princ.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
settingsdialog.h \
|
||||
ui_settingsdialog.h \
|
||||
propslider.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/papush/m1/pg/tp4/tp4/moc_predefs.h -I/usr/lib/qt5/mkspecs/linux-g++ -I/home/papush/m1/pg/tp4/tp4 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I/usr/include/c++/9.2.0 -I/usr/include/c++/9.2.0/x86_64-unknown-linux-gnu -I/usr/include/c++/9.2.0/backward -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include-fixed -I/usr/include princ.h -o moc_princ.cpp
|
||||
|
||||
moc_glarea.cpp: glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/papush/m1/pg/tp4/tp4/moc_predefs.h -I/usr/lib/qt5/mkspecs/linux-g++ -I/home/papush/m1/pg/tp4/tp4 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I/usr/include/c++/9.2.0 -I/usr/include/c++/9.2.0/x86_64-unknown-linux-gnu -I/usr/include/c++/9.2.0/backward -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include-fixed -I/usr/include glarea.h -o moc_glarea.cpp
|
||||
|
||||
moc_settingsdialog.cpp: settingsdialog.h \
|
||||
ui_settingsdialog.h \
|
||||
propslider.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/papush/m1/pg/tp4/tp4/moc_predefs.h -I/usr/lib/qt5/mkspecs/linux-g++ -I/home/papush/m1/pg/tp4/tp4 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I/usr/include/c++/9.2.0 -I/usr/include/c++/9.2.0/x86_64-unknown-linux-gnu -I/usr/include/c++/9.2.0/backward -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include-fixed -I/usr/include settingsdialog.h -o moc_settingsdialog.cpp
|
||||
|
||||
moc_propslider.cpp: propslider.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/papush/m1/pg/tp4/tp4/moc_predefs.h -I/usr/lib/qt5/mkspecs/linux-g++ -I/home/papush/m1/pg/tp4/tp4 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I/usr/include/c++/9.2.0 -I/usr/include/c++/9.2.0/x86_64-unknown-linux-gnu -I/usr/include/c++/9.2.0/backward -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/9.2.0/include-fixed -I/usr/include propslider.h -o moc_propslider.cpp
|
||||
|
||||
compiler_moc_objc_header_make_all:
|
||||
compiler_moc_objc_header_clean:
|
||||
compiler_moc_source_make_all:
|
||||
compiler_moc_source_clean:
|
||||
compiler_uic_make_all: ui_princ.h ui_settingsdialog.h
|
||||
compiler_uic_clean:
|
||||
-$(DEL_FILE) ui_princ.h ui_settingsdialog.h
|
||||
ui_princ.h: princ.ui \
|
||||
/usr/lib/qt5/bin/uic \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h
|
||||
/usr/lib/qt5/bin/uic princ.ui -o ui_princ.h
|
||||
|
||||
ui_settingsdialog.h: settingsdialog.ui \
|
||||
/usr/lib/qt5/bin/uic \
|
||||
propslider.h
|
||||
/usr/lib/qt5/bin/uic settingsdialog.ui -o ui_settingsdialog.h
|
||||
|
||||
compiler_yacc_decl_make_all:
|
||||
compiler_yacc_decl_clean:
|
||||
compiler_yacc_impl_make_all:
|
||||
compiler_yacc_impl_clean:
|
||||
compiler_lex_make_all:
|
||||
compiler_lex_clean:
|
||||
compiler_clean: compiler_rcc_clean compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean
|
||||
|
||||
####### Compile
|
||||
|
||||
main.o: main.cpp princ.h \
|
||||
ui_princ.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
settingsdialog.h \
|
||||
ui_settingsdialog.h \
|
||||
propslider.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
|
||||
|
||||
princ.o: princ.cpp princ.h \
|
||||
ui_princ.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
settingsdialog.h \
|
||||
ui_settingsdialog.h \
|
||||
propslider.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o princ.o princ.cpp
|
||||
|
||||
glarea.o: glarea.cpp glarea.h \
|
||||
scene.h \
|
||||
cylinder.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o glarea.o glarea.cpp
|
||||
|
||||
cylinder.o: cylinder.cpp cylinder.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o cylinder.o cylinder.cpp
|
||||
|
||||
scene.o: scene.cpp scene.h \
|
||||
cylinder.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o scene.o scene.cpp
|
||||
|
||||
settingsdialog.o: settingsdialog.cpp settingsdialog.h \
|
||||
ui_settingsdialog.h \
|
||||
propslider.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o settingsdialog.o settingsdialog.cpp
|
||||
|
||||
propslider.o: propslider.cpp propslider.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o propslider.o propslider.cpp
|
||||
|
||||
qrc_tp4.o: qrc_tp4.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_tp4.o qrc_tp4.cpp
|
||||
|
||||
moc_princ.o: moc_princ.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_princ.o moc_princ.cpp
|
||||
|
||||
moc_glarea.o: moc_glarea.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_glarea.o moc_glarea.cpp
|
||||
|
||||
moc_settingsdialog.o: moc_settingsdialog.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_settingsdialog.o moc_settingsdialog.cpp
|
||||
|
||||
moc_propslider.o: moc_propslider.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_propslider.o moc_propslider.cpp
|
||||
|
||||
####### Install
|
||||
|
||||
install: FORCE
|
||||
|
||||
uninstall: FORCE
|
||||
|
||||
FORCE:
|
||||
|
5
basic.fsh
Normal file
5
basic.fsh
Normal file
@ -0,0 +1,5 @@
|
||||
varying lowp vec4 col;
|
||||
|
||||
void main() {
|
||||
gl_FragColor = col;
|
||||
}
|
9
basic.vsh
Normal file
9
basic.vsh
Normal file
@ -0,0 +1,9 @@
|
||||
attribute highp vec4 posAttr;
|
||||
attribute lowp vec4 colAttr;
|
||||
varying lowp vec4 col;
|
||||
uniform highp mat4 matrix;
|
||||
|
||||
void main() {
|
||||
col = colAttr;
|
||||
gl_Position = matrix * posAttr;
|
||||
}
|
100
cylinder.cpp
Normal file
100
cylinder.cpp
Normal file
@ -0,0 +1,100 @@
|
||||
#include <cylinder.h>
|
||||
#include <QDebug>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
static void push_vertex(vector<GLfloat> &verts,
|
||||
GLfloat x, GLfloat y, GLfloat z,
|
||||
Color c) {
|
||||
verts.push_back(x);
|
||||
verts.push_back(y);
|
||||
verts.push_back(z);
|
||||
verts.push_back(c.r);
|
||||
verts.push_back(c.g);
|
||||
verts.push_back(c.b);
|
||||
}
|
||||
|
||||
|
||||
Cylinder::Cylinder(float ep, float r, unsigned nb_fac, Color c)
|
||||
:ep(ep),
|
||||
r(r),
|
||||
nb_fac(nb_fac),
|
||||
c(c),
|
||||
angle(2*M_PI/nb_fac),
|
||||
face_size(nb_fac * 3),
|
||||
side_size((nb_fac+1) * 2)
|
||||
{
|
||||
vector<GLfloat> verts((2*face_size + side_size) * 3 * 2);
|
||||
build_faces(verts);
|
||||
build_side(verts);
|
||||
vbo.create();
|
||||
qDebug() << "verts.size() " << verts.size()
|
||||
<< "nb_fac:" << nb_fac
|
||||
<< "face_size:" << face_size
|
||||
<< "side_size:" << side_size;
|
||||
vbo.bind();
|
||||
vbo.allocate(verts.data(), verts.size() * sizeof (GLfloat));
|
||||
vbo.release();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cylinder::build_face(float z, vector<GLfloat> &verts)
|
||||
{
|
||||
Color color(c);
|
||||
for (unsigned j = 0; j < nb_fac; j++) {
|
||||
push_vertex(verts, 0, 0, z, color);
|
||||
push_vertex(verts, cos(angle*j) * r, sin(angle*j) * r, z, color);
|
||||
push_vertex(verts, cos(angle*(j+1)) * r, sin(angle*(j+1)) * r, z, color);
|
||||
if (j % (nb_fac/4) == 0) {
|
||||
if (j % (nb_fac/2) == 0) {
|
||||
color.r *= .8;
|
||||
color.g *= .8;
|
||||
color.b *= .8;
|
||||
}
|
||||
else {
|
||||
color = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Cylinder::build_faces(vector<GLfloat> &verts)
|
||||
{
|
||||
build_face(-ep/2, verts);
|
||||
build_face(ep/2, verts);
|
||||
}
|
||||
|
||||
|
||||
void Cylinder::build_side(vector<GLfloat> &verts)
|
||||
{
|
||||
Color color(c.r*.7, c.g*.7, c.b*.7);
|
||||
for (unsigned i = 0; i < nb_fac+1; i++) {
|
||||
push_vertex(verts, cos(angle*i) * r, sin(angle*i) * r, -ep/2, color);
|
||||
push_vertex(verts, cos(angle*i) * r, sin(angle*i) * r, ep/2, color);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Cylinder::draw(QOpenGLFunctions &f, int pos, int col)
|
||||
{
|
||||
vbo.bind();
|
||||
f.glEnableVertexAttribArray(pos);
|
||||
f.glVertexAttribPointer(pos, 3, GL_FLOAT, GL_FALSE,
|
||||
3 * sizeof (GLfloat),
|
||||
nullptr);
|
||||
f.glEnableVertexAttribArray(col);
|
||||
f.glVertexAttribPointer(col, 3, GL_FLOAT, GL_FALSE,
|
||||
3 * sizeof (GLfloat),
|
||||
(void *) (3 * sizeof (GLfloat)));
|
||||
f.glDrawArrays(GL_TRIANGLES, 0, face_size);
|
||||
f.glDrawArrays(GL_TRIANGLES, face_size, face_size);
|
||||
f.glDrawArrays(GL_QUAD_STRIP,
|
||||
face_size * 2,
|
||||
side_size);
|
||||
f.glDisableVertexAttribArray(pos);
|
||||
f.glDisableVertexAttribArray(col);
|
||||
vbo.release();
|
||||
}
|
43
cylinder.h
Normal file
43
cylinder.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef CYLINDER_HPP
|
||||
#define CYLINDER_HPP
|
||||
|
||||
#include <GL/glu.h>
|
||||
#include <math.h>
|
||||
#include <array>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLBuffer>
|
||||
#include <vector>
|
||||
|
||||
|
||||
struct Color
|
||||
{
|
||||
float r;
|
||||
float g;
|
||||
float b;
|
||||
|
||||
Color(float r, float g, float b) :r(r), g(g), b(b) {};
|
||||
};
|
||||
|
||||
|
||||
struct Cylinder
|
||||
{
|
||||
float ep;
|
||||
float r;
|
||||
unsigned nb_fac;
|
||||
Color c;
|
||||
float angle;
|
||||
|
||||
size_t face_size;
|
||||
size_t side_size;
|
||||
|
||||
QOpenGLBuffer vbo;
|
||||
|
||||
Cylinder(float ep, float r, unsigned nb_fac, Color c);
|
||||
|
||||
void build_face(float z, std::vector<GLfloat> &verts);
|
||||
void build_faces(std::vector<GLfloat> &verts);
|
||||
void build_side(std::vector<GLfloat> &verts);
|
||||
void draw(QOpenGLFunctions &f, int pos, int col);
|
||||
};
|
||||
|
||||
#endif
|
182
glarea.cpp
Normal file
182
glarea.cpp
Normal file
@ -0,0 +1,182 @@
|
||||
// CC-BY Edouard.Thiel@univ-amu.fr - 22/01/2019
|
||||
|
||||
#include "glarea.h"
|
||||
#include <QDebug>
|
||||
#include <QSurfaceFormat>
|
||||
#include <QMatrix4x4>
|
||||
#include <stdio.h>
|
||||
|
||||
static const QString vertexShaderFile = ":/basic.vsh";
|
||||
static const QString fragmentShaderFile = ":/basic.fsh";
|
||||
|
||||
|
||||
GLArea::GLArea(QWidget *parent) :
|
||||
QOpenGLWidget(parent)
|
||||
{
|
||||
qDebug() << "init GLArea" ;
|
||||
QSurfaceFormat sf;
|
||||
sf.setDepthBufferSize(24);
|
||||
sf.setSamples(16);
|
||||
setFormat(sf);
|
||||
qDebug() << "Depth is"<< format().depthBufferSize();
|
||||
setEnabled(true); // Événements clavier et souris.
|
||||
setFocusPolicy(Qt::StrongFocus); // Accepte focus.
|
||||
setFocus(); // Donne le focus.
|
||||
timer = new QTimer(this);
|
||||
timer->setInterval(16); // ms
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(onTimeout()));
|
||||
}
|
||||
|
||||
|
||||
GLArea::~GLArea()
|
||||
{
|
||||
qDebug() << "destroy GLArea";
|
||||
delete timer;
|
||||
// Contrairement aux méthodes virtuelles initializeGL, resizeGL et repaintGL,
|
||||
// dans le destructeur le contexte GL n'est pas automatiquement rendu courant.
|
||||
makeCurrent();
|
||||
// ici destructions de ressources GL
|
||||
doneCurrent();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::initializeGL()
|
||||
{
|
||||
qDebug() << __FUNCTION__ ;
|
||||
initializeOpenGLFunctions();
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
// Shaders.
|
||||
program = new QOpenGLShaderProgram(this);
|
||||
program->addShaderFromSourceFile
|
||||
(QOpenGLShader::Vertex, vertexShaderFile);
|
||||
program->addShaderFromSourceFile
|
||||
(QOpenGLShader::Fragment, fragmentShaderFile);
|
||||
if (!program->link()) {
|
||||
qWarning("Failed to compile and link shader program:");
|
||||
qWarning() << program->log();
|
||||
}
|
||||
// Récupère identifiants de "variables" dans les shaders.
|
||||
posAttr = program->attributeLocation("posAttr");
|
||||
colAttr = program->attributeLocation("colAttr");
|
||||
matrix_uniform = program->uniformLocation("matrix");
|
||||
}
|
||||
|
||||
|
||||
void GLArea::resizeGL(int w, int h)
|
||||
{
|
||||
qDebug() << __FUNCTION__ << w << h;
|
||||
// C'est fait par défaut
|
||||
glViewport(0, 0, w, h);
|
||||
ratio = (double) w / h;
|
||||
// doProjection();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::paintGL()
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
program->bind(); // active le shader program
|
||||
|
||||
QMatrix4x4 matrix;
|
||||
GLfloat hr = focal_length;
|
||||
GLfloat wr = hr * ratio;
|
||||
matrix.frustum(-wr, wr, -hr, hr, near_clip, far_clip);
|
||||
matrix.translate(0, 0, -distance);
|
||||
matrix.rotate(angle, 0, 1, 0);
|
||||
matrix.rotate(horiz_angle, 0,
|
||||
cos(vert_angle * 2*M_PI /360),
|
||||
sin(vert_angle * 2*M_PI /360));
|
||||
matrix.rotate(vert_angle, 1, 0, 0);
|
||||
program->setUniformValue(matrix_uniform, matrix);
|
||||
scene.draw((QOpenGLFunctions&) (*this), program, matrix_uniform,
|
||||
anim * 360, matrix, posAttr, colAttr);
|
||||
program->release();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::keyPressEvent(QKeyEvent *ev)
|
||||
{
|
||||
QString text = ev->text();
|
||||
switch(ev->key()) {
|
||||
case Qt::Key_A:
|
||||
timer->isActive() ? timer->stop() : timer->start();
|
||||
break;
|
||||
case Qt::Key_Z:
|
||||
setDistance(distance + (text == "z" ? -distance_step : distance_step));
|
||||
break;
|
||||
case Qt::Key_R:
|
||||
setFocalLength(focal_length + (text == "r" ? -focal_length_step : focal_length_step));
|
||||
break;
|
||||
case Qt::Key_N:
|
||||
setNearClip(near_clip + (text == "n" ? -near_clip_step : near_clip_step));
|
||||
break;
|
||||
case Qt::Key_F:
|
||||
setFarClip(far_clip + (text == "f" ? -far_clip_step : far_clip_step));
|
||||
break;
|
||||
case Qt::Key_Space:
|
||||
setAngle(angle + angle_step);
|
||||
update();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GLArea::mousePressEvent(QMouseEvent *ev)
|
||||
{
|
||||
mouse_last[0] = ev->x() / (float) width();
|
||||
mouse_last[1] = ev->y() / (float) height();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::mouseMoveEvent(QMouseEvent *ev)
|
||||
{
|
||||
float x = ev->x() / (float) width();
|
||||
float y = ev->y() / (float) height();
|
||||
float dx = x - mouse_last[0];
|
||||
float dy = y - mouse_last[1];
|
||||
horiz_angle += dx * 200;
|
||||
vert_angle += dy * 200;
|
||||
if (vert_angle > 90) vert_angle = 90;
|
||||
if (vert_angle < -90) vert_angle = -90;
|
||||
mouse_last[0] = x;
|
||||
mouse_last[1] = y;
|
||||
update();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::wheelEvent(QWheelEvent *ev)
|
||||
{
|
||||
setDistance(distance - ev->angleDelta().y() / 1000.);
|
||||
update();
|
||||
}
|
||||
|
||||
|
||||
void GLArea::onTimeout()
|
||||
{
|
||||
anim += 0.0001;
|
||||
if (anim > 1) anim--;
|
||||
update();
|
||||
}
|
||||
|
||||
|
||||
#define SET_VALUE(orig, signal) \
|
||||
qDebug() << "GLArea, setting " #orig " from" << orig << "to" << value; \
|
||||
if (value > orig##_max) value = orig##_max;\
|
||||
if (value < orig##_min) value = orig##_min;\
|
||||
if (value != orig) {\
|
||||
orig = value;\
|
||||
emit signal(orig);\
|
||||
update();\
|
||||
}
|
||||
void GLArea::setDistance(double value) { SET_VALUE(distance, distanceChanged); }
|
||||
void GLArea::setFocalLength(double value) { SET_VALUE(focal_length, focalLengthChanged); }
|
||||
void GLArea::setNearClip(double value) { SET_VALUE(near_clip, nearClipChanged); }
|
||||
void GLArea::setFarClip(double value) { SET_VALUE(far_clip, farClipChanged); }
|
||||
void GLArea::setAngle(double value)
|
||||
{
|
||||
while (value > angle_max) value -= angle_max;
|
||||
while (value < angle_min) value += angle_min;
|
||||
SET_VALUE(angle, angleChanged);
|
||||
}
|
||||
#undef SET_VALUE
|
102
glarea.h
Normal file
102
glarea.h
Normal file
@ -0,0 +1,102 @@
|
||||
// CC-BY Edouard.Thiel@univ-amu.fr - 22/01/2019
|
||||
|
||||
#ifndef GLAREA_H
|
||||
#define GLAREA_H
|
||||
|
||||
#include <QKeyEvent>
|
||||
#include <QTimer>
|
||||
#include <QOpenGLWidget>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLShaderProgram>
|
||||
|
||||
#include <scene.h>
|
||||
|
||||
|
||||
class GLArea : public QOpenGLWidget,
|
||||
protected QOpenGLFunctions
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit GLArea(QWidget *parent = 0);
|
||||
~GLArea();
|
||||
|
||||
static constexpr double distance_min = 0;
|
||||
static constexpr double distance_max = 5;
|
||||
static constexpr double distance_step = .1;
|
||||
|
||||
static constexpr double focal_length_min = 0;
|
||||
static constexpr double focal_length_max = .2;
|
||||
static constexpr double focal_length_step = .005;
|
||||
|
||||
static constexpr double near_clip_min = 0;
|
||||
static constexpr double near_clip_max = 1;
|
||||
static constexpr double near_clip_step = .05;
|
||||
|
||||
static constexpr double far_clip_min = 2;
|
||||
static constexpr double far_clip_max = 7;
|
||||
static constexpr double far_clip_step = .1;
|
||||
|
||||
static constexpr double angle_min = 0;
|
||||
static constexpr double angle_max = 360;
|
||||
static constexpr double angle_step = 1;
|
||||
|
||||
double getDistance() const { return distance; }
|
||||
double getFocalLength() const { return focal_length; }
|
||||
double getNearClip() const { return near_clip; }
|
||||
double getFarClip() const { return far_clip; }
|
||||
double getAngle() const { return angle; }
|
||||
|
||||
|
||||
public slots:
|
||||
void setDistance(double d);
|
||||
void setFocalLength(double f);
|
||||
void setNearClip(double n);
|
||||
void setFarClip(double f);
|
||||
void setAngle(double a);
|
||||
|
||||
signals:
|
||||
void distanceChanged(double d);
|
||||
void focalLengthChanged(double f);
|
||||
void nearClipChanged(double n);
|
||||
void farClipChanged(double f);
|
||||
void angleChanged(double a);
|
||||
|
||||
protected slots:
|
||||
void onTimeout();
|
||||
|
||||
protected:
|
||||
void initializeGL() override;
|
||||
void doProjection();
|
||||
void resizeGL(int w, int h) override;
|
||||
void paintGL() override;
|
||||
void keyPressEvent(QKeyEvent *ev) override;
|
||||
void mousePressEvent(QMouseEvent *ev) override;
|
||||
void mouseMoveEvent(QMouseEvent *ev) override;
|
||||
void wheelEvent(QWheelEvent *ev) override;
|
||||
|
||||
private:
|
||||
QTimer *timer = nullptr;
|
||||
double anim = 0;
|
||||
double ratio = 1;
|
||||
|
||||
// Pour utiliser les shaders
|
||||
QOpenGLShaderProgram *program;
|
||||
int posAttr;
|
||||
int colAttr;
|
||||
int matrix_uniform;
|
||||
|
||||
Scene scene;
|
||||
|
||||
float mouse_last[2] = {0, 0};
|
||||
double horiz_angle = 0;
|
||||
double vert_angle = 0;
|
||||
|
||||
double distance = 3;
|
||||
double focal_length = .1;
|
||||
double near_clip = .1;
|
||||
double far_clip = 5;
|
||||
double angle = 0;
|
||||
};
|
||||
|
||||
#endif // GLAREA_H
|
13
main.cpp
Normal file
13
main.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
// CC-BY Edouard.Thiel@univ-amu.fr - 22/01/2019
|
||||
|
||||
#include "princ.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
Princ w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
16
princ.cpp
Normal file
16
princ.cpp
Normal file
@ -0,0 +1,16 @@
|
||||
// CC-BY Edouard.Thiel@univ-amu.fr - 22/01/2019
|
||||
|
||||
#include "princ.h"
|
||||
#include <QDebug>
|
||||
|
||||
Princ::Princ(QWidget *parent) :
|
||||
QMainWindow(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
diag.setGLArea(glarea);
|
||||
}
|
||||
|
||||
void Princ::showDiag()
|
||||
{
|
||||
diag.show();
|
||||
}
|
22
princ.h
Normal file
22
princ.h
Normal file
@ -0,0 +1,22 @@
|
||||
// CC-BY Edouard.Thiel@univ-amu.fr - 22/01/2019
|
||||
|
||||
#ifndef PRINC_H
|
||||
#define PRINC_H
|
||||
|
||||
#include "ui_princ.h"
|
||||
|
||||
#include "settingsdialog.h"
|
||||
|
||||
class Princ : public QMainWindow, private Ui::Princ
|
||||
{
|
||||
Q_OBJECT
|
||||
SettingsDialog diag;
|
||||
|
||||
protected slots:
|
||||
void showDiag();
|
||||
|
||||
public:
|
||||
explicit Princ(QWidget *parent = 0);
|
||||
};
|
||||
|
||||
#endif // PRINC_H
|
110
princ.ui
Normal file
110
princ.ui
Normal file
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Princ</class>
|
||||
<widget class="QMainWindow" name="Princ">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>405</width>
|
||||
<height>292</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Princ</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="btn_diag">
|
||||
<property name="text">
|
||||
<string>Réglages</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btn_quit">
|
||||
<property name="text">
|
||||
<string>Quit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="GLArea" name="glarea">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusBar"/>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>405</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>GLArea</class>
|
||||
<extends>QOpenGLWidget</extends>
|
||||
<header>glarea.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>btn_quit</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>Princ</receiver>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>393</x>
|
||||
<y>53</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>353</x>
|
||||
<y>73</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>btn_diag</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>Princ</receiver>
|
||||
<slot>showDiag()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>101</x>
|
||||
<y>45</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>538</x>
|
||||
<y>167</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
<slots>
|
||||
<slot>showDiag()</slot>
|
||||
</slots>
|
||||
</ui>
|
63
propslider.cpp
Normal file
63
propslider.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
#include "propslider.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
PropSlider::PropSlider(QWidget *parent)
|
||||
:QSlider(parent),
|
||||
mapped_value(mapValue())
|
||||
{
|
||||
connect(this, SIGNAL(valueChanged(int)),
|
||||
this, SLOT(setValue(int)));
|
||||
}
|
||||
|
||||
|
||||
int PropSlider::mapValue() const
|
||||
{
|
||||
return (value - min) * maximum() / (max - min);
|
||||
}
|
||||
|
||||
|
||||
double PropSlider::unmapValue() const
|
||||
{
|
||||
return (double) mapped_value * (max - min) / maximum() + min;
|
||||
}
|
||||
|
||||
|
||||
void PropSlider::setMinimum(double min)
|
||||
{
|
||||
this->min = min;
|
||||
}
|
||||
|
||||
|
||||
void PropSlider::setMaximum(double max)
|
||||
{
|
||||
this->max = max;
|
||||
((QSlider *) this)->setMaximum((max-min) / step);
|
||||
}
|
||||
|
||||
|
||||
void PropSlider::setStep(double step)
|
||||
{
|
||||
this->step = step;
|
||||
setMaximum(max);
|
||||
}
|
||||
|
||||
|
||||
void PropSlider::setValue(double value)
|
||||
{
|
||||
qDebug() << "PropSlider, setting from double" << value;
|
||||
this->value = value;
|
||||
((QSlider *) this)->setValue(mapValue());
|
||||
}
|
||||
|
||||
|
||||
void PropSlider::setValue(int mapped_value) {
|
||||
qDebug() << "PropSlider, setting from int" << mapped_value;
|
||||
if (mapValue() != mapped_value) {
|
||||
qDebug() << "Mapped value changed, transmitting to GLArea";
|
||||
this->mapped_value = mapped_value;
|
||||
this->value = unmapValue();
|
||||
emit valueChanged(this->value);
|
||||
}
|
||||
}
|
42
propslider.h
Normal file
42
propslider.h
Normal file
@ -0,0 +1,42 @@
|
||||
#ifndef PROPSLIDER_H
|
||||
#define PROPSLIDER_H
|
||||
|
||||
#include <QSlider>
|
||||
|
||||
|
||||
/*
|
||||
Widget qui traduit les valeurs entières renvoyées par un QSlider en
|
||||
double pour contrôler une propriété en fonction d’un minimum, d’un
|
||||
maximum et d’un pas.
|
||||
*/
|
||||
class PropSlider : public QSlider {
|
||||
Q_OBJECT
|
||||
|
||||
double min = 0;
|
||||
double max = 1;
|
||||
double step = .1;
|
||||
double value = .5;
|
||||
int mapped_value;
|
||||
|
||||
int mapValue() const;
|
||||
double unmapValue() const;
|
||||
|
||||
public:
|
||||
PropSlider(QWidget *parent=nullptr);
|
||||
void setMinimum(double min);
|
||||
void setMaximum(double max);
|
||||
void setStep(double step);
|
||||
|
||||
signals:
|
||||
void valueChanged(double value);
|
||||
|
||||
public slots:
|
||||
void setValue(double value);
|
||||
|
||||
private slots:
|
||||
// Connecté au QSlider
|
||||
void setValue(int mapped_value);
|
||||
};
|
||||
|
||||
|
||||
#endif
|
91
scene.cpp
Normal file
91
scene.cpp
Normal file
@ -0,0 +1,91 @@
|
||||
#include "scene.h"
|
||||
#include <GL/glu.h>
|
||||
#include <stack>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
Scene::Scene()
|
||||
:volant(.2, .55, 8, Color(.522, .816, 1)),
|
||||
axe_volant(.6, .06, 6, Color(.522*.5, .816*.5, 1.5)),
|
||||
manivelle(.2, .115, 8, Color(.078, .718, .078)),
|
||||
axe_manivelle(.35, .06, 6, Color(.078*.5, .718*.5, .078*.5)),
|
||||
bague_bielle(.2, .14, 8, Color(.078, .718, .078)),
|
||||
bague_piston(.2, .115, 8, Color(.69, .11, .69)),
|
||||
axe_bielle_piston(.36, .06, 6, Color(.69*.5, .11*.5, .69*.5)),
|
||||
bielle(1.5, .05, 6, Color(.173, .824, .173)),
|
||||
piston(1.1, .065, 6, Color(.847, .318, .847)),
|
||||
cylindre(1.2, .15, 8, Color(.702, .424, .286)) {}
|
||||
|
||||
|
||||
void Scene::draw(QOpenGLFunctions &f, QOpenGLShaderProgram *prog, int mat_uni,
|
||||
float alpha, QMatrix4x4 &matrix, int pos, int col)
|
||||
{
|
||||
float gh = .45;
|
||||
float xh = gh*cos(alpha);
|
||||
float yh = gh*sin(alpha);
|
||||
|
||||
QMatrix4x4 m, m2;
|
||||
|
||||
/* Volant */
|
||||
m = matrix;
|
||||
matrix.rotate(alpha*360/(2*M_PI), 0, 0, 1);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
volant.draw(f, pos, col);
|
||||
m2 = matrix;
|
||||
matrix.translate(0, 0, -axe_volant.ep/2 + .125);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
axe_volant.draw(f, pos, col);
|
||||
matrix = m2;
|
||||
matrix.translate(gh, 0, axe_manivelle.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
axe_manivelle.draw(f, pos, col);
|
||||
matrix = m;
|
||||
|
||||
/* Manivelle */
|
||||
m = matrix;
|
||||
matrix.translate(xh, yh, volant.ep/2+manivelle.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
manivelle.draw(f, pos, col);
|
||||
matrix = m;
|
||||
|
||||
float hj = bielle.ep;
|
||||
float xj = xh - sqrtf(hj*hj - powf(gh*sin(alpha), 2));
|
||||
float b = atanf(yh / (xj-xh < 0 ? xj-xh : -xj+xh));
|
||||
m = matrix;
|
||||
matrix.translate(xj, 0, volant.ep/2+manivelle.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
bague_bielle.draw(f, pos, col);
|
||||
/* Bielle */
|
||||
m2 = matrix;
|
||||
matrix.rotate(90, 0, 1, 0);
|
||||
matrix.rotate(b*360/(2*M_PI), 1, 0, 0);
|
||||
matrix.translate(0, 0, bielle.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
bielle.draw(f, pos, col);
|
||||
matrix = m2;
|
||||
/* Piston */
|
||||
m2 = matrix;
|
||||
matrix.translate(0, 0, axe_bielle_piston.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
axe_bielle_piston.draw(f, pos, col);
|
||||
matrix.translate(0, 0, axe_bielle_piston.ep/2 - .15);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
bague_piston.draw(f, pos, col);
|
||||
matrix.rotate(90, 0, 1, 0);
|
||||
matrix.translate(0, 0, -piston.ep/2);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
piston.draw(f, pos, col);
|
||||
matrix = m2;
|
||||
matrix = m;
|
||||
|
||||
/* Cylindre */
|
||||
m = matrix;
|
||||
matrix.translate(-gh-bielle.ep - piston.ep + .3, 0, volant.ep/2
|
||||
+ bague_bielle.ep
|
||||
+ bague_piston.ep/2);
|
||||
matrix.rotate(90, 0, 1, 0);
|
||||
prog->setUniformValue(mat_uni, matrix);
|
||||
cylindre.draw(f, pos, col);
|
||||
matrix = m;
|
||||
}
|
31
scene.h
Normal file
31
scene.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef SCENE_H
|
||||
#define SCENE_H
|
||||
|
||||
#include <QMatrix4x4>
|
||||
#include <cylinder.h>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLShaderProgram>
|
||||
|
||||
|
||||
class Scene
|
||||
{
|
||||
public:
|
||||
Scene();
|
||||
void draw(QOpenGLFunctions &f, QOpenGLShaderProgram *prog, int mat_uni,
|
||||
float alpha, QMatrix4x4 &matrix, int vertices, int colors);
|
||||
|
||||
private:
|
||||
Cylinder volant;
|
||||
Cylinder axe_volant;
|
||||
Cylinder manivelle;
|
||||
Cylinder axe_manivelle;
|
||||
Cylinder bague_bielle;
|
||||
Cylinder bague_piston;
|
||||
Cylinder axe_bielle_piston;
|
||||
Cylinder bielle;
|
||||
Cylinder piston;
|
||||
Cylinder cylindre;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
63
settingsdialog.cpp
Normal file
63
settingsdialog.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
#include "settingsdialog.h"
|
||||
|
||||
|
||||
SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
:QDialog(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
}
|
||||
|
||||
|
||||
void SettingsDialog::setGLArea(GLArea *area) {
|
||||
glarea = area;
|
||||
|
||||
// Paramétrage des PropSliders
|
||||
sli_distance->setMinimum(GLArea::distance_min);
|
||||
sli_distance->setStep(GLArea::distance_step);
|
||||
sli_distance->setMaximum(GLArea::distance_max);
|
||||
sli_distance->setValue(glarea->getDistance());
|
||||
|
||||
sli_focal_length->setMinimum(GLArea::focal_length_min);
|
||||
sli_focal_length->setStep(GLArea::focal_length_step);
|
||||
sli_focal_length->setMaximum(GLArea::focal_length_max);
|
||||
sli_focal_length->setValue(glarea->getFocalLength());
|
||||
|
||||
sli_near_clip->setMinimum(GLArea::near_clip_min);
|
||||
sli_near_clip->setStep(GLArea::near_clip_step);
|
||||
sli_near_clip->setMaximum(GLArea::near_clip_max);
|
||||
sli_near_clip->setValue(glarea->getNearClip());
|
||||
|
||||
sli_far_clip->setMinimum(GLArea::far_clip_min);
|
||||
sli_far_clip->setStep(GLArea::far_clip_step);
|
||||
sli_far_clip->setMaximum(GLArea::far_clip_max);
|
||||
sli_far_clip->setValue(glarea->getFarClip());
|
||||
|
||||
sli_angle->setMinimum(GLArea::angle_min);
|
||||
sli_angle->setStep(GLArea::angle_step);
|
||||
sli_angle->setMaximum(GLArea::angle_max);
|
||||
sli_angle->setValue(glarea->getAngle());
|
||||
|
||||
// GLArea -> PropSlider
|
||||
connect(glarea, SIGNAL(distanceChanged(double)),
|
||||
sli_distance, SLOT(setValue(double)));
|
||||
connect(glarea, SIGNAL(focalLengthChanged(double)),
|
||||
sli_focal_length, SLOT(setValue(double)));
|
||||
connect(glarea, SIGNAL(nearClipChanged(double)),
|
||||
sli_near_clip, SLOT(setValue(double)));
|
||||
connect(glarea, SIGNAL(farClipChanged(double)),
|
||||
sli_far_clip, SLOT(setValue(double)));
|
||||
connect(glarea, SIGNAL(angleChanged(double)),
|
||||
sli_angle, SLOT(setValue(double)));
|
||||
|
||||
// PropSlider -> GLArea
|
||||
connect(sli_distance, SIGNAL(valueChanged(double)),
|
||||
glarea, SLOT(setDistance(double)));
|
||||
connect(sli_focal_length, SIGNAL(valueChanged(double)),
|
||||
glarea, SLOT(setFocalLength(double)));
|
||||
connect(sli_near_clip, SIGNAL(valueChanged(double)),
|
||||
glarea, SLOT(setNearClip(double)));
|
||||
connect(sli_far_clip, SIGNAL(valueChanged(double)),
|
||||
glarea, SLOT(setFarClip(double)));
|
||||
connect(sli_angle, SIGNAL(valueChanged(double)),
|
||||
glarea, SLOT(setAngle(double)));
|
||||
}
|
34
settingsdialog.h
Normal file
34
settingsdialog.h
Normal file
@ -0,0 +1,34 @@
|
||||
#ifndef SETTINGSDIALOG_H
|
||||
#define SETTINGSDIALOG_H
|
||||
|
||||
#include "ui_settingsdialog.h"
|
||||
#include "glarea.h"
|
||||
|
||||
class SettingsDialog : public QDialog, private Ui::SettingsDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
GLArea *glarea;
|
||||
// static void setupSlider(const Property<double> &p, QSlider *s);
|
||||
// static int rawToSlider(const Property<double> &p);
|
||||
// static double sliderToRaw(const Property<double> &p, int value);
|
||||
|
||||
public:
|
||||
explicit SettingsDialog(QWidget *parent = nullptr);
|
||||
void setGLArea(GLArea *area);
|
||||
|
||||
// public slots:
|
||||
// void setDistance(double raw_value);
|
||||
// void setFocalLength(double raw_value);
|
||||
// void setNearClip(double raw_value);
|
||||
// void setFarClip(double raw_value);
|
||||
// void setAngle(double raw_value);
|
||||
|
||||
// protected slots:
|
||||
// void onSliderDistance(int value);
|
||||
// void onSliderFocalLength(int value);
|
||||
// void onSliderNearClip(int value);
|
||||
// void onSliderFarClip(int value);
|
||||
// void onSliderAngle(int value);
|
||||
};
|
||||
|
||||
#endif // SETTINGSDIALOG_H
|
152
settingsdialog.ui
Normal file
152
settingsdialog.ui
Normal file
@ -0,0 +1,152 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SettingsDialog</class>
|
||||
<widget class="QDialog" name="SettingsDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="PropSlider" name="sli_distance">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="lbl_distance">
|
||||
<property name="text">
|
||||
<string>Distance (zZ)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="PropSlider" name="sli_focal_length">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="lbl_focal_length">
|
||||
<property name="text">
|
||||
<string>Focale (rR)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="PropSlider" name="sli_near_clip">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="lbl_near_clip">
|
||||
<property name="text">
|
||||
<string>Coupe avant (nN)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="PropSlider" name="sli_far_clip">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="lbl_far_clip">
|
||||
<property name="text">
|
||||
<string>Coupe arrière (fF)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="PropSlider" name="sli_angle">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="lbl_angle">
|
||||
<property name="text">
|
||||
<string>Angle (spc)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>PropSlider</class>
|
||||
<extends>QSlider</extends>
|
||||
<header>propslider.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>SettingsDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>227</x>
|
||||
<y>281</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>SettingsDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>295</x>
|
||||
<y>287</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
<slots>
|
||||
<slot>onSliderDistance(int)</slot>
|
||||
<slot>onSliderFocalLength(int)</slot>
|
||||
<slot>onSliderNearClip(int)</slot>
|
||||
<slot>onSliderFarClip(int)</slot>
|
||||
<slot>onSliderAngle(int)</slot>
|
||||
</slots>
|
||||
</ui>
|
30
tp4.pro
Normal file
30
tp4.pro
Normal file
@ -0,0 +1,30 @@
|
||||
QT += core gui
|
||||
|
||||
CONFIG += c++14 debug
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = tp4
|
||||
TEMPLATE = app
|
||||
|
||||
|
||||
SOURCES += main.cpp\
|
||||
princ.cpp \
|
||||
glarea.cpp \
|
||||
cylinder.cpp \
|
||||
scene.cpp \
|
||||
settingsdialog.cpp \
|
||||
propslider.cpp
|
||||
|
||||
HEADERS += princ.h \
|
||||
glarea.h \
|
||||
scene.h \
|
||||
cylinder.h \
|
||||
settingsdialog.h \
|
||||
propslider.h
|
||||
|
||||
FORMS += princ.ui \
|
||||
settingsdialog.ui
|
||||
|
||||
RESOURCES += \
|
||||
tp4.qrc
|
Reference in New Issue
Block a user