NAME
SbTime -
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.
SYNOPSIS
#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)
static void sleep (int msec)
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)
Detailed Description
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.
Constructor & Destructor Documentation
SbTime::SbTime (void) The default constructor sets up a time instance of 0
seconds.
SbTime::SbTime (const double sec) Construct and initialize an SbTime
instance to a time specified as sec seconds.
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.
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.
Member Function Documentation
SbTime SbTime::getTimeOfDay (void) [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).
See also:
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.
See also:
getTimeOfDay().
SbTime SbTime::zero (void) [static] Returns an SbTime instance representing
zero time.
See also:
zero().
SbTime SbTime::max (void) [static] Returns an SbTime instance representing
the maximum representable time/date.
This method is not available under MSWindows, as max() crashes with a
define macro Microsoft has polluted the global namespace with.
See also:
zero().
SbTime SbTime::maxTime (void) [static] Returns an SbTime instance
representing the maximum representable time/date.
See also:
zero().
void SbTime::sleep (int msec) [static] Suspends the current thread for msec
milliseconds.
See also:
cc_sleep().
Since:
Coin 3.0
void SbTime::setValue (const double sec) Reset an SbTime instance to sec
number of seconds.
See also:
getValue().
void SbTime::setValue (const int32_t sec, const long usec) Reset an SbTime
instance to sec number of seconds and usec number of microseconds.
See also:
getValue().
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.
See also:
getValue().
void SbTime::setMsecValue (const unsigned long msec) Set the time by msec
number of milliseconds.
See also:
getMsecValue().
double SbTime::getValue (void) const Return time as number of seconds.
See also:
setValue().
void SbTime::getValue (time_t & sec, long & usec) const Return number of
seconds and microseconds which the SbTime instance represents.
See also:
setValue().
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.
See also:
setValue().
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.
See also:
setMsecValue()
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.
See also:
formatDate().
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).
See also:
format().
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.
SbTime & SbTime::operator+= (const SbTime & tm) Add tm to time value and
return reference to self.
SbTime & SbTime::operator-= (const SbTime & tm) Subtract tm from time value
and return reference to self.
SbTime SbTime::operator- (void) const Return the negated time.
double operator/ (const SbTime & tm) const Find the factor between this
SbTime and the one given in tm, and return the result.
SbTime SbTime::operator% (const SbTime & tm) const Returns the remainder
time when dividing on tm.
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.
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.
Friends And Related Function Documentation
SbTime operator+ (const SbTime & t0, const SbTime & t1) [friend] Add the
two SbTimes and return the result.
SbTime operator- (const SbTime & t0, const SbTime & t1) [friend] Subtract
t1 from t0 and return the result.
SbTime operator* (const double s, const SbTime & tm) [friend] Multiply time
value tm with s and return result.
SbTime operator* (const SbTime & tm, const double s) [friend] Multiply time
value tm with s and return result.
SbTime operator/ (const SbTime & tm, const double s) [friend] Divide time
value tm with s and return result.
Author
Generated automatically by Doxygen for Coin from the source code.