Range_ Derived Type

type, public :: Range_


Components

Type Visibility Attributes Name Initial
logical, public :: rect_is_active = .false.
real(kind=real64), public :: x_range(1:2)
real(kind=real64), public :: y_range(1:2)
real(kind=real64), public :: z_range(1:2)
real(kind=real64), public :: t_range(1:2)
logical, public :: x_substituted(1:2)
logical, public :: y_substituted(1:2)
logical, public :: z_substituted(1:2)
logical, public :: t_substituted(1:2)
logical, public :: sphere_is_active = .false.
real(kind=real64), public :: sphere_center(1:3)
real(kind=real64), public :: sphere_radius
logical, public :: cylinder_is_active = .false.
real(kind=real64), public :: cylinder_p1(1:3)
real(kind=real64), public :: cylinder_p2(1:3)
real(kind=real64), public :: cylinder_radius
logical, public :: cone_is_active = .false.
real(kind=real64), public :: cone_p1(1:3)
real(kind=real64), public :: cone_p2(1:3)
real(kind=real64), public :: cone_radius(1:2)
type(Range_), public, allocatable :: and_ranges(:)
type(Range_), public, allocatable :: or_ranges(:)

Type-Bound Procedures

procedure, public :: init => initRange

  • public subroutine initRange(this, MaxRange)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: MaxRange

procedure, public :: set => setRange

  • public subroutine setRange(this, x_min, x_max, y_min, y_max, z_min, z_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: z_max

procedure, public :: get => getRange

  • public function getRange(this, range_type) result(min_and_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    character(len=1), intent(in) :: range_type

    Return Value real(kind=real64), (2)

procedure, public :: set_x => set_xRange

  • public subroutine set_xRange(this, x_min, x_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: x_max

procedure, public :: set_y => set_yRange

  • public subroutine set_yRange(this, y_min, y_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: y_max

procedure, public :: set_z => set_zRange

  • public subroutine set_zRange(this, z_min, z_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: z_max

procedure, public :: set_t => set_tRange

  • public subroutine set_tRange(this, t_min, t_max)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: t_min
    real(kind=real64), intent(in), optional :: t_max

procedure, public :: inside => insideRange

  • public pure function insideRange(this, point) result(inside_is_true)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(in) :: this
    real(kind=real64), intent(in) :: point(:)

    Return Value logical

procedure, public :: lx => lx_RangeClass

  • public function lx_RangeClass(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: ly => ly_RangeClass

  • public function ly_RangeClass(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: lz => lz_RangeClass

  • public function lz_RangeClass(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(Range_), intent(in) :: this

    Return Value real(kind=real64)