8#include "HDFEOS2GeoCF1D.h"
12#include <libdap/debug.h>
14#include <libdap/InternalErr.h>
19bool HDFEOS2GeoCF1D::read()
34 nelms = format_constraint(offset.data(), step.data(), count.data());
48 double step_v = (evalue - svalue)/tnumelm;
58 for(
int i = 1;i<tnumelm; i++)
59 val[i] = val[i-1] + step_v;
61 if (nelms == tnumelm) {
62 set_value((dods_float64 *) val.data(), nelms);
65 vector<double>val_subset;
66 val_subset.resize(nelms);
67 for (
int i = 0; i < count[0]; i++)
68 val_subset[i] = val[offset[0] + step[0] * i];
69 set_value((dods_float64 *) val_subset.data(), nelms);
78HDFEOS2GeoCF1D::format_constraint (
int *offset,
int *step,
int *count)
84 Dim_iter p = dim_begin ();
85 while (p != dim_end ()) {
87 int start = dimension_start (p,
true);
88 int stride = dimension_stride (p,
true);
89 int stop = dimension_stop (p,
true);
94 oss <<
"Array/Grid hyperslab start point "<< start <<
95 " is greater than stop point " << stop <<
".";
96 throw Error(malformed_expr, oss.str());
101 count[id] = ((stop - start) / stride) + 1;
105 "=format_constraint():"
106 <<
"id=" <<
id <<
" offset=" << offset[
id]
107 <<
" step=" << step[
id]
108 <<
" count=" << count[
id]