public abstract class SeparatorSet
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static int |
ART_SEP_WIDTH
The width of the 'artificial' separators created by background colors
|
protected java.util.Vector<Separator> |
bsep
List of separators comming from the box analysis
|
protected java.util.Vector<Separator> |
hsep
List of horizontal separators
|
protected static double |
HSEP_MIN_HEIGHT
The minimal height of a horizontal separator in "em" units
|
protected AreaImpl |
root
The root of the area tree that will be processed
|
protected static double |
SEP_MIN_RATIO
The minimal width/height ratio of the separator
|
protected java.util.Vector<Separator> |
vsep
List of vertical separators
|
protected static double |
VSEP_MIN_WIDTH
The minimal width of a vertical separator in "em" units
|
Constructor and Description |
---|
SeparatorSet(AreaImpl root)
Creates a new separator set with one horizontal and one vertical separator.
|
SeparatorSet(AreaImpl root,
Area filter)
Creates a new separator set with one horizontal and one vertical separator.
|
Modifier and Type | Method and Description |
---|---|
void |
applyFinalFilters()
Applies various filters on the current separator sets in order to remove irrelevant separators or adjust the sizes.
|
protected void |
applyRegularFilters()
Applies various filters on the current separator sets in order to remove irrelevant separators or adjust the sizes.
|
protected void |
filterMarginalSeparators()
Removes the separators that are placed on the area borders.
|
protected void |
filterSeparators()
Removes all the separators where the weight is lower than the specified threshold.
|
protected abstract void |
findSeparators(AreaImpl area,
Area filter)
Finds the horizontal and vertical list of separators
|
java.util.Vector<Separator> |
getBoxsep() |
java.util.Vector<Separator> |
getHorizontal() |
int |
getMinHSepHeight()
Computes the minimal height of a horizontal separator that is accepted with this separator set.
|
int |
getMinVSepWidth()
Computes the minimal width of a vertical separator that is accepted with this separator set.
|
Separator |
getMostImportantSeparator()
Obtains the most important (with the greatest weight) separator from all the separators.
|
java.util.Vector<Separator> |
getVertical() |
boolean |
isSeparatorAt(int x,
int y)
Checks if a point is covered by a separator.
|
protected void |
processIntersections()
Processes the separators so that they do not intersect.
|
protected void |
processIntersectionsRemoveHorizontal()
Processes the separators so that they do not intersect.
|
protected void |
processIntersectionsSplitHorizontal()
Processes the separators so that they do not intersect.
|
protected static final double HSEP_MIN_HEIGHT
protected static final double VSEP_MIN_WIDTH
protected static final double SEP_MIN_RATIO
protected static final int ART_SEP_WIDTH
protected AreaImpl root
protected java.util.Vector<Separator> hsep
protected java.util.Vector<Separator> vsep
protected java.util.Vector<Separator> bsep
public SeparatorSet(AreaImpl root)
public java.util.Vector<Separator> getHorizontal()
public java.util.Vector<Separator> getVertical()
public java.util.Vector<Separator> getBoxsep()
public Separator getMostImportantSeparator()
null
when there are no separatorspublic int getMinHSepHeight()
public int getMinVSepWidth()
public boolean isSeparatorAt(int x, int y)
x
- the point x coordinatey
- the point y coordinatetrue
if any of the separators in this set covers the specified pointprotected abstract void findSeparators(AreaImpl area, Area filter)
area
- the root areafilter
- if not null, only the sub areas enclosed in the filter area
are consideredprotected void applyRegularFilters()
public void applyFinalFilters()
protected void filterMarginalSeparators()
protected void filterSeparators()
protected void processIntersections()
protected void processIntersectionsSplitHorizontal()
protected void processIntersectionsRemoveHorizontal()