Pi3rrot 5 rokov pred
rodič
commit
042de00957

+ 16 - 8
OpenCV_TestGUI/OpenCV_TestGUI.pro

@@ -35,14 +35,22 @@ FORMS += \
         mainwindow.ui
 
 
-INCLUDEPATH += H:\Downloads\opencv\build\include
-
-LIBS += C:\opencv-build\bin\libopencv_core412.dll
-LIBS += C:\opencv-build\bin\libopencv_highgui412.dll
-LIBS += C:\opencv-build\bin\libopencv_imgcodecs412.dll
-LIBS += C:\opencv-build\bin\libopencv_imgproc412.dll
-LIBS += C:\opencv-build\bin\libopencv_features2d412.dll
-LIBS += C:\opencv-build\bin\libopencv_calib3d412.dll
+INCLUDEPATH += $$(OPENCV_SDK_DIR)/include
+
+#LIBS += E:\Libs\opencv-build\bin\libopencv_core412.dll
+#LIBS += E:\Libs\opencv-build\bin\libopencv_highgui412.dll
+#LIBS += E:\Libs\opencv-build\bin\libopencv_imgcodecs412.dll
+#LIBS += E:\Libs\opencv-build\bin\libopencv_imgproc412.dll
+#LIBS += E:\Libs\opencv-build\bin\libopencv_features2d412.dll
+#LIBS += E:\Libs\opencv-build\bin\libopencv_calib3d412.dll
+
+LIBS += -L$$(OPENCV_SDK_DIR)/x86/mingw/lib \
+        -lopencv_core412        \
+        -lopencv_highgui412     \
+        -lopencv_imgcodecs412   \
+        -lopencv_imgproc412     \
+        -lopencv_features2d412  \
+        -lopencv_calib3d412
 
 
 # Default rules for deployment.

+ 5 - 5
OpenCV_TestGUI/OpenCV_TestGUI.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.7.1, 2020-05-05T14:50:37. -->
+<!-- Written by QtCreator 4.7.1, 2020-05-10T16:36:48. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -71,7 +71,7 @@
    <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
    <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/_Documents/build-OpenCV_TestGUI-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Dev/build/OpenCV_TestGUI/</value>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -125,7 +125,7 @@
     <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
    </valuemap>
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/_Documents/build-OpenCV_TestGUI-Desktop_Qt_5_11_2_MinGW_32bit-Release</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Dev/build/OpenCV_TestGUI/</value>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -179,7 +179,7 @@
     <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
    </valuemap>
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/_Documents/build-OpenCV_TestGUI-Desktop_Qt_5_11_2_MinGW_32bit-Profile</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Dev/build/OpenCV_TestGUI/</value>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -296,7 +296,7 @@
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">OpenCV_TestGUI.pro</value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
-    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">H:/_Documents/build-OpenCV_TestGUI-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">E:/Dev/build/OpenCV_TestGUI</value>
     <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
     <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
     <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>

+ 14 - 23
OpenCV_TestGUI/mainwindow.cpp

@@ -1,13 +1,13 @@
 #include "mainwindow.h"
 #include "ui_mainwindow.h"
 
-#include <opencv2/core.hpp>
-#include <opencv2/imgcodecs.hpp>
-#include <opencv2/highgui.hpp>
+#include <opencv2/core/core.hpp>
+#include <opencv2/imgcodecs/imgcodecs.hpp>
+#include <opencv2/highgui/highgui.hpp>
 
 #include <QRandomGenerator>
 #include <QString>
-
+#include <QDebug>
 
 MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
@@ -15,32 +15,23 @@ MainWindow::MainWindow(QWidget *parent) :
 {
     ui->setupUi(this);
 
-    QString BayerPics = "H://_Documents/build-OpenCV_TestGUI-Desktop_Qt_5_11_2_MinGW_32bit-Debug/debug/Bayer.tif";
-    QString EffectivePics = "Effective_Bayer.tif";
 
-    cv::Mat bayPic(8816, 11976, CV_16UC1);
-    bayPic = cv::imread(BayerPics.toStdString(), 1);
 
+    cv::Mat image = cv::imread("loulou.jpg", cv::IMREAD_COLOR);
+    if (image.empty()) {
+        qDebug() << "Fail !";
+        exit(-1);
+    }
+    qDebug() << "Openned !";
+    qDebug() << "Image type : " << image.type() << " " << image.cols << "x" << image.rows << ". " <<  image.channels() << " Channel(s)";
 
+    cv::namedWindow("test", cv::WINDOW_AUTOSIZE);
+    cv::imshow("test", image);
 
-    // read an image
-    cv::Mat image(800, 600, CV_16UC1);
+    //cv::waitKey(0);
 
-    for (int x = 1; x < 800-1; x++)
-    {
-        for (int y = 1; y < 600-1; y++)
-        {
-            uint16_t randNum = QRandomGenerator::global()->bounded(65535);
-            image.at<uint16_t>(x, y) = randNum;
-        }
-    }
 
 
-    //cv::Mat image = cv::imread("P://IMG-20180620-WA0001.jpg", 1);
-    // create image window named "My Image"
-    cv::namedWindow("My Image");
-    // show the image on window
-    cv::imshow("My Image", bayPic);
 }
 
 MainWindow::~MainWindow()

+ 3 - 3
OpenCV_Webcam/OpenCV_Webcam.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.7.1, 2020-05-05T14:51:44. -->
+<!-- Written by QtCreator 4.7.1, 2020-05-07T08:51:54. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -290,8 +290,8 @@
     <value type="int" key="PE.EnvironmentAspect.Base">2</value>
     <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">OpenCV_Webcam</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:H:/_Documents/OpenCV_Webcam/OpenCV_Webcam.pro</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">OpenCV_Webcam2</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/DeskUser/QT_mySandbox/OpenCV_Webcam/OpenCV_Webcam.pro</value>
     <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">OpenCV_Webcam.pro</value>

+ 54 - 0
OpenCV_Zoom/OpenCV_Zoom.pro

@@ -0,0 +1,54 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2020-05-07T09:15:30
+#
+#-------------------------------------------------
+
+QT       += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = OpenCV_Zoom
+TEMPLATE = app
+
+# The following define makes your compiler emit warnings if you use
+# any feature of Qt which has been marked as deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if you use deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+CONFIG += c++11
+
+SOURCES += \
+        main.cpp \
+        mainwindow.cpp
+
+HEADERS += \
+        mainwindow.h
+
+FORMS += \
+        mainwindow.ui
+
+
+
+
+INCLUDEPATH += H:\_Downloads\opencv\build\include
+
+LIBS += C:\opencv-build\bin\libopencv_core412.dll
+LIBS += C:\opencv-build\bin\libopencv_highgui412.dll
+LIBS += C:\opencv-build\bin\libopencv_imgcodecs412.dll
+LIBS += C:\opencv-build\bin\libopencv_imgproc412.dll
+LIBS += C:\opencv-build\bin\libopencv_features2d412.dll
+LIBS += C:\opencv-build\bin\libopencv_calib3d412.dll
+
+
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target

+ 322 - 0
OpenCV_Zoom/OpenCV_Zoom.pro.user

@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.7.1, 2020-05-09T19:26:55. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{0be31763-9f64-45e0-9202-d2a18c1fe429}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap">
+   <valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
+    <value type="QString">-fno-delayed-template-parsing</value>
+   </valuelist>
+   <value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.11.2 MinGW 32bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.11.2 MinGW 32bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5112.win32_mingw53_kit</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/QT_mySandbox/build-OpenCV_Zoom-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/QT_mySandbox/build-OpenCV_Zoom-Desktop_Qt_5_11_2_MinGW_32bit-Release</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/QT_mySandbox/build-OpenCV_Zoom-Desktop_Qt_5_11_2_MinGW_32bit-Profile</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">OpenCV_Zoom</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/DeskUser/QT_mySandbox/OpenCV_Zoom/OpenCV_Zoom.pro</value>
+    <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">OpenCV_Zoom.pro</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">C:/Users/DeskUser/QT_mySandbox/build-OpenCV_Zoom-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">18</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">18</value>
+ </data>
+</qtcreator>

+ 19 - 0
OpenCV_Zoom/main.cpp

@@ -0,0 +1,19 @@
+#include "mainwindow.h"
+#include <QApplication>
+
+
+
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    MainWindow w;
+    //w.show();
+
+
+
+
+
+
+    return a.exec();
+}

+ 153 - 0
OpenCV_Zoom/mainwindow.cpp

@@ -0,0 +1,153 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+#include <iostream>
+#include <stdio.h>
+
+using namespace std;
+using namespace cv;
+
+
+
+
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::MainWindow)
+{
+    ui->setupUi(this);
+
+
+
+    info();
+    imagenOriginal = imread("lena.jpg");
+
+    if(imagenOriginal.empty())
+        cout << "[ERROR] no se pudo cargar la imagen\n\tUso: ./zoom /ruta/de/la/imagen.png\n" << endl;
+
+    namedWindow("Zoom", 1);
+   //.3333333333333
+
+    setMouseCallback("Zoom", onMouse, 0);
+
+    imagenOriginal.copyTo(imagen);
+    imagenOriginal.copyTo(imagenMostrar);
+
+    for(;;)
+    {
+        if(imagen.empty())
+            break;
+
+        imagen.copyTo(imagenMostrar);
+
+        rectangle(imagenMostrar,
+                    Point(mousex-(zoomRec/2), mousey-(zoomRec/2)),
+                    Point(mousex+(zoomRec/2), mousey+(zoomRec/2)),
+                    cv::Scalar(0,255,0), 1, 8, 0);
+
+        imshow("Zoom", imagenMostrar);
+
+        char c = (char) waitKey(10);
+        if(c == 27)
+            break;
+        switch(c)
+        {
+        case '+':
+            if(zoomRec < 500)
+            zoomRec = zoomRec + 10;
+            break;
+        case '-':
+            if(zoomRec > 10)
+                zoomRec = zoomRec - 10;
+            break;
+        default:
+            ;
+        }
+    }
+
+
+
+
+
+
+
+
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+
+
+
+
+
+
+
+
+
+Mat MainWindow::zoomIn(int x, int y)
+{
+    int width = zoomRec, height = zoomRec;
+    int ptoX = x-(zoomRec/2), ptoY = y-(zoomRec/2);
+
+    /*Verifica que el ROI este dentro de la la imagen*/
+    if((x+(zoomRec/2)) > imagen.size().width)
+        width = width - ((x+(zoomRec/2)) - imagen.size().width);
+
+    if((y+(zoomRec/2)) > imagen.size().height)
+        height = height - ((y+(zoomRec/2)) - imagen.size().height);
+
+    if((x-(zoomRec/2)) < 0)
+        ptoX = 0;
+
+    if((y-(zoomRec/2)) < 0)
+        ptoY = 0;
+
+    Rect roi = Rect(ptoX, ptoY, width, height);
+    Mat imagen_roi = imagen(roi);
+    cv::resize(imagen_roi, imagen_roi, Size(imagenOriginal.size().width, imagenOriginal.size().height), 0, 0, cv::INTER_AREA);
+
+    return imagen_roi;
+}
+
+
+
+Mat MainWindow::zoomOut(int x, int y)
+{
+    return imagenOriginal;
+}
+
+
+
+void MainWindow::onMouse( int event, int x, int y, int /*flags*/, void* /*param*/ )
+{
+    mousex = x;
+    mousey = y;
+
+    if(event == cv::EVENT_LBUTTONDOWN)
+        imagen = zoomIn(x, y);
+    else if(event == cv::EVENT_RBUTTONDOWN)
+        imagen = zoomOut(x, y);
+}
+
+
+
+void MainWindow::info(){
+    cout << "\nDemo de Zoom creado por Sebastián González <brutalchrist@gmail.com>,\n"
+            "La versión de Opencv utilizada en este ejemplo es 2.4.5, \n"
+            "Usted esta corriendo la versión " << CV_VERSION << "\n"
+            << endl;
+
+    cout << "\nTeclas: \n"
+            "\tESC - Salir del programa\n"
+            "\t+ - Aumenta la escala de zoom\n"
+            "\t- - Disminuye la escala de zoom\n"
+            "\tCLICK D - zoom\n"
+            "\tCLICK R - Restaura imagen\n" << endl;
+}
+
+
+
+

+ 45 - 0
OpenCV_Zoom/mainwindow.h

@@ -0,0 +1,45 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+
+#include <opencv2/video/tracking.hpp>
+#include <opencv2/imgproc/imgproc.hpp>
+#include <opencv2/highgui/highgui.hpp>
+
+
+
+using namespace cv;
+
+namespace Ui {
+class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit MainWindow(QWidget *parent = nullptr);
+    ~MainWindow();
+    Mat zoomIn(int x, int y);
+    Mat zoomOut(int x, int y);
+    void onMouse( int event, int x, int y, int /*flags*/, void* /*param*/ );
+    void info(void);
+
+
+    Mat imagenOriginal, imagen, imagenMostrar;
+
+    int zoomRec = 200;
+    int mousex, mousey;
+
+
+
+
+
+private:
+    Ui::MainWindow *ui;
+};
+
+#endif // MAINWINDOW_H

+ 24 - 0
OpenCV_Zoom/mainwindow.ui

@@ -0,0 +1,24 @@
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>MainWindow</string>
+  </property>
+  <widget class="QMenuBar" name="menuBar" />
+  <widget class="QToolBar" name="mainToolBar" />
+  <widget class="QWidget" name="centralWidget" />
+  <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>

+ 26 - 0
Structures_test/Structures_test.pro

@@ -0,0 +1,26 @@
+QT -= gui
+
+CONFIG += c++11 console
+CONFIG -= app_bundle
+
+# The following define makes your compiler emit warnings if you use
+# any feature of Qt which as been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if you use deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+        main.cpp
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+HEADERS += \
+    calsol.h

+ 322 - 0
Structures_test/Structures_test.pro.user

@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.7.1, 2020-05-07T08:51:54. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{0be31763-9f64-45e0-9202-d2a18c1fe429}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap">
+   <valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
+    <value type="QString">-fno-delayed-template-parsing</value>
+   </valuelist>
+   <value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.11.2 MinGW 32bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.11.2 MinGW 32bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5112.win32_mingw53_kit</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/Documents/build-Structures_test-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/Documents/build-Structures_test-Desktop_Qt_5_11_2_MinGW_32bit-Release</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/DeskUser/Documents/build-Structures_test-Desktop_Qt_5_11_2_MinGW_32bit-Profile</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Structures_test</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Structures_test2</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:H:/_Documents/Structures_test/Structures_test.pro</value>
+    <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">Structures_test.pro</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">C:/Users/DeskUser/Documents/build-Structures_test-Desktop_Qt_5_11_2_MinGW_32bit-Debug</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">18</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">18</value>
+ </data>
+</qtcreator>

+ 375 - 0
Structures_test/calsol.h

@@ -0,0 +1,375 @@
+#ifndef CALSOL_H
+#define CALSOL_H
+/*
+ * Trouvé ici et exporté en CSV puis forgé par notepad++
+ * http://ptaff.ca/soleil/?l1pays=France&l1etat=Haute-Vienne&l1ville=Limoges&l2pays=&l2etat=&l1cityname=Limoges%2C+Haute-Vienne%2C+France&l1ltd=45&l1ltm=50&l1lts=07&l1ltx=N&l1lgd=1&l1lgm=15&l1lgs=45&l1lgx=E&l1tz=0.0&l1dst=&l2cityname=&l2ltd=&l2ltm=&l2lts=&l2ltx=N&l2lgd=&l2lgm=&l2lgs=&l2lgx=E&l2tz=0&l2dst=&year=2019&month=02&day=15&lang=fr_CA&go=Voir+le+graphe%21
+ * */
+const unsigned long DateSol_t[][9] ={
+    {2019, 1, 1, 7, 36, 16, 21, 8, 44},
+    {2019, 1, 2, 7, 36, 16, 22, 8, 45},
+    {2019, 1, 3, 7, 36, 16, 22, 8, 46},
+    {2019, 1, 4, 7, 36, 16, 23, 8, 47},
+    {2019, 1, 5, 7, 36, 16, 25, 8, 49},
+    {2019, 1, 6, 7, 36, 16, 26, 8, 50},
+    {2019, 1, 7, 7, 36, 16, 27, 8, 51},
+    {2019, 1, 8, 7, 35, 16, 28, 8, 52},
+    {2019, 1, 9, 7, 35, 16, 29, 8, 54},
+    {2019, 1, 10, 7, 35, 16, 30, 8, 55},
+    {2019, 1, 11, 7, 34, 16, 31, 8, 57},
+    {2019, 1, 12, 7, 34, 16, 32, 8, 59},
+    {2019, 1, 13, 7, 33, 16, 34, 9, 0},
+    {2019, 1, 14, 7, 33, 16, 35, 9, 2},
+    {2019, 1, 15, 7, 32, 16, 36, 9, 4},
+    {2019, 1, 16, 7, 32, 16, 37, 9, 6},
+    {2019, 1, 17, 7, 31, 16, 39, 9, 8},
+    {2019, 1, 18, 7, 30, 16, 40, 9, 10},
+    {2019, 1, 19, 7, 30, 16, 41, 9, 12},
+    {2019, 1, 20, 7, 29, 16, 43, 9, 14},
+    {2019, 1, 21, 7, 28, 16, 44, 9, 16},
+    {2019, 1, 22, 7, 27, 16, 46, 9, 18},
+    {2019, 1, 23, 7, 26, 16, 47, 9, 21},
+    {2019, 1, 24, 7, 25, 16, 48, 9, 23},
+    {2019, 1, 25, 7, 25, 16, 50, 9, 25},
+    {2019, 1, 26, 7, 24, 16, 51, 9, 28},
+    {2019, 1, 27, 7, 23, 16, 53, 9, 30},
+    {2019, 1, 28, 7, 21, 16, 54, 9, 33},
+    {2019, 1, 29, 7, 20, 16, 56, 9, 35},
+    {2019, 1, 30, 7, 19, 16, 57, 9, 38},
+    {2019, 1, 31, 7, 18, 16, 59, 9, 40},
+    {2019, 2, 1, 7, 17, 17, 0, 9, 43},
+    {2019, 2, 2, 7, 16, 17, 1, 9, 46},
+    {2019, 2, 3, 7, 14, 17, 3, 9, 48},
+    {2019, 2, 4, 7, 13, 17, 4, 9, 51},
+    {2019, 2, 5, 7, 12, 17, 6, 9, 54},
+    {2019, 2, 6, 7, 11, 17, 7, 9, 57},
+    {2019, 2, 7, 7, 9, 17, 9, 10, 0},
+    {2019, 2, 8, 7, 8, 17, 10, 10, 2},
+    {2019, 2, 9, 7, 6, 17, 12, 10, 5},
+    {2019, 2, 10, 7, 5, 17, 13, 10, 8},
+    {2019, 2, 11, 7, 4, 17, 15, 10, 11},
+    {2019, 2, 12, 7, 2, 17, 16, 10, 14},
+    {2019, 2, 13, 7, 1, 17, 18, 10, 17},
+    {2019, 2, 14, 6, 59, 17, 19, 10, 20},
+    {2019, 2, 15, 6, 57, 17, 21, 10, 23},
+    {2019, 2, 16, 6, 56, 17, 22, 10, 26},
+    {2019, 2, 17, 6, 54, 17, 24, 10, 29},
+    {2019, 2, 18, 6, 53, 17, 25, 10, 32},
+    {2019, 2, 19, 6, 51, 17, 26, 10, 35},
+    {2019, 2, 20, 6, 49, 17, 28, 10, 38},
+    {2019, 2, 21, 6, 48, 17, 29, 10, 42},
+    {2019, 2, 22, 6, 46, 17, 31, 10, 45},
+    {2019, 2, 23, 6, 44, 17, 32, 10, 48},
+    {2019, 2, 24, 6, 43, 17, 34, 10, 51},
+    {2019, 2, 25, 6, 41, 17, 35, 10, 54},
+    {2019, 2, 26, 6, 39, 17, 37, 10, 57},
+    {2019, 2, 27, 6, 37, 17, 38, 11, 0},
+    {2019, 2, 28, 6, 36, 17, 39, 11, 4},
+    {2019, 3, 1, 6, 34, 17, 41, 11, 7},
+    {2019, 3, 2, 6, 32, 17, 42, 11, 10},
+    {2019, 3, 3, 6, 30, 17, 44, 11, 13},
+    {2019, 3, 4, 6, 28, 17, 45, 11, 16},
+    {2019, 3, 5, 6, 27, 17, 46, 11, 20},
+    {2019, 3, 6, 6, 25, 17, 48, 11, 23},
+    {2019, 3, 7, 6, 23, 17, 49, 11, 26},
+    {2019, 3, 8, 6, 21, 17, 50, 11, 29},
+    {2019, 3, 9, 6, 19, 17, 52, 11, 33},
+    {2019, 3, 10, 6, 17, 17, 53, 11, 36},
+    {2019, 3, 11, 6, 15, 17, 55, 11, 39},
+    {2019, 3, 12, 6, 14, 17, 56, 11, 42},
+    {2019, 3, 13, 6, 12, 17, 57, 11, 46},
+    {2019, 3, 14, 6, 10, 17, 59, 11, 49},
+    {2019, 3, 15, 6, 8, 18, 0, 11, 52},
+    {2019, 3, 16, 6, 6, 18, 1, 11, 55},
+    {2019, 3, 17, 6, 4, 18, 3, 11, 59},
+    {2019, 3, 18, 6, 2, 18, 4, 12, 2},
+    {2019, 3, 19, 6, 0, 18, 5, 12, 5},
+    {2019, 3, 20, 5, 58, 18, 7, 12, 8},
+    {2019, 3, 21, 5, 56, 18, 8, 12, 12},
+    {2019, 3, 22, 5, 54, 18, 9, 12, 15},
+    {2019, 3, 23, 5, 52, 18, 11, 12, 18},
+    {2019, 3, 24, 5, 51, 18, 12, 12, 21},
+    {2019, 3, 25, 5, 49, 18, 13, 12, 25},
+    {2019, 3, 26, 5, 47, 18, 15, 12, 28},
+    {2019, 3, 27, 5, 45, 18, 16, 12, 31},
+    {2019, 3, 28, 5, 43, 18, 17, 12, 34},
+    {2019, 3, 29, 5, 41, 18, 19, 12, 38},
+    {2019, 3, 30, 5, 39, 18, 20, 12, 41},
+    {2019, 3, 31, 5, 37, 18, 21, 12, 44},
+    {2019, 4, 1, 5, 35, 18, 23, 12, 47},
+    {2019, 4, 2, 5, 33, 18, 24, 12, 51},
+    {2019, 4, 3, 5, 31, 18, 25, 12, 54},
+    {2019, 4, 4, 5, 30, 18, 26, 12, 57},
+    {2019, 4, 5, 5, 28, 18, 28, 13, 0},
+    {2019, 4, 6, 5, 26, 18, 29, 13, 3},
+    {2019, 4, 7, 5, 24, 18, 30, 13, 7},
+    {2019, 4, 8, 5, 22, 18, 32, 13, 10},
+    {2019, 4, 9, 5, 20, 18, 33, 13, 13},
+    {2019, 4, 10, 5, 18, 18, 34, 13, 16},
+    {2019, 4, 11, 5, 16, 18, 36, 13, 19},
+    {2019, 4, 12, 5, 15, 18, 37, 13, 22},
+    {2019, 4, 13, 5, 13, 18, 38, 13, 25},
+    {2019, 4, 14, 5, 11, 18, 40, 13, 29},
+    {2019, 4, 15, 5, 9, 18, 41, 13, 32},
+    {2019, 4, 16, 5, 7, 18, 42, 13, 35},
+    {2019, 4, 17, 5, 6, 18, 44, 13, 38},
+    {2019, 4, 18, 5, 4, 18, 45, 13, 41},
+    {2019, 4, 19, 5, 2, 18, 46, 13, 44},
+    {2019, 4, 20, 5, 0, 18, 47, 13, 47},
+    {2019, 4, 21, 4, 59, 18, 49, 13, 50},
+    {2019, 4, 22, 4, 57, 18, 50, 13, 53},
+    {2019, 4, 23, 4, 55, 18, 51, 13, 56},
+    {2019, 4, 24, 4, 54, 18, 53, 13, 59},
+    {2019, 4, 25, 4, 52, 18, 54, 14, 2},
+    {2019, 4, 26, 4, 50, 18, 55, 14, 5},
+    {2019, 4, 27, 4, 49, 18, 57, 14, 8},
+    {2019, 4, 28, 4, 47, 18, 58, 14, 11},
+    {2019, 4, 29, 4, 45, 18, 59, 14, 14},
+    {2019, 4, 30, 4, 44, 19, 0, 14, 16},
+    {2019, 5, 1, 4, 42, 19, 2, 14, 19},
+    {2019, 5, 2, 4, 41, 19, 3, 14, 22},
+    {2019, 5, 3, 4, 39, 19, 4, 14, 25},
+    {2019, 5, 4, 4, 38, 19, 6, 14, 28},
+    {2019, 5, 5, 4, 36, 19, 7, 14, 30},
+    {2019, 5, 6, 4, 35, 19, 8, 14, 33},
+    {2019, 5, 7, 4, 34, 19, 9, 14, 36},
+    {2019, 5, 8, 4, 32, 19, 11, 14, 38},
+    {2019, 5, 9, 4, 31, 19, 12, 14, 41},
+    {2019, 5, 10, 4, 30, 19, 13, 14, 44},
+    {2019, 5, 11, 4, 28, 19, 14, 14, 46},
+    {2019, 5, 12, 4, 27, 19, 16, 14, 49},
+    {2019, 5, 13, 4, 26, 19, 17, 14, 51},
+    {2019, 5, 14, 4, 25, 19, 18, 14, 53},
+    {2019, 5, 15, 4, 23, 19, 19, 14, 56},
+    {2019, 5, 16, 4, 22, 19, 20, 14, 58},
+    {2019, 5, 17, 4, 21, 19, 22, 15, 0},
+    {2019, 5, 18, 4, 20, 19, 23, 15, 3},
+    {2019, 5, 19, 4, 19, 19, 24, 15, 5},
+    {2019, 5, 20, 4, 18, 19, 25, 15, 7},
+    {2019, 5, 21, 4, 17, 19, 26, 15, 9},
+    {2019, 5, 22, 4, 16, 19, 27, 15, 11},
+    {2019, 5, 23, 4, 15, 19, 28, 15, 13},
+    {2019, 5, 24, 4, 14, 19, 29, 15, 15},
+    {2019, 5, 25, 4, 13, 19, 30, 15, 17},
+    {2019, 5, 26, 4, 12, 19, 31, 15, 19},
+    {2019, 5, 27, 4, 12, 19, 32, 15, 21},
+    {2019, 5, 28, 4, 11, 19, 33, 15, 22},
+    {2019, 5, 29, 4, 10, 19, 34, 15, 24},
+    {2019, 5, 30, 4, 10, 19, 35, 15, 26},
+    {2019, 5, 31, 4, 9, 19, 36, 15, 27},
+    {2019, 6, 1, 4, 8, 19, 37, 15, 29},
+    {2019, 6, 2, 4, 8, 19, 38, 15, 30},
+    {2019, 6, 3, 4, 7, 19, 39, 15, 32},
+    {2019, 6, 4, 4, 7, 19, 40, 15, 33},
+    {2019, 6, 5, 4, 6, 19, 40, 15, 34},
+    {2019, 6, 6, 4, 6, 19, 41, 15, 35},
+    {2019, 6, 7, 4, 6, 19, 42, 15, 36},
+    {2019, 6, 8, 4, 5, 19, 43, 15, 37},
+    {2019, 6, 9, 4, 5, 19, 43, 15, 38},
+    {2019, 6, 10, 4, 5, 19, 44, 15, 39},
+    {2019, 6, 11, 4, 5, 19, 45, 15, 40},
+    {2019, 6, 12, 4, 4, 19, 45, 15, 41},
+    {2019, 6, 13, 4, 4, 19, 46, 15, 41},
+    {2019, 6, 14, 4, 4, 19, 46, 15, 42},
+    {2019, 6, 15, 4, 4, 19, 47, 15, 43},
+    {2019, 6, 16, 4, 4, 19, 47, 15, 43},
+    {2019, 6, 17, 4, 4, 19, 47, 15, 43},
+    {2019, 6, 18, 4, 4, 19, 48, 15, 44},
+    {2019, 6, 19, 4, 4, 19, 48, 15, 44},
+    {2019, 6, 20, 4, 5, 19, 48, 15, 44},
+    {2019, 6, 21, 4, 5, 19, 49, 15, 44},
+    {2019, 6, 22, 4, 5, 19, 49, 15, 44},
+    {2019, 6, 23, 4, 5, 19, 49, 15, 44},
+    {2019, 6, 24, 4, 5, 19, 49, 15, 44},
+    {2019, 6, 25, 4, 6, 19, 49, 15, 43},
+    {2019, 6, 26, 4, 6, 19, 49, 15, 43},
+    {2019, 6, 27, 4, 7, 19, 49, 15, 43},
+    {2019, 6, 28, 4, 7, 19, 49, 15, 42},
+    {2019, 6, 29, 4, 8, 19, 49, 15, 42},
+    {2019, 6, 30, 4, 8, 19, 49, 15, 41},
+    {2019, 7, 1, 4, 9, 19, 49, 15, 40},
+    {2019, 7, 2, 4, 9, 19, 49, 15, 39},
+    {2019, 7, 3, 4, 10, 19, 48, 15, 39},
+    {2019, 7, 4, 4, 10, 19, 48, 15, 38},
+    {2019, 7, 5, 4, 11, 19, 48, 15, 37},
+    {2019, 7, 6, 4, 12, 19, 48, 15, 36},
+    {2019, 7, 7, 4, 13, 19, 47, 15, 35},
+    {2019, 7, 8, 4, 13, 19, 47, 15, 33},
+    {2019, 7, 9, 4, 14, 19, 46, 15, 32},
+    {2019, 7, 10, 4, 15, 19, 46, 15, 31},
+    {2019, 7, 11, 4, 16, 19, 45, 15, 29},
+    {2019, 7, 12, 4, 17, 19, 44, 15, 28},
+    {2019, 7, 13, 4, 18, 19, 44, 15, 26},
+    {2019, 7, 14, 4, 18, 19, 43, 15, 25},
+    {2019, 7, 15, 4, 19, 19, 42, 15, 23},
+    {2019, 7, 16, 4, 20, 19, 42, 15, 21},
+    {2019, 7, 17, 4, 21, 19, 41, 15, 20},
+    {2019, 7, 18, 4, 22, 19, 40, 15, 18},
+    {2019, 7, 19, 4, 23, 19, 39, 15, 16},
+    {2019, 7, 20, 4, 24, 19, 38, 15, 14},
+    {2019, 7, 21, 4, 25, 19, 37, 15, 12},
+    {2019, 7, 22, 4, 26, 19, 36, 15, 10},
+    {2019, 7, 23, 4, 27, 19, 35, 15, 8},
+    {2019, 7, 24, 4, 29, 19, 34, 15, 6},
+    {2019, 7, 25, 4, 30, 19, 33, 15, 4},
+    {2019, 7, 26, 4, 31, 19, 32, 15, 1},
+    {2019, 7, 27, 4, 32, 19, 31, 14, 59},
+    {2019, 7, 28, 4, 33, 19, 30, 14, 57},
+    {2019, 7, 29, 4, 34, 19, 29, 14, 55},
+    {2019, 7, 30, 4, 35, 19, 28, 14, 52},
+    {2019, 7, 31, 4, 36, 19, 26, 14, 50},
+    {2019, 8, 1, 4, 38, 19, 25, 14, 47},
+    {2019, 8, 2, 4, 39, 19, 24, 14, 45},
+    {2019, 8, 3, 4, 40, 19, 22, 14, 42},
+    {2019, 8, 4, 4, 41, 19, 21, 14, 40},
+    {2019, 8, 5, 4, 42, 19, 20, 14, 37},
+    {2019, 8, 6, 4, 44, 19, 18, 14, 35},
+    {2019, 8, 7, 4, 45, 19, 17, 14, 32},
+    {2019, 8, 8, 4, 46, 19, 15, 14, 29},
+    {2019, 8, 9, 4, 47, 19, 14, 14, 27},
+    {2019, 8, 10, 4, 48, 19, 12, 14, 24},
+    {2019, 8, 11, 4, 50, 19, 11, 14, 21},
+    {2019, 8, 12, 4, 51, 19, 9, 14, 18},
+    {2019, 8, 13, 4, 52, 19, 8, 14, 15},
+    {2019, 8, 14, 4, 53, 19, 6, 14, 13},
+    {2019, 8, 15, 4, 55, 19, 4, 14, 10},
+    {2019, 8, 16, 4, 56, 19, 3, 14, 7},
+    {2019, 8, 17, 4, 57, 19, 1, 14, 4},
+    {2019, 8, 18, 4, 58, 18, 59, 14, 1},
+    {2019, 8, 19, 5, 0, 18, 58, 13, 58},
+    {2019, 8, 20, 5, 1, 18, 56, 13, 55},
+    {2019, 8, 21, 5, 2, 18, 54, 13, 52},
+    {2019, 8, 22, 5, 3, 18, 53, 13, 49},
+    {2019, 8, 23, 5, 4, 18, 51, 13, 46},
+    {2019, 8, 24, 5, 6, 18, 49, 13, 43},
+    {2019, 8, 25, 5, 7, 18, 47, 13, 40},
+    {2019, 8, 26, 5, 8, 18, 45, 13, 37},
+    {2019, 8, 27, 5, 9, 18, 44, 13, 34},
+    {2019, 8, 28, 5, 11, 18, 42, 13, 31},
+    {2019, 8, 29, 5, 12, 18, 40, 13, 28},
+    {2019, 8, 30, 5, 13, 18, 38, 13, 25},
+    {2019, 8, 31, 5, 14, 18, 36, 13, 22},
+    {2019, 9, 1, 5, 16, 18, 34, 13, 19},
+    {2019, 9, 2, 5, 17, 18, 33, 13, 16},
+    {2019, 9, 3, 5, 18, 18, 31, 13, 13},
+    {2019, 9, 4, 5, 19, 18, 29, 13, 10},
+    {2019, 9, 5, 5, 21, 18, 27, 13, 6},
+    {2019, 9, 6, 5, 22, 18, 25, 13, 3},
+    {2019, 9, 7, 5, 23, 18, 23, 13, 0},
+    {2019, 9, 8, 5, 24, 18, 21, 12, 57},
+    {2019, 9, 9, 5, 25, 18, 19, 12, 54},
+    {2019, 9, 10, 5, 27, 18, 17, 12, 51},
+    {2019, 9, 11, 5, 28, 18, 15, 12, 47},
+    {2019, 9, 12, 5, 29, 18, 13, 12, 44},
+    {2019, 9, 13, 5, 30, 18, 12, 12, 41},
+    {2019, 9, 14, 5, 32, 18, 10, 12, 38},
+    {2019, 9, 15, 5, 33, 18, 8, 12, 35},
+    {2019, 9, 16, 5, 34, 18, 6, 12, 32},
+    {2019, 9, 17, 5, 35, 18, 4, 12, 28},
+    {2019, 9, 18, 5, 37, 18, 2, 12, 25},
+    {2019, 9, 19, 5, 38, 18, 0, 12, 22},
+    {2019, 9, 20, 5, 39, 17, 58, 12, 19},
+    {2019, 9, 21, 5, 40, 17, 56, 12, 16},
+    {2019, 9, 22, 5, 42, 17, 54, 12, 12},
+    {2019, 9, 23, 5, 43, 17, 52, 12, 9},
+    {2019, 9, 24, 5, 44, 17, 50, 12, 6},
+    {2019, 9, 25, 5, 45, 17, 48, 12, 3},
+    {2019, 9, 26, 5, 47, 17, 46, 12, 0},
+    {2019, 9, 27, 5, 48, 17, 44, 11, 56},
+    {2019, 9, 28, 5, 49, 17, 42, 11, 53},
+    {2019, 9, 29, 5, 50, 17, 40, 11, 50},
+    {2019, 9, 30, 5, 52, 17, 38, 11, 47},
+    {2019, 10, 1, 5, 53, 17, 36, 11, 43},
+    {2019, 10, 2, 5, 54, 17, 35, 11, 40},
+    {2019, 10, 3, 5, 55, 17, 33, 11, 37},
+    {2019, 10, 4, 5, 57, 17, 31, 11, 34},
+    {2019, 10, 5, 5, 58, 17, 29, 11, 31},
+    {2019, 10, 6, 5, 59, 17, 27, 11, 28},
+    {2019, 10, 7, 6, 1, 17, 25, 11, 24},
+    {2019, 10, 8, 6, 2, 17, 23, 11, 21},
+    {2019, 10, 9, 6, 3, 17, 21, 11, 18},
+    {2019, 10, 10, 6, 5, 17, 19, 11, 15},
+    {2019, 10, 11, 6, 6, 17, 18, 11, 12},
+    {2019, 10, 12, 6, 7, 17, 16, 11, 8},
+    {2019, 10, 13, 6, 9, 17, 14, 11, 5},
+    {2019, 10, 14, 6, 10, 17, 12, 11, 2},
+    {2019, 10, 15, 6, 11, 17, 10, 10, 59},
+    {2019, 10, 16, 6, 13, 17, 9, 10, 56},
+    {2019, 10, 17, 6, 14, 17, 7, 10, 53},
+    {2019, 10, 18, 6, 15, 17, 5, 10, 50},
+    {2019, 10, 19, 6, 17, 17, 3, 10, 47},
+    {2019, 10, 20, 6, 18, 17, 2, 10, 44},
+    {2019, 10, 21, 6, 19, 17, 0, 10, 40},
+    {2019, 10, 22, 6, 21, 16, 58, 10, 37},
+    {2019, 10, 23, 6, 22, 16, 56, 10, 34},
+    {2019, 10, 24, 6, 24, 16, 55, 10, 31},
+    {2019, 10, 25, 6, 25, 16, 53, 10, 28},
+    {2019, 10, 26, 6, 26, 16, 52, 10, 25},
+    {2019, 10, 27, 6, 28, 16, 50, 10, 22},
+    {2019, 10, 28, 6, 29, 16, 48, 10, 19},
+    {2019, 10, 29, 6, 30, 16, 47, 10, 16},
+    {2019, 10, 30, 6, 32, 16, 45, 10, 13},
+    {2019, 10, 31, 6, 33, 16, 44, 10, 10},
+    {2019, 11, 1, 6, 35, 16, 42, 10, 8},
+    {2019, 11, 2, 6, 36, 16, 41, 10, 5},
+    {2019, 11, 3, 6, 38, 16, 39, 10, 2},
+    {2019, 11, 4, 6, 39, 16, 38, 9, 59},
+    {2019, 11, 5, 6, 40, 16, 37, 9, 56},
+    {2019, 11, 6, 6, 42, 16, 35, 9, 53},
+    {2019, 11, 7, 6, 43, 16, 34, 9, 51},
+    {2019, 11, 8, 6, 45, 16, 33, 9, 48},
+    {2019, 11, 9, 6, 46, 16, 31, 9, 45},
+    {2019, 11, 10, 6, 47, 16, 30, 9, 43},
+    {2019, 11, 11, 6, 49, 16, 29, 9, 40},
+    {2019, 11, 12, 6, 50, 16, 28, 9, 37},
+    {2019, 11, 13, 6, 52, 16, 27, 9, 35},
+    {2019, 11, 14, 6, 53, 16, 26, 9, 32},
+    {2019, 11, 15, 6, 54, 16, 24, 9, 30},
+    {2019, 11, 16, 6, 56, 16, 23, 9, 28},
+    {2019, 11, 17, 6, 57, 16, 22, 9, 25},
+    {2019, 11, 18, 6, 59, 16, 21, 9, 23},
+    {2019, 11, 19, 7, 0, 16, 21, 9, 20},
+    {2019, 11, 20, 7, 1, 16, 20, 9, 18},
+    {2019, 11, 21, 7, 3, 16, 19, 9, 16},
+    {2019, 11, 22, 7, 4, 16, 18, 9, 14},
+    {2019, 11, 23, 7, 5, 16, 17, 9, 12},
+    {2019, 11, 24, 7, 7, 16, 16, 9, 10},
+    {2019, 11, 25, 7, 8, 16, 16, 9, 8},
+    {2019, 11, 26, 7, 9, 16, 15, 9, 6},
+    {2019, 11, 27, 7, 10, 16, 14, 9, 4},
+    {2019, 11, 28, 7, 12, 16, 14, 9, 2},
+    {2019, 11, 29, 7, 13, 16, 13, 9, 0},
+    {2019, 11, 30, 7, 14, 16, 13, 8, 59},
+    {2019, 12, 1, 7, 15, 16, 12, 8, 57},
+    {2019, 12, 2, 7, 17, 16, 12, 8, 55},
+    {2019, 12, 3, 7, 18, 16, 12, 8, 54},
+    {2019, 12, 4, 7, 19, 16, 11, 8, 52},
+    {2019, 12, 5, 7, 20, 16, 11, 8, 51},
+    {2019, 12, 6, 7, 21, 16, 11, 8, 50},
+    {2019, 12, 7, 7, 22, 16, 11, 8, 49},
+    {2019, 12, 8, 7, 23, 16, 10, 8, 47},
+    {2019, 12, 9, 7, 24, 16, 10, 8, 46},
+    {2019, 12, 10, 7, 25, 16, 10, 8, 45},
+    {2019, 12, 11, 7, 26, 16, 10, 8, 45},
+    {2019, 12, 12, 7, 27, 16, 10, 8, 44},
+    {2019, 12, 13, 7, 28, 16, 10, 8, 43},
+    {2019, 12, 14, 7, 28, 16, 11, 8, 42},
+    {2019, 12, 15, 7, 29, 16, 11, 8, 42},
+    {2019, 12, 16, 7, 30, 16, 11, 8, 41},
+    {2019, 12, 17, 7, 31, 16, 11, 8, 41},
+    {2019, 12, 18, 7, 31, 16, 12, 8, 40},
+    {2019, 12, 19, 7, 32, 16, 12, 8, 40},
+    {2019, 12, 20, 7, 32, 16, 12, 8, 40},
+    {2019, 12, 21, 7, 33, 16, 13, 8, 40},
+    {2019, 12, 22, 7, 33, 16, 13, 8, 40},
+    {2019, 12, 23, 7, 34, 16, 14, 8, 40},
+    {2019, 12, 24, 7, 34, 16, 14, 8, 40},
+    {2019, 12, 25, 7, 35, 16, 15, 8, 40},
+    {2019, 12, 26, 7, 35, 16, 16, 8, 41},
+    {2019, 12, 27, 7, 35, 16, 16, 8, 41},
+    {2019, 12, 28, 7, 36, 16, 17, 8, 41},
+    {2019, 12, 29, 7, 36, 16, 18, 8, 42},
+    {2019, 12, 30, 7, 36, 16, 19, 8, 43},
+    {2019, 12, 31, 7, 36, 16, 20, 8, 43}
+};
+
+#endif // CALSOL_H

+ 53 - 0
Structures_test/main.cpp

@@ -0,0 +1,53 @@
+#include <QCoreApplication>
+#include <QDebug>
+#include <QDate>
+
+#include "calsol.h"
+
+struct Date_t {
+        unsigned long annee;
+        unsigned long mois;
+        unsigned long jour;
+};
+
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);    
+    qDebug() << "Test Structures dates avec exemple de détection levée du soleil";
+
+    Date_t ma_date;
+    ma_date.annee = QDate::currentDate().year();
+    ma_date.mois = QDate::currentDate().month();
+    ma_date.jour = QDate::currentDate().day();
+
+    qDebug() << endl << "On est le" << ma_date.jour << ma_date.mois << ma_date.annee;
+
+    int value = 0;
+    while(1) {
+     //   qDebug() << "Recherche dans la structure...";
+     //   qDebug() << ma_date.annee << DateSol_t[value][0];
+        if(ma_date.annee != DateSol_t[value][0]){
+            value++;
+        }
+        else {
+            if(ma_date.mois != DateSol_t[value][1]) {
+                value++;
+            }
+            else {
+                if(ma_date.jour != DateSol_t[value][2]) {
+                    value++;
+                }
+                else {
+                    qDebug() << "Trouve !";
+                    qDebug() << "Le soleil se leve a" <<DateSol_t[value][3] << DateSol_t[value][4];
+                    qDebug() << "Le soleil se couche a" << DateSol_t[value][5] << DateSol_t[value][6];
+                    qDebug() << "Duree du jour" << DateSol_t[value][7] << DateSol_t[value][8];
+
+                    return a.exec();
+
+                }
+             }
+        }
+    }
+}