93 lines
3.4 KiB
Plaintext
93 lines
3.4 KiB
Plaintext
// Filename: auxSceneData.I
|
|
// Created by: drose (27Sep04)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::Constructor
|
|
// Access: Protected
|
|
// Description: This is protected, since you normally don't want to
|
|
// create a plain AuxSceneData object; instead, create
|
|
// an instance of a derived class that actually has some
|
|
// useful data in it.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE AuxSceneData::
|
|
AuxSceneData(double duration) :
|
|
_duration(duration),
|
|
_last_render_time(0.0)
|
|
{
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::set_duration
|
|
// Access: Public
|
|
// Description: Specifies the minimum length in time, in seconds, to
|
|
// keep this AuxSceneData object around in the scene
|
|
// graph after the last time it was rendered.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void AuxSceneData::
|
|
set_duration(double duration) {
|
|
_duration = duration;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::get_duration
|
|
// Access: Public
|
|
// Description: Returns the minimum length in time, in seconds, to
|
|
// keep this AuxSceneData object around in the scene
|
|
// graph after the last time it was rendered.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE double AuxSceneData::
|
|
get_duration() const {
|
|
return _duration;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::set_last_render_time
|
|
// Access: Public
|
|
// Description: Should be called with the current frame_time each
|
|
// time the AuxSceneData is used during traversal.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void AuxSceneData::
|
|
set_last_render_time(double last_render_time) {
|
|
_last_render_time = last_render_time;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::get_last_render_time
|
|
// Access: Public
|
|
// Description: Returns the last time this object was used during
|
|
// traversal (according to set_last_render_time()).
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE double AuxSceneData::
|
|
get_last_render_time() const {
|
|
return _last_render_time;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AuxSceneData::get_expiration_time
|
|
// Access: Public
|
|
// Description: Returns the frame_time at which this AuxSceneData
|
|
// object is currently scheduled to be removed from the
|
|
// scene graph.
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE double AuxSceneData::
|
|
get_expiration_time() const {
|
|
return _last_render_time + _duration;
|
|
}
|
|
|
|
INLINE ostream &
|
|
operator << (ostream &out, const AuxSceneData &data) {
|
|
data.output(out);
|
|
return out;
|
|
}
|