open_toontown_panda3d/panda/src/pgraph/auxSceneData.I

97 lines
3.6 KiB
Plaintext

// Filename: auxSceneData.I
// Created by: drose (27Sep04)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license. You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
//
// To contact the maintainers of this program write to
// panda3d-general@lists.sourceforge.net .
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// 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;
}