VISR  0.12.0
Versatile Interactive Scene Renderer
plane_wave.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_OBJECTMODEL_PLANE_WAVE_HPP_INCLUDED
4 #define VISR_OBJECTMODEL_PLANE_WAVE_HPP_INCLUDED
5 
6 #include "object.hpp"
7 
8 #include "export_symbols.hpp"
9 
10 namespace visr
11 {
12 namespace objectmodel
13 {
14 
18 class VISR_OBJECTMODEL_LIBRARY_SYMBOL PlaneWave: public Object
19 {
20 public:
22 
26  PlaneWave() = delete;
27 
28  explicit PlaneWave( ObjectId id );
29 
33  PlaneWave( PlaneWave const & rhs ) = default;
34 
35  virtual ~PlaneWave();
36 
37  /*virtual*/ ObjectTypeId type() const;
38 
43  /*virtual*/ std::unique_ptr<Object> clone() const;
44 
45  Direction incidenceAzimuth() const { return mIncidenceAzimuth; }
46 
47  Direction incidenceElevation() const { return mIncidenceElevation; }
48 
49  void setIncidenceAzimuth( Direction newAzimuth );
50 
51  void setIncidenceElevation( Direction newElevation );
52 
53  Coordinate referenceDistance() const { return mReferenceDistance; }
54 
55  void setReferenceDistance( Coordinate newDistance );
56 protected:
57 
58 private:
59  Direction mIncidenceAzimuth;
60 
61  Direction mIncidenceElevation;
62 
63  Coordinate mReferenceDistance;
64 };
65 
66 } // namespace objectmodel
67 } // namespace visr
68 
69 #endif // VISR_OBJECTMODEL_PLANE_WAVE_HPP_INCLUDED
Coordinate Direction
Definition: plane_wave.hpp:21
unsigned int ObjectId
Definition: object.hpp:23
Direction incidenceElevation() const
Definition: plane_wave.hpp:47
ObjectTypeId
Definition: object_type.hpp:26
Coordinate referenceDistance() const
Definition: plane_wave.hpp:53
Definition: options.cpp:10
Direction incidenceAzimuth() const
Definition: plane_wave.hpp:45
Definition: object.hpp:36
float Coordinate
Definition: object.hpp:46
Definition: plane_wave.hpp:18