comparison data/model/EditableDenseThreeDimensionalModel.h @ 1599:ce185d4dd408 bqaudiostream

Merge from default branch
author Chris Cannam
date Wed, 23 Jan 2019 14:43:43 +0000
parents ad5f892c0c4d
children 0d89abd631ac
comparison
equal deleted inserted replaced
1598:d2555df635ec 1599:ce185d4dd408
11 published by the Free Software Foundation; either version 2 of the 11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version. See the file 12 License, or (at your option) any later version. See the file
13 COPYING included with this distribution for more information. 13 COPYING included with this distribution for more information.
14 */ 14 */
15 15
16 #ifndef _EDITABLE_DENSE_THREE_DIMENSIONAL_MODEL_H_ 16 #ifndef SV_EDITABLE_DENSE_THREE_DIMENSIONAL_MODEL_H
17 #define _EDITABLE_DENSE_THREE_DIMENSIONAL_MODEL_H_ 17 #define SV_EDITABLE_DENSE_THREE_DIMENSIONAL_MODEL_H
18 18
19 #include "DenseThreeDimensionalModel.h" 19 #include "DenseThreeDimensionalModel.h"
20 20
21 #include <QReadWriteLock> 21 #include <QReadWriteLock>
22 22
46 int resolution, 46 int resolution,
47 int height, 47 int height,
48 CompressionType compression, 48 CompressionType compression,
49 bool notifyOnAdd = true); 49 bool notifyOnAdd = true);
50 50
51 virtual bool isOK() const; 51 bool isOK() const override;
52 52
53 virtual sv_samplerate_t getSampleRate() const; 53 sv_samplerate_t getSampleRate() const override;
54 virtual sv_frame_t getStartFrame() const; 54 sv_frame_t getStartFrame() const override;
55 virtual sv_frame_t getEndFrame() const; 55 sv_frame_t getEndFrame() const override;
56 56
57 /** 57 /**
58 * Set the frame offset of the first column. 58 * Set the frame offset of the first column.
59 */ 59 */
60 virtual void setStartFrame(sv_frame_t); 60 virtual void setStartFrame(sv_frame_t);
61 61
62 /** 62 /**
63 * Return the number of sample frames covered by each set of bins. 63 * Return the number of sample frames covered by each set of bins.
64 */ 64 */
65 virtual int getResolution() const; 65 int getResolution() const override;
66 66
67 /** 67 /**
68 * Set the number of sample frames covered by each set of bins. 68 * Set the number of sample frames covered by each set of bins.
69 */ 69 */
70 virtual void setResolution(int sz); 70 virtual void setResolution(int sz);
71 71
72 /** 72 /**
73 * Return the number of columns. 73 * Return the number of columns.
74 */ 74 */
75 virtual int getWidth() const; 75 int getWidth() const override;
76 76
77 /** 77 /**
78 * Return the number of bins in each column. 78 * Return the number of bins in each column.
79 */ 79 */
80 virtual int getHeight() const; 80 int getHeight() const override;
81 81
82 /** 82 /**
83 * Set the number of bins in each column. 83 * Set the number of bins in each column.
84 * 84 *
85 * You can set (via setColumn) a vector of any length as a column, 85 * You can set (via setColumn) a vector of any length as a column,
92 virtual void setHeight(int sz); 92 virtual void setHeight(int sz);
93 93
94 /** 94 /**
95 * Return the minimum value of the value in each bin. 95 * Return the minimum value of the value in each bin.
96 */ 96 */
97 virtual float getMinimumLevel() const; 97 float getMinimumLevel() const override;
98 98
99 /** 99 /**
100 * Set the minimum value of the value in a bin. 100 * Set the minimum value of the value in a bin.
101 */ 101 */
102 virtual void setMinimumLevel(float sz); 102 virtual void setMinimumLevel(float sz);
103 103
104 /** 104 /**
105 * Return the maximum value of the value in each bin. 105 * Return the maximum value of the value in each bin.
106 */ 106 */
107 virtual float getMaximumLevel() const; 107 float getMaximumLevel() const override;
108 108
109 /** 109 /**
110 * Set the maximum value of the value in a bin. 110 * Set the maximum value of the value in a bin.
111 */ 111 */
112 virtual void setMaximumLevel(float sz); 112 virtual void setMaximumLevel(float sz);
113 113
114 /** 114 /**
115 * Get the set of bin values at the given column. 115 * Get the set of bin values at the given column.
116 */ 116 */
117 virtual Column getColumn(int x) const; 117 Column getColumn(int x) const override;
118 118
119 /** 119 /**
120 * Get a single value, from the n'th bin of the given column. 120 * Get a single value, from the n'th bin of the given column.
121 */ 121 */
122 virtual float getValueAt(int x, int n) const; 122 float getValueAt(int x, int n) const override;
123 123
124 /** 124 /**
125 * Set the entire set of bin values at the given column. 125 * Set the entire set of bin values at the given column.
126 */ 126 */
127 virtual void setColumn(int x, const Column &values); 127 virtual void setColumn(int x, const Column &values);
128 128
129 /** 129 /**
130 * Return the name of bin n. This is a single label per bin that 130 * Return the name of bin n. This is a single label per bin that
131 * does not vary from one column to the next. 131 * does not vary from one column to the next.
132 */ 132 */
133 virtual QString getBinName(int n) const; 133 QString getBinName(int n) const override;
134 134
135 /** 135 /**
136 * Set the name of bin n. 136 * Set the name of bin n.
137 */ 137 */
138 virtual void setBinName(int n, QString); 138 virtual void setBinName(int n, QString);
146 * Return true if the bins have values as well as names. (The 146 * Return true if the bins have values as well as names. (The
147 * values may have been derived from the names, e.g. by parsing 147 * values may have been derived from the names, e.g. by parsing
148 * numbers from them.) If this returns true, getBinValue() may be 148 * numbers from them.) If this returns true, getBinValue() may be
149 * used to retrieve the values. 149 * used to retrieve the values.
150 */ 150 */
151 virtual bool hasBinValues() const; 151 bool hasBinValues() const override;
152 152
153 /** 153 /**
154 * Return the value of bin n, if any. This is a "vertical scale" 154 * Return the value of bin n, if any. This is a "vertical scale"
155 * value which does not vary from one column to the next. This is 155 * value which does not vary from one column to the next. This is
156 * only meaningful if hasBinValues() returns true. 156 * only meaningful if hasBinValues() returns true.
157 */ 157 */
158 virtual float getBinValue(int n) const; 158 float getBinValue(int n) const override;
159 159
160 /** 160 /**
161 * Set the values of all bins (separate from their labels). These 161 * Set the values of all bins (separate from their labels). These
162 * are "vertical scale" values which do not vary from one column 162 * are "vertical scale" values which do not vary from one column
163 * to the next. 163 * to the next.
166 166
167 /** 167 /**
168 * Obtain the name of the unit of the values returned from 168 * Obtain the name of the unit of the values returned from
169 * getBinValue(), if any. 169 * getBinValue(), if any.
170 */ 170 */
171 virtual QString getBinValueUnit() const; 171 QString getBinValueUnit() const override;
172 172
173 /** 173 /**
174 * Set the name of the unit of the values return from 174 * Set the name of the unit of the values return from
175 * getBinValue() if any. 175 * getBinValue() if any.
176 */ 176 */
179 /** 179 /**
180 * Return true if the distribution of values in the bins is such 180 * Return true if the distribution of values in the bins is such
181 * as to suggest a log scale (mapping to colour etc) may be better 181 * as to suggest a log scale (mapping to colour etc) may be better
182 * than a linear one. 182 * than a linear one.
183 */ 183 */
184 bool shouldUseLogValueScale() const; 184 bool shouldUseLogValueScale() const override;
185 185
186 virtual void setCompletion(int completion, bool update = true); 186 virtual void setCompletion(int completion, bool update = true);
187 virtual int getCompletion() const { return m_completion; } 187 int getCompletion() const override { return m_completion; }
188 188
189 QString getTypeName() const { return tr("Editable Dense 3-D"); } 189 QString getTypeName() const override { return tr("Editable Dense 3-D"); }
190 190
191 virtual QString toDelimitedDataString(QString delimiter) const; 191 QString toDelimitedDataString(QString delimiter) const override;
192 virtual QString toDelimitedDataStringSubset(QString delimiter, sv_frame_t f0, sv_frame_t f1) const; 192 QString toDelimitedDataStringSubset(QString delimiter, sv_frame_t f0, sv_frame_t f1) const override;
193 193
194 virtual void toXml(QTextStream &out, 194 void toXml(QTextStream &out,
195 QString indent = "", 195 QString indent = "",
196 QString extraAttributes = "") const; 196 QString extraAttributes = "") const override;
197 197
198 protected: 198 protected:
199 typedef std::vector<Column> ValueMatrix; 199 typedef std::vector<Column> ValueMatrix;
200 ValueMatrix m_data; 200 ValueMatrix m_data;
201 201