IslandHatcher¶
-
class
pyslm.hatching.
IslandHatcher
¶ Bases:
pyslm.hatching.hatching.Hatcher
IslandHatcher extends the standard
Hatcher
but generates a set of islands of fixed size (islandWidth
) which covers a region. This a common scan strategy adopted across SLM systems. This has the effect of limiting the maximum length of the scan whilst by orientating the scan vectors orthogonal to each other mitigating any preferential distortion or curling in a single direction and any effects to micro-structure.Attributes Summary
The island offset is the relative distance (hatch spacing) to move the scan vectors between adjacent checkers.
The length of overlap between adjacent islands in both directions
The island width
Methods Summary
clipIslands
(paths, pathSubjects)Internal method which clips the boundaries of
Island
obtained fromInnerHatchRegion.boundary()
with a list of paths.generateIslands
(paths[, hatchAngle])Generates un-clipped islands which is guaranteed to cover the entire polygon region base on the maximum extent of the polygon bounding box.
hatch
(boundaryFeature)Generates the Island Scan Strategy for a layer given a list of boundary features
intersectIslands
(paths, islands)Perform the intersection and overlap tests on the island sub regions.
Attributes Documentation
-
islandOffset
¶ The island offset is the relative distance (hatch spacing) to move the scan vectors between adjacent checkers.
- Return type:
float
-
islandOverlap
¶ The length of overlap between adjacent islands in both directions
- Return type:
float
-
islandWidth
¶ The island width
- Return type:
float
Methods Documentation
-
clipIslands
(paths, pathSubjects)¶ Internal method which clips the boundaries of
Island
obtained fromInnerHatchRegion.boundary()
with a list of paths. It is not actually used but provided as a reference for users.
-
generateIslands
(paths, hatchAngle=90.0)¶ Generates un-clipped islands which is guaranteed to cover the entire polygon region base on the maximum extent of the polygon bounding box. This method can be re-implement in a derived class to specify a different Island type to be used and also its placement of the islands to fill the polygon region.
- Parameters:
paths – The boundaries that the hatches should fill entirely
hatchAngle (
Optional
[float
]) – The hatch angle (degrees) to rotate the scan vectors
- Return type:
List
[Island
]- Returns:
Returns the list of unclipped scan vectors covering the region
-
hatch
(boundaryFeature)¶ Generates the Island Scan Strategy for a layer given a list of boundary features
- Parameters:
boundaryFeature – A list of boundary features
- Return type:
Layer
- Returns:
A layer containing the layer geometry
-
intersectIslands
(paths, islands)¶ Perform the intersection and overlap tests on the island sub regions. This should be performed before any clipping operations are performed.
- Parameters:
paths – List of coordinates describing the boundary
islands (
List
[Island
]) – A list of Islands to have the intersection and overlap test
- Return type:
Tuple
[Any
,Any
]- Returns:
A tuple containing lists of clipped and unClipped islands
-