ClientBase

class ClientBase

Bases: TypedReferenceCount

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.

Inheritance diagram

Inheritance diagram of ClientBase

bool 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).

static TypeHandle get_class_type(void)
CoordinateSystem get_coordinate_system(void) const

Returns the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.

double get_last_poll_time(void) const

Returns the time (according to the global ClockObject’s get_real_time() method) of the last device poll.

bool is_forked(void) const

Returns true if the ClientBase has been forked (and, therefore, poll() does not need to be called), false otherwise.

bool poll(void)

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.

void set_coordinate_system(CoordinateSystem cs)

Specifies the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.