Appearance
fossil_arrangement
Source: src/lib/fossil_arrangement.f90
Dependencies
Contents
- cut_list_t
- arrangement_t
- arrangement_initialize
- arrangement_collect_intersections
- collect_brute_force
- traverse_cross_pair
- enumerate_leaf_cross_pair
- append_segment
- project_to_plane
- lift_from_plane
- arrangement_retriangulate
- build_subfacet_from_uv
- push
- bboxes_overlap
- find_or_append_2d
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
MAX_CHILDREN | integer(kind=I4P) | parameter | |
ARR_STATUS_OK | integer(kind=I4P) | parameter | |
ARR_STATUS_CDT_FAILED | integer(kind=I4P) | parameter |
Derived Types
cut_list_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
n_segments | integer(kind=I4P) | ||
point | type(vector_R8P) | allocatable |
arrangement_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
n_a | integer(kind=I4P) | ||
n_b | integer(kind=I4P) | ||
facet | type(facet_object) | allocatable | |
owner | integer(kind=I4P) | allocatable | |
cut | type(cut_list_t) | allocatable | |
tree_a | type(aabb_tree_object) | pointer | |
tree_b | type(aabb_tree_object) | pointer |
Subroutines
arrangement_initialize
fortran
subroutine arrangement_initialize(arr, facet_a, tree_a, facet_b, tree_b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | out | ||
facet_a | type(facet_object) | in | target | |
tree_a | type(aabb_tree_object) | in | target | |
facet_b | type(facet_object) | in | target | |
tree_b | type(aabb_tree_object) | in | target |
Call graph
arrangement_collect_intersections
fortran
subroutine arrangement_collect_intersections(arr)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | inout |
Call graph
collect_brute_force
fortran
subroutine collect_brute_force(arr)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | inout |
Call graph
traverse_cross_pair
Attributes: recursive
fortran
subroutine traverse_cross_pair(arr, na, nb)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | inout | ||
na | integer(kind=I4P) | in | ||
nb | integer(kind=I4P) | in |
Call graph
enumerate_leaf_cross_pair
fortran
subroutine enumerate_leaf_cross_pair(arr, na, nb)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | inout | ||
na | integer(kind=I4P) | in | ||
nb | integer(kind=I4P) | in |
Call graph
append_segment
fortran
subroutine append_segment(cut, p, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
cut | type(cut_list_t) | inout | ||
p | type(vector_R8P) | in | ||
q | type(vector_R8P) | in |
Call graph
project_to_plane
Attributes: pure
fortran
subroutine project_to_plane(facet, p3d, u, v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
facet | type(facet_object) | in | ||
p3d | type(vector_R8P) | in | ||
u | real(kind=R8P) | out | ||
v | real(kind=R8P) | out |
Call graph
lift_from_plane
Attributes: pure
fortran
subroutine lift_from_plane(facet, u, v, p3d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
facet | type(facet_object) | in | ||
u | real(kind=R8P) | in | ||
v | real(kind=R8P) | in | ||
p3d | type(vector_R8P) | out |
Call graph
arrangement_retriangulate
fortran
subroutine arrangement_retriangulate(arr, sub_facet, sub_owner, sub_source, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | in | ||
sub_facet | type(facet_object) | out | allocatable | |
sub_owner | integer(kind=I4P) | out | allocatable | |
sub_source | integer(kind=I4P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
build_subfacet_from_uv
fortran
subroutine build_subfacet_from_uv(arr, gi, pts2d, sub_v, buf_facet, buf_owner, buf_source, used, cap)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
arr | type(arrangement_t) | in | ||
gi | integer(kind=I4P) | in | ||
pts2d | real(kind=R8P) | in | ||
sub_v | integer(kind=I4P) | in | ||
buf_facet | type(facet_object) | inout | allocatable | |
buf_owner | integer(kind=I4P) | inout | allocatable | |
buf_source | integer(kind=I4P) | inout | allocatable | |
used | integer(kind=I4P) | inout | ||
cap | integer(kind=I4P) | inout |
Call graph
push
fortran
subroutine push(buf_facet, buf_owner, buf_source, used, cap, f, owner, source)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
buf_facet | type(facet_object) | inout | allocatable | |
buf_owner | integer(kind=I4P) | inout | allocatable | |
buf_source | integer(kind=I4P) | inout | allocatable | |
used | integer(kind=I4P) | inout | ||
cap | integer(kind=I4P) | inout | ||
f | type(facet_object) | in | ||
owner | integer(kind=I4P) | in | ||
source | integer(kind=I4P) | in |
Call graph
Functions
bboxes_overlap
Attributes: pure
Returns: logical
fortran
function bboxes_overlap(fa, fb) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fa | type(facet_object) | in | ||
fb | type(facet_object) | in |
Call graph
find_or_append_2d
Returns: integer(kind=I4P)
fortran
function find_or_append_2d(pts2d, n_pts, x, y) result(idx)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pts2d | real(kind=R8P) | inout | ||
n_pts | integer(kind=I4P) | inout | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in |
Call graph