28#define PICO_FEATURE_LENGTH 0.05
110 int NumSetsToWrite = 0;
118 str +=
" " + std::to_string(NumSetsToWrite);
132 bool anything_written =
false;
133 bool well_formed =
true;
136 for (
int i = 0; i < CharDesc->
FeatureSets[Type]->NumFeatures; i++) {
139 if (std::isnan(feat->
Params[p]) || std::isinf(feat->
Params[p])) {
142 anything_written =
true;
150 return anything_written && well_formed;
182 for (; NumSetsToRead > 0; NumSetsToRead--) {
206 return static_cast<uint32_t
>(i);
#define DefineParam(Circular, NonEssential, Min, Max)
#define DefineFeature(Name, NL, NC, SN, PN)
#define StartParamDesc(Name)
#define NUM_FEATURE_TYPES
#define PICO_FEATURE_LENGTH
int tfscanf(FILE *stream, const char *format,...)
const char *const kCNFeatureType
uint32_t ShortNameToFeatureType(const FEATURE_DEFS_STRUCT &FeatureDefs, const char *ShortName)
TESS_API float PicoFeatureLength
CHAR_DESC_STRUCT * ReadCharDescription(const FEATURE_DEFS_STRUCT &FeatureDefs, FILE *File)
bool ValidCharDescription(const FEATURE_DEFS_STRUCT &FeatureDefs, CHAR_DESC_STRUCT *CharDesc)
const FEATURE_DESC_STRUCT GeoFeatDesc
TESS_API const FEATURE_DESC_STRUCT PicoFeatDesc
const char *const kGeoFeatureType
void WriteCharDescription(const FEATURE_DEFS_STRUCT &FeatureDefs, CHAR_DESC_STRUCT *CharDesc, std::string &str)
const FEATURE_DESC_STRUCT IntFeatDesc
const char *const kIntFeatureType
FEATURE_SET ReadFeatureSet(FILE *File, const FEATURE_DESC_STRUCT *FeatureDesc)
void InitFeatureDefs(FEATURE_DEFS_STRUCT *featuredefs)
void WriteFeatureSet(FEATURE_SET FeatureSet, std::string &str)
const FEATURE_DESC_STRUCT CharNormDesc
const char *const kMicroFeatureType
const FEATURE_DESC_STRUCT OutlineFeatDesc
const FEATURE_DESC_STRUCT MicroFeatureDesc
const FEATURE_DESC_STRUCT * FeatureDesc[NUM_FEATURE_TYPES]
std::array< FEATURE_SET_STRUCT *, NUM_FEATURE_TYPES > FeatureSets
std::vector< float > Params
const FEATURE_DESC_STRUCT * Type