Table of Contents

Class ArrangeOptions

Namespace
GeometryHelper.Arranging
Assembly
GeometryHelper.dll

Parameters controlling candidate position generation and collision checking for label arrangement. Values are typically in millimeters, suitable for standard structural drawings.

public sealed class ArrangeOptions
Inheritance
ArrangeOptions
Inherited Members

Properties

Algorithm

The label arrangement algorithm to be used.

AnnealingCoolingRate

Cooling rate for the Simulated Annealing algorithm.

AnnealingInitialTemperature

Initial temperature for the Simulated Annealing algorithm.

Default

Gets the default options, a new instance each time it is read, as Run(IReadOnlyList<ArrangeItem>) runs with them.

ForceIterations

Number of iterations for physical force simulation in the Force-directed algorithm.

FreedomSampleSize

Number of candidates evaluated when measuring label freedom degree, serving the PlaceMostConstrainedFirst option.

LongitudinalOvershootRatio

Ratio of label width added to half of the path segment length to determine longitudinal sliding limits. Allows the label to overshoot the segment ends slightly.

LookAheadCandidates

Number of empty positions evaluated before selection. Among these candidates, the position with the maximum clearance wins. Set to 1 to select the first found empty position immediately.

MaxBacktrackSteps

The most steps back the two searching algorithms, bounded backtracking and constraint satisfaction, may take: each time a search takes up a label it has placed, to try it elsewhere, because a label after it found no place. Once they run out, the search gives up and the greedy algorithm places the labels.

MaximumCandidates

Maximum number of candidate positions generated for a label to prevent infinite loops.

MinimumBoxSize

Labels smaller than this size will be considered invalid/erroneous and ignored.

MinimumMoveDistance

Shifts smaller than this distance will be ignored. Avoids minor adjustments for labels that are already in the correct position.

NeighbourMargin

Margin to expand the neighbor bounding box when selecting obstacles for collision checks. Added to the maximum dimension of the label.

PerpendicularLevels

Number of perpendicular fallback levels to test on each side of the path.

PlaceFromInsideOut

Sorts labels from the inside out (from area centroid to boundary). Helps labels in crowded center regions get priority placement.

PlaceMostConstrainedFirst

Sorts placement order so that the most constrained label (fewest options) is placed first. Recommended as the greedy algorithm has no backtracking mechanism. Set to false to sort purely by default geometric order.

RowGap

The gap between two consecutive label rows, added to the label height when shifting to the next perpendicular level. Helps prevent rows from overlapping.

Tolerance

Tolerance used for geometric calculations and intersection checks: Global as it stands when the options are made, unless set.