Skip to content

fossil_alpha_wrap

Source: src/lib/fossil_alpha_wrap.f90

Dependencies

Contents

Variables

NameTypeAttributesDescription
AWRAP_STATUS_OKinteger(kind=I4P)parameter
AWRAP_STATUS_BAD_INPUTinteger(kind=I4P)parameter
AWRAP_STATUS_DEGENERATEinteger(kind=I4P)parameter
AWRAP_STATUS_NOT_CONVERGEDinteger(kind=I4P)parameter
AWRAP_LEAF_FLAG_INTERIORinteger(kind=I4P)parameter
AWRAP_LEAF_FLAG_BOUNDARYinteger(kind=I4P)parameter
AWRAP_LEAF_FLAG_EMPTYinteger(kind=I4P)parameter
AWRAP_LEAF_FLAG_OUTSIDEinteger(kind=I4P)parameter
AWRAP_LEAF_FLAG_INSIDEinteger(kind=I4P)parameter
AWRAP_MAX_DEPTHinteger(kind=I4P)parameter
AWRAP_INITIAL_CAPACITYinteger(kind=I4P)parameter
AWRAP_PADDING_FACTORreal(kind=R8P)parameter
AWRAP_DEFAULT_PROJECTION_ITERATIONSinteger(kind=I4P)parameter
AWRAP_DEFAULT_MAX_OUTER_ITERATIONSinteger(kind=I4P)parameter
AWRAP_VERTEX_DEDUP_TOLreal(kind=R8P)parameter
AWRAP_AREA_DROP_REVERTreal(kind=R8P)parameter

Derived Types

awrap_octree_node_t

Components

NameTypeAttributesDescription
bmintype(vector_R8P)
bmaxtype(vector_R8P)
first_childinteger(kind=I4P)
depthinteger(kind=I4P)
leaf_flaginteger(kind=I4P)
facet_idsinteger(kind=I4P)allocatable

awrap_octree_t

Components

NameTypeAttributesDescription
nodetype(awrap_octree_node_t)allocatable
n_nodesinteger(kind=I4P)
n_leavesinteger(kind=I4P)
n_boundary_leavesinteger(kind=I4P)
n_inside_leavesinteger(kind=I4P)
n_outside_leavesinteger(kind=I4P)
alphareal(kind=R8P)

Subroutines

awrap_build_octree

fortran
subroutine awrap_build_octree(facet, alpha, octree, status)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
alphareal(kind=R8P)in
octreetype(awrap_octree_t)out
statusinteger(kind=I4P)outoptional

Call graph

subdivide

Attributes: recursive

fortran
subroutine subdivide(octree, node_id, facet, candidate_facets)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout
node_idinteger(kind=I4P)in
facettype(facet_object)in
candidate_facetsinteger(kind=I4P)in

Call graph

allocate_children

fortran
subroutine allocate_children(octree, parent_id)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout
parent_idinteger(kind=I4P)in

Call graph

grow_node_array

fortran
subroutine grow_node_array(octree)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout

Call graph

filter_overlapping

Attributes: pure

fortran
subroutine filter_overlapping(node_bmin, node_bmax, facet, candidate, kept, n_kept)

Arguments

NameTypeIntentAttributesDescription
node_bmintype(vector_R8P)in
node_bmaxtype(vector_R8P)in
facettype(facet_object)in
candidateinteger(kind=I4P)in
keptinteger(kind=I4P)outallocatable
n_keptinteger(kind=I4P)out

Call graph

compute_facet_bbox

Attributes: pure

fortran
subroutine compute_facet_bbox(facet, bmin, bmax)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
bmintype(vector_R8P)out
bmaxtype(vector_R8P)out

Call graph

recount

fortran
subroutine recount(octree)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout

Call graph

awrap_classify_leaves

fortran
subroutine awrap_classify_leaves(octree, status)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout
statusinteger(kind=I4P)outoptional

Call graph

face_probe_point

Attributes: pure

fortran
subroutine face_probe_point(node, axis, side, half_alpha, probe)

Arguments

NameTypeIntentAttributesDescription
nodetype(awrap_octree_node_t)in
axisinteger(kind=I4P)in
sideinteger(kind=I4P)in
half_alphareal(kind=R8P)in
probetype(vector_R8P)out

Call graph

grow_queue

fortran
subroutine grow_queue(queue, cap)

Arguments

NameTypeIntentAttributesDescription
queueinteger(kind=I4P)inoutallocatable
capinteger(kind=I4P)inout

Call graph

count_classifications

fortran
subroutine count_classifications(octree)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)inout

Call graph

awrap_extract_surface

fortran
subroutine awrap_extract_surface(octree, wrapped_facets, status)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)in
wrapped_facetstype(facet_object)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

face_corners

Attributes: pure

fortran
subroutine face_corners(node, axis, side, c0, c1, c2, c3)

Arguments

NameTypeIntentAttributesDescription
nodetype(awrap_octree_node_t)in
axisinteger(kind=I4P)in
sideinteger(kind=I4P)in
c0type(vector_R8P)out
c1type(vector_R8P)out
c2type(vector_R8P)out
c3type(vector_R8P)out

Call graph

emit_quad

fortran
subroutine emit_quad(tmp, n_facets, cap, c0, c1, c2, c3, side, axis)

Arguments

NameTypeIntentAttributesDescription
tmptype(facet_object)inoutallocatable
n_facetsinteger(kind=I4P)inout
capinteger(kind=I4P)inout
c0type(vector_R8P)in
c1type(vector_R8P)in
c2type(vector_R8P)in
c3type(vector_R8P)in
sideinteger(kind=I4P)in
axisinteger(kind=I4P)in

Call graph

grow_facet_buffer

fortran
subroutine grow_facet_buffer(tmp, cap)

Arguments

NameTypeIntentAttributesDescription
tmptype(facet_object)inoutallocatable
capinteger(kind=I4P)inout

Call graph

awrap_project_vertices

fortran
subroutine awrap_project_vertices(wrap_facets, input_facet, input_tree, offset, iterations, status)

Arguments

NameTypeIntentAttributesDescription
wrap_facetstype(facet_object)inout
input_facettype(facet_object)in
input_treetype(aabb_tree_object)in
offsetreal(kind=R8P)in
iterationsinteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

dedup_wrap_vertices

fortran
subroutine dedup_wrap_vertices(wrap_facets, vertex_uid, unique_pos, dedup_tol_out)

Arguments

NameTypeIntentAttributesDescription
wrap_facetstype(facet_object)in
vertex_uidinteger(kind=I4P)outallocatable
unique_postype(vector_R8P)outallocatable
dedup_tol_outreal(kind=R8P)out

Call graph

lex_sort

Attributes: pure

fortran
subroutine lex_sort(keys, order)

Arguments

NameTypeIntentAttributesDescription
keysreal(kind=R8P)in
orderinteger(kind=I4P)inout

Call graph

awrap_run

fortran
subroutine awrap_run(input_facet, input_tree, alpha, offset, max_iterations, wrapped_facets, status)

Arguments

NameTypeIntentAttributesDescription
input_facettype(facet_object)in
input_treetype(aabb_tree_object)in
alphareal(kind=R8P)in
offsetreal(kind=R8P)in
max_iterationsinteger(kind=I4P)inoptional
wrapped_facetstype(facet_object)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

collect_high_error_leaves

fortran
subroutine collect_high_error_leaves(octree, wrap_facets, input_facet, input_tree, offset, leaves_to_refine, n_to_refine, max_err)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)in
wrap_facetstype(facet_object)in
input_facettype(facet_object)in
input_treetype(aabb_tree_object)in
offsetreal(kind=R8P)in
leaves_to_refineinteger(kind=I4P)outallocatable
n_to_refineinteger(kind=I4P)out
max_errreal(kind=R8P)out

Call graph

Functions

find_leaf_at_point

Attributes: pure

Returns: integer(kind=I4P)

fortran
function find_leaf_at_point(octree, point) result(leaf_id)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)in
pointtype(vector_R8P)in

Call graph

point_in_node

Attributes: pure

Returns: logical

fortran
function point_in_node(node, point) result(yes)

Arguments

NameTypeIntentAttributesDescription
nodetype(awrap_octree_node_t)in
pointtype(vector_R8P)in

Call graph

leaf_touches_root_min

Attributes: pure

Returns: logical

fortran
function leaf_touches_root_min(octree, leaf_id) result(yes)

Arguments

NameTypeIntentAttributesDescription
octreetype(awrap_octree_t)in
leaf_idinteger(kind=I4P)in

Call graph

lex_greater

Attributes: pure

Returns: logical

fortran
function lex_greater(a, b) result(yes)

Arguments

NameTypeIntentAttributesDescription
areal(kind=R8P)in
breal(kind=R8P)in

Call graph

triangle_area

Attributes: pure

Returns: real(kind=R8P)

fortran
function triangle_area(v1, v2, v3) result(a)

Arguments

NameTypeIntentAttributesDescription
v1type(vector_R8P)in
v2type(vector_R8P)in
v3type(vector_R8P)in

Call graph