30 #include "config_auto.h" 42 using PRIORITY = float;
74 float max_total_priority)
const;
108 if (split1_box.
y_overlap(split2_box))
return true;
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;
EDGEPT * point1
Definition: split.h:103
int8_t widthp_
Definition: seam.h:189
void Mark(ScrollView *window) const
Definition: seam.cpp:186
void UndoSeam(TBLOB *blob, TBLOB *other_blob) const
Definition: seam.cpp:140
int8_t widthn_
Definition: seam.h:190
SEAM(float priority, const TPOINT &location, const SPLIT &split)
Definition: seam.h:54
bool PrepareToInsertSeam(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int insert_index, bool modify)
Definition: seam.cpp:82
void set_priority(float priority)
Definition: seam.h:66
bool IsHealthy(const TBLOB &blob, int min_points, int min_area) const
Definition: seam.cpp:72
bool y_overlap(const TBOX &box) const
Definition: rect.h:428
static void BreakPieces(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int first, int last)
Definition: seam.cpp:194
void Reveal() const
Definition: seam.cpp:238
uint8_t num_splits_
Definition: seam.h:192
SPLIT splits_[kMaxNumSplits]
Definition: seam.h:194
void CombineWith(const SEAM &other)
Definition: seam.cpp:60
void MarkChop()
Definition: blobs.h:163
bool CombineableWith(const SEAM &other, int max_x_dist, float max_total_priority) const
Definition: seam.cpp:46
float FullPriority(int xmin, int xmax, double overlap_knob, int centered_maxwidth, double center_knob, double width_change_knob) const
Definition: seam.cpp:245
bool OverlappingSplits(const SEAM &other) const
Definition: seam.h:103
void Print(const char *label) const
Definition: seam.cpp:160
void Hide() const
Definition: seam.cpp:231
static void JoinPieces(const GenericVector< SEAM *> &seams, const GenericVector< TBLOB *> &blobs, int first, int last)
Definition: seam.cpp:216
float priority() const
Definition: seam.h:65
bool SharesPosition(const SEAM &other) const
Definition: seam.h:95
float priority_
Definition: seam.h:183
void ApplySeam(bool italic_blob, TBLOB *blob, TBLOB *other_blob) const
Definition: seam.cpp:124
void Finalize()
Definition: seam.h:116
bool FindBlobWidth(const GenericVector< TBLOB *> &blobs, int index, bool modify)
Definition: seam.cpp:97
EDGEPT * point2
Definition: split.h:104
TPOINT location_
Definition: seam.h:185
TBOX bounding_box() const
Definition: split.cpp:50
bool ContainedByBlob(const TBLOB &blob) const
Definition: seam.h:79
SEAM(float priority, const TPOINT &location)
Definition: seam.h:47
bool UsesPoint(const EDGEPT *point) const
Definition: seam.h:88
bool HasAnySplits() const
Definition: seam.h:67
static const uint8_t kMaxNumSplits
Definition: seam.h:181
static void PrintSeams(const char *label, const GenericVector< SEAM *> &seams)
Definition: seam.cpp:173
TBOX bounding_box() const
Definition: seam.cpp:37