Frapper
1.0a
Main Page
Namespaces
Classes
Files
File List
File Members
plugins
nodes
Network
FaceShiftClient
FaceShiftClientNode.h
Go to the documentation of this file.
1
/*
2
-----------------------------------------------------------------------------
3
This source file is part of FRAPPER
4
research.animationsinstitut.de
5
sourceforge.net/projects/frapper
6
7
Copyright (c) 2008-2012 Filmakademie Baden-Wuerttemberg, Institute of Animation
8
9
This program is free software; you can redistribute it and/or modify it under
10
the terms of the GNU Lesser General Public License as published by the Free Software
11
Foundation; version 2.1 of the License.
12
13
This program is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public License along with
18
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
21
-----------------------------------------------------------------------------
22
*/
23
32
33
#ifndef FACESHIFTCLIENTNODE_H
34
#define FACESHIFTCLIENTNODE_H
35
36
#include "
Node.h
"
37
#include "
ParameterGroup.h
"
38
#include <QtCore/QDataStream>
39
#include <QtNetwork/QTcpSocket>
40
#include <QTime>
41
42
// FaceShift binary network stream format
43
#include <
fsstream.h
>
44
45
namespace
FaceShiftClientNode {
46
using namespace
Frapper;
47
51
class
FaceShiftClientNode
:
public
Node
//, public QThread
52
{
53
54
Q_OBJECT
55
ADD_INSTANCE_COUNTER
56
57
public
:
// constructors and destructors
58
65
FaceShiftClientNode
( QString name,
ParameterGroup
*parameterRoot );
66
70
~
FaceShiftClientNode
();
71
72
public
:
// functions
73
74
virtual
void
run();
75
76
77
private
slots:
//
78
82
void
toggleRun();
83
87
void
processInputData();
88
92
void
threadFinished();
93
94
private
:
// data
95
99
QTcpSocket
m_tcpSocket
;
100
104
fs::fsBinaryTrackingStream
m_trackingStream
;
105
109
ParameterGroup
*
m_animParams
;
110
114
QTime
m_stopWatch
;
115
119
QVector<fs::fsTrackingData>
m_trackingData
;
120
124
QList<int>
m_updateRates
;
125
126
private
:
// functions
127
128
// write decoded head translation to output parameters
129
void
UpdateHeadTranslation( Ogre::Vector3 trans);
130
131
// write decoded head rotation to output parameters
132
void
UpdateHeadRotation( Ogre::Quaternion rot );
133
134
// write decoded eye gaze to output parameters
135
void
UpdateEyeGaze(
float
pitchLeft,
float
pitchRight,
float
yawLeft,
float
yawRight);
136
};
137
138
}
// namespace FaceShiftClientNode
139
140
#endif
Generated on Tue Sep 18 2012 11:43:02 for Frapper by
1.8.2