SbTime(3IV)

NAME
SbTime — class for representation of a time

INHERITS FROM
SbTime

SYNOPSIS
#include <Inventor/SbTime.h>

Methods from class SbTime:

SbTime()

SbTime(double sec)

SbTime(int32_t sec, long usec)

SbTime(const struct timeval *tv)
static SbTime
getTimeOfDay()
void
setToTimeOfDay()
static SbTime
zero()
static SbTime
max()
void
setValue(double sec)
void
setValue(int32_t sec, long usec)
void
setValue(const struct timeval *tv)
void
setMsecValue(unsigned long msec)
double
getValue() const
void
getValue(int32_t &sec, long &usec) const
void
getValue(struct timeval *tv) const
unsigned long
getMsecValue() const
SbString
format(const char *fmt = "%S.%i") const
SbString
formatDate(const char *fmt = "%A, %D %r") const
SbTime
operator +(const SbTime &t0, const SbTime &t1)
SbTime
operator -(const SbTime &t0, const SbTime &t1)
SbTime &
operator +=(const SbTime &tm)
SbTime &
operator -=(const SbTime &tm)
SbTime
operator -() const
SbTime
operator *(double s, const SbTime &tm)
SbTime
operator *(const SbTime &tm, double s)
SbTime
operator /(const SbTime &tm, double s)
SbTime &
operator *=(double s)
SbTime &
operator /=(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

DESCRIPTION
This class represents and performs operations on time. Operations may be done in seconds, seconds and microseconds, or using a struct timeval (defined in /usr/include/sys/time.h).

METHODS

SbTime()

SbTime(double sec)

SbTime(int32_t sec, long usec)

SbTime(const struct timeval *tv)
Constructors taking seconds, seconds and microseconds, or a struct timeval. NOTE that an integer parameter will not automatically cast to a double to invoke the constructor taking seconds; that is, SbTime(1) will result in a compilation error. SbTime(1.0) must be used instead. This is to avoid errors in upgrading from an earlier release, in which SbTime(1) had different semantics. In future releases, this distinction will be eliminated, and the effect of SbTime(1.0) and that of SbTime(1) will be identical.

static SbTime
getTimeOfDay()
Get the current time (seconds since Jan 1, 1970).

void
setToTimeOfDay()
Set to the current time (seconds since Jan 1, 1970).

static SbTime
zero()
Get a zero time.

static SbTime
max()
Get a time far, far into the future.

void
setValue(double sec)
Set time from a double (in seconds).

void
setValue(int32_t sec, long usec)
Set time from seconds + microseconds.

void
setValue(const struct timeval *tv)
Set time from a struct timeval.

void
setMsecValue(unsigned long msec)
Set time from milliseconds.

double
getValue() const
Get time in seconds as a double.

void
getValue(int32_t &sec, long &usec) const
Get time in seconds and microseconds.

void
getValue(struct timeval *tv) const
Get time in a struct timeval.

unsigned long
getMsecValue() const
Get time in milliseconds (for Xt).

SbString
format(const char *fmt = "%S.%i") const
Convert to a string. The default format is seconds with 3 digits of fraction precision. fmt is a character string that consists of field descriptors and text characters, in a manner analogous to cftime (3C) and printf (3S). Each field descriptor consists of a % character followed by another character which specifies the replacement for the field descriptor. All other characters are copied from fmt into the result. The following field descriptors are supported:

%   the `%' character
D   total number of days
H   total number of hours
M   total number of minutes
S   total number of seconds
I   total number of milliseconds
U   total number of microseconds
h   hours remaining after the days (00-23)
m   minutes remaining after the hours (00-59)
s   seconds remaining after the minutes (00-59)
i   milliseconds remaining after the seconds (000-999)
u   microseconds remaining after the seconds (000000-999999)

The uppercase descriptors are formatted with a leading `—' for negative times; the lowercase descriptors are formatted fixed width, with leading zeros. For example, a reasonable format string might be "elapsed time: %M minutes, %s seconds". The default value of fmt, "%S.%i", formats the time as seconds with 3 digits of fractional precision.

SbString
formatDate(const char *fmt = "%A, %D %r") const
Convert to a date string, interpreting the time as seconds since Jan 1, 1970. The default format gives "Tuesday, 01/26/93 11:23:41 AM". See the cftime() reference page for explanation of the format string.

SbTime
operator +(const SbTime &t0, const SbTime &t1)
SbTime
operator -(const SbTime &t0, const SbTime &t1)
Addition and subtraction of two times.

SbTime &
operator +=(const SbTime &tm)
SbTime &
operator -=(const SbTime &tm)
Addition and subtraction of two times which modifies the time structure.

SbTime
operator -() const
Unary negation.

SbTime
operator *(double s, const SbTime &tm)
SbTime
operator *(const SbTime &tm, double s)
SbTime
operator /(const SbTime &tm, double s)
Multiplication and division by scalar.

SbTime &
operator *=(double s)
SbTime &
operator /=(double s)
Destructive multiplication and division by scalar.

double
operator /(const SbTime &tm) const
Division by another time.

SbTime
operator %(const SbTime &tm) const
Modulus for two times (remainder when time1 is divided by time2).

int
operator ==(const SbTime &tm) const
int
operator !=(const SbTime &tm) const
Equality operators.

SbBool
operator <(const SbTime &tm) const
SbBool
operator >(const SbTime &tm) const
SbBool
operator <=(const SbTime &tm) const
SbBool
operator >=(const SbTime &tm) const
Relational operators.

SEE ALSO
cftime