VrpnAnalogDevice Class
A class for the VRPN plugin add-on that allows receiving data about input devices sticks (for example, game-pad sticks).
See Also
- Article on VRPN Plugin Add-On
VrpnAnalogDevice Class
Members
VrpnAnalogDevice (string name)
Constructor.Arguments
- string name - Path to the device in the format device_name@server_address.
string getAnalogCallback ()
Returns a name of the world script callback function that receives data about input device sticks. The callback function should be defined in the world script and receive 1 argument - an instance of the VrpnAnalogDevice class.void callback_func(VrpnAnalogDevice device) {
// function logic
}
Return value
Callback function name.double getChannel (int channel)
Returns data received by the analog stick with the given number.
If the given stick haven't received data, the engine assertion will occur.
Arguments
- int channel - Analog stick number in range [0;number_of_sticks - 1].
Return value
Returns data received by the analog stick with the given number.int getNumChannels ()
Returns the number of analog sticks that have received data.Return value
The number of analog sticks that have received data. If no sticks have received data, 0 will be returned.void setAnalogCallback (string name)
Sets the world script callback function that receives data about input device sticks.
The callback function should be defined in the world script and receive 1 argument - an instance of the VrpnAnalogDevice class.
void callback_func(VrpnAnalogDevice device) {
// function logic
}
Arguments
- string name - Callback function name.
Examples
VrpnAnalogDevice vrpn_analog;
int init() {
// create an instance of VrpnAnalogDevice
vrpn_analog = new VrpnAnalogDevice("device_name@server_addr");
// set a callback
vrpn_analog.setAnalogCallback("analog_callback");
}
int shutdown() {
delete vrpn_analog;
return 1;
}
int update() {
vrpn_analog.update();
return 1;
}
// a callback function
void analog_callback(VrpnAnalogDevice device) {
forloop(int i = 0; device.getNumChannels()) {
log.message("Device analog channel %d: %lf\n",i,device.getChannel(i));
}
}
void update ()
Updates the internal state of the device and receives input data.This function should be called each frame.
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)