30 #include "config_auto.h" 74 float max_total_priority)
const;
80 for (
int s = 0; s < num_splits_; ++s) {
89 for (
int s = 0; s < num_splits_; ++s) {
90 if (splits_[s].
UsesPoint(point))
return true;
96 for (
int s = 0; s < num_splits_; ++s) {
97 for (
int t = 0; t < other.num_splits_; ++t)
104 for (
int s = 0; s < num_splits_; ++s) {
106 for (
int t = 0; t < other.num_splits_; ++t) {
108 if (split1_box.
y_overlap(split2_box))
return true;
117 for (
int s = 0; s < num_splits_; ++s) {
126 bool IsHealthy(
const TBLOB& blob,
int min_points,
int min_area)
const;
148 void Print(
const char* label)
const;
151 #ifndef GRAPHICS_DISABLED 175 float FullPriority(
int xmin,
int xmax,
double overlap_knob,
176 int centered_maxwidth,
double center_knob,
177 double width_change_knob)
const;
181 static const uint8_t kMaxNumSplits = 3;
194 SPLIT splits_[kMaxNumSplits];
void Mark(ScrollView *window) const
void start_seam_list(TWERD *word, GenericVector< SEAM *> *seam_array)
bool IsHealthy(const TBLOB &blob, int min_points, int min_area) const
SEAM(float priority, const TPOINT &location, const SPLIT &split)
TBOX bounding_box() const
bool UsesPoint(const EDGEPT *point) const
void ApplySeam(bool italic_blob, TBLOB *blob, TBLOB *other_blob) const
static void JoinPieces(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int first, int last)
static void BreakPieces(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int first, int last)
TBOX bounding_box() const
bool PrepareToInsertSeam(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int insert_index, bool modify)
void Print(const char *label) const
bool CombineableWith(const SEAM &other, int max_x_dist, float max_total_priority) const
SEAM(float priority, const TPOINT &location)
bool SharesPosition(const SEAM &other) const
bool OverlappingSplits(const SEAM &other) const
bool y_overlap(const TBOX &box) const
bool ContainedByBlob(const TBLOB &blob) const
void set_priority(float priority)
void UndoSeam(TBLOB *blob, TBLOB *other_blob) const
static void PrintSeams(const char *label, const GenericVector< SEAM *> &seams)
bool HasAnySplits() const
bool FindBlobWidth(const GenericVector< TBLOB *> &blobs, int index, bool modify)
void CombineWith(const SEAM &other)
float FullPriority(int xmin, int xmax, double overlap_knob, int centered_maxwidth, double center_knob, double width_change_knob) const