Panda3D
Public Member Functions | Static Public Member Functions | List of all members
QueryContext Class Referenceabstract

This is a base class for queries that might require a round-trip to the graphics engine. More...

#include "queryContext.h"

Inheritance diagram for QueryContext:
TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase OcclusionQueryContext TimerQueryContext DXOcclusionQueryContext9

Public Member Functions

virtual TypeHandle force_init_type ()
 
virtual TypeHandle get_type () const
 
virtual bool is_answer_ready () const =0
 Returns true if the query's answer is ready, false otherwise. More...
 
virtual void waiting_for_answer ()
 Requests the graphics engine to expedite the pending answer–the application is now waiting until the answer is ready. More...
 
- Public Member Functions inherited from TypedReferenceCount
 TypedReferenceCount (const TypedReferenceCount &copy)
 
void operator= (const TypedReferenceCount &copy)
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
int get_best_parent_from_Set (const std::set< int > &) const
 
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly. More...
 
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type. More...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_weak_list () const
 Returns the WeakReferenceList associated with this ReferenceCount object. More...
 
bool has_weak_list () const
 Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
 
void local_object ()
 This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
 
void ref () const
 Explicitly increments the reference count. More...
 
bool ref_if_nonzero () const
 Atomically increases the reference count of this object if it is not zero. More...
 
bool test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool test_ref_count_nonzero () const
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
virtual bool unref () const
 Explicitly decrements the reference count. More...
 
WeakReferenceListweak_ref ()
 Adds the indicated PointerToVoid as a weak reference to this object. More...
 
void weak_unref ()
 Removes the indicated PointerToVoid as a weak reference to this object. More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle get_class_type ()
 
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96. More...
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 

Additional Inherited Members

- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 

Detailed Description

This is a base class for queries that might require a round-trip to the graphics engine.

The idea is that when you ask the GSG to make a particular query, it returns a QueryContext, which does not necessarily have the answer right away (but it will eventually).

Unlike SavedContext, QueryContext is reference-counted. It removes itself from the GSG when the last reference goes away. You're responsible for keeping the pointer to the QueryContext as long as you are interested in the answer.

Definition at line 33 of file queryContext.h.

Member Function Documentation

◆ is_answer_ready()

bool QueryContext::is_answer_ready ( ) const
pure virtual

Returns true if the query's answer is ready, false otherwise.

If this returns false, the application must continue to poll until it returns true.

It is only valid to call this from the draw thread.

Implemented in DXOcclusionQueryContext9.

Definition at line 32 of file queryContext.cxx.

◆ waiting_for_answer()

void QueryContext::waiting_for_answer ( )
virtual

Requests the graphics engine to expedite the pending answer–the application is now waiting until the answer is ready.

It is only valid to call this from the draw thread.

Reimplemented in DXOcclusionQueryContext9.

Definition at line 43 of file queryContext.cxx.


The documentation for this class was generated from the following files: