Create interpolator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(interpolator), | intent(inout) | :: | self | Interpolator. |
||
class(base_object_constructor), | intent(in) | :: | constructor | Constructor. |
subroutine create(self, constructor)
!< Create interpolator.
class(interpolator), intent(inout) :: self !< Interpolator.
class(base_object_constructor), intent(in) :: constructor !< Constructor.
type(objects_factory) :: factory !< Objects factory.
call self%destroy
select type(constructor)
class is(interpolator_constructor)
call factory%create(constructor=constructor%is, object=self%is)
call factory%create(constructor=constructor%alpha, object=self%alpha)
call factory%create(constructor=constructor%weights, object=self%weights)
call factory%create(constructor=constructor%polynom, object=self%polynom)
class default
! @TODO add error handling
endselect
endsubroutine create