Where the handle can be dragged (HANDLE_*; see the module documentation),
with axis: the plane's normal (HANDLE_PLANE) or the line's direction
(HANDLE_LINE), in the frame's coordinates. Taken when the handle is
next grabbed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DragHandle), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | constraint |
HANDLE_* |
||
| real(kind=wp), | intent(in), | optional | :: | axis(3) |
(frame coordinates; any length but 0) |
subroutine set_constraint(self, constraint, axis) class(DragHandle), intent(inout) :: self integer, intent(in) :: constraint !! HANDLE_* real(wp), intent(in), optional :: axis(3) !! (frame coordinates; any length but 0) if (constraint < HANDLE_FREE .or. constraint > HANDLE_SPHERE) return self%constraint_ = constraint if (present(axis)) then if (norm2(axis) > 0.0_wp) self%axis_ = axis / norm2(axis) end if end subroutine set_constraint