Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

RTime.hxx

Go to the documentation of this file.
00001 #ifndef _RBTIME_HXX_
00002 #define _RBTIME_HXX_
00003 
00004 #include <rglobals.hxx>
00005 //#include <raygina.hxx>
00006 
00007 namespace RayGina {
00008         namespace CORE {
00009                 class CORE_EXPORT RTime {
00010                         private:
00011                                 RUInt32 nanosec;
00012                                 RUInt32 framelen;
00013                                 RUInt32 framenumber;
00014                         public:
00015                                 inline RTime() : nanosec(0),framelen(40000),framenumber(0) {};
00016                                 inline RTime(RUInt32 newns) : nanosec(newns),framelen(40000),framenumber(newns/40000) {};
00017                                 inline RTime(RUInt32 newns,RUInt32 newfl) : nanosec(newns),framelen(newfl),framenumber(newns/newfl) {};
00018         //                      inline RTime(unsigned int newns,unsigned int newfl,unsigned int newfn) : nanosec(newns),framelen(newfl),framenumber(newfn) {};
00019                                 
00020                                 inline void setFrameRate(RReal32 frate) {
00021                                         if(frate == 0.0f) {
00022         //                                      rayGina::getInstance()->log("hier","da",RLOG_ERROR) << "HUHU" << std::endl;
00023                                         }
00024                                         framelen = (RUInt32)(1000000.0f/frate);
00025                                         framenumber = nanosec/framelen;
00026                                 };
00027                                 inline RReal32 getFrameRate() const {
00028                                         return 1000000.0f/(RReal32)framelen;
00029                                 };
00030         
00031                                 inline void setTime(RUInt32 newtime) {
00032                                         nanosec = newtime;
00033                                         framenumber = nanosec/framelen;
00034                                 };              
00035                                 inline RUInt32 getTime() const {
00036                                         return nanosec;
00037                                 };
00038                                 
00039                                 inline void setFrameNumber(RUInt32 newfn) {
00040                                         framenumber = newfn;
00041                                         nanosec = framelen*framenumber;
00042                                 };
00043                                 inline RUInt32 getFrameNumber() const {
00044                                         return framenumber;
00045                                 };
00046                                 
00047                                 inline void setFrameLength(RUInt32 newfl) {
00048                                         framelen = newfl;
00049                                         framenumber = nanosec/framelen;
00050                                 };
00051                                 inline RUInt32 getFrameLength() const {
00052                                         return framelen;
00053                                 };
00054                 };
00055         };
00056 };
00057 #endif

Generated on Sun Dec 2 17:01:00 2007 for rayGina by  doxygen 1.3.9.1