diff options
| author | Wim Vriend <facetracknoir@gmail.com> | 2012-09-13 17:06:22 +0000 | 
|---|---|---|
| committer | Wim Vriend <facetracknoir@gmail.com> | 2012-09-13 17:06:22 +0000 | 
| commit | c26901009a23c3b7df5197b3b326cb14d12e0d7f (patch) | |
| tree | 34646ae48ad4e287de8109efcc57d1389f6d6fed /FTNoIR_Tracker_FD | |
| parent | 4b27a934f41d5d978b51ba6e94f2440ca403cb9c (diff) | |
Class TrackerDll added, to get info about the Tracker
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@128 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FTNoIR_Tracker_FD')
| -rw-r--r-- | FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.h | 43 | ||||
| -rw-r--r-- | FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.vcproj | 4 | ||||
| -rw-r--r-- | FTNoIR_Tracker_FD/ftnoir_tracker_facedetect.cpp | 37 | ||||
| -rw-r--r-- | FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dialog.cpp | 28 | ||||
| -rw-r--r-- | FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dll.cpp | 85 | 
5 files changed, 112 insertions, 85 deletions
diff --git a/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.h b/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.h index ddb9afde..01a39451 100644 --- a/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.h +++ b/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.h @@ -37,7 +37,6 @@ public:  	FTNoIR_Tracker();
  	~FTNoIR_Tracker();
 -	void Release();
      void Initialize( QFrame *videoframe );
      void StartTracker( HWND parent_window );
      void StopTracker( bool exit );
 @@ -47,10 +46,6 @@ public:  	bool notifyZeroed();
  	void refreshVideo();
 -	void getFullName(QString *strToBeFilled);
 -	void getShortName(QString *strToBeFilled);
 -	void getDescription(QString *strToBeFilled);
 -
  private:
  	bool activep;
  	//QList<std::pair<float,float>>	parameterRange;
 @@ -61,11 +56,6 @@ private:  	PROCESS_INFORMATION procInfo;
  	VideoWidget* ctrl;
  	QFrame* qframe;
 -
 -	QString trackerFullName;								// Trackers' name and description
 -	QString trackerShortName;
 -	QString trackerDescription;
 -
  };
  class TrackerControls: public QWidget, Ui::UICFDClientControls, public ITrackerDialog
 @@ -79,11 +69,6 @@ public:      void Initialize(QWidget *parent);
  	void NotifyZeroing();
 -	void getFullName(QString *strToBeFilled);
 -	void getShortName(QString *strToBeFilled);
 -	void getDescription(QString *strToBeFilled);
 -	void getIcon(QIcon *icon);
 -
  private:
  	Ui::UICFDClientControls ui;
  	void loadSettings();
 @@ -93,10 +78,6 @@ private:  	HANDLE hMapFile, hMutex;
  	struct face_detect_shm* shm;
 -	QString trackerFullName;								// Trackers' name and description
 -	QString trackerShortName;
 -	QString trackerDescription;
 -
  private slots:
  	void doOK();
  	void doCancel();
 @@ -105,4 +86,26 @@ private slots:  	void doSetCameraId(int val);
  	void doSetVideoWidget(bool val);
  signals:
 -};
\ No newline at end of file +};
 +
 +//*******************************************************************************************************
 +// FaceTrackNoIR Tracker DLL. Functions used to get general info on the Tracker
 +//*******************************************************************************************************
 +class FTNoIR_TrackerDll : public ITrackerDll
 +{
 +public:
 +	FTNoIR_TrackerDll();
 +	~FTNoIR_TrackerDll();
 +
 +    void Initialize();
 +
 +	void getFullName(QString *strToBeFilled);
 +	void getShortName(QString *strToBeFilled);
 +	void getDescription(QString *strToBeFilled);
 +	void getIcon(QIcon *icon);
 +
 +private:
 +	QString trackerFullName;									// Trackers' name and description
 +	QString trackerShortName;
 +	QString trackerDescription;
 +};
 diff --git a/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.vcproj b/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.vcproj index 27a31758..3c9f1fc0 100644 --- a/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.vcproj +++ b/FTNoIR_Tracker_FD/FTNoIR_Tracker_FD.vcproj @@ -175,6 +175,10 @@  				RelativePath=".\ftnoir_tracker_facedetect_dialog.cpp"
  				>
  			</File>
 +			<File
 +				RelativePath=".\ftnoir_tracker_facedetect_dll.cpp"
 +				>
 +			</File>
  		</Filter>
  		<Filter
  			Name="Header Files"
 diff --git a/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect.cpp b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect.cpp index 7f1c1529..1602db85 100644 --- a/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect.cpp +++ b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect.cpp @@ -63,14 +63,6 @@ void VideoWidget::paintEvent(QPaintEvent*) {  FTNoIR_Tracker::FTNoIR_Tracker()
  {
  	qDebug("making tracker FaceDetect");
 -	////allocate memory for the parameters
 -	//parameterValueAsFloat.clear();
 -	//parameterRange.clear();
 -
 -	//// Add the parameters to the list
 -	//parameterRange.append(std::pair<float,float>(1000.0f,9999.0f));
 -	//parameterValueAsFloat.append(0.0f);
 -	////setParameterValue(kPortAddress,5551.0f);
  	hMutex = CreateMutex(NULL, false, fd_mutex_name);
  	hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(struct face_detect_shm), fd_shm_name);
 @@ -80,12 +72,6 @@ FTNoIR_Tracker::FTNoIR_Tracker()  	procInfo.hProcess = INVALID_HANDLE_VALUE;
  	ctrl = NULL;
  	qframe = NULL;
 -
 -	//populate the description strings
 -	trackerFullName = "faceDetect V1.0.0";
 -	trackerShortName = "faceDetect";
 -	trackerDescription = "Stans' faceDetect V1.0.0";
 -
  }
  void FTNoIR_Tracker::TerminateTracker() {
 @@ -108,12 +94,6 @@ FTNoIR_Tracker::~FTNoIR_Tracker()  	//CloseHandle(hMutex);
  }
 -void FTNoIR_Tracker::Release()
 -{
 -	qDebug("FTNoIR_Tracker::Release says: Starting ");
 -	delete this;
 -}
 -
  void FTNoIR_Tracker::Initialize( QFrame *videoframe )
  {
  	qDebug("FTNoIR_Tracker::Initialize()");
 @@ -212,23 +192,6 @@ bool FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data)  	return false;
  }
 -void FTNoIR_Tracker::getFullName(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerFullName;
 -};
 -
 -
 -void FTNoIR_Tracker::getShortName(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerShortName;
 -};
 -
 -
 -void FTNoIR_Tracker::getDescription(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerDescription;
 -};
 -
  //
  // Load the current Settings from the currently 'active' INI-file.
  //
 diff --git a/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dialog.cpp b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dialog.cpp index a29f5c28..3c080898 100644 --- a/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dialog.cpp +++ b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dialog.cpp @@ -72,12 +72,6 @@ QWidget()  	QObject::connect(ui.redetect_ms, SIGNAL(valueChanged(int)), this, SLOT(doSetRedetectMs(int)));
  	QObject::connect(ui.cameraId, SIGNAL(valueChanged(int)), this, SLOT(doSetCameraId(int)));
  	QObject::connect(ui.videoWidget, SIGNAL(toggled(bool)), this, SLOT(doSetVideoWidget(bool)));
 -
 -	//populate the description strings
 -	trackerFullName = "faceDetect V1.0.0";
 -	trackerShortName = "faceDetect";
 -	trackerDescription = "Stans' faceDetect V1.0.0";
 -
  }
  void TrackerControls::save() {
 @@ -171,28 +165,6 @@ void TrackerControls::doCancel() {  	}
  }
 -void TrackerControls::getFullName(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerFullName;
 -};
 -
 -
 -void TrackerControls::getShortName(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerShortName;
 -};
 -
 -
 -void TrackerControls::getDescription(QString *strToBeFilled)
 -{
 -	*strToBeFilled = trackerDescription;
 -};
 -
 -void TrackerControls::getIcon(QIcon *icon)
 -{
 -	*icon = QIcon(":/images/FaceDetect.ico");
 -};
 -
  ////////////////////////////////////////////////////////////////////////////////
  // Factory function that creates instances if the Tracker-settings dialog object.
 diff --git a/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dll.cpp b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dll.cpp new file mode 100644 index 00000000..6bfa1284 --- /dev/null +++ b/FTNoIR_Tracker_FD/ftnoir_tracker_facedetect_dll.cpp @@ -0,0 +1,85 @@ +/********************************************************************************
 +* FaceTrackNoIR		This program is a private project of some enthusiastic		*
 +*					gamers from Holland, who don't like to pay much for			*
 +*					head-tracking.												*
 +*																				*
 +* Copyright (C) 2012	Wim Vriend (Developing)									*
 +*						Ron Hendriks (Researching and Testing)					*
 +*																				*
 +* Homepage																		*
 +*																				*
 +* This program is free software; you can redistribute it and/or modify it		*
 +* under the terms of the GNU General Public License as published by the			*
 +* Free Software Foundation; either version 3 of the License, or (at your		*
 +* option) any later version.													*
 +*																				*
 +* This program is distributed in the hope that it will be useful, but			*
 +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY	*
 +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for	*
 +* more details.																	*
 +*																				*
 +* You should have received a copy of the GNU General Public License along		*
 +* with this program; if not, see <http://www.gnu.org/licenses/>.				*
 +*																				*
 +********************************************************************************/
 +/*
 +	Modifications (last one on top):
 +		20120830 - WVR: The Dialog class was used to get general info on the DLL. This
 +						had a big disadvantage: the complete dialog was loaded, just to get
 +						some data and then it was deleted again (without ever showing the dialog).
 +						The TrackerDll class solves this.
 +						The functions to get the name(s) and icon were removed from the two other classes.
 +*/
 +#include "ftnoir_tracker_fd.h"
 +#include <QDebug>
 +
 +FTNoIR_TrackerDll::FTNoIR_TrackerDll() {
 +	//populate the description strings
 +	trackerFullName = "faceDetect V1.0.0";
 +	trackerShortName = "faceDetect";
 +	trackerDescription = "Stans' faceDetect V1.0.0";
 +}
 +
 +FTNoIR_TrackerDll::~FTNoIR_TrackerDll()
 +{
 +
 +}
 +
 +void FTNoIR_TrackerDll::Initialize()
 +{
 +	return;
 +}
 +
 +void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled)
 +{
 +	*strToBeFilled = trackerFullName;
 +};
 +
 +void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled)
 +{
 +	*strToBeFilled = trackerShortName;
 +};
 +
 +void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled)
 +{
 +	*strToBeFilled = trackerDescription;
 +};
 +
 +void FTNoIR_TrackerDll::getIcon(QIcon *icon)
 +{
 +	*icon = QIcon(":/images/FaceDetect.ico");
 +};
 +
 +////////////////////////////////////////////////////////////////////////////////
 +// Factory function that creates instances if the Tracker object.
 +
 +// Export both decorated and undecorated names.
 +//   GetTrackerDll     - Undecorated name, which can be easily used with GetProcAddress
 +//						Win32 API function.
 +//   _GetTrackerDll@0  - Common name decoration for __stdcall functions in C language.
 +#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0")
 +
 +FTNOIR_TRACKER_BASE_EXPORT TRACKERDLLHANDLE __stdcall GetTrackerDll()
 +{
 +	return new FTNoIR_TrackerDll;
 +}
  | 
