Skip to content

fossil_self_intersection ​

Source: src/lib/fossil_self_intersection.f90

Dependencies

Contents ​

Variables ​

NameTypeAttributesDescription
MAX_CHILDRENinteger(kind=I4P)parameter
SELFINT_CROSSINGinteger(kind=I4P)parameter
SELFINT_TOUCHINGinteger(kind=I4P)parameter
SELFINT_COPLANARinteger(kind=I4P)parameter
SELFINT_EDGE_FOLDinteger(kind=I4P)parameter
SELFINT_SHEETSinteger(kind=I4P)parameter
COPLANAR_APARTinteger(kind=I4P)parameter
COPLANAR_TOUCHinteger(kind=I4P)parameter
COPLANAR_OVERLAPinteger(kind=I4P)parameter

Derived Types ​

intersection_pair_t ​

Components ​

NameTypeAttributesDescription
ainteger(kind=I4P)
binteger(kind=I4P)
kindinteger(kind=I4P)
ptype(vector_R8P)
qtype(vector_R8P)

Subroutines ​

find_self_intersections ​

fortran
subroutine find_self_intersections(facet, tree, pairs, status, include_touching)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
treetype(aabb_tree_object)intarget
pairstype(intersection_pair_t)outallocatable
statusinteger(kind=I4P)outoptional
include_touchinglogicalinoptional

Call graph

brute_force_pairs ​

fortran
subroutine brute_force_pairs(facet, touching, buf, nfound)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
touchinglogicalin
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout

Call graph

traverse_node_pair ​

Attributes: recursive

fortran
subroutine traverse_node_pair(facet, tree, na, nb, touching, buf, nfound)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
treetype(aabb_tree_object)in
nainteger(kind=I4P)in
nbinteger(kind=I4P)in
touchinglogicalin
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout

Call graph

enumerate_leaf_pair ​

fortran
subroutine enumerate_leaf_pair(facet, tree, na, nb, touching, buf, nfound)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
treetype(aabb_tree_object)in
nainteger(kind=I4P)in
nbinteger(kind=I4P)in
touchinglogicalin
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout

Call graph

test_pair ​

fortran
subroutine test_pair(fa, fb, touching, hit, kind, p, q)

Arguments

NameTypeIntentAttributesDescription
fatype(facet_object)in
fbtype(facet_object)in
touchinglogicalin
hitlogicalout
kindinteger(kind=I4P)out
ptype(vector_R8P)out
qtype(vector_R8P)out

Call graph

edge_fold ​

fortran
subroutine edge_fold(ta, tb, hit, p, q)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in
hitlogicalout
ptype(vector_R8P)out
qtype(vector_R8P)out

Call graph

edge_fans ​

fortran
subroutine edge_fans(facet, buf, nfound)

Arguments

NameTypeIntentAttributesDescription
facettype(facet_object)in
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout

Call graph

one_fan ​

fortran
subroutine one_fan(xyz, vid, ekey, slots, buf, nfound)

Arguments

NameTypeIntentAttributesDescription
xyzreal(kind=R8P)in
vidinteger(kind=I4P)in
ekeyinteger(kind=I4P)in
slotsinteger(kind=I4P)in
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout

Call graph

sort_columns_real ​

fortran
subroutine sort_columns_real(a, ord)

Arguments

NameTypeIntentAttributesDescription
areal(kind=R8P)in
ordinteger(kind=I4P)outallocatable

Call graph

sort_columns_int ​

fortran
subroutine sort_columns_int(a, ord)

Arguments

NameTypeIntentAttributesDescription
ainteger(kind=I4P)in
ordinteger(kind=I4P)outallocatable

Call graph

disjoint_pair ​

fortran
subroutine disjoint_pair(ta, tb, touching, hit, kind, p, q)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in
touchinglogicalin
hitlogicalout
kindinteger(kind=I4P)out
ptype(vector_R8P)out
qtype(vector_R8P)out

Call graph

shared_vertex_crossing ​

fortran
subroutine shared_vertex_crossing(ta, tb, hit, p, q, coplanar)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in
hitlogicalout
ptype(vector_R8P)out
qtype(vector_R8P)out
coplanarlogicalout

Call graph

push_pair ​

fortran
subroutine push_pair(buf, nfound, a, b, kind, p, q)

Arguments

NameTypeIntentAttributesDescription
buftype(intersection_pair_t)inoutallocatable
nfoundinteger(kind=I4P)inout
ainteger(kind=I4P)in
binteger(kind=I4P)in
kindinteger(kind=I4P)in
ptype(vector_R8P)in
qtype(vector_R8P)in

Call graph

Functions ​

bboxes_overlap ​

Attributes: pure

Returns: logical

fortran
function bboxes_overlap(fa, fb) result(yes)

Arguments

NameTypeIntentAttributesDescription
fatype(facet_object)in
fbtype(facet_object)in

Call graph

fan_before ​

Returns: logical

fortran
function fan_before(h1, h2, p0, p1, w1, w2, tie) result(yes)

Arguments

NameTypeIntentAttributesDescription
h1integer(kind=I4P)in
h2integer(kind=I4P)in
p0real(kind=R8P)in
p1real(kind=R8P)in
w1real(kind=R8P)in
w2real(kind=R8P)in
tielogicalout

Call graph

o3 ​

Returns: real(kind=R8P)

fortran
function o3(a1, a2, a3, a4) result(sg)

Arguments

NameTypeIntentAttributesDescription
a1real(kind=R8P)in
a2real(kind=R8P)in
a3real(kind=R8P)in
a4real(kind=R8P)in

Call graph

cross3 ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function cross3(x, y) result(z)

Arguments

NameTypeIntentAttributesDescription
xreal(kind=R8P)in
yreal(kind=R8P)in

Call graph

col_less_real ​

Attributes: pure

Returns: logical

fortran
function col_less_real(x, y) result(less)

Arguments

NameTypeIntentAttributesDescription
xreal(kind=R8P)in
yreal(kind=R8P)in

Call graph

col_less_int ​

Attributes: pure

Returns: logical

fortran
function col_less_int(x, y) result(less)

Arguments

NameTypeIntentAttributesDescription
xinteger(kind=I4P)in
yinteger(kind=I4P)in

Call graph

coplanar_relation ​

Returns: integer(kind=I4P)

fortran
function coplanar_relation(ta, tb) result(rel)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in

Call graph

boxes_interiors_meet ​

Attributes: pure

Returns: logical

fortran
function boxes_interiors_meet(ta, tb) result(yes)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in

Call graph

axis_coplanar ​

Attributes: pure

Returns: logical

fortran
function axis_coplanar(ta, tb) result(yes)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in

Call graph

o2 ​

Returns: integer(kind=I4P)

fortran
function o2(a, b, c) result(sg)

Arguments

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

Call graph

to_vector ​

Attributes: pure

Returns: type(vector_R8P)

fortran
function to_vector(x) result(v)

Arguments

NameTypeIntentAttributesDescription
xreal(kind=R8P)in

Call graph

edge_overlap_at_vertex ​

Returns: logical

fortran
function edge_overlap_at_vertex(ta, tb) result(yes)

Arguments

NameTypeIntentAttributesDescription
tatype(vector_R8P)in
tbtype(vector_R8P)in

Call graph

off_plane_one_side ​

Returns: logical

fortran
function off_plane_one_side(t, s) result(yes)

Arguments

NameTypeIntentAttributesDescription
ttype(vector_R8P)in
stype(vector_R8P)in

Call graph

shared_vertices_number ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function shared_vertices_number(fa, fb) result(n)

Arguments

NameTypeIntentAttributesDescription
fatype(facet_object)in
fbtype(facet_object)in

Call graph

vertex_coincident ​

Attributes: pure

Returns: logical

fortran
function vertex_coincident(va, vb) result(yes)

Arguments

NameTypeIntentAttributesDescription
vatype(vector_R8P)in
vbtype(vector_R8P)in

Call graph