23 #ifndef TESSERACT_WORDREC_PAIN_POINTS_H_    24 #define TESSERACT_WORDREC_PAIN_POINTS_H_    35 struct ViterbiStateEntry;
    50 static const char * 
const LMPainPointsTypeName[] = {
    67     return LMPainPointsTypeName[type];
    71     max_heap_size_(max), max_char_wh_ratio_(rat), fixed_pitch_(fp),
    72     dict_(d), debug_level_(deb) {}
    77     return !pain_points_heaps_[pp_type].
empty();
    87     for (
int h = 0; h < 
LM_PPTYPE_NUM; ++h) pain_points_heaps_[h].clear();
   106                              max_char_wh_ratio, word_res);
   115                          float special_priority, 
bool ok_to_extend,
   116                          float max_char_wh_ratio,
   131   float max_char_wh_ratio_;
   142 #endif  // TESSERACT_WORDREC_PAIN_POINTS_H_ bool GeneratePainPoint(int col, int row, LMPainPointsType pp_type, float special_priority, bool ok_to_extend, float max_char_wh_ratio, WERD_RES *word_res)
bool HasPainPoints(LMPainPointsType pp_type) const
void RemapForSplit(int index)
static const char * PainPointDescription(LMPainPointsType type)
static const float kDefaultPainPointPriorityAdjustment
LMPainPoints(int max, float rat, bool fp, const Dict *d, int deb)
static const float kLooseMaxCharWhRatio
LMPainPointsType Deque(MATRIX_COORD *pp, float *priority)
void GenerateInitial(WERD_RES *word_res)
void GenerateFromPath(float rating_cert_scale, ViterbiStateEntry *vse, WERD_RES *word_res)
void GenerateFromAmbigs(const DANGERR &fixpt, ViterbiStateEntry *vse, WERD_RES *word_res)
bool GenerateForBlamer(double max_char_wh_ratio, WERD_RES *word_res, int col, int row)