fossil_tritri_exact
Source: src/lib/fossil_tritri_exact.f90
Dependencies
Contents
- pair_classify
- plane_section
- coplanar_portion
- pair_cut
- section_ip
- coplanar_cut
- sorted2
- sorted3
- crossing_point
- edge_plane_point
- edge_edge_point
- lex_less
- crossing_ip
- facet_drop
- o2p
- preferred
- arr3
- isgn
- orient_in_plane
- proj
- between
- same_point
- snap_to_vertices
- snapped_sign
- longest_edge
- norm
- sgn
- cross
- dot
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
PAIR_SEPARATED | integer(kind=I4P) | parameter | |
PAIR_CROSSING | integer(kind=I4P) | parameter | |
PAIR_TOUCHING | integer(kind=I4P) | parameter | |
PAIR_COPLANAR | integer(kind=I4P) | parameter | |
SNAP_REL | real(kind=R8P) | parameter |
Subroutines
pair_classify
subroutine pair_classify(ta, tb, kind, p, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ta | type(vector_R8P) | in | ||
tb | type(vector_R8P) | in | ||
kind | integer(kind=I4P) | out | ||
p | type(vector_R8P) | out | ||
q | type(vector_R8P) | out |
Call graph
plane_section
subroutine plane_section(t, s, other, x, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
t | type(vector_R8P) | in | ||
s | integer(kind=I4P) | in | ||
other | type(vector_R8P) | in | ||
x | type(vector_R8P) | out | ||
n | integer(kind=I4P) | out |
Call graph
coplanar_portion
subroutine coplanar_portion(u, v, t, found, p, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
t | type(vector_R8P) | in | ||
found | logical | out | ||
p | type(vector_R8P) | out | ||
q | type(vector_R8P) | out |
Call graph
pair_cut
subroutine pair_cut(ta, tb, kind, p, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ta | type(vector_R8P) | in | ||
tb | type(vector_R8P) | in | ||
kind | integer(kind=I4P) | out | ||
p | type(implicit_point_t) | out | ||
q | type(implicit_point_t) | out |
Call graph
section_ip
subroutine section_ip(t, s, other, x, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
t | type(vector_R8P) | in | ||
s | integer(kind=I4P) | in | ||
other | type(vector_R8P) | in | ||
x | type(implicit_point_t) | out | ||
n | integer(kind=I4P) | out |
Call graph
coplanar_cut
subroutine coplanar_cut(u, v, t, found, p, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
t | type(vector_R8P) | in | ||
found | logical | out | ||
p | type(implicit_point_t) | out | ||
q | type(implicit_point_t) | out |
Call graph
sorted2
Attributes: pure
subroutine sorted2(u, v, a, b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
a | type(vector_R8P) | out | ||
b | type(vector_R8P) | out |
Call graph
sorted3
Attributes: pure
subroutine sorted3(u, v, w, a, b, c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
w | type(vector_R8P) | in | ||
a | type(vector_R8P) | out | ||
b | type(vector_R8P) | out | ||
c | type(vector_R8P) | out |
Call graph
Functions
crossing_point
Returns: type(vector_R8P)
function crossing_point(u, v, other) result(x)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
other | type(vector_R8P) | in |
Call graph
edge_plane_point
Attributes: pure
Returns: type(vector_R8P)
function edge_plane_point(u, v, t) result(x)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
t | type(vector_R8P) | in |
Call graph
edge_edge_point
Attributes: pure
Returns: type(vector_R8P)
function edge_edge_point(p0, p1, q0, q1) result(x)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p0 | type(vector_R8P) | in | ||
p1 | type(vector_R8P) | in | ||
q0 | type(vector_R8P) | in | ||
q1 | type(vector_R8P) | in |
Call graph
lex_less
Attributes: pure
Returns: logical
function lex_less(a, b) result(less)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in |
Call graph
crossing_ip
Returns: type(implicit_point_t)
function crossing_ip(u, v, other) result(x)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | type(vector_R8P) | in | ||
v | type(vector_R8P) | in | ||
other | type(vector_R8P) | in |
Call graph
facet_drop
Returns: integer(kind=I4P)
function facet_drop(t) result(drop)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
t | type(vector_R8P) | in |
Call graph
o2p
Returns: integer(kind=I4P)
function o2p(a, b, c, drop) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
c | real(kind=R8P) | in | ||
drop | integer(kind=I4P) | in |
Call graph
preferred
Attributes: pure
Returns: type(implicit_point_t)
function preferred(a, b) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(implicit_point_t) | in | ||
b | type(implicit_point_t) | in |
Call graph
arr3
Attributes: pure
Returns: real(kind=R8P)
function arr3(a) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in |
Call graph
isgn
Attributes: pure
Returns: integer(kind=I4P)
function isgn(v) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
v | real(kind=R8P) | in |
Call graph
orient_in_plane
Returns: integer(kind=I4P)
function orient_in_plane(a, b, c, drop, tol) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in | ||
c | type(vector_R8P) | in | ||
drop | integer(kind=I4P) | in | ||
tol | real(kind=R8P) | in |
Call graph
proj
Attributes: pure
Returns: type(vector_R8P)
function proj(a, drop) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
drop | integer(kind=I4P) | in |
Call graph
between
Attributes: pure
Returns: logical
function between(w, a, b, axis) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | type(vector_R8P) | in | ||
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in | ||
axis | integer(kind=I4P) | in |
Call graph
same_point
Attributes: pure
Returns: logical
function same_point(a, b) result(same)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in |
Call graph
snap_to_vertices
Attributes: pure
Returns: type(vector_R8P)
function snap_to_vertices(x, ta, tb, tol) result(y)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | type(vector_R8P) | in | ||
ta | type(vector_R8P) | in | ||
tb | type(vector_R8P) | in | ||
tol | real(kind=R8P) | in |
Call graph
snapped_sign
Attributes: pure
Returns: integer(kind=I4P)
function snapped_sign(det, area2, tol) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
det | real(kind=R8P) | in | ||
area2 | real(kind=R8P) | in | ||
tol | real(kind=R8P) | in |
Call graph
longest_edge
Attributes: pure
Returns: real(kind=R8P)
function longest_edge(t) result(l)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
t | type(vector_R8P) | in |
Call graph
norm
Attributes: pure
Returns: real(kind=R8P)
function norm(a) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in |
Call graph
sgn
Attributes: pure
Returns: integer(kind=I4P)
function sgn(v) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
v | real(kind=R8P) | in |
Call graph
cross
Attributes: pure
Returns: type(vector_R8P)
function cross(a, b) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in |
Call graph
dot
Attributes: pure
Returns: real(kind=R8P)
function dot(a, b) result(d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in |
Call graph