OpenDAFF C++ API  v1.7
Directional Audio File Format
DAFFProperties.h
Go to the documentation of this file.
1 /*
2  * -------------------------------------------------------------------------------------
3  *
4  * OpenDAFF - A free, open source software package for directional audio data
5  * Copyright 2016 Institute of Technical Acoustics, RWTH Aachen University
6  * OpenDAFF is distributed under the Apache License Version 2.0.
7  *
8  * ------------------------------------------------------------------------------------
9  *
10  */
11 
12 #ifndef IW_DAFF_PROPERTIES
13 #define IW_DAFF_PROPERTIES
14 
15 #include <DAFFDefs.h>
16 
19 {
20 public:
22  inline virtual ~DAFFProperties() {};
23 
24  // --= Properties =--
25 
27 
30  virtual int getFileFormatVersion() const=0;
31 
33 
36  virtual int getContentType() const=0;
37 
39 
42  virtual int getQuantization() const=0;
43 
45 
48  virtual int getNumberOfChannels() const=0;
49 
51 
54  virtual int getNumberOfRecords() const=0;
55 
57  virtual std::string getChannelLabel( int iChannel ) const = 0;
58 
59  // -= Alpha angle =----------------------------------
60 
61  // Returns the number of measurement points of the alpha range
62  virtual int getAlphaPoints() const=0;
63 
64  // Returns the angular resolution of the alpha range
65  virtual float getAlphaResolution() const=0;
66 
67  // Returns starting angle of the alpha range
68  virtual float getAlphaStart() const=0;
69 
70  // Returns ending angle of the alpha range
71  virtual float getAlphaEnd() const=0;
72 
73  // Returns the spanned alpha range
74  virtual float getAlphaSpan() const=0;
75 
76  // -= Beta angle =----------------------------------
77 
78  // Returns the number of measurement points of the beta range
79  virtual int getBetaPoints() const=0;
80 
81  // Returns the angular resolution of the beta range
82  virtual float getBetaResolution() const=0;
83 
84  // Returns starting angle of the beta range
85  virtual float getBetaStart() const=0;
86 
87  // Returns ending angle of the beta range
88  virtual float getBetaEnd() const=0;
89 
90  // Returns the spanned beta range
91  virtual float getBetaSpan() const=0;
92 
93  // -= Orientations =----------------------------------
94 
96  virtual void getDefaultOrientation( DAFFOrientationYPR& o ) const = 0;
97 
99  virtual void setDefaultOrientation()=0;
100 
102  virtual void getOrientation( DAFFOrientationYPR& o ) const = 0;
103 
105  virtual void setOrientation( const DAFFOrientationYPR& o ) = 0;
106 
107  // -= Coverage =--------------------------------------
108 
110  virtual bool coversFullAlphaRange() const=0;
111 
113  virtual bool coversFullBetaRange() const=0;
114 
116  virtual bool coversFullSphere() const=0;
117 };
118 
119 #endif // IW_DAFF_PROPERTIES
#define DAFF_API
Definition: DAFFDefs.h:29
virtual ~DAFFProperties()
Destructor.
Properties of a DAFF file that uses regular sphere grids (or parts of a regular grid) ...
Data class for orientations in yaw-pitch-roll (YPR) angles (right-handed OpenGL coordinate system) ...
Definition: DAFFDefs.h:138
OpenDAFF is a project from the Institute of Technical Acoustics, RWTH Aachen University, Germany.