Appearance
fossil_surface_stl_object
Source: src/lib/fossil_surface_stl.f90
Dependencies
Contents
- surface_stl_object
- set_header
- adopt_facets
- allocate_facets
- analyze
- build_connectivity
- heap_sift_down
- sort_edges_by_key
- clip
- compute_centroid
- compute_distance
- compute_metrix
- compute_normals
- compute_volume
- compute_area
- connect_nearby_vertices
- remove_degenerate_facets
- remove_duplicate_facets
- uf_union
- destroy
- find_self_intersections
- boolean
- resolve_self_intersections
- resample_via_distance_field
- decimate
- isotropic_remesh
- intersect_ray_all
- intersect_ray_first
- intersect_ray_any
- segment_sdf
- alpha_wrap
- initialize
- merge_solids
- resize
- reverse_normals
- sanitize
- sanitize_normals
- translate
- surface_stl_finalize
- compute_facets_disconnected
- mirror_by_normal
- mirror_by_matrix
- rotate_by_axis_angle
- rotate_by_matrix
- set_facets_id
- load_from_file
- save_into_file
- save_aabb_into_file
- stl_open_for_read
- stl_open_for_write
- stl_load_facets_number
- stl_load_header
- stl_save_header
- compute_pseudo_normals_via_pool
- get_facets_number
- get_bmin
- get_bmax
- get_volume
- get_area
- get_centroid
- get_header
- get_non_manifold_edges_number
- get_degenerate_facets_removed
- get_duplicate_facets_removed
- get_vertex_pool
- is_watertight
- is_manifold
- is_volume
- facet_at
- facets_ref
- uf_find
- distance
- is_point_inside
- winding_number
- is_point_inside_polyhedron_ri
- is_point_inside_polyhedron_sa
- largest_edge_len
- smallest_edge_len
- statistics
- sign_algorithm_from_string
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
SIGN_RAY_INTERSECTIONS | integer(kind=I4P) | parameter | |
SIGN_SOLID_ANGLE | integer(kind=I4P) | parameter | |
SIGN_PSEUDO_NORMAL | integer(kind=I4P) | parameter | |
STATUS_OK | integer(kind=I4P) | parameter | |
STATUS_ALLOC_FAIL | integer(kind=I4P) | parameter | |
STATUS_AMBIGUOUS_ARGS | integer(kind=I4P) | parameter | |
STATUS_FILE_NOT_FOUND | integer(kind=I4P) | parameter | |
STATUS_FILE_OPEN_FAIL | integer(kind=I4P) | parameter | |
STATUS_INVALID_INPUT | integer(kind=I4P) | parameter |
Derived Types
surface_stl_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
facets_number | integer(kind=I4P) | ||
facet | type(facet_object) | allocatable | |
facet_1_de | type(list_id_object) | ||
facet_2_de | type(list_id_object) | ||
facet_3_de | type(list_id_object) | ||
non_manifold_edges_number | integer(kind=I4P) | ||
degenerate_facets_removed | integer(kind=I4P) | ||
duplicate_facets_removed | integer(kind=I4P) | ||
aabb | type(aabb_tree_object) | ||
bmin | type(vector_R8P) | ||
bmax | type(vector_R8P) | ||
volume | real(kind=R8P) | ||
area | real(kind=R8P) | ||
centroid | type(vector_R8P) | ||
header | character(len=FRLEN) | ||
vertex_pool | type(vertex_pool_object) |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
get_facets_number | pass(self) | |
get_bmin | pass(self) | |
get_bmax | pass(self) | |
get_volume | pass(self) | |
get_area | pass(self) | |
get_centroid | pass(self) | |
get_header | pass(self) | |
get_non_manifold_edges_number | pass(self) | |
get_degenerate_facets_removed | pass(self) | |
get_duplicate_facets_removed | pass(self) | |
get_vertex_pool | pass(self) | |
is_watertight | pass(self) | |
is_manifold | pass(self) | |
is_volume | pass(self) | |
set_header | pass(self) | |
facet_at | pass(self) | |
facets_ref | pass(self) | |
adopt_facets | pass(self) | |
load_from_file | pass(self) | |
save_into_file | pass(self) | |
save_aabb_into_file | pass(self) | |
allocate_facets | pass(self) | |
analyze | pass(self) | |
build_connectivity | pass(self) | |
clip | pass(self) | |
compute_centroid | pass(self) | |
compute_distance | pass(self) | |
compute_metrix | pass(self) | |
compute_normals | pass(self) | |
compute_area | pass(self) | |
compute_volume | pass(self) | |
connect_nearby_vertices | pass(self) | |
remove_degenerate_facets | pass(self) | |
remove_duplicate_facets | pass(self) | |
destroy | pass(self) | |
distance | pass(self) | |
initialize | pass(self) | |
is_point_inside | pass(self) | |
is_point_inside_polyhedron_ri | pass(self) | |
is_point_inside_polyhedron_sa | pass(self) | |
winding_number | pass(self) | |
find_self_intersections | pass(self) | |
boolean | pass(self) | |
resolve_self_intersections | pass(self) | |
resample_via_distance_field | pass(self) | |
decimate | pass(self) | |
isotropic_remesh | pass(self) | |
intersect_ray_all | pass(self) | |
intersect_ray_first | pass(self) | |
intersect_ray_any | pass(self) | |
segment_sdf | pass(self) | |
alpha_wrap | pass(self) | |
largest_edge_len | pass(self) | |
merge_solids | pass(self) | |
mirror | ||
reverse_normals | pass(self) | |
resize | pass(self) | |
rotate | ||
sanitize | pass(self) | |
sanitize_normals | pass(self) | |
smallest_edge_len | pass(self) | |
statistics | pass(self) | |
translate | pass(self) | |
compute_facets_disconnected | pass(self) | |
mirror_by_normal | pass(self) | |
mirror_by_matrix | pass(self) | |
rotate_by_axis_angle | pass(self) | |
rotate_by_matrix | pass(self) | |
set_facets_id | pass(self) |
Subroutines
set_header
Attributes: pure
fortran
subroutine set_header(self, header)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
header | character(len=*) | in |
Call graph
adopt_facets
fortran
subroutine adopt_facets(self, facets, aabb_refinement_levels, aabb_tree_kind)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
facets | type(facet_object) | inout | allocatable | |
aabb_refinement_levels | integer(kind=I4P) | in | optional | |
aabb_tree_kind | integer(kind=I4P) | in | optional |
Call graph
allocate_facets
Attributes: elemental
fortran
subroutine allocate_facets(self, facets_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
facets_number | integer(kind=I4P) | in |
Call graph
analyze
fortran
subroutine analyze(self, aabb_refinement_levels, aabb_tree_kind, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
aabb_refinement_levels | integer(kind=I4P) | in | optional | |
aabb_tree_kind | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
build_connectivity
fortran
subroutine build_connectivity(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
heap_sift_down
Attributes: pure
fortran
subroutine heap_sift_down(keys, order, start, end_)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
keys | integer(kind=I8P) | in | ||
order | integer(kind=I4P) | inout | ||
start | integer(kind=I4P) | in | ||
end_ | integer(kind=I4P) | in |
Call graph
sort_edges_by_key
Attributes: pure
fortran
subroutine sort_edges_by_key(keys, order)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
keys | integer(kind=I8P) | in | ||
order | integer(kind=I4P) | inout |
Call graph
clip
fortran
subroutine clip(self, bmin, bmax, remainder, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
bmin | type(vector_R8P) | in | ||
bmax | type(vector_R8P) | in | ||
remainder | type(surface_stl_object) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
compute_centroid
Attributes: pure
fortran
subroutine compute_centroid(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_distance
fortran
subroutine compute_distance(self, point, distance, is_signed, sign_algorithm, is_square_root, facet_index, edge_index, vertex_index)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
is_square_root | logical | in | optional | |
facet_index | integer(kind=I4P) | out | optional | |
edge_index | integer(kind=I4P) | out | optional | |
vertex_index | integer(kind=I4P) | out | optional |
Call graph
compute_metrix
Attributes: pure
fortran
subroutine compute_metrix(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_normals
Attributes: elemental
fortran
subroutine compute_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_volume
Attributes: elemental
fortran
subroutine compute_volume(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_area
Attributes: elemental
fortran
subroutine compute_area(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
connect_nearby_vertices
Attributes: pure
fortran
subroutine connect_nearby_vertices(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
remove_degenerate_facets
fortran
subroutine remove_degenerate_facets(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
remove_duplicate_facets
fortran
subroutine remove_duplicate_facets(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
uf_union
Attributes: pure
fortran
subroutine uf_union(a, b, parent, rank_)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | integer(kind=I4P) | in | ||
b | integer(kind=I4P) | in | ||
parent | integer(kind=I4P) | inout | ||
rank_ | integer(kind=I4P) | inout |
Call graph
destroy
Attributes: elemental
fortran
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
find_self_intersections
fortran
subroutine find_self_intersections(self, pairs, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
pairs | type(intersection_pair_t) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
boolean
fortran
subroutine boolean(self, other, op, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
other | class(surface_stl_object) | in | ||
op | integer(kind=I4P) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
resolve_self_intersections
fortran
subroutine resolve_self_intersections(self, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
status | integer(kind=I4P) | out | optional |
Call graph
resample_via_distance_field
fortran
subroutine resample_via_distance_field(self, resolution, surface_out, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
resolution | integer(kind=I4P) | in | ||
surface_out | type(surface_stl_object) | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
decimate
fortran
subroutine decimate(self, target_facets, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
target_facets | integer(kind=I4P) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
isotropic_remesh
fortran
subroutine isotropic_remesh(self, target_length, iterations, preserve_features, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
target_length | real(kind=R8P) | in | optional | |
iterations | integer(kind=I4P) | in | optional | |
preserve_features | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
intersect_ray_all
fortran
subroutine intersect_ray_all(self, ray_origin, ray_direction, hits, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in | ||
hits | type(ray_hit_t) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
intersect_ray_first
fortran
subroutine intersect_ray_first(self, ray_origin, ray_direction, hit, has_hit, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in | ||
hit | type(ray_hit_t) | out | ||
has_hit | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
intersect_ray_any
fortran
subroutine intersect_ray_any(self, ray_origin, ray_direction, max_t, found, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
ray_origin | type(vector_R8P) | in | ||
ray_direction | type(vector_R8P) | in | ||
max_t | real(kind=R8P) | in | optional | |
found | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
segment_sdf
fortran
subroutine segment_sdf(self, facet_labels, sdf, num_clusters, smoothing_lambda, smoothing_iterations, num_rays, cone_angle_deg, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
facet_labels | integer(kind=I4P) | out | allocatable | |
sdf | real(kind=R8P) | out | allocatable, optional | |
num_clusters | integer(kind=I4P) | in | optional | |
smoothing_lambda | real(kind=R8P) | in | optional | |
smoothing_iterations | integer(kind=I4P) | in | optional | |
num_rays | integer(kind=I4P) | in | optional | |
cone_angle_deg | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
alpha_wrap
fortran
subroutine alpha_wrap(self, alpha, offset, max_iterations, wrapped, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
alpha | real(kind=R8P) | in | optional | |
offset | real(kind=R8P) | in | optional | |
max_iterations | integer(kind=I4P) | in | optional | |
wrapped | type(surface_stl_object) | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
initialize
Attributes: elemental
fortran
subroutine initialize(self, aabb_refinement_levels)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
aabb_refinement_levels | integer(kind=I4P) | in | optional |
Call graph
merge_solids
fortran
subroutine merge_solids(self, other, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
other | type(surface_stl_object) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
resize
fortran
subroutine resize(self, x, y, z, factor, respect_centroid, recompute_metrix, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
x | real(kind=R8P) | in | optional | |
y | real(kind=R8P) | in | optional | |
z | real(kind=R8P) | in | optional | |
factor | type(vector_R8P) | in | optional | |
respect_centroid | logical | in | optional | |
recompute_metrix | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
reverse_normals
Attributes: elemental
fortran
subroutine reverse_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
sanitize
fortran
subroutine sanitize(self, do_analysis, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
do_analysis | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
sanitize_normals
Attributes: pure
fortran
subroutine sanitize_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
translate
fortran
subroutine translate(self, x, y, z, delta, recompute_metrix, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
x | real(kind=R8P) | in | optional | |
y | real(kind=R8P) | in | optional | |
z | real(kind=R8P) | in | optional | |
delta | type(vector_R8P) | in | optional | |
recompute_metrix | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
surface_stl_finalize
fortran
subroutine surface_stl_finalize(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | inout |
compute_facets_disconnected
Attributes: pure
fortran
subroutine compute_facets_disconnected(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
mirror_by_normal
Attributes: elemental
fortran
subroutine mirror_by_normal(self, normal, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_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(surface_stl_object) | inout | ||
matrix | real(kind=R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
rotate_by_axis_angle
fortran
subroutine rotate_by_axis_angle(self, axis, angle, center, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_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(surface_stl_object) | inout | ||
matrix | real(kind=R8P) | in | ||
center | type(vector_R8P) | in | optional | |
recompute_metrix | logical | in | optional |
Call graph
set_facets_id
Attributes: elemental
fortran
subroutine set_facets_id(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
load_from_file
fortran
subroutine load_from_file(self, file_name, is_ascii, guess_format, clip_min, clip_max, aabb_refinement_levels, aabb_tree_kind, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
file_name | character(len=*) | in | ||
is_ascii | logical | in | optional | |
guess_format | logical | in | optional | |
clip_min | type(vector_R8P) | in | optional | |
clip_max | type(vector_R8P) | in | optional | |
aabb_refinement_levels | integer(kind=I4P) | in | optional | |
aabb_tree_kind | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
save_into_file
fortran
subroutine save_into_file(self, file_name, is_ascii, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
file_name | character(len=*) | in | ||
is_ascii | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
save_aabb_into_file
fortran
subroutine save_aabb_into_file(self, base_file_name, is_ascii)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
base_file_name | character(len=*) | in | ||
is_ascii | logical | in | optional |
Call graph
stl_open_for_read
fortran
subroutine stl_open_for_read(file_name, file_unit, is_ascii, guess_format, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_name | character(len=*) | in | ||
file_unit | integer(kind=I4P) | out | ||
is_ascii | logical | inout | ||
guess_format | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
stl_open_for_write
fortran
subroutine stl_open_for_write(file_name, file_unit, is_ascii, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_name | character(len=*) | in | ||
file_unit | integer(kind=I4P) | out | ||
is_ascii | logical | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
stl_load_facets_number
fortran
subroutine stl_load_facets_number(file_unit, is_ascii, facets_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | ||
is_ascii | logical | in | ||
facets_number | integer(kind=I4P) | out |
Call graph
stl_load_header
fortran
subroutine stl_load_header(file_unit, is_ascii, header)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | ||
is_ascii | logical | in | ||
header | character(len=FRLEN) | out |
Call graph
stl_save_header
fortran
subroutine stl_save_header(file_unit, is_ascii, header, facets_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | ||
is_ascii | logical | in | ||
header | character(len=FRLEN) | in | ||
facets_number | integer(kind=I4P) | in |
Call graph
compute_pseudo_normals_via_pool
fortran
subroutine compute_pseudo_normals_via_pool(self, facet, pool)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(facet_object) | inout | ||
facet | type(facet_object) | in | ||
pool | type(vertex_pool_object) | in |
Call graph
Functions
get_facets_number
Attributes: pure
Returns: integer(kind=I4P)
fortran
function get_facets_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_bmin
Attributes: pure
Returns: type(vector_R8P)
fortran
function get_bmin(self) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_bmax
Attributes: pure
Returns: type(vector_R8P)
fortran
function get_bmax(self) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_volume
Attributes: pure
Returns: real(kind=R8P)
fortran
function get_volume(self) result(v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_area
Attributes: pure
Returns: real(kind=R8P)
fortran
function get_area(self) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_centroid
Attributes: pure
Returns: type(vector_R8P)
fortran
function get_centroid(self) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_header
Attributes: pure
Returns: character(len=FRLEN)
fortran
function get_header(self) result(h)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_non_manifold_edges_number
Attributes: pure
Returns: integer(kind=I4P)
fortran
function get_non_manifold_edges_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_degenerate_facets_removed
Attributes: pure
Returns: integer(kind=I4P)
fortran
function get_degenerate_facets_removed(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_duplicate_facets_removed
Attributes: pure
Returns: integer(kind=I4P)
fortran
function get_duplicate_facets_removed(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_vertex_pool
Returns: type(vertex_pool_object)
fortran
function get_vertex_pool(self) result(pool)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | target |
is_watertight
Attributes: pure
Returns: logical
fortran
function is_watertight(self) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
is_manifold
Attributes: pure
Returns: logical
fortran
function is_manifold(self) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
is_volume
Attributes: pure
Returns: logical
fortran
function is_volume(self) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
facet_at
Returns: type(facet_object)
fortran
function facet_at(self, i) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | target | |
i | integer(kind=I4P) | in |
facets_ref
Returns: type(facet_object)
fortran
function facets_ref(self) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | target |
Call graph
uf_find
Attributes: pure
Returns: integer(kind=I4P)
fortran
function uf_find(x, parent) result(root)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | integer(kind=I4P) | in | ||
parent | integer(kind=I4P) | in |
Call graph
distance
Returns: real(kind=R8P)
fortran
function distance(self, point, is_signed, sign_algorithm, is_square_root)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
is_square_root | logical | in | optional |
Call graph
is_point_inside
Returns: logical
fortran
function is_point_inside(self, point, sign_algorithm) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
sign_algorithm | integer(kind=I4P) | in | optional |
Call graph
winding_number
Returns: real(kind=R8P)
fortran
function winding_number(self, point, beta) result(w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
beta | real(kind=R8P) | in | optional |
Call graph
is_point_inside_polyhedron_ri
Returns: logical
fortran
function is_point_inside_polyhedron_ri(self, point) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in |
Call graph
is_point_inside_polyhedron_sa
Attributes: pure
Returns: logical
fortran
function is_point_inside_polyhedron_sa(self, point) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | 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(surface_stl_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(surface_stl_object) | in |
Call graph
statistics
Attributes: pure
Returns: character(len=:)
fortran
function statistics(self, prefix) result(stats)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
prefix | character(len=*) | in | optional |
Call graph
sign_algorithm_from_string
Attributes: pure
Returns: integer(kind=I4P)
fortran
function sign_algorithm_from_string(name) result(code)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
name | character(len=*) | in |