Houses container/controller for multiple manipulator objects
Compostite manipulator initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CompositeManipulator), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in) | :: | numManipulators |
Number of manipulators expected |
Add Manipulator object to composite manipulator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CompositeManipulator), | intent(inout) | :: | this | |||
class(Manipulator), | intent(in) | :: | manip | |||
integer(kind=ik), | intent(in) | :: | priority |
Call affect routines of all manipulators whose manipulatorPriority <= priority
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CompositeManipulator), | intent(inout) | :: | this | |||
class(ModellerSurrogate), | intent(inout) | :: | manipulatedModeller |
Modeller object used in callback |
||
class(VariableContainer), | intent(inout) | :: | outputVars |
Container for manipulation output |
||
class(VariableContainer), | intent(in) | :: | inputVars |
Manipulation input variables |
||
integer(kind=ik), | intent(in) | :: | priority |
Priority for this call |
Composite manipulator object allowing for application of multiple manipulators in series based on their priority
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
type(ManipulatorContainer), | private, | allocatable, dimension(:) | :: | manipulators |
Manipulators contained in this composite manipulator |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | manipulatorPriority |
Manipulator priority for each manipulator object |
||
integer(kind=ik), | private | :: | numManipulatorsAdded |
Counter keeping track of how many integrators have been added |
|||
logical, | private | :: | allManipulatorsAdded |
True when all manipulators have been allocated |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: manipulate | |
procedure, public :: addManipulator | |
procedure, public :: init => initCompositeManipulator |