64 return x == other.
x &&
y == other.
y;
102 return x_dist * x_dist * x_factor + y_dist * y_dist;
117 }
while (pt != end && pt !=
this);
129 }
while (pt != end && pt !=
this);
139 if (pt == end)
return true;
142 }
while (pt !=
this &&
count <= min_points);
154 return flags[0] != 0;
160 return flags[2] != 0;
205 void Scale(
float factor);
229 }
while (pt !=
loop);
239 #ifndef GRAPHICS_DISABLED 242 #endif // GRAPHICS_DISABLED 296 const DENORM* predecessor,
297 float x_origin,
float y_origin,
298 float x_scale,
float y_scale,
299 float final_xshift,
float final_yshift,
300 bool inverse, Pix* pix);
306 void Scale(
float factor);
318 outline = outline->
next) {
319 if (outline->SegmentCrosses(pt1, pt2))
return true;
326 outline = outline->
next) {
327 if (outline->Contains(pt))
return true;
344 #ifndef GRAPHICS_DISABLED 347 #endif // GRAPHICS_DISABLED 352 total_area += outline->BBArea();
385 void CollectEdges(
const TBOX& box,
413 float x_height,
float baseline_shift,
bool numeric_mode,
415 const TBOX* norm_box,
void MinMaxCrossProduct(const TPOINT vec, int *min_xp, int *max_xp) const
void CopyFrom(const TBLOB &src)
void GetEdgeCoords(const TBOX &box, GenericVector< GenericVector< int > > *x_coords, GenericVector< GenericVector< int > > *y_coords) const
TBLOB & operator=(const TBLOB &src)
bool SameBox(const TESSLINE &other) const
TESSLINE(const TESSLINE &src)
EDGEPT & operator=(const EDGEPT &src)
GenericVector< TBLOB * > blobs
static TESSLINE * BuildFromOutlineList(EDGEPT *outline)
void Normalize(const BLOCK *block, const FCOORD *rotation, const DENORM *predecessor, float x_origin, float y_origin, float x_scale, float y_scale, float final_xshift, float final_yshift, bool inverse, Pix *pix)
void divide_blobs(TBLOB *blob, TBLOB *other_blob, bool italic_blob, const TPOINT &location)
bool SegmentCrosses(const TPOINT &pt1, const TPOINT &pt2) const
TESSLINE & operator=(const TESSLINE &src)
void plot(ScrollView *window, ScrollView::Color color, ScrollView::Color child_color)
bool Contains(const TPOINT &pt) const
void Move(const ICOORD vec)
void BLNormalize(const BLOCK *block, const ROW *row, Pix *pix, bool inverse, float x_height, float baseline_shift, bool numeric_mode, tesseract::OcrEngineMode hint, const TBOX *norm_box, DENORM *word_denorm)
void EliminateDuplicateOutlines()
int SegmentArea(const EDGEPT *end) const
void Normalize(const DENORM &denorm)
bool Contains(const TPOINT &pt) const
TBOX bounding_box() const
void MergeBlobs(int start, int end)
bool divisible_blob(TBLOB *blob, bool italic_blob, TPOINT *location)
bool operator==(const TPOINT &other) const
void plot(ScrollView *window)
void Move(const ICOORD vec)
void plot(ScrollView *window, ScrollView::Color color, ScrollView::Color child_color)
void operator/=(int divisor)
void CopyFrom(const EDGEPT &src)
TBOX bounding_box() const
TBOX bounding_box() const
const DENORM & denorm() const
TBLOB * ClassifyNormalizeIfNeeded() const
void ComputeBoundingBoxes()
TBOX SegmentBox(const EDGEPT *end) const
void operator+=(const TPOINT &other)
void GetPreciseBoundingBox(TBOX *precise_box) const
void CopyFrom(const TESSLINE &src)
void CorrectBlobOrder(TBLOB *next)
TPOINT(inT16 vx, inT16 vy)
TWERD & operator=(const TWERD &src)
void Rotate(const FCOORD rotation)
static TBLOB * PolygonalCopy(bool allow_detailed_fx, C_BLOB *src)
void ComputeBoundingBoxes()
bool SegmentCrossesOutline(const TPOINT &pt1, const TPOINT &pt2) const
bool EqualPos(const EDGEPT &other) const
void ComputeBoundingBox()
int ComputeMoments(FCOORD *center, FCOORD *second_moments) const
EDGEPT * FindBestStartPt() const
EDGEPT(const EDGEPT &src)
void CopyFrom(const TWERD &src)
static TBLOB * ShallowCopy(const TBLOB &src)
static bool IsCrossed(const TPOINT &a0, const TPOINT &a1, const TPOINT &b0, const TPOINT &b1)
static TWERD * PolygonalCopy(bool allow_detailed_fx, WERD *src)
void Rotate(const FCOORD rotation)
int WeightedDistance(const EDGEPT &other, int x_factor) const
bool ShortNonCircularSegment(int min_points, const EDGEPT *end) const