VISR  0.11.8
Versatile Interactive Scene Renderer
position_decoder.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_LIBRCL_POSITION_DECODER_HPP_INCLUDED
4 #define VISR_LIBRCL_POSITION_DECODER_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
12 
17 
18 #include <libpanning/XYZ.h>
19 
20 namespace visr
21 {
22 namespace rcl
23 {
24 
29 class VISR_RCL_LIBRARY_SYMBOL PositionDecoder: public AtomicComponent
30 {
31 public:
44  explicit PositionDecoder( SignalFlowContext const & context,
45  char const * name,
46  CompositeComponent * parent,
47  panning::XYZ const &offsetKinect,
48  float qw = 1.0f,
49  float qx = 0.0f,
50  float qy = 0.0f,
51  float qz = 0.0f);
55  PositionDecoder( PositionDecoder const & ) = delete;
56 
60  ~PositionDecoder();
61 
66  void process() override;
67 
68 private:
69 
70 
71  float mQw;
72  float mQx, mQy, mQz;// for the Quaternion
73  panning::XYZ mOffsetKinect;
74 
75 
76  pml::ListenerPosition translatePosition(const pml::ListenerPosition &pos);
77 
80 };
81 
82 } // namespace rcl
83 } // namespace visr
84 
85 #endif // #ifndef VISR_LIBRCL_POSITION_DECODER_HPP_INCLUDED
Definition: XYZ.h:23
Definition: options.cpp:10
Definition: atomic_component.hpp:21
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
Definition: position_decoder.hpp:29
Definition: listener_position.hpp:31