OSVR-Core
0.6-1962-g59773924
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Direction.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
>
27
#include <
osvr/ClientKit/Interface.h
>
28
#include <
osvr/Util/ClientReportTypesC.h
>
29
30
// Library/third-party includes
31
32
// Standard includes
33
#include <iostream>
34
#include <string>
35
36
void
printDirectionReport(
const
OSVR_DirectionReport
*report) {
37
38
std::cout << report->direction.
data
[0] <<
"; "
<< report->direction.
data
[1]
39
<<
"; "
<< report->direction.
data
[2] <<
"\t"
<< std::endl;
40
}
41
42
void
directionCallback(
void
*
/*userdata*/
,
43
const
OSVR_TimeValue
*
/*timestamp*/
,
44
const
OSVR_DirectionReport
*report) {
45
std::cout <<
"Got 3D direction Report, for sensor #"
<< report->sensor
46
<< std::endl;
47
printDirectionReport(report);
48
}
49
50
int
main() {
51
osvr::clientkit::ClientContext
context(
52
"com.osvr.exampleclients.DirectionCallback"
);
53
54
osvr::clientkit::Interface
direction =
55
context.getInterface(
"/com_osvr_Multi/Location2D/direction"
);
56
57
direction.registerCallback(&directionCallback, 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
}
ClientReportTypesC.h
Header.
osvr::clientkit::Interface
Interface handle object. Typically acquired from a ClientContext.
Definition:
Interface_decl.h:54
osvr::clientkit::ClientContext
Client context object: Create and keep one in your application. Handles lifetime management and provi...
Definition:
Context_decl.h:57
Context.h
Header.
OSVR_Vec3::data
double data[3]
Internal array data.
Definition:
Vec3C.h:50
OSVR_DirectionReport
Report type for 3D Direction vector.
Definition:
ClientReportTypesC.h:255
Interface.h
Header containing the inline implementation of Interface.
OSVR_TimeValue
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition:
TimeValueC.h:81
examples
clients
Direction.cpp
Generated on Tue May 16 2017 15:22:39 for OSVR-Core by
Doxygen
1.8.8