131 if (strncmp(parser.
data,
"\nTILT=INCLUDE", 13) == 0) {
136 for (
int i = 0; i < 2 * num_tilt; i++) {
142 parser.
data = strstr(parser.
data + 1,
"\n");
153 int v_angles_num = parser.
get_long();
154 int h_angles_num = parser.
get_long();
181 factor *= 0.0706650768394;
184 for (
int i = 0; i < v_angles_num; i++) {
189 for (
int i = 0; i < h_angles_num; i++) {
193 intensity.resize(h_angles_num);
194 for (
int i = 0; i < h_angles_num; i++) {
195 intensity[i].reserve(v_angles_num);
196 for (
int j = 0; j < v_angles_num; j++) {
197 intensity[i].push_back((
float)(factor * parser.
get_double()));
225 newintensity.resize(
v_angles.size());
226 for (
int i = 0; i <
v_angles.size(); i++) {
227 newintensity[i].reserve(
h_angles.size());
228 for (
int j = 0; j <
h_angles.size(); j++) {
229 newintensity[i].push_back(intensity[j][i]);
232 intensity.swap(newintensity);
240 new_h_angles.reserve(2 * hnum - 1);
241 new_intensity.reserve(2 * hnum - 1);
242 for (
int i = hnum - 1; i > 0; i--) {
243 new_h_angles.push_back(90.0f -
h_angles[i]);
244 new_intensity.push_back(intensity[i]);
246 for (
int i = 0; i < hnum; i++) {
247 new_h_angles.push_back(90.0f +
h_angles[i]);
248 new_intensity.push_back(intensity[i]);
251 intensity.swap(new_intensity);
255 for (
int i = 0; i <
h_angles.size(); i++) {
265 new_v_angles.reserve(2 * vnum - 1);
266 for (
int i = vnum - 1; i > 0; i--) {
267 new_v_angles.push_back(90.0f -
v_angles[i]);
269 for (
int i = 0; i < vnum; i++) {
270 new_v_angles.push_back(90.0f +
v_angles[i]);
272 for (
int i = 0; i < hnum; i++) {
274 new_intensity.reserve(2 * vnum - 1);
275 for (
int j = vnum - 1; j > 0; j--) {
276 new_intensity.push_back(intensity[i][j]);
278 new_intensity.insert(new_intensity.end(), intensity[i].begin(), intensity[i].end());
279 intensity[i].swap(new_intensity);
285 for (
int i = 0; i <
v_angles.size(); i++) {
294 for (
int i = 0; i <
v_angles.size(); i++) {
299 new_h_angles.reserve(
h_angles.size());
301 new_intensity.reserve(
h_angles.size());
304 for (
int i =
h_angles.size() - 1; i >= 0; i--) {
305 new_h_angles.push_back(180.0f -
h_angles[i]);
306 new_intensity.push_back(intensity[i]);
313 new_h_angles.reserve(2 *
h_angles.size() - 1);
314 new_intensity.reserve(2 *
h_angles.size() - 1);
315 for (
int i = 1; i <
h_angles.size(); i++) {
316 new_h_angles.push_back(180.0f +
h_angles[i]);
317 new_intensity.push_back(intensity[i]);
322 intensity.swap(new_intensity);
329 for (
int i = 0; i <
h_angles.size(); i++) {
337 intensity.push_back(intensity[0]);
346 for (
int i = hnum - 2; i >= 0; i--) {
348 intensity.push_back(intensity[i]);
355 for (
int i = hnum - 2; i >= 0; i--) {
357 intensity.push_back(intensity[i]);
367 float gap_step = 360.0f -
h_angles[hnum - 1];
370 intensity.push_back(intensity[0]);
IESTextParser(const string &str)