@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QtTestingClass</class>
<widget class="QMainWindow" name="QtTestingClass">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1366</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>QtTesting</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="QLabel" name="lblCamera1">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>751</width>
<height>541</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="lblCamera2">
<property name="geometry">
<rect>
<x>770</x>
<y>0</y>
<width>591</width>
<height>551</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="text">
<string/>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1366</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QToolBar" name="mainToolBar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
</widget>
<widget class="QStatusBar" name="statusBar"/>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
@@ -0,0 +1,14 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by QtGui.rc

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
@@ -4,6 +4,7 @@
ThreadForNode::ThreadForNode()
{
msgPasser = new MessagePasser();
acknowledged = true;
connect(
this, SIGNAL(sendProfileToNode(ProfileTransferObj, ThreadForNode*)),
msgPasser, SLOT(passMessage(ProfileTransferObj, ThreadForNode*))
@@ -22,10 +23,17 @@ void ThreadForNode::run()
while (cap.grab())
{
cap.read(frame);

// process here

imshow(nodeId, frame);
// end process here

cvWaitKey(10);
waitForAcknowledge();
QImage outImage((uchar*)frame.data, frame.cols, frame.rows, frame.step, QImage::Format_RGB888);
int x = outImage.byteCount();
emit sendFrameToMain(outImage, this);

this->acknowledged = false;
}

qDebug() << "finished.";
@@ -37,3 +45,9 @@ void ThreadForNode::updateProfileList(ProfileTransferObj profile)
{

}


void ThreadForNode::waitForAcknowledge()
{
while (!acknowledged);
}
@@ -1,8 +1,10 @@
#ifndef THREADFORNODE_H
#define THREADFORNODE_H

#include <QObject>
//#include <QObject>
#include "QtCore\qobject.h"
#include "QtCore\qthread.h"
#include "qimage.h"
#include "qdebug.h"
#include "Models.h"

@@ -26,11 +28,14 @@ class ThreadForNode : public QThread
~ThreadForNode();
void run();
void updateProfileList(ProfileTransferObj profile);
void waitForAcknowledge();

string nodeId;
string videoLink; // temp
bool acknowledged;

signals:
void sendFrameToMain(QImage outImage, ThreadForNode* thread);
void sendProfileToNode(ProfileTransferObj profile, ThreadForNode* nodeThread);

private: