69 static bool SetParam(
const char *name,
const char* value,
81 for (i = 0; i < global_vec.
size(); ++i) {
82 if (strcmp(global_vec[i]->name_str(), name) == 0)
return global_vec[i];
84 for (i = 0; i < member_vec.
size(); ++i) {
85 if (strcmp(member_vec[i]->name_str(), name) == 0)
return member_vec[i];
92 for (
int i = 0; i < vec->
size(); ++i) {
93 if ((*vec)[i] == param_ptr) {
129 Param(
const char *name,
const char *comment,
bool init) :
131 debug_ = (strstr(name,
"debug") !=
NULL) || (strstr(name,
"display"));
148 ~IntParam() { ParamUtils::RemoveParam<IntParam>(
this, params_vec_); }
149 operator inT32()
const {
return value_; }
160 BoolParam(
bool value,
const char *name,
const char *comment,
bool init,
166 ~BoolParam() { ParamUtils::RemoveParam<BoolParam>(
this, params_vec_); }
167 operator BOOL8()
const {
return value_; }
179 const char *comment,
bool init,
185 ~StringParam() { ParamUtils::RemoveParam<StringParam>(
this, params_vec_); }
205 ~DoubleParam() { ParamUtils::RemoveParam<DoubleParam>(
this, params_vec_); }
206 operator double()
const {
return value_; }
236 #define INT_VAR_H(name,val,comment)\
237 tesseract::IntParam name
239 #define BOOL_VAR_H(name,val,comment)\
240 tesseract::BoolParam name
242 #define STRING_VAR_H(name,val,comment)\
243 tesseract::StringParam name
245 #define double_VAR_H(name,val,comment)\
246 tesseract::DoubleParam name
248 #define INT_VAR(name,val,comment)\
249 tesseract::IntParam name(val,#name,comment,false,GlobalParams())
251 #define BOOL_VAR(name,val,comment)\
252 tesseract::BoolParam name(val,#name,comment,false,GlobalParams())
254 #define STRING_VAR(name,val,comment)\
255 tesseract::StringParam name(val,#name,comment,false,GlobalParams())
257 #define double_VAR(name,val,comment)\
258 tesseract::DoubleParam name(val,#name,comment,false,GlobalParams())
260 #define INT_INIT_VAR(name,val,comment)\
261 tesseract::IntParam name(val,#name,comment,true,GlobalParams())
263 #define BOOL_INIT_VAR(name,val,comment)\
264 tesseract::BoolParam name(val,#name,comment,true,GlobalParams())
266 #define STRING_INIT_VAR(name,val,comment)\
267 tesseract::StringParam name(val,#name,comment,true,GlobalParams())
269 #define double_INIT_VAR(name,val,comment)\
270 tesseract::DoubleParam name(val,#name,comment,true,GlobalParams())
272 #define INT_MEMBER(name, val, comment, vec)\
273 name(val, #name, comment, false, vec)
275 #define BOOL_MEMBER(name, val, comment, vec)\
276 name(val, #name, comment, false, vec)
278 #define STRING_MEMBER(name, val, comment, vec)\
279 name(val, #name, comment, false, vec)
281 #define double_MEMBER(name, val, comment, vec)\
282 name(val, #name, comment, false, vec)
284 #define INT_INIT_MEMBER(name, val, comment, vec)\
285 name(val, #name, comment, true, vec)
287 #define BOOL_INIT_MEMBER(name, val, comment, vec)\
288 name(val, #name, comment, true, vec)
290 #define STRING_INIT_MEMBER(name, val, comment, vec)\
291 name(val, #name, comment, true, vec)
293 #define double_INIT_MEMBER(name, val, comment, vec)\
294 name(val, #name, comment, true, vec)
static bool GetParamAsString(const char *name, const ParamsVectors *member_params, STRING *value)
void set_value(const STRING &value)
BoolParam(bool value, const char *name, const char *comment, bool init, ParamsVectors *vec)
DoubleParam(double value, const char *name, const char *comment, bool init, ParamsVectors *vec)
Param(const char *name, const char *comment, bool init)
bool constraint_ok(SetParamConstraint constraint) const
static bool ReadParamsFile(const char *file, SetParamConstraint constraint, ParamsVectors *member_params)
static bool ReadParamsFromFp(FILE *fp, inT64 end_offset, SetParamConstraint constraint, ParamsVectors *member_params)
GenericVector< IntParam * > int_params
static void RemoveParam(T *param_ptr, GenericVector< T * > *vec)
GenericVector< DoubleParam * > double_params
void set_value(BOOL8 value)
static T * FindParam(const char *name, const GenericVector< T * > &global_vec, const GenericVector< T * > &member_vec)
void set_value(inT32 value)
tesseract::ParamsVectors * GlobalParams()
const char * string() const
StringParam(const char *value, const char *name, const char *comment, bool init, ParamsVectors *vec)
const char * string() const
static bool SetParam(const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params)
GenericVector< StringParam * > string_params
IntParam(inT32 value, const char *name, const char *comment, bool init, ParamsVectors *vec)
void set_value(double value)
const char * info_str() const
GenericVector< BoolParam * > bool_params
virtual void remove(int index)
static void PrintParams(FILE *fp, const ParamsVectors *member_params)
const char * name_str() const