OSVR-Core  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Location2D.cpp
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 // Internal Includes
26 #include <osvr/ClientKit/Context.h>
29 
30 // Library/third-party includes
31 
32 // Standard includes
33 #include <iostream>
34 #include <string>
35 
36 void printLocation2DReport(const OSVR_Location2DReport *report) {
37 
38  std::cout << report->location.data[0] << "; " << report->location.data[1]
39  << "\t" << std::endl;
40 }
41 
42 void location2DCallback(void * /*userdata*/,
43  const OSVR_TimeValue * /*timestamp*/,
44  const OSVR_Location2DReport *report) {
45  std::cout << "Got 2D Location Report, for sensor #" << report->sensor
46  << std::endl;
47  printLocation2DReport(report);
48 }
49 
50 int main() {
52  "com.osvr.exampleclients.Location2DCallback");
53 
55  context.getInterface("/com_osvr_Multi/Location2D/location2D");
56 
57  location.registerCallback(&location2DCallback, NULL);
58 
59  // Pretend that this is your application's mainloop.
60  while (1) {
61  context.update();
62  }
63 
64  std::cout << "Library shut down, exiting." << std::endl;
65  return 0;
66 }
Interface handle object. Typically acquired from a ClientContext.
Client context object: Create and keep one in your application. Handles lifetime management and provi...
Definition: Context_decl.h:57
Header.
Report type for 2D location.
double data[2]
Internal array data.
Definition: Vec2C.h:50
Header containing the inline implementation of Interface.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81