Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nx |
Mask dimensions |
|||
integer, | public | :: | ny |
Mask dimensions |
|||
integer, | public, | allocatable | :: | mask(:,:) |
Collision mask (0=free, 1=occupied) |
||
integer, | public, | allocatable | :: | trajectory(:,:) |
Current trajectory points for undo |
||
integer, | public | :: | traj_length | = | 0 |
Length of current trajectory |
|
integer, | public | :: | current_x | = | -1 |
Current position |
|
integer, | public | :: | current_y | = | -1 |
Current position |
Initialize StreamMask with matplotlib-compatible sizing density=1 → 30x30, density=2 → 60x60, etc.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | density |
Check if mask position is free for streamline placement
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(in) | :: | self | |||
integer, | intent(in) | :: | x | |||
integer, | intent(in) | :: | y |
Start recording new streamline trajectory
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | x | |||
integer, | intent(in) | :: | y |
Update trajectory position and mark mask
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | x | |||
integer, | intent(in) | :: | y |
Try to update trajectory, return false if collision occurs
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | x | |||
integer, | intent(in) | :: | y |
Remove current trajectory from mask (for short/bad streamlines)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stream_mask_t), | intent(inout) | :: | self |