Panda3D
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PythonTask Class Reference

This class exists to allow association of a Python function or coroutine with the AsyncTaskManager. More...

Inheritance diagram for PythonTask:
AsyncTask AsyncFuture Namable TypedReferenceCount TypedObject ReferenceCount

Public Member Functions

int __clear__ ()
 
int __delattr__ (object attr)
 
object __getattr__ (object attr)
 
 __init__ (object function, str name)
 
 __init__ (const PythonTask)
 
int __setattr__ (object attr, object v)
 
int __traverse__ (Visitproc visit, void arg)
 
object getArgs ()
 
object getFunction ()
 Returns the function that is called when the task runs. More...
 
object getOwner ()
 Returns the "owner" object. More...
 
object getUponDeath ()
 Returns the function that is called when the task finishes. More...
 
 operator new (int size)
 
 setArgs (object args, bool append_task)
 
 setFunction (object function)
 
 setOwner (object owner)
 
 setResult (object result)
 Sets the "result" of this task. More...
 
 setUponDeath (object upon_death)
 
- Public Member Functions inherited from AsyncTask
 __init__ (const AsyncTask)
 
 clearDelay ()
 Removes any delay specified for the task. More...
 
 clearName ()
 Resets the task's name to empty. More...
 
double getAverageDt ()
 Returns the average amount of time elapsed during each of the task's previous run cycles, in seconds. More...
 
double getDelay ()
 Returns the delay value that has been set via set_delay, if any. More...
 
double getDt ()
 Returns the amount of time elapsed during the task's previous run cycle, in seconds. More...
 
int getElapsedFrames ()
 Returns the number of frames that have elapsed since the task was started, according to the task manager's clock. More...
 
double getElapsedTime ()
 Returns the amount of time that has elapsed since the task was started, according to the task manager's clock. More...
 
AsyncTaskManager getManager ()
 Returns the AsyncTaskManager that this task is active on. More...
 
double getMaxDt ()
 Returns the maximum amount of time elapsed during any one of the task's previous run cycles, in seconds. More...
 
str getNamePrefix ()
 Returns the initial part of the name, up to but not including any trailing digits following a hyphen or underscore. More...
 
int getPriority ()
 Returns the task's current priority value. More...
 
int getSort ()
 Returns the task's current sort value. More...
 
int getStartFrame ()
 Returns the frame number at which the task was started, according to the task manager's clock. More...
 
double getStartTime ()
 Returns the time at which the task was started, according to the task manager's clock. More...
 
AsyncTask::State getState ()
 Returns the current state of the task. More...
 
str getTaskChain ()
 Returns the AsyncTaskChain on which this task will be running. More...
 
AtomicAdjust::Integer getTaskId ()
 Returns a number guaranteed to be unique for each different AsyncTask object in the universe. More...
 
double getWakeTime ()
 If this task has been added to an AsyncTaskManager with a delay in effect, this returns the time at which the task is expected to awaken. More...
 
bool hasDelay ()
 Returns true if a delay has been set for this task via set_delay(), or false otherwise. More...
 
bool isAlive ()
 Returns true if the task is currently active or sleeping on some task chain, meaning that it will be executed in its turn, or false if it is not active. More...
 
 output (Ostream out)
 
 recalcWakeTime ()
 If the task is currently sleeping on a task chain, this resets its wake time to the current time + get_delay(). More...
 
bool remove ()
 Removes the task from its active manager, if any, and makes the state S_inactive (or possible S_servicing_removed). More...
 
 setDelay (double delay)
 Specifies the amount of time, in seconds, by which this task will be delayed after it has been added to the AsyncTaskManager. More...
 
 setDoneEvent (str done_event)
 Sets the event name that will be triggered when the task finishes. More...
 
 setName (str name)
 
 setPriority (int priority)
 Specifies a priority value for this task. More...
 
 setSort (int sort)
 Specifies a sort value for this task. More...
 
 setTaskChain (str chain_name)
 Specifies the AsyncTaskChain on which this task will be running. More...
 
- Public Member Functions inherited from AsyncFuture
 __init__ ()
 Initializes the future in the pending state. More...
 
 __init__ (const AsyncFuture)
 
object addDoneCallback (object fn)
 
bool cancel ()
 Cancels the future. More...
 
bool cancelled ()
 Returns true if the future was cancelled. More...
 
bool done ()
 Returns true if the future is done or has been cancelled. More...
 
str getDoneEvent ()
 Returns the event name that will be triggered when the future finishes. More...
 
 output (Ostream out)
 
object result (object timeout)
 
 setDoneEvent (str done_event)
 Sets the event name that will be triggered when the future finishes. More...
 
 setResult (const EventParameter result)
 
 setResult (TypedObject result)
 
 setResult (TypedReferenceCount result)
 
 setResult (TypedWritableReferenceCount result)
 
 setResult (nullptr_t)
 Sets this future's result. More...
 
 wait ()
 Waits until the future is done. More...
 
 wait (double timeout)
 Waits until the future is done, or until the timeout is reached. More...
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly. More...
 
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
bool unref ()
 Explicitly decrements the reference count. More...
 
- Public Member Functions inherited from Namable
 __init__ (const Namable)
 
 __init__ (str initial_name)
 
 clearName ()
 Resets the Namable's name to empty. More...
 
str getName ()
 
bool hasName ()
 Returns true if the Namable has a nonempty name set, false if the name is empty. More...
 
 output (Ostream out)
 Outputs the Namable. More...
 
 setName (str name)
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from AsyncTask
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from AsyncFuture
static object __await__ ()
 
static object __iter__ ()
 
static object gather (object args)
 
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from Namable
static TypeHandle getClassType ()
 

Public Attributes

object __dict__
 This is a special variable to hold the instance dictionary in which custom variables may be stored. More...
 
double delay_time
 The delay value that has been set on this task, if any, or None. More...
 
double delayTime
 Alias of delay_time. More...
 
int frame
 The number of frames that have elapsed since the task was started, according to the task manager's clock. More...
 
double time
 The amount of seconds that have elapsed since the task was started, according to the task manager's clock. More...
 
double wake_time
 If this task has been added to an AsyncTaskManager with a delay in effect, this contains the time at which the task is expected to awaken. It has no meaning of the task has not yet been added to a queue, or if there was no delay in effect at the time the task was added. If the task's status is not S_sleeping, this contains 0.0. More...
 
double wakeTime
 Alias of wake_time. More...
 
- Public Attributes inherited from AsyncTask
bool alive
 Returns true if the task is currently active or sleeping on some task chain, meaning that it will be executed in its turn, or false if it is not active. More...
 
double average_dt
 Returns the average amount of time elapsed during each of the task's previous run cycles, in seconds. More...
 
const String done_event
 ** More...
 
double dt
 Returns the amount of time elapsed during the task's previous run cycle, in seconds. More...
 
AtomicAdjust::Integer id
 This is a number guaranteed to be unique for each different AsyncTask object in the universe. More...
 
AsyncTaskManager manager
 Returns the AsyncTaskManager that this task is active on. More...
 
double max_dt
 Returns the maximum amount of time elapsed during any one of the task's previous run cycles, in seconds. More...
 
const String name
 The name of this task. More...
 
int priority
 Returns the task's current priority value. More...
 
int sort
 Returns the task's current sort value. More...
 
AsyncTask::State state
 Returns the current state of the task. More...
 
const String task_chain
 Returns the AsyncTaskChain on which this task will be running. More...
 
- Public Attributes inherited from AsyncFuture
const String done_event
 Returns the event name that will be triggered when the future finishes. More...
 
- Public Attributes inherited from TypedObject
TypeHandle type
 Returns the TypeHandle representing this object's type. More...
 
- Public Attributes inherited from ReferenceCount
int ref_count
 The current reference count. More...
 
- Public Attributes inherited from Namable
const String name
 

Additional Inherited Members

- Public Types inherited from AsyncTask
enum  DoneStatus {
  DS_done = 0, DS_cont = 1, DS_again = 2, DS_pickup = 3,
  DS_exit = 4, DS_pause = 5, DS_interrupt = 6, DS_await = 7
}
 
enum  State {
  S_inactive = 0, S_active = 1, S_servicing = 2, S_servicing_removed = 3,
  S_sleeping = 4, S_active_nested = 5, S_awaiting = 6
}
 

Detailed Description

This class exists to allow association of a Python function or coroutine with the AsyncTaskManager.

Member Function Documentation

◆ __clear__()

int __clear__ ( )

◆ __delattr__()

int __delattr__ ( object  attr)

◆ __getattr__()

object __getattr__ ( object  attr)

◆ __init__() [1/2]

__init__ ( object  function,
str  name 
)

◆ __init__() [2/2]

__init__ ( const  PythonTask)

◆ __setattr__()

int __setattr__ ( object  attr,
object  v 
)

◆ __traverse__()

int __traverse__ ( Visitproc  visit,
void  arg 
)

◆ getArgs()

object getArgs ( )

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getFunction()

object getFunction ( )

Returns the function that is called when the task runs.

◆ getOwner()

object getOwner ( )

Returns the "owner" object.

See set_owner().

◆ getUponDeath()

object getUponDeath ( )

Returns the function that is called when the task finishes.

◆ operator new()

operator new ( int  size)

◆ setArgs()

setArgs ( object  args,
bool  append_task 
)

◆ setFunction()

setFunction ( object  function)

◆ setOwner()

setOwner ( object  owner)

◆ setResult()

setResult ( object  result)

Sets the "result" of this task.

This is the value returned from an "await" expression on this task. This can only be called while the task is still alive.

◆ setUponDeath()

setUponDeath ( object  upon_death)

Member Data Documentation

◆ __dict__

object __dict__

This is a special variable to hold the instance dictionary in which custom variables may be stored.

◆ delay_time

double delay_time

The delay value that has been set on this task, if any, or None.

◆ delayTime

double delayTime

Alias of delay_time.

◆ frame

int frame

The number of frames that have elapsed since the task was started, according to the task manager's clock.

◆ time

double time

The amount of seconds that have elapsed since the task was started, according to the task manager's clock.

◆ wake_time

double wake_time

If this task has been added to an AsyncTaskManager with a delay in effect, this contains the time at which the task is expected to awaken. It has no meaning of the task has not yet been added to a queue, or if there was no delay in effect at the time the task was added. If the task's status is not S_sleeping, this contains 0.0.

◆ wakeTime

double wakeTime

Alias of wake_time.