summaryrefslogtreecommitdiff
path: root/lib/stitches/constants.py
blob: 012fac7c19805a0b96b0908b087677b3bf74efdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import math

# Used in the simplify routine of shapely
simplification_threshold = 0.01

# If a line segment is shorter than this threshold it is handled as a single point
line_lengh_seen_as_one_point = 0.05

# E.g. to check whether a point is already present in a point list,
# the point is allowed to be this value in distance apart
point_spacing_to_be_considered_equal = 0.05

# Adjacent geometry should have points closer than
# offset*offset_factor_for_adjacent_geometry to be considered adjacent
offset_factor_for_adjacent_geometry = 1.5

# Transfer point distance is used for projecting points from already
# rastered geometry to adjacent geometry
# (max spacing transfer_point_distance_factor*offset)
# to get a more regular pattern
transfer_point_distance_factor = 1.5

# Used to handle numerical inaccuracies during comparisons
eps = 1e-3

# When entering and leaving a child from a parent we introduce an offset of
# abs_offset*factor_offset_starting_points
# so that entering and leaving points are not lying above each other.
factor_offset_starting_points = 0.5

# if points are closer than abs_offset*factor_offset_remove_points one of it is removed
factor_offset_remove_points = 0.5

# decides whether the point belongs to a hard edge (must use this point during sampling)
# or soft edge (do not necessarily need to use this point)
limiting_angle = math.pi * 15 / 180.0

# angles straighter (smaller) than this are considered as more or less straight
# (no concrete edges required for path segments having only angles <= this value)
limiting_angle_straight = math.pi * 0.5 / 180.0

# if a point distance to the connected line of its two neighbors is smaller than
# abs_offset times this factor, this point will be removed if the stitching distance will not be exceeded
factor_offset_remove_dense_points = 0.2

# if a soft edge is closer to a forbidden point than abs_offset*this factor it will be marked as forbidden.
factor_offset_forbidden_point = 1.0

# usually overnext projected points are preferred.
# If an overnext projected point would create a much smaller segment than a direct
# projected point we might prefer the direct projected point
factor_segment_length_direct_preferred_over_overnext = 0.5