Unigine::Plugins::VrpnButtonDevice 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 states of input device buttons.
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
VrpnButtonDevice Class
Members
void setButtonCallback ( const char * name ) #
Sets the world script callback function that receives data about input device buttons.The callback function should be defined in the world script and receive 2 arguments - a button number and state.
void callback_func(int button,int state) {
// function logic
}
Arguments
- const char * name - Callback function name.
Examples
VrpnButtonDevice vrpn_button;
int init() {
// create an instance of VrpnButtonDevice
vrpn_button = new VrpnButtonDevice("device_name@server_addr");
// set a callback
vrpn_button.setButtonCallback("button_callback");
return 1;
}
int shutdown() {
delete vrpn_button;
return 1;
}
int update() {
vrpn_button.update();
return 1;
}
// a callback function
void button_callback(int button,int state) {
log.message("Device button %d: %d\n",button,state);
}
const char * getButtonCallback ( ) #
Returns a name of the world script callback function that receives data about input device buttons. The callback function should be defined in the world script and receive 2 arguments - a button number and state.void callback_func(int button,int state) {
// function logic
}
Return value
Callback function name.void update ( ) #
Updates the internal state of the device and receives input data.This function should be called each frame.
VrpnButtonDevice ( const char * name ) #
Constructor.Arguments
- const char * name - Path to the device in the format device_name@server_address.
Last update:
2021-12-13
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)