IslandHatcher¶
- class pyslm.hatching.IslandHatcher¶
Bases:
HatcherIslandHatcher extends the standard
Hatcherbut 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 vectors whilst by orientating the scan vectors orthogonal to each other mitigating any preferential distortion or curling due to residual in a single direction and any effects to the microstructure.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
Islandobtained 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.
- islandOverlap¶
The length of overlap between adjacent islands in both directions
- islandWidth¶
The island width
Methods Documentation
- clipIslands(paths, pathSubjects)¶
Internal method which clips the boundaries of
Islandobtained 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:
- 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