Appearance
fossil_facet_object
Source: src/lib/fossil_facet_object.f90
Dependencies
Contents
- facet_object
- compute_distance
- compute_distance_with_region
- compute_metrix
- compute_normal
- compute_vertices_nearby
- destroy
- destroy_connectivity
- intersect_ray
- intersect_facet
- clip_segment_to_triangle
- project_point_local
- clip_against_edge
- interval_from_signs
- lift_endpoint_to_3d
- initialize
- load_from_file_ascii
- load_from_file_binary
- make_normal_consistent
- resize
- reverse_normal
- save_into_file_ascii
- save_into_file_binary
- translate
- set_vertex_ids
- flip_edge
- mirror_by_normal
- mirror_by_matrix
- rotate_by_axis_angle
- rotate_by_matrix
- edge_connection_in_other_ref
- centroid_part
- check_normal
- pseudo_normal_for_region
- do_ray_intersect
- largest_edge_len
- smallest_edge_len
- solid_angle
- tetrahedron_volume
- area
- vertex_angle
- vertex_global_id
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
EDGE_12 | integer(kind=I4P) | parameter | |
EDGE_23 | integer(kind=I4P) | parameter | |
EDGE_31 | integer(kind=I4P) | parameter |
Derived Types
facet_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
normal | type(vector_R8P) | ||
vertex | type(vector_R8P) | ||
vertex_id | integer(kind=I4P) | ||
centroid | type(vector_R8P) | ||
E12 | type(vector_R8P) | ||
E13 | type(vector_R8P) | ||
a | real(kind=R8P) | ||
b | real(kind=R8P) | ||
c | real(kind=R8P) | ||
det | real(kind=R8P) | ||
d | real(kind=R8P) | ||
bb | type(vector_R8P) | ||
id | integer(kind=I4P) | ||
fcon_edge | integer(kind=I4P) | ||
vertex_nearby | type(list_id_object) | ||
edge_pnormal | type(vector_R8P) | ||
vertex_pnormal | type(vector_R8P) |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
centroid_part | pass(self) | |
check_normal | pass(self) | |
compute_distance | pass(self) | |
compute_distance_with_region | pass(self) | |
pseudo_normal_for_region | pass(self) | |
compute_metrix | pass(self) | |
compute_normal | pass(self) | |
compute_vertices_nearby | pass(self) | |
destroy | pass(self) | |
destroy_connectivity | pass(self) | |
do_ray_intersect | pass(self) | |
intersect_ray | pass(self) | |
intersect_facet | pass(self) | |
initialize | pass(self) | |
largest_edge_len | pass(self) | |
load_from_file_ascii | pass(self) | |
load_from_file_binary | pass(self) | |
make_normal_consistent | pass(self) | |
mirror | ||
reverse_normal | pass(self) | |
resize | pass(self) | |
rotate | ||
save_into_file_ascii | pass(self) | |
save_into_file_binary | pass(self) | |
smallest_edge_len | pass(self) | |
solid_angle | pass(self) | |
tetrahedron_volume | pass(self) | |
translate | pass(self) | |
area | pass(self) | |
vertex_angle | pass(self) | |
vertex_global_id | pass(self) | |
set_vertex_ids | pass(self) | |
edge_connection_in_other_ref | pass(self) | |
flip_edge | pass(self) | |
mirror_by_normal | pass(self) | |
mirror_by_matrix | pass(self) | |
rotate_by_axis_angle | pass(self) | |
rotate_by_matrix | pass(self) |
Subroutines
compute_distance
Attributes: pure
fortran
subroutine compute_distance(self, point, distance)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
point | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out |
Call graph
compute_distance_with_region
Attributes: pure
fortran
subroutine compute_distance_with_region(self, point, distance, closest, region)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
point | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out | ||
closest | type(vector_R8P) | out | ||
region | integer(kind=I4P) | out |
Call graph
compute_metrix
Attributes: elemental
fortran
subroutine compute_metrix(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
compute_normal
Attributes: elemental
fortran
subroutine compute_normal(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
compute_vertices_nearby
Attributes: pure
fortran
subroutine compute_vertices_nearby(self, other, tolerance_to_be_nearby)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
other | type(facet_object) | inout | ||
tolerance_to_be_nearby | real(kind=R8P) | in |
Call graph
destroy
Attributes: elemental
fortran
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
destroy_connectivity
Attributes: elemental
fortran
subroutine destroy_connectivity(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
intersect_ray
Attributes: pure
fortran
subroutine intersect_ray(self, ray_origin, ray_direction, t, u, v, hit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in | ||
t | real(kind=R8P) | out | ||
u | real(kind=R8P) | out | ||
v | real(kind=R8P) | out | ||
hit | logical | out |
Call graph
intersect_facet
Attributes: pure
fortran
subroutine intersect_facet(self, other, p, q, intersects)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
other | type(facet_object) | in | ||
p | type(vector_R8P) | out | ||
q | type(vector_R8P) | out | ||
intersects | logical | out |
Call graph
clip_segment_to_triangle
Attributes: pure
fortran
subroutine clip_segment_to_triangle(face, p, q, intersects)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
face | type(facet_object) | in | ||
p | type(vector_R8P) | inout | ||
q | type(vector_R8P) | inout | ||
intersects | logical | out |
Call graph
project_point_local
Attributes: pure
fortran
subroutine project_point_local(face, e12_hat, vaxis, p3d, u, v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
face | type(facet_object) | in | ||
e12_hat | type(vector_R8P) | in | ||
vaxis | type(vector_R8P) | in | ||
p3d | type(vector_R8P) | in | ||
u | real(kind=R8P) | out | ||
v | real(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
t_lo | real(kind=R8P) | inout | ||
t_hi | real(kind=R8P) | inout | ||
ax | real(kind=R8P) | in | ||
ay | real(kind=R8P) | in | ||
bx | real(kind=R8P) | in | ||
by | real(kind=R8P) | in | ||
cx | real(kind=R8P) | in | ||
cy | real(kind=R8P) | in | ||
pu | real(kind=R8P) | in | ||
pv | real(kind=R8P) | in | ||
qu | real(kind=R8P) | in | ||
qv | real(kind=R8P) | in | ||
ok | logical | out |
Call graph
interval_from_signs
Attributes: pure
fortran
subroutine interval_from_signs(pv, dist, t)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pv | real(kind=R8P) | in | ||
dist | real(kind=R8P) | in | ||
t | real(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(facet_object) | in | ||
other | type(facet_object) | in | ||
dist | real(kind=R8P) | in | ||
pv_self | real(kind=R8P) | in | ||
pv_oth | real(kind=R8P) | in | ||
target_t | real(kind=R8P) | in | ||
axis | integer(kind=I4P) | in | ||
point | type(vector_R8P) | out |
Call graph
initialize
Attributes: elemental
fortran
subroutine initialize(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
load_from_file_ascii
fortran
subroutine load_from_file_ascii(self, file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
file_unit | integer(kind=I4P) | in |
Call graph
load_from_file_binary
fortran
subroutine load_from_file_binary(self, file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
file_unit | integer(kind=I4P) | in |
Call graph
make_normal_consistent
Attributes: pure
fortran
subroutine make_normal_consistent(self, edge, other)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
edge | integer(kind=I4P) | in | ||
other | type(facet_object) | inout |
Call graph
resize
Attributes: elemental
fortran
subroutine resize(self, factor, center)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
factor | type(vector_R8P) | in | ||
center | type(vector_R8P) | in |
Call graph
reverse_normal
Attributes: elemental
fortran
subroutine reverse_normal(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout |
Call graph
save_into_file_ascii
fortran
subroutine save_into_file_ascii(self, file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
file_unit | integer(kind=I4P) | in |
Call graph
save_into_file_binary
fortran
subroutine save_into_file_binary(self, file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
file_unit | integer(kind=I4P) | in |
Call graph
translate
Attributes: elemental
fortran
subroutine translate(self, delta, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
delta | type(vector_R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
set_vertex_ids
Attributes: pure
fortran
subroutine set_vertex_ids(self, vid1, vid2, vid3)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
vid1 | integer(kind=I4P) | in | ||
vid2 | integer(kind=I4P) | in | ||
vid3 | integer(kind=I4P) | in |
Call graph
flip_edge
Attributes: pure
fortran
subroutine flip_edge(self, edge)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
edge | integer(kind=I4P) | in |
Call graph
mirror_by_normal
Attributes: pure
fortran
subroutine mirror_by_normal(self, normal, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
normal | type(vector_R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
mirror_by_matrix
Attributes: pure
fortran
subroutine mirror_by_matrix(self, matrix, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
matrix | real(kind=R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
rotate_by_axis_angle
Attributes: pure
fortran
subroutine rotate_by_axis_angle(self, axis, angle, center, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
axis | type(vector_R8P) | in | ||
angle | real(kind=R8P) | in | ||
center | type(vector_R8P) | in | optional | |
recompute_metrix | logical | in | optional |
Call graph
rotate_by_matrix
Attributes: pure
fortran
subroutine rotate_by_matrix(self, matrix, center, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | inout | ||
matrix | real(kind=R8P) | in | ||
center | type(vector_R8P) | in | optional | |
recompute_metrix | logical | in | optional |
Call graph
edge_connection_in_other_ref
Attributes: pure
fortran
subroutine edge_connection_in_other_ref(self, other, edge, edge_vector)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
other | type(facet_object) | in | ||
edge | integer(kind=I4P) | out | ||
edge_vector | type(vector_R8P) | out |
Call graph
Functions
centroid_part
Attributes: pure
Returns: type(vector_R8P)
fortran
function centroid_part(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in |
Call graph
check_normal
Attributes: elemental
Returns: logical
fortran
function check_normal(self) result(is_consistent)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
region | integer(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in |
Call graph
largest_edge_len
Attributes: pure
Returns: real(kind=R8P)
fortran
function largest_edge_len(self) result(largest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in |
Call graph
smallest_edge_len
Attributes: pure
Returns: real(kind=R8P)
fortran
function smallest_edge_len(self) result(smallest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in |
Call graph
solid_angle
Attributes: pure
Returns: real(kind=R8P)
fortran
function solid_angle(self, point)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
point | type(vector_R8P) | in |
Call graph
tetrahedron_volume
Attributes: pure
Returns: real(kind=R8P)
fortran
function tetrahedron_volume(self, apex) result(volume)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
apex | type(vector_R8P) | in |
Call graph
area
Attributes: pure
Returns: real(kind=R8P)
fortran
function area(self) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in |
Call graph
vertex_angle
Attributes: pure
Returns: real(kind=R8P)
fortran
function vertex_angle(self, vertex_id)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
vertex_id | integer(kind=I4P) | in |
Call graph
vertex_global_id
Attributes: pure
Returns: integer(kind=I4P)
fortran
function vertex_global_id(self, vertex_id)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(facet_object) | in | ||
vertex_id | integer(kind=I4P) | in |
Call graph