Appearance
fossil_aabb_tree_object
Source: src/lib/fossil_aabb_tree_object.f90
Dependencies
Contents
- ofsm
- aabb_tree_object
- compute_vertices_nearby
- destroy
- distribute_facets
- distribute_facets_tree
- initialize
- save_geometry_tecplot_ascii
- translate
- aabb_tree_assign_aabb_tree
- next_location_code
- distance
- distance_tree
- has_children
- loop_node
- ray_intersections_number
- distance_node
- ray_intersections_number_node
- first_child_node
- first_node
- last_node
- level
- local_id
- location_code
- global_id
- nodes_number
- nodes_number_at_level
- parent_at_level
- parent_node
- siblings
- str_location_code
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
TREE_RATIO | integer(kind=I4P) | parameter | |
octree_fsm | type(ofsm) |
Derived Types
ofsm
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
octant | integer(kind=I4P) | ||
direction | integer(kind=I4P) |
aabb_tree_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
refinement_levels | integer(kind=I4P) | +----+----+ | |
nodes_number | integer(kind=I4P) | ||
node | type(aabb_node_object) | allocatable | |
is_initialized | logical |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
compute_vertices_nearby | pass(self) | |
destroy | pass(self) | |
distance | pass(self) | |
distance_tree | pass(self) | |
distribute_facets | pass(self) | |
distribute_facets_tree | pass(self) | |
has_children | pass(self) | |
initialize | pass(self) | |
loop_node | pass(self) | |
ray_intersections_number | pass(self) | |
save_geometry_tecplot_ascii | pass(self) | |
translate | pass(self) | |
assignment(=) | ||
aabb_tree_assign_aabb_tree | pass(lhs) | |
distance_node | pass(self) | |
ray_intersections_number_node | pass(self) |
Subroutines
compute_vertices_nearby
Attributes: pure
fortran
subroutine compute_vertices_nearby(self, facet, tolerance_to_be_identical, tolerance_to_be_nearby)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
facet | type(facet_object) | inout | ||
tolerance_to_be_identical | real(kind=R8P) | in | ||
tolerance_to_be_nearby | real(kind=R8P) | in |
Call graph
destroy
Attributes: elemental
fortran
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | inout |
Call graph
distribute_facets
Attributes: pure
fortran
subroutine distribute_facets(self, facet, is_exclusive, do_update_extents)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | inout | ||
facet | type(facet_object) | in | ||
is_exclusive | logical | in | optional | |
do_update_extents | logical | in | optional |
Call graph
distribute_facets_tree
Attributes: pure
fortran
subroutine distribute_facets_tree(self, facet)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | inout | ||
facet | type(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | inout | ||
refinement_levels | integer(kind=I4P) | in | optional | |
facet | type(facet_object) | in | optional | |
largest_edge_len | real(kind=R8P) | in | optional | |
bmin | type(vector_R8P) | in | optional | |
bmax | type(vector_R8P) | in | optional | |
do_facets_distribute | logical | in | optional | |
is_exclusive | logical | in | optional | |
do_update_extents | logical | in | optional |
Call graph
save_geometry_tecplot_ascii
fortran
subroutine save_geometry_tecplot_ascii(self, file_name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
file_name | character(len=*) | in |
Call graph
translate
Attributes: elemental
fortran
subroutine translate(self, delta)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | inout | ||
delta | type(vector_R8P) | in |
Call graph
aabb_tree_assign_aabb_tree
Attributes: pure
fortran
subroutine aabb_tree_assign_aabb_tree(lhs, rhs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lhs | class(aabb_tree_object) | inout | ||
rhs | type(aabb_tree_object) | in |
Call graph
next_location_code
Attributes: pure
fortran
subroutine next_location_code(location_code, direction, next_code, next_direction)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
location_code | integer(kind=I4P) | in | ||
direction | integer(kind=I4P) | in | ||
next_code | integer(kind=I4P) | out | allocatable | |
next_direction | integer(kind=I4P) | out |
Functions
distance
Attributes: pure
Returns: real(kind=R8P)
fortran
function distance(self, facet, point)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
facet | type(facet_object) | in | ||
point | type(vector_R8P) | in |
Call graph
distance_tree
Returns: real(kind=R8P)
fortran
function distance_tree(self, facet, point) result(distance)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
facet | type(facet_object) | in | ||
point | type(vector_R8P) | in |
Call graph
has_children
Attributes: pure
Returns: logical
fortran
function has_children(self, node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
node | integer(kind=I4P) | in |
Call graph
loop_node
Returns: logical
fortran
function loop_node(self, facet, aabb_facet, b, l) result(again)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
facet | type(facet_object) | in | optional | |
aabb_facet | type(facet_object) | out | allocatable, optional | |
b | integer(kind=I4P) | out | optional | |
l | integer(kind=I4P) | out | optional |
Call graph
ray_intersections_number
Returns: integer(kind=I4P)
fortran
function ray_intersections_number(self, facet, ray_origin, ray_direction) result(intersections_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
facet | type(facet_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in |
Call graph
distance_node
Attributes: recursive
Returns: real(kind=R8P)
fortran
function distance_node(self, n, facet, point) result(distance)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
n | integer(kind=I4P) | in | ||
facet | type(facet_object) | in | ||
point | type(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_tree_object) | in | ||
n | integer(kind=I4P) | in | ||
facet | type(facet_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in |
Call graph
first_child_node
Attributes: pure
Returns: integer(kind=I4P)
fortran
function first_child_node(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
Call graph
first_node
Attributes: pure
Returns: integer(kind=I4P)
fortran
function first_node(level)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
level | integer(kind=I4P) | in |
Call graph
last_node
Attributes: pure
Returns: integer(kind=I4P)
fortran
function last_node(level)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
level | integer(kind=I4P) | in |
Call graph
level
Attributes: pure
Returns: integer(kind=I4P)
fortran
function level(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
local_id
Attributes: pure
Returns: integer(kind=I4P)
fortran
function local_id(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
Call graph
location_code
Attributes: pure
Returns: integer(kind=I4P)
fortran
function location_code(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
Call graph
global_id
Attributes: pure
Returns: integer(kind=I4P)
fortran
function global_id(location_code) result(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
location_code | integer(kind=I4P) | in |
Call graph
nodes_number
Attributes: pure
Returns: integer(kind=I4P)
fortran
function nodes_number(refinement_levels)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
refinement_levels | integer(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
level | integer(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in | ||
parent_level | integer(kind=I4P) | in |
parent_node
Attributes: pure
Returns: integer(kind=I4P)
fortran
function parent_node(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
Call graph
siblings
Attributes: pure
Returns: integer(kind=I4P)
fortran
function siblings(node) result(sbs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | integer(kind=I4P) | in |
Call graph
str_location_code
Attributes: pure
Returns: character(len=:)
fortran
function str_location_code(code)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
code | integer(kind=I4P) | in |
Call graph