tesseract  v4.0.0-17-g361f3264
Open Source OCR Engine
tesseract::TabVector Class Reference

#include <tabvector.h>

Inheritance diagram for tesseract::TabVector:
Collaboration diagram for tesseract::TabVector:

Public Member Functions

 TabVector ()=default
 
 ~TabVector ()=default
 
 TabVector (const TabVector &src, TabAlignment alignment, const ICOORD &vertical_skew, BLOBNBOX *blob)
 
TabVectorShallowCopy () const
 
const ICOORDstartpt () const
 
const ICOORDendpt () const
 
int extended_ymax () const
 
int extended_ymin () const
 
int sort_key () const
 
int mean_width () const
 
void set_top_constraints (TabConstraint_LIST *constraints)
 
void set_bottom_constraints (TabConstraint_LIST *constraints)
 
TabVector_CLIST * partners ()
 
void set_startpt (const ICOORD &start)
 
void set_endpt (const ICOORD &end)
 
bool intersects_other_lines () const
 
void set_intersects_other_lines (bool value)
 
int XAtY (int y) const
 
int VOverlap (const TabVector &other) const
 
int VOverlap (int top_y, int bottom_y) const
 
int ExtendedOverlap (int top_y, int bottom_y) const
 
bool IsLeftTab () const
 
bool IsRightTab () const
 
bool IsSeparator () const
 
bool IsCenterTab () const
 
bool IsRagged () const
 
bool IsLeftOf (const TabVector &other) const
 
bool Partnerless ()
 
int BoxCount ()
 
void Freeze ()
 
void XYFlip ()
 
void ReflectInYAxis ()
 
void ExtendToBox (BLOBNBOX *blob)
 
void SetYStart (int start_y)
 
void SetYEnd (int end_y)
 
void Rotate (const FCOORD &rotation)
 
void SetupConstraints ()
 
void SetupPartnerConstraints ()
 
void SetupPartnerConstraints (TabVector *partner)
 
void ApplyConstraints ()
 
bool SimilarTo (const ICOORD &vertical, const TabVector &other, BlobGrid *grid) const
 
void MergeWith (const ICOORD &vertical, TabVector *other)
 
void AddPartner (TabVector *partner)
 
bool IsAPartner (const TabVector *other)
 
void Print (const char *prefix)
 
void Debug (const char *prefix)
 
void Display (ScrollView *tab_win)
 
void FitAndEvaluateIfNeeded (const ICOORD &vertical, TabFind *finder)
 
void Evaluate (const ICOORD &vertical, TabFind *finder)
 
bool Fit (ICOORD vertical, bool force_parallel)
 
TabVectorVerticalTextlinePartner ()
 
TabVectorGetSinglePartner ()
 

Static Public Member Functions

static TabVectorFitVector (TabAlignment alignment, ICOORD vertical, int extended_start_y, int extended_end_y, BLOBNBOX_CLIST *good_points, int *vertical_x, int *vertical_y)
 
static int SortKey (const ICOORD &vertical, int x, int y)
 
static int XAtY (const ICOORD &vertical, int sort_key, int y)
 
static int SortVectorsByKey (const void *v1, const void *v2)
 
static void MergeSimilarTabVectors (const ICOORD &vertical, TabVector_LIST *vectors, BlobGrid *grid)
 

Private Member Functions

 TabVector (int extended_ymin, int extended_ymax, TabAlignment alignment, BLOBNBOX_CLIST *boxes)
 
void Delete (TabVector *replacement)
 

Private Attributes

ICOORD startpt_
 
ICOORD endpt_
 
int extended_ymin_
 
int extended_ymax_
 
int sort_key_
 
int percent_score_
 
int mean_width_
 
bool needs_refit_
 
bool needs_evaluation_
 
bool intersects_other_lines_
 
TabAlignment alignment_
 
BLOBNBOX_CLIST boxes_
 
TabVector_CLIST partners_
 
TabConstraint_LIST * top_constraints_
 
TabConstraint_LIST * bottom_constraints_
 

Constructor & Destructor Documentation

◆ TabVector() [1/3]

tesseract::TabVector::TabVector ( )
default

◆ ~TabVector()

tesseract::TabVector::~TabVector ( )
default

◆ TabVector() [2/3]

tesseract::TabVector::TabVector ( const TabVector src,
TabAlignment  alignment,
const ICOORD vertical_skew,
BLOBNBOX blob 
)

◆ TabVector() [3/3]

tesseract::TabVector::TabVector ( int  extended_ymin,
int  extended_ymax,
TabAlignment  alignment,
BLOBNBOX_CLIST *  boxes 
)
private

Member Function Documentation

◆ AddPartner()

void tesseract::TabVector::AddPartner ( TabVector partner)

◆ ApplyConstraints()

void tesseract::TabVector::ApplyConstraints ( )

◆ BoxCount()

int tesseract::TabVector::BoxCount ( )
inline

◆ Debug()

void tesseract::TabVector::Debug ( const char *  prefix)

◆ Delete()

void tesseract::TabVector::Delete ( TabVector replacement)
private

◆ Display()

void tesseract::TabVector::Display ( ScrollView tab_win)

◆ endpt()

const ICOORD& tesseract::TabVector::endpt ( ) const
inline

◆ Evaluate()

void tesseract::TabVector::Evaluate ( const ICOORD vertical,
TabFind finder 
)

◆ extended_ymax()

int tesseract::TabVector::extended_ymax ( ) const
inline

◆ extended_ymin()

int tesseract::TabVector::extended_ymin ( ) const
inline

◆ ExtendedOverlap()

int tesseract::TabVector::ExtendedOverlap ( int  top_y,
int  bottom_y 
) const
inline

◆ ExtendToBox()

void tesseract::TabVector::ExtendToBox ( BLOBNBOX blob)

◆ Fit()

bool tesseract::TabVector::Fit ( ICOORD  vertical,
bool  force_parallel 
)

◆ FitAndEvaluateIfNeeded()

void tesseract::TabVector::FitAndEvaluateIfNeeded ( const ICOORD vertical,
TabFind finder 
)

◆ FitVector()

TabVector * tesseract::TabVector::FitVector ( TabAlignment  alignment,
ICOORD  vertical,
int  extended_start_y,
int  extended_end_y,
BLOBNBOX_CLIST *  good_points,
int *  vertical_x,
int *  vertical_y 
)
static

◆ Freeze()

void tesseract::TabVector::Freeze ( )
inline

◆ GetSinglePartner()

TabVector * tesseract::TabVector::GetSinglePartner ( )

◆ intersects_other_lines()

bool tesseract::TabVector::intersects_other_lines ( ) const
inline

◆ IsAPartner()

bool tesseract::TabVector::IsAPartner ( const TabVector other)

◆ IsCenterTab()

bool tesseract::TabVector::IsCenterTab ( ) const
inline

◆ IsLeftOf()

bool tesseract::TabVector::IsLeftOf ( const TabVector other) const
inline

◆ IsLeftTab()

bool tesseract::TabVector::IsLeftTab ( ) const
inline

◆ IsRagged()

bool tesseract::TabVector::IsRagged ( ) const
inline

◆ IsRightTab()

bool tesseract::TabVector::IsRightTab ( ) const
inline

◆ IsSeparator()

bool tesseract::TabVector::IsSeparator ( ) const
inline

◆ mean_width()

int tesseract::TabVector::mean_width ( ) const
inline

◆ MergeSimilarTabVectors()

void tesseract::TabVector::MergeSimilarTabVectors ( const ICOORD vertical,
TabVector_LIST *  vectors,
BlobGrid grid 
)
static

◆ MergeWith()

void tesseract::TabVector::MergeWith ( const ICOORD vertical,
TabVector other 
)

◆ Partnerless()

bool tesseract::TabVector::Partnerless ( )
inline

◆ partners()

TabVector_CLIST* tesseract::TabVector::partners ( )
inline

◆ Print()

void tesseract::TabVector::Print ( const char *  prefix)

◆ ReflectInYAxis()

void tesseract::TabVector::ReflectInYAxis ( )
inline

◆ Rotate()

void tesseract::TabVector::Rotate ( const FCOORD rotation)

◆ set_bottom_constraints()

void tesseract::TabVector::set_bottom_constraints ( TabConstraint_LIST *  constraints)
inline

◆ set_endpt()

void tesseract::TabVector::set_endpt ( const ICOORD end)
inline

◆ set_intersects_other_lines()

void tesseract::TabVector::set_intersects_other_lines ( bool  value)
inline

◆ set_startpt()

void tesseract::TabVector::set_startpt ( const ICOORD start)
inline

◆ set_top_constraints()

void tesseract::TabVector::set_top_constraints ( TabConstraint_LIST *  constraints)
inline

◆ SetupConstraints()

void tesseract::TabVector::SetupConstraints ( )

◆ SetupPartnerConstraints() [1/2]

void tesseract::TabVector::SetupPartnerConstraints ( )

◆ SetupPartnerConstraints() [2/2]

void tesseract::TabVector::SetupPartnerConstraints ( TabVector partner)

◆ SetYEnd()

void tesseract::TabVector::SetYEnd ( int  end_y)

◆ SetYStart()

void tesseract::TabVector::SetYStart ( int  start_y)

◆ ShallowCopy()

TabVector * tesseract::TabVector::ShallowCopy ( ) const

◆ SimilarTo()

bool tesseract::TabVector::SimilarTo ( const ICOORD vertical,
const TabVector other,
BlobGrid grid 
) const

◆ sort_key()

int tesseract::TabVector::sort_key ( ) const
inline

◆ SortKey()

static int tesseract::TabVector::SortKey ( const ICOORD vertical,
int  x,
int  y 
)
inlinestatic

◆ SortVectorsByKey()

static int tesseract::TabVector::SortVectorsByKey ( const void *  v1,
const void *  v2 
)
inlinestatic

◆ startpt()

const ICOORD& tesseract::TabVector::startpt ( ) const
inline

◆ VerticalTextlinePartner()

TabVector * tesseract::TabVector::VerticalTextlinePartner ( )

◆ VOverlap() [1/2]

int tesseract::TabVector::VOverlap ( const TabVector other) const
inline

◆ VOverlap() [2/2]

int tesseract::TabVector::VOverlap ( int  top_y,
int  bottom_y 
) const
inline

◆ XAtY() [1/2]

int tesseract::TabVector::XAtY ( int  y) const
inline

◆ XAtY() [2/2]

static int tesseract::TabVector::XAtY ( const ICOORD vertical,
int  sort_key,
int  y 
)
inlinestatic

◆ XYFlip()

void tesseract::TabVector::XYFlip ( )
inline

Member Data Documentation

◆ alignment_

TabAlignment tesseract::TabVector::alignment_
private

◆ bottom_constraints_

TabConstraint_LIST* tesseract::TabVector::bottom_constraints_
private

◆ boxes_

BLOBNBOX_CLIST tesseract::TabVector::boxes_
private

◆ endpt_

ICOORD tesseract::TabVector::endpt_
private

◆ extended_ymax_

int tesseract::TabVector::extended_ymax_
private

◆ extended_ymin_

int tesseract::TabVector::extended_ymin_
private

◆ intersects_other_lines_

bool tesseract::TabVector::intersects_other_lines_
private

◆ mean_width_

int tesseract::TabVector::mean_width_
private

◆ needs_evaluation_

bool tesseract::TabVector::needs_evaluation_
private

◆ needs_refit_

bool tesseract::TabVector::needs_refit_
private

◆ partners_

TabVector_CLIST tesseract::TabVector::partners_
private

◆ percent_score_

int tesseract::TabVector::percent_score_
private

◆ sort_key_

int tesseract::TabVector::sort_key_
private

◆ startpt_

ICOORD tesseract::TabVector::startpt_
private

◆ top_constraints_

TabConstraint_LIST* tesseract::TabVector::top_constraints_
private

The documentation for this class was generated from the following files: