Skip to content

fossil_aabb_tree_object

Source: src/lib/fossil_aabb_tree_object.f90

Dependencies

Contents

Variables

NameTypeAttributesDescription
TREE_RATIOinteger(kind=I4P)parameter
octree_fsmtype(ofsm)

Derived Types

ofsm

Components

NameTypeAttributesDescription
octantinteger(kind=I4P)
directioninteger(kind=I4P)

aabb_tree_object

Components

NameTypeAttributesDescription
refinement_levelsinteger(kind=I4P)+----+----+
nodes_numberinteger(kind=I4P)
nodetype(aabb_node_object)allocatable
is_initializedlogical

Type-Bound Procedures

NameAttributesDescription
compute_vertices_nearbypass(self)
destroypass(self)
distancepass(self)
distance_treepass(self)
distribute_facetspass(self)
distribute_facets_treepass(self)
has_childrenpass(self)
initializepass(self)
loop_nodepass(self)
ray_intersections_numberpass(self)
save_geometry_tecplot_asciipass(self)
translatepass(self)
assignment(=)
aabb_tree_assign_aabb_treepass(lhs)
distance_nodepass(self)
ray_intersections_number_nodepass(self)

Subroutines

compute_vertices_nearby

Attributes: pure

fortran
subroutine compute_vertices_nearby(self, facet, tolerance_to_be_identical, tolerance_to_be_nearby)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
facettype(facet_object)inout
tolerance_to_be_identicalreal(kind=R8P)in
tolerance_to_be_nearbyreal(kind=R8P)in

Call graph

destroy

Attributes: elemental

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)inout

Call graph

distribute_facets

Attributes: pure

fortran
subroutine distribute_facets(self, facet, is_exclusive, do_update_extents)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)inout
facettype(facet_object)in
is_exclusivelogicalinoptional
do_update_extentslogicalinoptional

Call graph

distribute_facets_tree

Attributes: pure

fortran
subroutine distribute_facets_tree(self, facet)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)inout
facettype(facet_object)in

Call graph

initialize

Attributes: pure

fortran
subroutine initialize(self, refinement_levels, facet, largest_edge_len, bmin, bmax, do_facets_distribute, is_exclusive, do_update_extents)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)inout
refinement_levelsinteger(kind=I4P)inoptional
facettype(facet_object)inoptional
largest_edge_lenreal(kind=R8P)inoptional
bmintype(vector_R8P)inoptional
bmaxtype(vector_R8P)inoptional
do_facets_distributelogicalinoptional
is_exclusivelogicalinoptional
do_update_extentslogicalinoptional

Call graph

save_geometry_tecplot_ascii

fortran
subroutine save_geometry_tecplot_ascii(self, file_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
file_namecharacter(len=*)in

Call graph

translate

Attributes: elemental

fortran
subroutine translate(self, delta)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)inout
deltatype(vector_R8P)in

Call graph

aabb_tree_assign_aabb_tree

Attributes: pure

fortran
subroutine aabb_tree_assign_aabb_tree(lhs, rhs)

Arguments

NameTypeIntentAttributesDescription
lhsclass(aabb_tree_object)inout
rhstype(aabb_tree_object)in

Call graph

next_location_code

Attributes: pure

fortran
subroutine next_location_code(location_code, direction, next_code, next_direction)

Arguments

NameTypeIntentAttributesDescription
location_codeinteger(kind=I4P)in
directioninteger(kind=I4P)in
next_codeinteger(kind=I4P)outallocatable
next_directioninteger(kind=I4P)out

Functions

distance

Attributes: pure

Returns: real(kind=R8P)

fortran
function distance(self, facet, point)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
facettype(facet_object)in
pointtype(vector_R8P)in

Call graph

distance_tree

Returns: real(kind=R8P)

fortran
function distance_tree(self, facet, point) result(distance)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
facettype(facet_object)in
pointtype(vector_R8P)in

Call graph

has_children

Attributes: pure

Returns: logical

fortran
function has_children(self, node)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
nodeinteger(kind=I4P)in

Call graph

loop_node

Returns: logical

fortran
function loop_node(self, facet, aabb_facet, b, l) result(again)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
facettype(facet_object)inoptional
aabb_facettype(facet_object)outallocatable, optional
binteger(kind=I4P)outoptional
linteger(kind=I4P)outoptional

Call graph

ray_intersections_number

Returns: integer(kind=I4P)

fortran
function ray_intersections_number(self, facet, ray_origin, ray_direction) result(intersections_number)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
facettype(facet_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in

Call graph

distance_node

Attributes: recursive

Returns: real(kind=R8P)

fortran
function distance_node(self, n, facet, point) result(distance)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
ninteger(kind=I4P)in
facettype(facet_object)in
pointtype(vector_R8P)in

Call graph

ray_intersections_number_node

Attributes: recursive

Returns: integer(kind=I4P)

fortran
function ray_intersections_number_node(self, n, facet, ray_origin, ray_direction) result(intersections_number)

Arguments

NameTypeIntentAttributesDescription
selfclass(aabb_tree_object)in
ninteger(kind=I4P)in
facettype(facet_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in

Call graph

first_child_node

Attributes: pure

Returns: integer(kind=I4P)

fortran
function first_child_node(node)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

Call graph

first_node

Attributes: pure

Returns: integer(kind=I4P)

fortran
function first_node(level)

Arguments

NameTypeIntentAttributesDescription
levelinteger(kind=I4P)in

Call graph

last_node

Attributes: pure

Returns: integer(kind=I4P)

fortran
function last_node(level)

Arguments

NameTypeIntentAttributesDescription
levelinteger(kind=I4P)in

Call graph

level

Attributes: pure

Returns: integer(kind=I4P)

fortran
function level(node)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

local_id

Attributes: pure

Returns: integer(kind=I4P)

fortran
function local_id(node)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

Call graph

location_code

Attributes: pure

Returns: integer(kind=I4P)

fortran
function location_code(node)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

Call graph

global_id

Attributes: pure

Returns: integer(kind=I4P)

fortran
function global_id(location_code) result(node)

Arguments

NameTypeIntentAttributesDescription
location_codeinteger(kind=I4P)in

Call graph

nodes_number

Attributes: pure

Returns: integer(kind=I4P)

fortran
function nodes_number(refinement_levels)

Arguments

NameTypeIntentAttributesDescription
refinement_levelsinteger(kind=I4P)in

Call graph

nodes_number_at_level

Attributes: pure

Returns: integer(kind=I4P)

fortran
function nodes_number_at_level(level) result(nodes_number)

Arguments

NameTypeIntentAttributesDescription
levelinteger(kind=I4P)in

Call graph

parent_at_level

Attributes: pure

Returns: integer(kind=I4P)

fortran
function parent_at_level(node, parent_level) result(parent)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in
parent_levelinteger(kind=I4P)in

parent_node

Attributes: pure

Returns: integer(kind=I4P)

fortran
function parent_node(node)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

Call graph

siblings

Attributes: pure

Returns: integer(kind=I4P)

fortran
function siblings(node) result(sbs)

Arguments

NameTypeIntentAttributesDescription
nodeinteger(kind=I4P)in

Call graph

str_location_code

Attributes: pure

Returns: character(len=:)

fortran
function str_location_code(code)

Arguments

NameTypeIntentAttributesDescription
codeinteger(kind=I4P)in

Call graph