OSVR-Core
0.6-1962-g59773924
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
AnalogCallback.cpp
Go to the documentation of this file.
1
11
// Copyright 2014 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
29
// Library/third-party includes
30
// - none
31
32
// Standard includes
33
#include <iostream>
34
35
void
myAnalogCallback(
void
*
/*userdata*/
,
const
OSVR_TimeValue
*
/*timestamp*/
,
36
const
OSVR_AnalogReport
*report) {
37
std::cout <<
"Got report: channel is "
<< report->
state
<< std::endl;
38
}
39
40
int
main() {
41
osvr::clientkit::ClientContext
context(
42
"com.osvr.exampleclients.AnalogCallback"
);
43
44
// This is just one of the paths: specifically, the Hydra's left
45
// controller's analog trigger. More are in the docs and/or listed on
46
// startup
47
osvr::clientkit::Interface
analogTrigger =
48
context.getInterface(
"/controller/left/trigger"
);
49
50
analogTrigger.registerCallback(&myAnalogCallback, NULL);
51
52
// Pretend that this is your application's mainloop.
53
for
(
int
i = 0; i < 1000000; ++i) {
54
context.update();
55
}
56
57
context.log(OSVR_LOGLEVEL_NOTICE,
"Library shut down, exiting."
);
58
return
0;
59
}
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_AnalogReport::state
OSVR_AnalogState state
The analog state.
Definition:
ClientReportTypesC.h:237
Interface.h
Header containing the inline implementation of Interface.
OSVR_AnalogReport
Report type for a callback on an analog interface.
Definition:
ClientReportTypesC.h:233
OSVR_TimeValue
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition:
TimeValueC.h:81
examples
clients
AnalogCallback.cpp
Generated on Tue May 16 2017 15:22:39 for OSVR-Core by
Doxygen
1.8.8