OBB_type Derived Type

type, public :: OBB_type


Components

Type Visibility Attributes Name Initial
type(point_type), public, dimension(:), allocatable :: Points
type(point_type), public, dimension(:), allocatable :: HullPoints
type(rectangle), public :: MBR
real(kind=rp), public, dimension(NDIM,8) :: vertices
real(kind=rp), public, dimension(NDIM,8) :: LocVertices
real(kind=rp), public, dimension(NDIM,NDIM) :: R
real(kind=rp), public, dimension(NDIM,NDIM) :: invR
real(kind=rp), public, dimension(NDIM) :: CloudCenter
real(kind=rp), public, dimension(NDIM) :: LocFrameCenter
real(kind=rp), public :: nMin
real(kind=rp), public :: nMax
integer, public :: NumOfPoints
integer, public :: center
integer, public :: left
integer, public :: right
character(len=LINE_LENGTH), public :: filename
logical, public :: verbose
logical, public :: AAB

Type-Bound Procedures

procedure, public :: construct => OBB_construct

  • public subroutine OBB_construct(this, stl, isPlot, AAB)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    type(STLfile), intent(in) :: stl
    logical, intent(in) :: isPlot
    logical, intent(in) :: AAB

procedure, public :: ReadStorePoints => OBB_ReadStorePoints

procedure, public :: ComputeAngle => OBB_ComputeAngle

  • public subroutine OBB_ComputeAngle(this, LowestIndex)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    integer, intent(in) :: LowestIndex

procedure, public :: SortingNodes => OBB_SortingNodes

  • public subroutine OBB_SortingNodes(this, left, right)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    integer, intent(in) :: left
    integer, intent(in) :: right

procedure, public :: isPointInside => OBB_isPointInside

  • public function OBB_isPointInside(this, coords, coeff) result(isInsideOBB)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    real(kind=rp), intent(in), dimension(:) :: coords
    real(kind=rp), intent(in), optional :: coeff

    Return Value logical

procedure, public :: ChangeObjsRefFrame => OBB_ChangeObjsRefFrame

  • public subroutine OBB_ChangeObjsRefFrame(this, objs, FRAME)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    type(Object_type), intent(inout) :: objs(:)
    integer, intent(in) :: FRAME

procedure, public :: STL_rotate => OBB_STL_rotate

  • public subroutine OBB_STL_rotate(this, stl, surface)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    type(STLfile), intent(inout) :: stl
    logical, intent(in) :: surface

procedure, public :: STL_translate => OBB_STL_translate

  • public subroutine OBB_STL_translate(this, stl, surface)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    type(STLfile), intent(inout) :: stl
    logical, intent(in) :: surface

procedure, public :: ChangeRefFrame

  • public subroutine ChangeRefFrame(this, v, FRAME, vNew)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    real(kind=rp), intent(in), dimension(:) :: v
    integer, intent(in) :: FRAME
    real(kind=rp), intent(out), dimension(NDIM) :: vNew

procedure, public :: ComputeRotationMatrix

  • public subroutine ComputeRotationMatrix(this, u, v, w)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this
    real(kind=rp), intent(in), dimension(NDIM) :: u
    real(kind=rp), intent(in), dimension(NDIM) :: v
    real(kind=rp), intent(in), dimension(NDIM) :: w

procedure, public :: plot => OBB_plot

  • public subroutine OBB_plot(this)

    Arguments

    Type IntentOptional Attributes Name
    class(OBB_type), intent(inout) :: this