mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-05 03:15:07 -04:00
*** empty log message ***
This commit is contained in:
parent
a5bfa23fb7
commit
5271fd522d
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::Destructor
|
// Function: ClockObject::Destructor
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE ClockObject::
|
INLINE ClockObject::
|
||||||
@ -14,7 +14,7 @@ INLINE ClockObject::
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::set_mode
|
// Function: ClockObject::set_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Changes the mode of the clock, e.g. from normal
|
// Description: Changes the mode of the clock, e.g. from normal
|
||||||
// (real-time) to non-real-time. In non-real-time mode,
|
// (real-time) to non-real-time. In non-real-time mode,
|
||||||
// tick() will add the value of dt to the value returned
|
// tick() will add the value of dt to the value returned
|
||||||
@ -30,7 +30,7 @@ set_mode(ClockObject::Mode mode) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_mode
|
// Function: ClockObject::get_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the current mode of the clock. See
|
// Description: Returns the current mode of the clock. See
|
||||||
// set_mode().
|
// set_mode().
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -41,7 +41,7 @@ get_mode() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_frame_time
|
// Function: ClockObject::get_frame_time
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the time in seconds as of the last time
|
// Description: Returns the time in seconds as of the last time
|
||||||
// tick() was called (typically, this will be as of the
|
// tick() was called (typically, this will be as of the
|
||||||
// start of the current frame).
|
// start of the current frame).
|
||||||
@ -58,7 +58,7 @@ get_frame_time() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_intra_frame_time
|
// Function: ClockObject::get_intra_frame_time
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the number of seconds that have elapsed since
|
// Description: Returns the number of seconds that have elapsed since
|
||||||
// the start of the frame. This might be useful for
|
// the start of the frame. This might be useful for
|
||||||
// certain specialty applications, for instance to
|
// certain specialty applications, for instance to
|
||||||
@ -76,7 +76,7 @@ get_intra_frame_time() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_real_time
|
// Function: ClockObject::get_real_time
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the actual number of seconds elapsed since
|
// Description: Returns the actual number of seconds elapsed since
|
||||||
// the ClockObject was created, or since it was last
|
// the ClockObject was created, or since it was last
|
||||||
// reset. This is useful for doing real timing
|
// reset. This is useful for doing real timing
|
||||||
@ -89,7 +89,7 @@ get_real_time() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::reset
|
// Function: ClockObject::reset
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Simultaneously resets both the time and the frame
|
// Description: Simultaneously resets both the time and the frame
|
||||||
// count to zero.
|
// count to zero.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -102,7 +102,7 @@ reset() {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::set_real_time
|
// Function: ClockObject::set_real_time
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Resets the clock to the indicated time. This
|
// Description: Resets the clock to the indicated time. This
|
||||||
// changes only the real time of the clock as reported
|
// changes only the real time of the clock as reported
|
||||||
// by get_real_time(), but does not immediately change
|
// by get_real_time(), but does not immediately change
|
||||||
@ -117,7 +117,7 @@ set_real_time(double time) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::set_frame_time
|
// Function: ClockObject::set_frame_time
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Changes the time as reported for the current frame to
|
// Description: Changes the time as reported for the current frame to
|
||||||
// the indicated time. Normally, the way to adjust the
|
// the indicated time. Normally, the way to adjust the
|
||||||
// frame time is via tick(); this function is provided
|
// frame time is via tick(); this function is provided
|
||||||
@ -131,7 +131,7 @@ set_frame_time(double time) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::set_frame_count
|
// Function: ClockObject::set_frame_count
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Resets the number of frames counted to the indicated
|
// Description: Resets the number of frames counted to the indicated
|
||||||
// number. Also see reset(), set_real_time(), and
|
// number. Also see reset(), set_real_time(), and
|
||||||
// set_frame_time().
|
// set_frame_time().
|
||||||
@ -143,7 +143,7 @@ set_frame_count(int frame_count) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_frame_count
|
// Function: ClockObject::get_frame_count
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the number of times tick() has been called
|
// Description: Returns the number of times tick() has been called
|
||||||
// since the ClockObject was created, or since it was
|
// since the ClockObject was created, or since it was
|
||||||
// last reset. This is generally the number of frames
|
// last reset. This is generally the number of frames
|
||||||
@ -156,7 +156,7 @@ get_frame_count() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_frame_rate
|
// Function: ClockObject::get_frame_rate
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the average frame rate since the last reset.
|
// Description: Returns the average frame rate since the last reset.
|
||||||
// This is simply the total number of frames divided by
|
// This is simply the total number of frames divided by
|
||||||
// the total elapsed time.
|
// the total elapsed time.
|
||||||
@ -168,7 +168,7 @@ get_frame_rate() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_dt
|
// Function: ClockObject::get_dt
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the elapsed time for the previous frame: the
|
// Description: Returns the elapsed time for the previous frame: the
|
||||||
// number of seconds elapsed between the last two calls
|
// number of seconds elapsed between the last two calls
|
||||||
// to tick().
|
// to tick().
|
||||||
@ -180,7 +180,7 @@ get_dt() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::set_dt
|
// Function: ClockObject::set_dt
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: In non-real-time mode, sets the number of seconds
|
// Description: In non-real-time mode, sets the number of seconds
|
||||||
// that should appear to elapse between frames.
|
// that should appear to elapse between frames.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -195,9 +195,42 @@ set_dt(double dt) {
|
|||||||
_dt = dt;
|
_dt = dt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ClockObject::get_max_dt
|
||||||
|
// Access: Published
|
||||||
|
// Description: Returns the current maximum allowable time elapsed
|
||||||
|
// between any two frames. See set_max_dt().
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE double ClockObject::
|
||||||
|
get_max_dt() const {
|
||||||
|
return _max_dt;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ClockObject::set_max_dt
|
||||||
|
// Access: Published
|
||||||
|
// Description: Sets a limit on the value returned by get_dt(). If
|
||||||
|
// this value is less than zero, no limit is imposed;
|
||||||
|
// otherwise, this is the maximum value that will ever
|
||||||
|
// be returned by get_dt(), regardless of how much time
|
||||||
|
// has actually elapsed between frames.
|
||||||
|
//
|
||||||
|
// This limit is only imposed in real-time mode; in
|
||||||
|
// non-real-time mode, the dt is fixed anyway and max_dt
|
||||||
|
// is ignored.
|
||||||
|
//
|
||||||
|
// This is generally used to guarantee reasonable
|
||||||
|
// behavior even in the presence of a very slow or
|
||||||
|
// chuggy frame rame.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void ClockObject::
|
||||||
|
set_max_dt(double max_dt) {
|
||||||
|
_max_dt = max_dt;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::get_global_clock
|
// Function: ClockObject::get_global_clock
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns a pointer to the global ClockObject. This is
|
// Description: Returns a pointer to the global ClockObject. This is
|
||||||
// the ClockObject that most code should use for
|
// the ClockObject that most code should use for
|
||||||
// handling scene graph rendering and animation.
|
// handling scene graph rendering and animation.
|
||||||
@ -212,7 +245,7 @@ get_global_clock() {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: TimeVal::contructor
|
// Function: TimeVal::contructor
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE TimeVal::
|
INLINE TimeVal::
|
||||||
@ -221,7 +254,7 @@ TimeVal(void) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: TimeVal::get_sec
|
// Function: TimeVal::get_sec
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE ulong TimeVal::
|
INLINE ulong TimeVal::
|
||||||
@ -231,7 +264,7 @@ get_sec(void) const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: TimeVal::get_usec
|
// Function: TimeVal::get_usec
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE ulong TimeVal::
|
INLINE ulong TimeVal::
|
||||||
|
@ -10,7 +10,7 @@ ClockObject *ClockObject::_global_clock = (ClockObject *)NULL;
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::Constructor
|
// Function: ClockObject::Constructor
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
ClockObject::
|
ClockObject::
|
||||||
@ -26,7 +26,7 @@ ClockObject() {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ClockObject::tick
|
// Function: ClockObject::tick
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Instructs the clock that a new frame has just begun.
|
// Description: Instructs the clock that a new frame has just begun.
|
||||||
// In normal, real-time mode, get_frame_time() will
|
// In normal, real-time mode, get_frame_time() will
|
||||||
// henceforth report the time as of this instant as the
|
// henceforth report the time as of this instant as the
|
||||||
@ -42,6 +42,9 @@ tick() {
|
|||||||
switch (_mode) {
|
switch (_mode) {
|
||||||
case M_normal:
|
case M_normal:
|
||||||
_dt = _actual_frame_time - old_time;
|
_dt = _actual_frame_time - old_time;
|
||||||
|
if (_max_dt > 0.0) {
|
||||||
|
_dt = min(_max_dt, _dt);
|
||||||
|
}
|
||||||
_reported_frame_time = _actual_frame_time;
|
_reported_frame_time = _actual_frame_time;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -78,6 +78,9 @@ PUBLISHED:
|
|||||||
INLINE double get_dt() const;
|
INLINE double get_dt() const;
|
||||||
INLINE void set_dt(double dt);
|
INLINE void set_dt(double dt);
|
||||||
|
|
||||||
|
INLINE double get_max_dt() const;
|
||||||
|
INLINE void set_max_dt(double max_dt);
|
||||||
|
|
||||||
void tick();
|
void tick();
|
||||||
|
|
||||||
INLINE static ClockObject *get_global_clock();
|
INLINE static ClockObject *get_global_clock();
|
||||||
@ -90,6 +93,7 @@ private:
|
|||||||
double _actual_frame_time;
|
double _actual_frame_time;
|
||||||
double _reported_frame_time;
|
double _reported_frame_time;
|
||||||
double _dt;
|
double _dt;
|
||||||
|
double _max_dt;
|
||||||
|
|
||||||
static ClockObject *_global_clock;
|
static ClockObject *_global_clock;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user