polygon2d_t Derived Type

type, public, abstract :: polygon2d_t


Components

Type Visibility Attributes Name Initial
real(kind=FP), public, dimension(:, :), allocatable :: pts
integer, public :: N_pts
integer, public :: dim = twodim
real(kind=FP), public, dimension(:, :), allocatable :: p2p
real(kind=FP), public, dimension(:), allocatable :: p2p_mag

Type-Bound Procedures

procedure, public, pass(self) :: create_polygon2d

  • private subroutine create_polygon2d(self, N_pts, X_pts, Y_pts)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(inout) :: self
    integer, intent(in) :: N_pts
    real(kind=FP), intent(in), dimension(N_pts) :: X_pts
    real(kind=FP), intent(in), dimension(N_pts) :: Y_pts

procedure, public, pass(self) :: dist_to_polypoint

  • private function dist_to_polypoint(self, Px, Py)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self
    real(kind=FP), intent(in) :: Px
    real(kind=FP), intent(in) :: Py

    Return Value real(kind=fp)

procedure, public, pass(self) :: dist_to_polyedge

  • private function dist_to_polyedge(self, Px, Py)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self
    real(kind=FP), intent(in) :: Px
    real(kind=FP), intent(in) :: Py

    Return Value real(kind=fp)

procedure, public, pass(self) :: closest_polyedge

  • private function closest_polyedge(self, Px, Py)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self
    real(kind=FP), intent(in) :: Px
    real(kind=FP), intent(in) :: Py

    Return Value integer

procedure, public, pass(self) :: polygon_print

  • private subroutine polygon_print(self)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self

procedure(polygon_string), public, deferred, pass(self) :: polygon_string

  • function polygon_string(self) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self

    Return Value character(len=string_buffer_length)

procedure, public, pass(self) :: destroy_polygon

  • private subroutine destroy_polygon(self)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(inout) :: self

procedure, public, pass(self) :: signed_area

  • private function signed_area(self)

    Arguments

    Type IntentOptional Attributes Name
    class(polygon2d_t), intent(in) :: self

    Return Value real(kind=fp)