Skip to content

fossil_facet_object

Source: src/lib/fossil_facet_object.f90

Dependencies

Contents

Variables

NameTypeAttributesDescription
EDGE_12integer(kind=I4P)parameter
EDGE_23integer(kind=I4P)parameter
EDGE_31integer(kind=I4P)parameter

Derived Types

facet_object

Components

NameTypeAttributesDescription
normaltype(vector_R8P)
vertextype(vector_R8P)
vertex_idinteger(kind=I4P)
centroidtype(vector_R8P)
E12type(vector_R8P)
E13type(vector_R8P)
areal(kind=R8P)
breal(kind=R8P)
creal(kind=R8P)
detreal(kind=R8P)
dreal(kind=R8P)
bbtype(vector_R8P)
idinteger(kind=I4P)
fcon_edgeinteger(kind=I4P)
vertex_nearbytype(list_id_object)
edge_pnormaltype(vector_R8P)
vertex_pnormaltype(vector_R8P)

Type-Bound Procedures

NameAttributesDescription
centroid_partpass(self)
check_normalpass(self)
compute_distancepass(self)
compute_distance_with_regionpass(self)
pseudo_normal_for_regionpass(self)
compute_metrixpass(self)
compute_normalpass(self)
compute_vertices_nearbypass(self)
destroypass(self)
destroy_connectivitypass(self)
do_ray_intersectpass(self)
intersect_raypass(self)
intersect_facetpass(self)
initializepass(self)
largest_edge_lenpass(self)
load_from_file_asciipass(self)
load_from_file_binarypass(self)
make_normal_consistentpass(self)
mirror
reverse_normalpass(self)
resizepass(self)
rotate
save_into_file_asciipass(self)
save_into_file_binarypass(self)
smallest_edge_lenpass(self)
solid_anglepass(self)
tetrahedron_volumepass(self)
translatepass(self)
areapass(self)
vertex_anglepass(self)
vertex_global_idpass(self)
set_vertex_idspass(self)
edge_connection_in_other_refpass(self)
flip_edgepass(self)
mirror_by_normalpass(self)
mirror_by_matrixpass(self)
rotate_by_axis_anglepass(self)
rotate_by_matrixpass(self)

Subroutines

compute_distance

Attributes: pure

fortran
subroutine compute_distance(self, point, distance)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
pointtype(vector_R8P)in
distancereal(kind=R8P)out

Call graph

compute_distance_with_region

Attributes: pure

fortran
subroutine compute_distance_with_region(self, point, distance, closest, region)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
pointtype(vector_R8P)in
distancereal(kind=R8P)out
closesttype(vector_R8P)out
regioninteger(kind=I4P)out

Call graph

compute_metrix

Attributes: elemental

fortran
subroutine compute_metrix(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

compute_normal

Attributes: elemental

fortran
subroutine compute_normal(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

compute_vertices_nearby

Attributes: pure

fortran
subroutine compute_vertices_nearby(self, other, tolerance_to_be_nearby)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
othertype(facet_object)inout
tolerance_to_be_nearbyreal(kind=R8P)in

Call graph

destroy

Attributes: elemental

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

destroy_connectivity

Attributes: elemental

fortran
subroutine destroy_connectivity(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

intersect_ray

Attributes: pure

fortran
subroutine intersect_ray(self, ray_origin, ray_direction, t, u, v, hit)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in
treal(kind=R8P)out
ureal(kind=R8P)out
vreal(kind=R8P)out
hitlogicalout

Call graph

intersect_facet

Attributes: pure

fortran
subroutine intersect_facet(self, other, p, q, intersects)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
othertype(facet_object)in
ptype(vector_R8P)out
qtype(vector_R8P)out
intersectslogicalout

Call graph

clip_segment_to_triangle

Attributes: pure

fortran
subroutine clip_segment_to_triangle(face, p, q, intersects)

Arguments

NameTypeIntentAttributesDescription
facetype(facet_object)in
ptype(vector_R8P)inout
qtype(vector_R8P)inout
intersectslogicalout

Call graph

project_point_local

Attributes: pure

fortran
subroutine project_point_local(face, e12_hat, vaxis, p3d, u, v)

Arguments

NameTypeIntentAttributesDescription
facetype(facet_object)in
e12_hattype(vector_R8P)in
vaxistype(vector_R8P)in
p3dtype(vector_R8P)in
ureal(kind=R8P)out
vreal(kind=R8P)out

Call graph

clip_against_edge

Attributes: pure

fortran
subroutine clip_against_edge(t_lo, t_hi, ax, ay, bx, by, cx, cy, pu, pv, qu, qv, ok)

Arguments

NameTypeIntentAttributesDescription
t_loreal(kind=R8P)inout
t_hireal(kind=R8P)inout
axreal(kind=R8P)in
ayreal(kind=R8P)in
bxreal(kind=R8P)in
byreal(kind=R8P)in
cxreal(kind=R8P)in
cyreal(kind=R8P)in
pureal(kind=R8P)in
pvreal(kind=R8P)in
qureal(kind=R8P)in
qvreal(kind=R8P)in
oklogicalout

Call graph

interval_from_signs

Attributes: pure

fortran
subroutine interval_from_signs(pv, dist, t)

Arguments

NameTypeIntentAttributesDescription
pvreal(kind=R8P)in
distreal(kind=R8P)in
treal(kind=R8P)out

Call graph

lift_endpoint_to_3d

Attributes: pure

fortran
subroutine lift_endpoint_to_3d(self, other, dist, pv_self, pv_oth, target_t, axis, point)

Arguments

NameTypeIntentAttributesDescription
selftype(facet_object)in
othertype(facet_object)in
distreal(kind=R8P)in
pv_selfreal(kind=R8P)in
pv_othreal(kind=R8P)in
target_treal(kind=R8P)in
axisinteger(kind=I4P)in
pointtype(vector_R8P)out

Call graph

initialize

Attributes: elemental

fortran
subroutine initialize(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

load_from_file_ascii

fortran
subroutine load_from_file_ascii(self, file_unit)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
file_unitinteger(kind=I4P)in

Call graph

load_from_file_binary

fortran
subroutine load_from_file_binary(self, file_unit)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
file_unitinteger(kind=I4P)in

Call graph

make_normal_consistent

Attributes: pure

fortran
subroutine make_normal_consistent(self, edge, other)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
edgeinteger(kind=I4P)in
othertype(facet_object)inout

Call graph

resize

Attributes: elemental

fortran
subroutine resize(self, factor, center)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
factortype(vector_R8P)in
centertype(vector_R8P)in

Call graph

reverse_normal

Attributes: elemental

fortran
subroutine reverse_normal(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout

Call graph

save_into_file_ascii

fortran
subroutine save_into_file_ascii(self, file_unit)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
file_unitinteger(kind=I4P)in

Call graph

save_into_file_binary

fortran
subroutine save_into_file_binary(self, file_unit)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
file_unitinteger(kind=I4P)in

Call graph

translate

Attributes: elemental

fortran
subroutine translate(self, delta, recompute_metrix)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
deltatype(vector_R8P)in
recompute_metrixlogicalinoptional

Call graph

set_vertex_ids

Attributes: pure

fortran
subroutine set_vertex_ids(self, vid1, vid2, vid3)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
vid1integer(kind=I4P)in
vid2integer(kind=I4P)in
vid3integer(kind=I4P)in

Call graph

flip_edge

Attributes: pure

fortran
subroutine flip_edge(self, edge)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
edgeinteger(kind=I4P)in

Call graph

mirror_by_normal

Attributes: pure

fortran
subroutine mirror_by_normal(self, normal, recompute_metrix)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
normaltype(vector_R8P)in
recompute_metrixlogicalinoptional

Call graph

mirror_by_matrix

Attributes: pure

fortran
subroutine mirror_by_matrix(self, matrix, recompute_metrix)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
matrixreal(kind=R8P)in
recompute_metrixlogicalinoptional

Call graph

rotate_by_axis_angle

Attributes: pure

fortran
subroutine rotate_by_axis_angle(self, axis, angle, center, recompute_metrix)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
axistype(vector_R8P)in
anglereal(kind=R8P)in
centertype(vector_R8P)inoptional
recompute_metrixlogicalinoptional

Call graph

rotate_by_matrix

Attributes: pure

fortran
subroutine rotate_by_matrix(self, matrix, center, recompute_metrix)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)inout
matrixreal(kind=R8P)in
centertype(vector_R8P)inoptional
recompute_metrixlogicalinoptional

Call graph

edge_connection_in_other_ref

Attributes: pure

fortran
subroutine edge_connection_in_other_ref(self, other, edge, edge_vector)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
othertype(facet_object)in
edgeinteger(kind=I4P)out
edge_vectortype(vector_R8P)out

Call graph

Functions

centroid_part

Attributes: pure

Returns: type(vector_R8P)

fortran
function centroid_part(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in

Call graph

check_normal

Attributes: elemental

Returns: logical

fortran
function check_normal(self) result(is_consistent)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in

Call graph

pseudo_normal_for_region

Attributes: pure

Returns: type(vector_R8P)

fortran
function pseudo_normal_for_region(self, region) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
regioninteger(kind=I4P)in

Call graph

do_ray_intersect

Attributes: pure

Returns: logical

fortran
function do_ray_intersect(self, ray_origin, ray_direction) result(intersect)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in

Call graph

largest_edge_len

Attributes: pure

Returns: real(kind=R8P)

fortran
function largest_edge_len(self) result(largest)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in

Call graph

smallest_edge_len

Attributes: pure

Returns: real(kind=R8P)

fortran
function smallest_edge_len(self) result(smallest)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in

Call graph

solid_angle

Attributes: pure

Returns: real(kind=R8P)

fortran
function solid_angle(self, point)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
pointtype(vector_R8P)in

Call graph

tetrahedron_volume

Attributes: pure

Returns: real(kind=R8P)

fortran
function tetrahedron_volume(self, apex) result(volume)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
apextype(vector_R8P)in

Call graph

area

Attributes: pure

Returns: real(kind=R8P)

fortran
function area(self) result(a)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in

Call graph

vertex_angle

Attributes: pure

Returns: real(kind=R8P)

fortran
function vertex_angle(self, vertex_id)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
vertex_idinteger(kind=I4P)in

Call graph

vertex_global_id

Attributes: pure

Returns: integer(kind=I4P)

fortran
function vertex_global_id(self, vertex_id)

Arguments

NameTypeIntentAttributesDescription
selfclass(facet_object)in
vertex_idinteger(kind=I4P)in

Call graph