32 #include <fors_instrument.h>
59 const char fors_filterband_unknown =
'?',
60 fors_filterband_none =
'\0';
77 fors_instrument_filterband_get_by_setting(
const fors_setting *setting)
80 cpl_errorstate errstat = cpl_errorstate_get();
84 cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);
85 return fors_filterband_unknown;
88 band = fors_instrument_filterband_get_by_name(setting->filter_name);
89 if (!cpl_errorstate_is_equal(errstat))
90 cpl_error_set_where(cpl_func);
107 fors_instrument_filterband_get_by_name(
const char *filtername)
111 if (filtername == NULL || filtername[0] ==
'\0')
112 return fors_filterband_none;
122 cpl_error_set_message( cpl_func,
123 CPL_ERROR_ILLEGAL_INPUT,
124 "unknown filter name \"%s\"",
126 return fors_filterband_unknown;
138 fors_instrument_filterband_is_defined(
char band)
140 return (band >=
'A' && band <=
'Z');
151 fors_instrument_filterband_is_none(
char band)
153 return (band ==
'\0');
165 fors_instrument_filterband_is_unknown(
char band)
167 return !( fors_instrument_filterband_is_defined(band)
168 || fors_instrument_filterband_is_none(band));
176 fors_instrument_filterband_value_unknown(
void)
178 return fors_filterband_unknown;
186 fors_instrument_known_filters_get_number(
void)
200 fors_instrument_known_filters_get_name(
int n)
203 || n >= fors_instrument_known_filters_get_number())
205 cpl_error_set( cpl_func,
206 CPL_ERROR_ACCESS_OUT_OF_RANGE);
222 fors_instrument_known_filters_get_band(
int n)
225 || n >= fors_instrument_known_filters_get_number())
227 cpl_error_set( cpl_func,
228 CPL_ERROR_ACCESS_OUT_OF_RANGE);
229 return fors_filterband_unknown;