Appearance
fossil_aabb_node_object
Source: src/lib/fossil_aabb_node_object.f90
Dependencies
Contents
- aabb_node_object
- add_facets
- compute_octants
- compute_vertices_nearby
- destroy
- get_aabb_facets
- initialize
- save_geometry_tecplot_ascii
- save_facets_into_file_stl
- translate
- union
- update_extents
- aabb_node_assign_aabb_node
- bmin
- bmax
- closest_point
- distance
- distance_from_facets
- do_ray_intersect
- facet_id
- has_facets
- is_allocated
- ray_intersections_number
Derived Types
aabb_node_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
aabb | type(aabb_object) | allocatable |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
add_facets | pass(self) | |
bmin | pass(self) | |
bmax | pass(self) | |
closest_point | pass(self) | |
compute_octants | pass(self) | |
compute_vertices_nearby | pass(self) | |
destroy | pass(self) | |
distance | pass(self) | |
distance_from_facets | pass(self) | |
do_ray_intersect | pass(self) | |
facet_id | pass(self) | |
get_aabb_facets | pass(self) | |
has_facets | pass(self) | |
initialize | pass(self) | |
is_allocated | pass(self) | |
ray_intersections_number | pass(self) | |
save_geometry_tecplot_ascii | pass(self) | |
save_facets_into_file_stl | pass(self) | |
translate | pass(self) | |
union | pass(self) | |
update_extents | pass(self) | |
assignment(=) | ||
aabb_node_assign_aabb_node | pass(lhs) |
Subroutines
add_facets
Attributes: pure
fortran
subroutine add_facets(self, facet_id, facet, is_exclusive)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | inout | ||
facet_id | type(list_id_object) | inout | ||
facet | type(facet_object) | in | ||
is_exclusive | logical | in | optional |
Call graph
compute_octants
Attributes: pure
fortran
subroutine compute_octants(self, octant)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
octant | type(aabb_object) | out |
Call graph
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_node_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_node_object) | inout |
Call graph
get_aabb_facets
Attributes: pure
fortran
subroutine get_aabb_facets(self, facet, aabb_facet)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
facet | type(facet_object) | in | ||
aabb_facet | type(facet_object) | out | allocatable |
Call graph
initialize
Attributes: pure
fortran
subroutine initialize(self, facet, bmin, bmax)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | inout | ||
facet | type(facet_object) | in | optional | |
bmin | type(vector_R8P) | in | optional | |
bmax | type(vector_R8P) | in | optional |
Call graph
save_geometry_tecplot_ascii
fortran
subroutine save_geometry_tecplot_ascii(self, file_unit, aabb_name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
file_unit | integer(kind=I4P) | in | ||
aabb_name | character(len=*) | in | optional |
Call graph
save_facets_into_file_stl
fortran
subroutine save_facets_into_file_stl(self, facet, file_name, is_ascii)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
facet | type(facet_object) | in | ||
file_name | character(len=*) | in | ||
is_ascii | logical | in |
Call graph
translate
Attributes: elemental
fortran
subroutine translate(self, delta)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | inout | ||
delta | type(vector_R8P) | in |
Call graph
union
Attributes: pure
fortran
subroutine union(self, node, id)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | inout | ||
node | type(aabb_node_object) | in | ||
id | integer(kind=I4P) | in |
Call graph
update_extents
Attributes: pure
fortran
subroutine update_extents(self, facet)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | inout | ||
facet | type(facet_object) | in |
Call graph
aabb_node_assign_aabb_node
Attributes: pure
fortran
subroutine aabb_node_assign_aabb_node(lhs, rhs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lhs | class(aabb_node_object) | inout | ||
rhs | type(aabb_node_object) | in |
Call graph
Functions
bmin
Attributes: pure
Returns: type(vector_R8P)
fortran
function bmin(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in |
bmax
Attributes: pure
Returns: type(vector_R8P)
fortran
function bmax(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in |
closest_point
Attributes: pure
Returns: type(vector_R8P)
fortran
function closest_point(self, point) result(closest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
point | type(vector_R8P) | in |
Call graph
distance
Attributes: pure
Returns: real(kind=R8P)
fortran
function distance(self, point)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
point | type(vector_R8P) | in |
Call graph
distance_from_facets
Attributes: pure
Returns: real(kind=R8P)
fortran
function distance_from_facets(self, facet, point) result(distance)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
facet | type(facet_object) | in | ||
point | type(vector_R8P) | in |
Call graph
do_ray_intersect
Attributes: pure
Returns: logical
fortran
function do_ray_intersect(self, ray_origin, ray_direction) result(do_intersect)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in |
Call graph
facet_id
Attributes: pure
Returns: type(list_id_object)
fortran
function facet_id(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in |
Call graph
has_facets
Attributes: pure
Returns: logical
fortran
function has_facets(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in |
Call graph
is_allocated
Attributes: pure
Returns: logical
fortran
function is_allocated(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(aabb_node_object) | in |
Call graph
ray_intersections_number
Attributes: pure
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_node_object) | in | ||
facet | type(facet_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in |
Call graph