Unigine::Plugins::VrpnAnalogDevice Class
The functionality described in this article is not available in the Community SDK edition.
You should upgrade to- Sim
SDK edition to use it.
You should upgrade to
Header: | #include <plugins/UnigineVrpnClient.h> |
A class for the VRPN Plugin that allows receiving data about input devices sticks (for example, game-pad sticks).
See Also#
- Article on VRPN Plugin
- A set of UnigineScript API samples located in the <UnigineSDK>/data/samples/plugins/ folder:
- vrpn_client_00
- vrpn_client_01
VrpnAnalogDevice Class
Members
void setAnalogCallback ( const char * 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
- const char * 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));
}
}
const char * 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 update ( ) #
Updates the internal state of the device and receives input data.This function should be called each frame.
bool hasChanges ( ) const#
Returns a value indicating if there were any changes in analog values registered.Return value
true if there were any changes in analog values registered otherwise, false.VrpnAnalogDevice ( const char * name ) #
Constructor.Arguments
- const char * name - Path to the device in the format device_name@server_address.
Last update:
2022-10-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)