Frapper  1.0a
plugins/nodes/Tracking/FaceTracker/Helper.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-2009 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 Helper_h
34 #define Helper_h
35 
36 #include <cstdlib>
37 
38 namespace FaceTrackerNode {
39 
43 
44 
52 static const float EPSILON = 0.000000000001f;
53 
54 
58 
59 
66 typedef struct PointNDC {
67  float x;
68  float y;
69 } PointNDC;
70 
71 
78 typedef struct RectNDC {
79  float x;
80  float y;
81  float w;
82  float h;
83 } RectNDC;
84 
90 typedef struct Attractor {
92  float size;
93 } Attractor;
94 
98 
99 
107 static PointNDC CreatePointNDC ( float x, float y )
108 {
109  PointNDC p;
110  p.x = x;
111  p.y = y;
112  return p;
113 }
114 
118 
119 
126 static unsigned int getRandom ( unsigned int max )
127 {
128  return (unsigned int) ((float) rand() / RAND_MAX * max);
129 }
130 
131 
138 static float getRandom ( float max )
139 {
140  return ((float) rand() / RAND_MAX * max);
141 }
142 
143 
149 static float getRandom ()
150 {
151  return getRandom(1.0f);
152 }
153 
154 } // namespace FaceTrackerNode
155 
156 #endif