Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

vetNetServer.cpp

Go to the documentation of this file.
00001 
00018 #include "vetNetServer.h"
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 vetNetServer::vetNetServer() : vetOutput()
00027  {
00028         reset();
00029  }
00030 
00031 
00032 
00033 
00034 vetNetServer::vetNetServer(unsigned int port) : vetNetServer()
00035  {
00036         setPort(port);
00037         accept();
00038  }
00039 
00040 
00041 
00042                 vetNetServer();
00043 
00044                 vetNetServer(unsigned int port);
00045 
00046 
00047 
00048 
00049 
00050 #include "../vetUtility.h"
00051 
00052 
00053 
00070 int vetNetServer::reset(bool startTimers)
00071  {
00072         lastFps = 0;
00073         mediumFps = 0;
00074         lastExTime = 0;
00075         mediumExTime = 0;
00076         v_sleeptime = 0;
00077 
00078         if ( startTimers )
00079          {
00080                 lastFrameTime = clock();
00081                 frameCount = 1;
00082          }
00083         else
00084          {
00085                 frameCount = 0;
00086                 lastFrameTime = 0;
00087          }
00088         return VETRET_OK;
00089  }
00090 
00091 
00092 
00101 int vetNetServer::setInputFrameRate(float fps)
00102  {
00103         if (fps < 0.)
00104                 return VETRET_PARAM_ERR;
00105 
00106         if ( fps == 0 )
00107                 v_sleeptime = 0;
00108         else
00109                 v_sleeptime = (long)( (float)1000 / fps ); // milliseconds
00110 
00111         return VETRET_OK;
00112  }
00113 
00121 void vetNetServer::updateFps()
00122  {
00123         if ( frameCount == 0 || clock() - lastFrameTime == 0)
00124          {
00125                 lastFrameTime = clock();
00126                 frameCount++;
00127                 return;
00128          }
00129                                                                                 //CLOCKS_PER_SEC;//CLK_TCK;
00130         lastFps = 1  / ( ( clock() - lastFrameTime ) / CLOCKS_PER_SEC ); // fps = 1/elapsedsecond
00131         mediumFps = (mediumFps * (frameCount-1) + lastFps ) / frameCount;
00132 
00133         lastFrameTime = clock();
00134         frameCount++;
00135  }
00136 
00144 void vetNetServer::updateExtime()
00145  {
00146         if ( frameCount == 0 || clock() - lastFrameTime == 0 )
00147          {
00148                 lastExTime = clock();
00149                 return;
00150          }
00151 
00152                                                                                 //CLOCKS_PER_SEC;//CLK_TCK;
00153         lastExTime = 1000 * ( clock() - lastFrameTime ) / CLOCKS_PER_SEC;       //milliseconds
00154         mediumExTime = (mediumExTime * (frameCount-1) + lastExTime ) / frameCount;
00155  }
00156 
00157 
00158 long vetNetServer::getElapsedTime() const
00159  {
00160         return (long) ( 1000 * ( clock() - lastFrameTime ) / CLOCKS_PER_SEC);   //milliseconds
00161  }
00162 
00163 
00164 
00165 
00166 
00178 int vetNetServer::importFrom(vetFrameCache& img)
00179  {
00180         INFO("int vetNetServer::importFrom(vetFrameCache& img) [reading data]")
00181 
00182         return VETRET_NOT_IMPLEMENTED;
00183  }
00184 
00196 int vetNetServer::importFrom(vetFrameCache24& img)
00197  {
00198         INFO("int vetNetServer::importFrom(vetFrameCache24& img) [reading data]")
00199 
00200         return VETRET_NOT_IMPLEMENTED;
00201  }
00202 
00214 int vetNetServer::importFrom(vetFrameRGB& img)
00215  {
00216         INFO("int vetNetServer::importFrom(vetFrameRGB& img) [reading data]")
00217 
00218         return VETRET_NOT_IMPLEMENTED;
00219  }
00220 
00232 int vetNetServer::importFrom(vetFrameGrey& img)
00233  {
00234         INFO("int vetNetServer::importFrom(vetFrameGrey& img) [reading data]")
00235 
00236         return VETRET_NOT_IMPLEMENTED;
00237  }
00238 
00239 
00249 void vetNetServer::operator << (vetFrameCache& img)
00250  {
00251         INFO("void vetNetServer::operator << (vetFrameCache& img) [importing data]")
00252 
00253         updateFps();
00254 
00255         if ( runmode )
00256                 importFrom(img);
00257 
00258         updateExtime();
00259 
00260         if ( v_sleeptime )
00261                 vetUtility::vetSleep(v_sleeptime);
00262  }
00263 
00273 void vetNetServer::operator << (vetFrameCache24& img)
00274  {
00275         INFO("void vetNetServer::operator << (vetFrameCache24& img) [importing data]")
00276 
00277         updateFps();
00278 
00279         if ( runmode )
00280                 importFrom(img);
00281 
00282         updateExtime();
00283 
00284         if ( v_sleeptime )
00285                 vetUtility::vetSleep(v_sleeptime);
00286  }
00287 
00297 void vetNetServer::operator << (vetFrameRGB& img)
00298  {
00299         INFO("void vetNetServer::operator << (vetFrameRGB& img) [importing data]")
00300 
00301         updateFps();
00302 
00303         if ( runmode )
00304                 importFrom(img);
00305 
00306         updateExtime();
00307 
00308         if ( v_sleeptime )
00309                 vetUtility::vetSleep(v_sleeptime);
00310  }
00311 
00321 void vetNetServer::operator << (vetFrameGrey& img)
00322  {
00323         INFO("void vetNetServer::operator << (vetFrameGrey& img) [importing data]")
00324 
00325         updateFps();
00326 
00327         if ( runmode )
00328                 importFrom(img);
00329 
00330         updateExtime();
00331 
00332         if ( v_sleeptime )
00333                 vetUtility::vetSleep(v_sleeptime);
00334  }
00335 
00336 
00337 
00338 
00339 
00340 
00341 
00342 
00343 
00344 
00345 
00346 
00347 
00348 
00349 
00350 
00351 
00352 
00353 
00354 

Generated on Tue Jan 24 11:59:05 2006 for VETLib by  doxygen 1.4.4