--
ChrisKulas? - 22 Apr 2003
This service receives
PoseData, extracts corresponding Euler angles and maps these to
InputDataAnalogLimited? values to mimic slider like
behavior with e.g. an inertial tracked device.
The user may specify the desired angle to map and which angle range is to be mapped between the slider range 0 and 1.
The service does include auto calibration and can work with any arbitrary angle range even beyond 360 degrees.
Needs & Abilities
As stated in the
PoseDataAngleInterpreter.xml file, the service has the following Needs and Abilities.
- Ability: InputDataAnalogLimited? (SvcProtPushSupplier?)
Interaction with other Services
- IntersenseTracker? is the main PoseData emitting service to be used in conjunction with this service
- ManualTracker may be used to generate alternative PoseData events
- InputDataAnalogLimited? events are e.g. needed by MenuDisplay, thus this service has to be started to control e.g. the PieMenu with a gyroscopic device
More Documentation
How-To
This describes how to set up and run a
PoseDataAngleInterpreter.
Installation
No special packages are required. If you have a running DWARF installation, do a
make install
in the
PoseDataAngleInterpreter directory. This creates an application called
PoseDataAngleInterpreter
which can be started by command line.
Testing
Start a
PoseDataAngleInterpreter
, start some service that emits accepted
PoseData (for example
ManualTracker?) and finally start a service which needs
InputDataAnalogLimited? (for example
MenuDisplay). Populate the menu with starting the
DummyListProvider. Highlight items by turning the
ManualTracker? dial.
Command Line Parameter
You can use the following command line parameter:
- -Dangle=<x|y|z>: select the angle which should be extracted and mapped (default: z)
- -Drange=<int>: angle range which is used by the service (default: 90). Angle 0 always maps to analog 0 whereas the top range value maps to 1 with the values in-between mapped accordingly
Known Bugs and Limitations
Angle
y cannot be used due to interpreter limitations.
PoseData items have to be configured in such a way to work with angle
x or angle
z.
History
- initially written by ChrisKulas? with much appreciated assistance by BernhardZaun?
- used by ProjectArchie