Panda3D
|
A device, attached to the ClientBase by a AnalogNode, that records the data from a single named analog device. More...
#include "clientAnalogDevice.h"
Classes | |
class | AnalogState |
Public Member Functions | |
virtual TypeHandle | force_init_type () |
double | get_control_state (int index) const |
Returns the current position of indicated analog control (identified by its index number), or 0.0 if the control is unknown. | |
int | get_num_controls () const |
Returns the number of analog controls known to the ClientAnalogDevice. | |
virtual TypeHandle | get_type () const |
bool | is_control_known (int index) const |
Returns true if the state of the indicated analog control is known, or false if we have never heard anything about this particular control. | |
void | set_control_state (int index, double state) |
Sets the state of the indicated analog index. | |
virtual void | write (ostream &out, int indent_level=0) const |
void | write_controls (ostream &out, int indent_level) const |
Writes a multi-line description of the current analog control states. | |
Static Public Member Functions | |
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. | |
Protected Types | |
typedef pvector< AnalogState > | Controls |
Protected Member Functions | |
ClientAnalogDevice (ClientBase *client, const string &device_name) | |
Protected Attributes | |
Controls | _controls |
A device, attached to the ClientBase by a AnalogNode, that records the data from a single named analog device.
The named device can contain any number of analog controls, numbered in sequence beginning at zero.
Each analog control returns a value ranging from -1 to 1, reflecting the current position of the control within its total range of motion.
Definition at line 34 of file clientAnalogDevice.h.
double ClientAnalogDevice::get_control_state | ( | int | index | ) | const [inline] |
Returns the current position of indicated analog control (identified by its index number), or 0.0 if the control is unknown.
The normal range of a single control is -1.0 to 1.0.
Definition at line 77 of file clientAnalogDevice.I.
int ClientAnalogDevice::get_num_controls | ( | ) | const [inline] |
Returns the number of analog controls known to the ClientAnalogDevice.
This number may change as more controls are discovered.
Definition at line 47 of file clientAnalogDevice.I.
static void ClientAnalogDevice::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from ClientDevice.
Reimplemented in VrpnAnalogDevice.
Definition at line 68 of file clientAnalogDevice.h.
References ClientDevice::init_type().
bool ClientAnalogDevice::is_control_known | ( | int | index | ) | const [inline] |
Returns true if the state of the indicated analog control is known, or false if we have never heard anything about this particular control.
Definition at line 93 of file clientAnalogDevice.I.
void ClientAnalogDevice::set_control_state | ( | int | index, |
double | state | ||
) | [inline] |
Sets the state of the indicated analog index.
The caller should ensure that acquire() is in effect while this call is made. This should be a number in the range -1.0 to 1.0, representing the current position of the control within its total range of movement.
Definition at line 61 of file clientAnalogDevice.I.
void ClientAnalogDevice::write_controls | ( | ostream & | out, |
int | indent_level | ||
) | const |
Writes a multi-line description of the current analog control states.
Definition at line 59 of file clientAnalogDevice.cxx.