TreeClass Module



Derived Types

type, public ::  Nodep_

Components

Type Visibility Attributes Name Initial
type(Node_), public, pointer :: Nodep

type, public ::  Node_

Components

Type Visibility Attributes Name Initial
type(Node_), public, pointer :: Parent
type(Nodep_), public, allocatable :: Child(:)
real(kind=real64), public :: coord(3)
real(kind=real64), public :: vector(3)
character(len=200), public :: Name
real(kind=real64), public :: fpval
integer(kind=int32), public :: intval
integer(kind=int32), public :: ID

Type-Bound Procedures

procedure, public :: Init => InitializeNode
procedure, public :: create => CreateNode

type, public ::  Tree_

Components

Type Visibility Attributes Name Initial
type(Nodep_), public, allocatable :: Node(:)
integer(kind=int32), public :: SortedUntil

Type-Bound Procedures

procedure, public :: Init => InitializeTree
procedure, public :: Add => AddNodeInTree
procedure, public :: cut => cutNodeInTree
procedure, public :: show => showTree
procedure, public :: NumOfTree
procedure, public :: parentNodeID => parentNodeIDTree
procedure, public :: countIfParentIDis
procedure, public :: setVisualMap => setVisualMapTree

Functions

public function NumOfTree(obj) result(num)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(in) :: obj

Return Value integer(kind=int32)

public function countIfParentIDis(obj, ParentID) result(num)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(in) :: obj
integer(kind=int32), intent(in) :: ParentID

Return Value integer(kind=int32)

public function parentNodeIDTree(obj, ParentID) result(NodeID)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(in) :: obj
integer(kind=int32), intent(in), optional :: ParentID

Return Value integer(kind=int32)


Subroutines

public subroutine InitializeNode(obj)

Arguments

Type IntentOptional Attributes Name
class(Node_), intent(inout) :: obj

public subroutine CreateNode(obj, parent, Name)

Arguments

Type IntentOptional Attributes Name
class(Node_), intent(inout), target :: obj
class(Node_), intent(inout), optional, target :: parent
character(len=*), intent(in) :: Name

public subroutine InitializeTree(obj, NumOfNode)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NumOfNode

public subroutine AddNodeInTree(obj, NodeObj)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(inout) :: obj
class(Node_), intent(in), target :: NodeObj

public subroutine cutNodeInTree(obj, NodeObj)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(inout) :: obj
class(Node_), intent(in), target :: NodeObj

public subroutine showTree(obj)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(in) :: obj

public subroutine setVisualMapTree(obj)

Arguments

Type IntentOptional Attributes Name
class(Tree_), intent(in) :: obj