![]() |
http://www.sim.no http://www.coin3d.org |
The SbTime class instances represents time values.SbTime is a convenient way of doing system independent representation and calculations on time values of high resolution. More...
#include <Inventor/SbTime.h>
Public Member Functions | |
SbTime (void) | |
SbTime (const double sec) | |
SbTime (const int32_t sec, const long usec) | |
SbTime (const struct timeval *const tv) | |
void | setToTimeOfDay (void) |
void | setValue (const double sec) |
void | setValue (const int32_t sec, const long usec) |
void | setValue (const struct timeval *const tv) |
void | setMsecValue (const unsigned long msec) |
double | getValue (void) const |
void | getValue (time_t &sec, long &usec) const |
void | getValue (struct timeval *tv) const |
unsigned long | getMsecValue (void) const |
SbString | format (const char *const fmt="%S.%i") const |
SbString | formatDate (const char *const fmt=NULL) const |
SbBool | parsedate (const char *const date) |
SbTime & | operator+= (const SbTime &tm) |
SbTime & | operator-= (const SbTime &tm) |
SbTime | operator- (void) const |
SbTime & | operator*= (const double s) |
SbTime & | operator/= (const double s) |
double | operator/ (const SbTime &tm) const |
SbTime | operator% (const SbTime &tm) const |
int | operator== (const SbTime &tm) const |
int | operator!= (const SbTime &tm) const |
SbBool | operator< (const SbTime &tm) const |
SbBool | operator> (const SbTime &tm) const |
SbBool | operator<= (const SbTime &tm) const |
SbBool | operator>= (const SbTime &tm) const |
void | print (FILE *fp) const |
Static Public Member Functions | |
static SbTime | getTimeOfDay (void) |
static SbTime | zero (void) |
static SbTime | max (void) |
static SbTime | maxTime (void) |
Friends | |
SbTime | operator+ (const SbTime &t0, const SbTime &t1) |
SbTime | operator- (const SbTime &t0, const SbTime &t1) |
SbTime | operator* (const double s, const SbTime &tm) |
SbTime | operator* (const SbTime &tm, const double s) |
SbTime | operator/ (const SbTime &tm, const double s) |
The SbTime class instances represents time values.
SbTime is a convenient way of doing system independent representation and calculations on time values of high resolution.
SbTime::SbTime | ( | void | ) |
The default constructor sets up a time instance of 0 seconds.
References setValue().
Referenced by maxTime(), operator%(), operator-(), and zero().
SbTime::SbTime | ( | const double | sec | ) |
Construct and initialize an SbTime instance to a time specified as sec seconds.
References setValue().
SbTime::SbTime | ( | const int32_t | sec, |
const long | usec | ||
) |
Construct and initialize an SbTime instance to a date and time sec number of seconds and usec number of microseconds.
References setValue().
SbTime::SbTime | ( | const struct timeval *const | tv | ) |
Construct and initialize an SbTime instance to the date and time given by the struct timeval. For information on the timeval structure, please consult your system developer documentation.
References setValue().
|
static |
Returns an SbTime instance with the current clock time. The current time will be given as a particular number of seconds and microseconds since 00:00:00 January 1, 1970, in Coordinated Universal Time (UTC).
Referenced by SoIntersectionDetectionAction::apply(), SoShape::getBoundingBoxCache(), SoOffscreenRenderer::getGLRenderAction(), SoSensorManager::processTimerQueue(), SoVRMLAudioClip::read(), SoDB::renameGlobalField(), SoSceneManager::render(), SoTimerSensor::schedule(), and setToTimeOfDay().
void SbTime::setToTimeOfDay | ( | void | ) |
Set this SbTime to be the current clock time. The current time will be given as a particular number of seconds and microseconds since 00:00:00.00 1st January 1970.
References getTimeOfDay().
Referenced by SoAlarmSensor::setTimeFromNow().
|
static |
Returns an SbTime instance representing zero time.
References SbTime().
Referenced by SoDB::enableRealTimeSensor(), SoSensorManager::insertDelaySensor(), SoSensorManager::setDelaySensorTimeout(), SoDB::setRealTimeInterval(), SoElapsedTime::SoElapsedTime(), SoOneShot::SoOneShot(), SoRotor::SoRotor(), SoTimeCounter::SoTimeCounter(), SoVRMLMovieTexture::SoVRMLMovieTexture(), SoElapsedTime::~SoElapsedTime(), and SoRotor::~SoRotor().
|
static |
|
static |
void SbTime::setValue | ( | const double | sec | ) |
Reset an SbTime instance to sec number of seconds.
Referenced by SbTime(), setMsecValue(), and SoTimerSensor::SoTimerSensor().
void SbTime::setValue | ( | const int32_t | sec, |
const long | usec | ||
) |
Reset an SbTime instance to sec number of seconds and usec number of microseconds.
void SbTime::setValue | ( | const struct timeval *const | tv | ) |
Reset an SbTime instance to the date and time given by the timeval struct. For information on the timeval struct, please consult your developer system documentation.
void SbTime::setMsecValue | ( | const unsigned long | msec | ) |
double SbTime::getValue | ( | void | ) | const |
Return time as number of seconds.
Referenced by SoVRMLSound::audioRender(), SoTrackballDragger::dragFinish(), SoShape::getBoundingBoxCache(), SoTimeCounter::inputChanged(), SoSensorManager::insertTimerSensor(), operator%(), operator-(), operator/(), print(), SoTimerSensor::reschedule(), SoElapsedTime::SoElapsedTime(), SoVRMLSound::stopPlaying(), SbCondVar::timedWait(), SoTimeCounter::writeInstance(), SoOneShot::~SoOneShot(), and SoRotor::~SoRotor().
void SbTime::getValue | ( | time_t & | sec, |
long & | usec | ||
) | const |
Return number of seconds and microseconds which the SbTime instance represents.
void SbTime::getValue | ( | struct timeval * | tv | ) | const |
Returns the time as a timeval structure. For information on the timeval structure, please consult your system developer documentation.
unsigned long SbTime::getMsecValue | ( | void | ) | const |
Return number of milliseconds which the SbTime instance represents.
Important note: you should in general avoid using this function, as it has an inherent API design flaw (from the original SGI Open Inventor design). The problem is that an unsigned long wraps around in a fairly short time when used for counting milliseconds: in less than 50 days. (And since SbTime instances are often initialized to be the time since the start of the epoch (ie 1970-01-01 00:00), the value will have wrapped around many, many times.)
You are probably better off using the getValue() method which returns a double for the number of seconds, then multiply by 1000.0 if you need to know the current number of milliseconds of the SbTime instance.
References SoDebugError::postWarning().
SbString SbTime::format | ( | const char *const | fmt = "%S.%i" | ) | const |
Uses the formatting specified below to return a string representation of the stored date/time. Any format specifiers must be prefixed with a '' symbol, any other text in the format string fmt will be copied directly to the resultant SbString.
%% - insert a single ''.
D - number of days.
H - number of hours.
h - remaining hours after subtracting number of days.
M - number of minutes.
m - remaining minutes after subtracting the total number of hours.
S - number of seconds.
s - remaining seconds after subtracting the total number of minutes.
I - number of milliseconds.
i - remaining milliseconds after subtracting the total number of seconds.
U - number of microseconds.
u - remaining microseconds after subtracting the total number of mseconds.
The result shows UTC time, not corrected for local time zone nor daylight savings time.
References SbString::addIntString(), and SoDebugError::postWarning().
Referenced by formatDate(), and SoVRMLAudioClip::read().
SbString SbTime::formatDate | ( | const char *const | fmt = NULL | ) | const |
Accepts the formatting identifiers specified by the POSIX strftime() function to return a string representation of the stored date. Check your reference documentation for strftime() for information on the format modifiers available.
Default formatting is used if fmt is NULL
. Note that the default formatting is different on Microsoft Windows systems versus all other systems. For Windows, it is "%#c"
, for other systems it is "%A, %D %r"
(again, see system documentation on strftime() for more information).
The value of SbTime will be interpreted as seconds since 00:00:00 1970-01-01.
The result shows local time, according to local time zone and daylight savings time (if and when applicable).
References format().
Referenced by print().
SbBool SbTime::parsedate | ( | const char *const | date | ) |
This method takes a date string and converts it to the internal SbTime format. The date string must conform to one of three formats, namely the RFC 822 / RFC 1123 format (Wkd, DD Mnth YYYY HH:MM:SS GMT), the RFC 850 / RFC 1036 format (Weekday, DD-Mnth-YY HH:MM:SS GMT), or the asctime() format (Wkdy Mnth D HH:MM:SS YYYY).
Feeding an invalid date string to this method will make it return FALSE.
References SoDebugError::post(), SoDebugError::postInfo(), and SoDebugError::postWarning().
Subtract tm from time value and return reference to self.
SbTime SbTime::operator- | ( | void | ) | const |
Return the negated time.
References getValue(), and SbTime().
SbTime & operator*= | ( | const double | s | ) |
Multiply time value with s and return reference to self.
SbTime & operator/= | ( | const double | s | ) |
Divide time value with s and return reference to self.
References SoDebugError::postWarning().
double operator/ | ( | const SbTime & | tm | ) | const |
Find the factor between this SbTime and the one given in tm, and return the result.
References getValue(), and SoDebugError::postWarning().
Returns the remainder time when dividing on tm.
References getValue(), SoDebugError::postWarning(), and SbTime().
int SbTime::operator== | ( | const SbTime & | tm | ) | const |
Check if the time value is equal to that of tm.
int SbTime::operator!= | ( | const SbTime & | tm | ) | const |
Check if the time value is not equal to that of tm.
SbBool SbTime::operator< | ( | const SbTime & | tm | ) | const |
Compares with tm and return TRUE if less.
SbBool SbTime::operator> | ( | const SbTime & | tm | ) | const |
Compares with tm and return TRUE if larger than.
SbBool SbTime::operator<= | ( | const SbTime & | tm | ) | const |
Compares with tm and return TRUE if less or equal.
SbBool SbTime::operator>= | ( | const SbTime & | tm | ) | const |
Compares with tm and return TRUE if larger or equal.
References SbString::addIntString().
void SbTime::print | ( | FILE * | fp | ) | const |
Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile.
References formatDate(), SbString::getString(), and getValue().
Add the two SbTimes and return the result.
Subtract t1 from t0 and return the result.
Multiply time value tm with s and return result.
Multiply time value tm with s and return result.
Divide time value tm with s and return result.
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Fri Feb 17 2017 for Coin by Doxygen. 1.8.13