protected void |
BreakingAlgorithm.activateNode(BreakingAlgorithm.KnuthNode node,
int difference,
double r,
double demerits,
int fitnessClass,
int availableShrink,
int availableStretch) |
Activate the given node.
|
protected void |
BreakingAlgorithm.addNode(int line,
BreakingAlgorithm.KnuthNode node) |
Add a node at the end of the given line's existing active nodes.
|
void |
BreakingAlgorithm.BestRecords.addRecord(double demerits,
BreakingAlgorithm.KnuthNode node,
double adjust,
int availableShrink,
int availableStretch,
int difference,
int fitness) |
Registers the new best active node for the given fitness class.
|
protected void |
BreakingAlgorithm.calculateBreakPoints(BreakingAlgorithm.KnuthNode node,
KnuthSequence par,
int total) |
Determines the set of optimal breakpoints corresponding to the given active node.
|
protected BreakingAlgorithm.KnuthNode |
BreakingAlgorithm.compareNodes(BreakingAlgorithm.KnuthNode node1,
BreakingAlgorithm.KnuthNode node2) |
Compare two KnuthNodes and return the node with the least demerit.
|
protected double |
BreakingAlgorithm.computeAdjustmentRatio(BreakingAlgorithm.KnuthNode activeNode,
int difference) |
Return the adjustment ratio needed to make up for the difference.
|
protected double |
BalancingColumnBreakingAlgorithm.computeDemerits(BreakingAlgorithm.KnuthNode activeNode,
KnuthElement element,
int fitnessClass,
double r) |
Computes the demerits of the current breaking (that is, up to the given element),
if the next-to-last chosen breakpoint is the given active node.
|
protected double |
BreakingAlgorithm.computeDemerits(BreakingAlgorithm.KnuthNode activeNode,
KnuthElement element,
int fitnessClass,
double r) |
Computes the demerits of the current breaking (that is, up to the given element),
if the next-to-last chosen breakpoint is the given active node.
|
protected int |
BreakingAlgorithm.computeDifference(BreakingAlgorithm.KnuthNode activeNode,
KnuthElement element,
int elementIndex) |
Return the difference between the natural width of a line that would be made
between the given active node and the given element, and the available width of the
real line.
|
protected void |
BreakingAlgorithm.createForcedNodes(BreakingAlgorithm.KnuthNode node,
int line,
int elementIdx,
int difference,
double r,
double demerits,
int fitnessClass,
int availableShrink,
int availableStretch,
int newWidth,
int newStretch,
int newShrink) |
|
protected BreakingAlgorithm.KnuthNode |
BreakingAlgorithm.createNode(int position,
int line,
int fitness,
int totalWidth,
int totalStretch,
int totalShrink,
double adjustRatio,
int availableShrink,
int availableStretch,
int difference,
double totalDemerits,
BreakingAlgorithm.KnuthNode previous) |
Creates a new active node for a feasible breakpoint at the given position.
|
protected void |
BreakingAlgorithm.deactivateNode(BreakingAlgorithm.KnuthNode node,
int line) |
Deactivate the given node
|
protected void |
BreakingAlgorithm.forceNode(BreakingAlgorithm.KnuthNode node,
int line,
int elementIdx,
int difference,
double r,
double demerits,
int fitnessClass,
int availableShrink,
int availableStretch) |
|
protected BreakingAlgorithm.KnuthNode |
BreakingAlgorithm.recoverFromTooLong(BreakingAlgorithm.KnuthNode lastTooLong) |
|
protected void |
BreakingAlgorithm.removeNode(int line,
BreakingAlgorithm.KnuthNode node) |
Remove the given active node registered for the given line.
|
protected int |
BreakingAlgorithm.restartFrom(BreakingAlgorithm.KnuthNode restartingNode,
int currentIndex) |
Restart from the given node at the given index.
|
abstract void |
BreakingAlgorithm.updateData2(BreakingAlgorithm.KnuthNode bestActiveNode,
KnuthSequence sequence,
int total) |
Empty method, hook for subclasses.
|