An abstract base class for a family of client device interfaces–including trackers, buttons, dials, and other analog inputs. More...
#include "clientBase.h"
Public Member Functions | |
virtual TypeHandle | force_init_type () |
bool | fork_asynchronous_thread (double poll_time) |
Forks a separate thread to do all the polling of connected devices. More... | |
CoordinateSystem | get_coordinate_system () const |
Returns the coordinate system that all devices associated with this client will operate in. More... | |
double | get_last_poll_time () const |
Returns the time (according to the global ClockObject's get_real_time() method) of the last device poll. More... | |
virtual TypeHandle | get_type () const |
bool | is_forked () const |
Returns true if the ClientBase has been forked (and, therefore, poll() does not need to be called), false otherwise. More... | |
bool | poll () |
Initiates a poll of the client devices, if we are not forked and if we have not already polled this frame. More... | |
PT (ClientDevice) get_device(TypeHandle device_type | |
void | set_coordinate_system (CoordinateSystem cs) |
Specifies the coordinate system that all devices associated with this client will operate in. More... | |
Public Member Functions inherited from TypedReferenceCount | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_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... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
WeakReferenceList * | get_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... | |
WeakReferenceList * | weak_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 () |
Public Attributes | |
const std::string & | device_name |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
Friends | |
class | ClientDevice |
An abstract base class for a family of client device interfaces–including trackers, buttons, dials, and other analog inputs.
This provides a common interface to connect to such devices and extract their data; it is used by TrackerNode etc. to put these devices in the data graph.
Definition at line 43 of file clientBase.h.
bool ClientBase::fork_asynchronous_thread | ( | double | poll_time | ) |
Forks a separate thread to do all the polling of connected devices.
The forked thread will poll after every poll_time seconds has elapsed. Returns true if the fork was successful, or false otherwise (for instance, because we were already forked, or because asynchronous threads are disabled).
Definition at line 72 of file clientBase.cxx.
|
inline |
Returns the coordinate system that all devices associated with this client will operate in.
Normally, this is CS_default.
Definition at line 62 of file clientBase.I.
|
inline |
Returns the time (according to the global ClockObject's get_real_time() method) of the last device poll.
Definition at line 44 of file clientBase.I.
|
inline |
Returns true if the ClientBase has been forked (and, therefore, poll() does not need to be called), false otherwise.
Definition at line 19 of file clientBase.I.
|
inline |
Initiates a poll of the client devices, if we are not forked and if we have not already polled this frame.
Returns true if the poll occurred, or false if it did not.
Definition at line 29 of file clientBase.I.
References ClientDevice::do_poll(), and ClockObject::get_global_clock().
Referenced by ClientDevice::do_poll().
|
inline |
Specifies the coordinate system that all devices associated with this client will operate in.
Normally, this is CS_default.
Definition at line 53 of file clientBase.I.