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.
forkAsynchronousThread(poll_time: float) → bool¶
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).
getCoordinateSystem() → CoordinateSystem¶
Returns the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.
- Return type
getLastPollTime() → float¶
Returns the time (according to the global ClockObject’s get_real_time() method) of the last device poll.
isForked() → bool¶
Returns true if the ClientBase has been forked (and, therefore,
poll()does not need to be called), false otherwise.
poll() → bool¶
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.
setCoordinateSystem(cs: CoordinateSystem) → None¶
Specifies the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.