fossil_surface_stl_object
Source: src/lib/fossil_surface_stl.f90
Dependencies
Contents
- surface_stl_object
- surface_evaluator_t
- surface_ccd_evaluator_t
- set_patch
- sync_patch_names
- set_header
- adopt_facets
- allocate_facets
- analyze
- compute_bodies
- 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
- query_point
- query_many
- box_classify_many
- box_classify_many_device
- tag_block
- line_crossings
- cell_wall_fractions
- line_crossings_many
- line_crossings_many_device
- query_many_device
- probe_many
- image_points
- distance_many
- brute_force_with_region
- second_foot
- line_crossings_core
- closest_with_region
- build_pnormal_payload
- enter_device
- exit_device
- distance_many_device
- wall_distance_many
- wall_distance_many_device
- state_changes
- move
- find_self_intersections
- boolean
- weld_onto
- resolve_self_intersections
- resample_via_distance_field
- decimate
- isotropic_remesh
- surface_markers
- intersect_ray_all
- intersect_ray_first
- intersect_ray_any
- segment_sdf
- alpha_wrap
- cotangent_laplacian
- gaussian_curvature
- jet_curvature
- mean_curvature
- smooth
- initialize
- mass_properties
- deviation
- hausdorff
- surface_evaluator_eval
- surface_ccd_distance
- surface_ccd_safe_step
- deviation_mesh
- feature_edges
- build_features
- feature_cell_bands
- drop_features
- box_feature_many
- box_feature_many_device
- build_thin
- drop_thin
- box_thin_many
- box_thin_many_device
- thin_cell_bands
- thin_regions
- surface_thickness
- save_thickness_into_file
- save_features_into_file
- merge_solids
- resize
- reverse_normals
- fill_holes
- sanitize
- sanitize_normals
- orient_shells
- 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
- distance_to
- time_of_impact
- proximity_pairs
- proximity_pairs_of
- first_impact
- load_from_files
- save_into_file
- save_aabb_into_file
- stl_ascii_next_facet
- 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_shells_number
- get_bodies_number
- facet_shell
- facet_body
- get_volume
- get_area
- get_centroid
- get_patches_number
- patch_name
- facet_patch
- find_or_add_patch
- 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
- foot_curvature
- degenerate_foot_curvature
- box_intersects_surface
- segment_clear
- many_args_ok
- body_points
- box_contact
- box_contact_brute
- vnorm
- bad_shape3
- bad_size
- 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
- facet_xs
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 | |
SIGN_FAST_WINDING_NUMBER | integer(kind=I4P) | parameter | |
FEATURE_FACE | integer(kind=I4P) | parameter | |
FEATURE_EDGE | integer(kind=I4P) | parameter | |
FEATURE_VERTEX | integer(kind=I4P) | parameter | |
RAY_DIR_X | type(vector_R8P) | parameter | |
RAY_DIR_Y | type(vector_R8P) | parameter | |
RAY_DIR_Z | type(vector_R8P) | 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) | ||
shells_number | integer(kind=I4P) | ||
bodies_number | integer(kind=I4P) | ||
facet_shell_ | integer(kind=I4P) | allocatable | |
shell_body | integer(kind=I4P) | allocatable | |
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) | ||
patch_names | character(len=FRLEN) | allocatable | |
vertex_pool | type(vertex_pool_object) | ||
pnormal_payload | type(pnormal_payload_t) | allocatable | |
wn_payload | type(wn_node_t) | allocatable | |
body_payload | integer(kind=I4P) | allocatable | |
tri_vertices | real(kind=R8P) | allocatable | |
is_on_device | logical | ||
feature_seg | real(kind=R8P) | allocatable | |
feature_box | real(kind=R8P) | allocatable | |
feature_link | integer(kind=I4P) | allocatable | |
features_built | logical | ||
features_on_device | logical | ||
thin_pay | real(kind=R8P) | allocatable | |
thin_node | real(kind=R8P) | allocatable | |
thin_built | logical | ||
thin_on_device | logical |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
get_facets_number | pass(self) | |
get_bmin | pass(self) | |
get_bmax | pass(self) | |
get_volume | pass(self) | |
get_shells_number | pass(self) | |
get_bodies_number | pass(self) | |
facet_shell | pass(self) | |
facet_body | pass(self) | |
get_area | pass(self) | |
get_centroid | pass(self) | |
get_header | pass(self) | |
get_patches_number | pass(self) | |
patch_name | pass(self) | |
facet_patch | pass(self) | |
set_patch | 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) | |
load_from_files | pass(self) | |
distance_to | pass(self) | |
time_of_impact | pass(self) | |
proximity_pairs | pass(self) | |
save_into_file | pass(self) | |
save_aabb_into_file | pass(self) | |
allocate_facets | pass(self) | |
analyze | pass(self) | |
build_connectivity | pass(self) | |
compute_bodies | 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) | |
distance_many | pass(self) | |
query_many | pass(self) | |
query_point | pass(self) | |
query_many_device | pass(self) | |
probe_many | pass(self) | |
image_points | pass(self) | |
box_classify_many | pass(self) | |
box_intersects_surface | pass(self) | |
box_classify_many_device | pass(self) | |
tag_block | pass(self) | |
build_features | pass(self) | |
box_feature_many | pass(self) | |
box_feature_many_device | pass(self) | |
line_crossings | pass(self) | |
cell_wall_fractions | pass(self) | |
line_crossings_many | pass(self) | |
line_crossings_many_device | pass(self) | |
move | pass(self) | |
state_changes | pass(self) | |
wall_distance_many | pass(self) | |
wall_distance_many_device | pass(self) | |
surface_markers | pass(self) | |
enter_device | pass(self) | |
exit_device | pass(self) | |
distance_many_device | pass(self) | |
build_pnormal_payload | 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) | |
cotangent_laplacian | pass(self) | |
gaussian_curvature | pass(self) | |
jet_curvature | pass(self) | |
mean_curvature | pass(self) | |
smooth | pass(self) | |
largest_edge_len | pass(self) | |
mass_properties | pass(self) | |
deviation | pass(self) | |
hausdorff | pass(self) | |
feature_edges | pass(self) | |
save_features_into_file | pass(self) | |
save_thickness_into_file | pass(self) | |
thickness | pass(self) | |
thin_regions | pass(self) | |
build_thin | pass(self) | |
box_thin_many | pass(self) | |
box_thin_many_device | pass(self) | |
merge_solids | pass(self) | |
mirror | ||
reverse_normals | pass(self) | |
resize | pass(self) | |
rotate | ||
fill_holes | pass(self) | |
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) |
surface_evaluator_t
Inheritance
Extends: deviation_evaluator_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
surface | type(surface_stl_object) | pointer | |
device | logical |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
eval | pass(self) |
surface_ccd_evaluator_t
Inheritance
Extends: ccd_evaluator_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
a | class(surface_stl_object) | pointer | |
b | class(surface_stl_object) | pointer | |
a0 | type(rigid_pose_t) | ||
a1 | type(rigid_pose_t) | ||
b0 | type(rigid_pose_t) | ||
b1 | type(rigid_pose_t) | ||
pa | real(kind=R8P) | ||
pb | real(kind=R8P) | ||
fa | integer(kind=I4P) | ||
fb | integer(kind=I4P) | ||
ka | real(kind=R8P) | ||
kb | real(kind=R8P) | ||
tha | real(kind=R8P) | ||
thb | real(kind=R8P) | ||
dta | real(kind=R8P) | ||
dtb | real(kind=R8P) | ||
pairs | integer(kind=I4P) |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
distance | pass(self) | |
safe_step | pass(self) |
Subroutines
set_patch
subroutine set_patch(self, facets, name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
facets | integer(kind=I4P) | in | ||
name | character(len=*) | in |
Call graph
sync_patch_names
subroutine sync_patch_names(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
set_header
Attributes: pure
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
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
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
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
compute_bodies
subroutine compute_bodies(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
build_connectivity
subroutine build_connectivity(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
heap_sift_down
Attributes: pure
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
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
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
subroutine compute_centroid(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_distance
subroutine compute_distance(self, point, distance, is_signed, sign_algorithm, is_square_root, facet_index, edge_index, vertex_index, closest_point, normal)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 | |
closest_point | type(vector_R8P) | out | optional | |
normal | type(vector_R8P) | out | optional |
Call graph
compute_metrix
Attributes: pure
subroutine compute_metrix(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_normals
Attributes: elemental
subroutine compute_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_volume
Attributes: elemental
subroutine compute_volume(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_area
Attributes: elemental
subroutine compute_area(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
connect_nearby_vertices
Attributes: pure
subroutine connect_nearby_vertices(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
remove_degenerate_facets
subroutine remove_degenerate_facets(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
remove_duplicate_facets
subroutine remove_duplicate_facets(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
uf_union
Attributes: pure
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
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
query_point
subroutine query_point(self, point, distance, closest_point, facet, feature, feature_index, normal, body, is_signed, sign_algorithm)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out | ||
closest_point | type(vector_R8P) | out | optional | |
facet | integer(kind=I4P) | out | optional | |
feature | integer(kind=I4P) | out | optional | |
feature_index | integer(kind=I4P) | out | optional | |
normal | type(vector_R8P) | out | optional | |
body | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional |
Call graph
query_many
Attributes: recursive
subroutine query_many(self, points, distances, closest_points, facets, features, feature_indexes, normals, bodies, is_signed, sign_algorithm, ambiguous, second_foot_points, rel_tolerance, foot_tolerance, status, pose, curvatures, feature_distances, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest_points | real(kind=R8P) | out | optional | |
facets | integer(kind=I4P) | out | optional | |
features | integer(kind=I4P) | out | optional | |
feature_indexes | integer(kind=I4P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
bodies | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
ambiguous | logical | out | optional | |
second_foot_points | real(kind=R8P) | out | optional | |
rel_tolerance | real(kind=R8P) | in | optional | |
foot_tolerance | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_t) | in | optional | |
curvatures | real(kind=R8P) | out | optional | |
feature_distances | real(kind=R8P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
box_classify_many
subroutine box_classify_many(self, lo, hi, codes, radius, sign_algorithm, inside, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
codes | integer(kind=I4P) | out | ||
radius | real(kind=R8P) | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
inside | logical | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
box_classify_many_device
subroutine box_classify_many_device(self, lo, hi, codes, radius, sign_algorithm, inside, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
codes | integer(kind=I4P) | out | ||
radius | real(kind=R8P) | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
inside | logical | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
tag_block
subroutine tag_block(self, x, y, z, band, tags, sign_algorithm, status, feature_band, feature_tags, thin_factor, thin_band, thin_tags)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
band | integer(kind=I4P) | in | ||
tags | integer(kind=I4P) | out | ||
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
feature_band | integer(kind=I4P) | in | optional | |
feature_tags | integer(kind=I4P) | out | optional | |
thin_factor | real(kind=R8P) | in | optional | |
thin_band | integer(kind=I4P) | in | optional | |
thin_tags | integer(kind=I4P) | out | optional |
Call graph
line_crossings
subroutine line_crossings(self, axis, a, b, t0, t1, t, facets, entering, n, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | allocatable | |
facets | integer(kind=I4P) | out | allocatable | |
entering | logical | out | allocatable | |
n | integer(kind=I4P) | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
cell_wall_fractions
subroutine cell_wall_fractions(self, x, y, z, frac, inside, bad_lines, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
frac | real(kind=R8P) | out | ||
inside | logical | out | ||
bad_lines | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
line_crossings_many
subroutine line_crossings_many(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | ||
facets | integer(kind=I4P) | out | ||
entering | logical | out | ||
counts | integer(kind=I4P) | out | ||
overflow | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
line_crossings_many_device
subroutine line_crossings_many_device(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | ||
facets | integer(kind=I4P) | out | ||
entering | logical | out | ||
counts | integer(kind=I4P) | out | ||
overflow | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
query_many_device
Attributes: recursive
subroutine query_many_device(self, points, distances, closest_points, facets, features, feature_indexes, normals, bodies, is_signed, sign_algorithm, status, pose, feature_distances, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest_points | real(kind=R8P) | out | optional | |
facets | integer(kind=I4P) | out | optional | |
features | integer(kind=I4P) | out | optional | |
feature_indexes | integer(kind=I4P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
bodies | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_t) | in | optional | |
feature_distances | real(kind=R8P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
probe_many
subroutine probe_many(self, points, lengths, probe_points, visible, foot_points, normals, status, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
points | type(vector_R8P) | in | ||
lengths | real(kind=R8P) | in | ||
probe_points | real(kind=R8P) | out | ||
visible | logical | out | ||
foot_points | real(kind=R8P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
image_points
subroutine image_points(self, points, images, visible, foot_points, status, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
points | type(vector_R8P) | in | ||
images | real(kind=R8P) | out | ||
visible | logical | out | optional | |
foot_points | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
distance_many
Attributes: recursive
subroutine distance_many(self, points, distances, is_signed, sign_algorithm, is_square_root, status, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
is_square_root | logical | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_t) | in | optional |
Call graph
brute_force_with_region
subroutine brute_force_with_region(s, p, d2, fid, region)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | class(surface_stl_object) | in | ||
p | type(vector_R8P) | in | ||
d2 | real(kind=R8P) | out | ||
fid | integer(kind=I4P) | out | ||
region | integer(kind=I4P) | out |
Call graph
second_foot
subroutine second_foot(self, point, cp1, d1sq, rel, foot_tol, found, cp2)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
cp1 | type(vector_R8P) | in | ||
d1sq | real(kind=R8P) | in | ||
rel | real(kind=R8P) | in | ||
foot_tol | real(kind=R8P) | in | ||
found | logical | out | ||
cp2 | type(vector_R8P) | out |
Call graph
line_crossings_core
subroutine line_crossings_core(self, axis, a, b, t0, t1, t, ids, es, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | allocatable | |
ids | integer(kind=I4P) | out | allocatable | |
es | logical | out | allocatable | |
n | integer(kind=I4P) | out |
Call graph
closest_with_region
subroutine closest_with_region(self, point, d2, facet, region, closest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
d2 | real(kind=R8P) | out | ||
facet | integer(kind=I4P) | out | ||
region | integer(kind=I4P) | out | ||
closest | type(vector_R8P) | out |
Call graph
build_pnormal_payload
Attributes: pure
subroutine build_pnormal_payload(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
enter_device
subroutine enter_device(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
exit_device
subroutine exit_device(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
distance_many_device
Attributes: recursive
subroutine distance_many_device(self, points, distances, is_signed, sign_algorithm, is_square_root, status, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
is_square_root | logical | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_t) | in | optional |
Call graph
wall_distance_many
subroutine wall_distance_many(self, points, distances, bodies, cutoff, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
bodies | integer(kind=I4P) | out | ||
cutoff | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
wall_distance_many_device
subroutine wall_distance_many_device(self, points, distances, bodies, cutoff, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
points | type(vector_R8P) | in | ||
distances | real(kind=R8P) | out | ||
bodies | integer(kind=I4P) | out | ||
cutoff | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
state_changes
subroutine state_changes(self, pose0, pose1, points, fresh, dead, sign_algorithm, checked, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
pose0 | type(rigid_pose_t) | in | ||
pose1 | type(rigid_pose_t) | in | ||
points | type(vector_R8P) | in | ||
fresh | logical | out | ||
dead | logical | out | ||
sign_algorithm | integer(kind=I4P) | in | optional | |
checked | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
move
subroutine move(self, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
pose | type(rigid_pose_t) | in |
Call graph
find_self_intersections
subroutine find_self_intersections(self, pairs, status, include_touching)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 | |
include_touching | logical | in | optional |
Call graph
boolean
subroutine boolean(self, other, op, status, weld)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 | |
weld | real(kind=R8P) | in | optional |
Call graph
weld_onto
subroutine weld_onto(a, b, tol, bw)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | class(surface_stl_object) | in | ||
b | class(surface_stl_object) | in | ||
tol | real(kind=R8P) | in | ||
bw | type(surface_stl_object) | out |
Call graph
resolve_self_intersections
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
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
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
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
surface_markers
subroutine surface_markers(self, dx, centroids, areas, normals, spacing_fraction, spacings, iterations, preserve_features, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
dx | real(kind=R8P) | in | ||
centroids | real(kind=R8P) | out | allocatable | |
areas | real(kind=R8P) | out | allocatable | |
normals | real(kind=R8P) | out | allocatable | |
spacing_fraction | real(kind=R8P) | out | optional | |
spacings | real(kind=R8P) | out | allocatable, optional | |
iterations | integer(kind=I4P) | in | optional | |
preserve_features | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
intersect_ray_all
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
subroutine intersect_ray_first(self, ray_origin, ray_direction, hit, has_hit, status, exclude)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 | |
exclude | integer(kind=I4P) | in | optional |
Call graph
intersect_ray_any
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
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
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
cotangent_laplacian
subroutine cotangent_laplacian(self, L, M, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
L | type(csr_matrix_t) | out | ||
M | type(csr_matrix_t) | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
gaussian_curvature
subroutine gaussian_curvature(self, K, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
K | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
jet_curvature
subroutine jet_curvature(self, H, K, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
H | real(kind=R8P) | out | allocatable | |
K | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
mean_curvature
subroutine mean_curvature(self, H, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
H | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
smooth
subroutine smooth(self, method, lambda, mu, iterations, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
method | integer(kind=I4P) | in | optional | |
lambda | real(kind=R8P) | in | optional | |
mu | real(kind=R8P) | in | optional | |
iterations | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
initialize
Attributes: elemental
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
mass_properties
subroutine mass_properties(self, mass, center, inertia, principal_moments, principal_axes, density, about, volume, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
mass | real(kind=R8P) | out | optional | |
center | real(kind=R8P) | out | optional | |
inertia | real(kind=R8P) | out | optional | |
principal_moments | real(kind=R8P) | out | optional | |
principal_axes | real(kind=R8P) | out | optional | |
density | real(kind=R8P) | in | optional | |
about | real(kind=R8P) | in | optional | |
volume | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
deviation
subroutine deviation(self, other, lower, upper, mean, rms, per_vertex, tolerance, samples_per_area, max_triangles, samples, triangles, device, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
other | type(surface_stl_object) | in | target | |
lower | real(kind=R8P) | out | optional | |
upper | real(kind=R8P) | out | optional | |
mean | real(kind=R8P) | out | optional | |
rms | real(kind=R8P) | out | optional | |
per_vertex | real(kind=R8P) | out | allocatable, optional | |
tolerance | real(kind=R8P) | in | optional | |
samples_per_area | real(kind=R8P) | in | optional | |
max_triangles | integer(kind=I4P) | in | optional | |
samples | integer(kind=I4P) | out | optional | |
triangles | integer(kind=I4P) | out | optional | |
device | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
hausdorff
subroutine hausdorff(self, other, lower, upper, tolerance, samples_per_area, max_triangles, device, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
other | type(surface_stl_object) | in | ||
lower | real(kind=R8P) | out | optional | |
upper | real(kind=R8P) | out | optional | |
tolerance | real(kind=R8P) | in | optional | |
samples_per_area | real(kind=R8P) | in | optional | |
max_triangles | integer(kind=I4P) | in | optional | |
device | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
surface_evaluator_eval
subroutine surface_evaluator_eval(self, points, distances, closest, facets)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_evaluator_t) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest | real(kind=R8P) | out | ||
facets | integer(kind=I4P) | out |
Call graph
surface_ccd_distance
subroutine surface_ccd_distance(self, s, d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_ccd_evaluator_t) | inout | ||
s | real(kind=R8P) | in | ||
d | real(kind=R8P) | out |
Call graph
surface_ccd_safe_step
subroutine surface_ccd_safe_step(self, s, tolerance, cap, step)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_ccd_evaluator_t) | inout | ||
s | real(kind=R8P) | in | ||
tolerance | real(kind=R8P) | in | ||
cap | real(kind=R8P) | in | ||
step | real(kind=R8P) | out |
Call graph
deviation_mesh
subroutine deviation_mesh(surf, v, fv)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surf | type(surface_stl_object) | in | ||
v | real(kind=R8P) | out | allocatable | |
fv | integer(kind=I4P) | out | allocatable |
Call graph
feature_edges
subroutine feature_edges(self, edges, kinds, corners, polyline_start, polyline_vertices, angle, corner_angle, include_boundary, include_nonmanifold, degenerate, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
edges | integer(kind=I4P) | out | allocatable, optional | |
kinds | integer(kind=I4P) | out | allocatable, optional | |
corners | integer(kind=I4P) | out | allocatable, optional | |
polyline_start | integer(kind=I4P) | out | allocatable, optional | |
polyline_vertices | integer(kind=I4P) | out | allocatable, optional | |
angle | real(kind=R8P) | in | optional | |
corner_angle | real(kind=R8P) | in | optional | |
include_boundary | logical | in | optional | |
include_nonmanifold | logical | in | optional | |
degenerate | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
build_features
subroutine build_features(self, angle, corner_angle, include_boundary, include_nonmanifold, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
angle | real(kind=R8P) | in | optional | |
corner_angle | real(kind=R8P) | in | optional | |
include_boundary | logical | in | optional | |
include_nonmanifold | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
feature_cell_bands
subroutine feature_cell_bands(self, x, y, z, band, dist)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
band | integer(kind=I4P) | in | ||
dist | integer(kind=I4P) | out |
Call graph
drop_features
subroutine drop_features(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | inout |
Call graph
box_feature_many
subroutine box_feature_many(self, lo, hi, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
box_feature_many_device
subroutine box_feature_many_device(self, lo, hi, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
build_thin
subroutine build_thin(self, thickness, gap, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
thickness | real(kind=R8P) | in | optional | |
gap | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
drop_thin
subroutine drop_thin(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | inout |
Call graph
box_thin_many
subroutine box_thin_many(self, lo, hi, factor, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
box_thin_many_device
subroutine box_thin_many_device(self, lo, hi, factor, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | target | |
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
thin_cell_bands
subroutine thin_cell_bands(self, x, y, z, factor, band, dist)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
band | integer(kind=I4P) | in | ||
dist | integer(kind=I4P) | out |
Call graph
thin_regions
subroutine thin_regions(self, thickness, gap, h, factor, region, region_area, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
thickness | real(kind=R8P) | in | optional | |
gap | real(kind=R8P) | in | optional | |
h | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
region | integer(kind=I4P) | out | allocatable | |
region_area | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
surface_thickness
subroutine surface_thickness(self, thickness, gap, method, cone_angle, rays, vertex_thickness, vertex_gap, invalid, status, separation_angle)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
thickness | real(kind=R8P) | out | allocatable, optional | |
gap | real(kind=R8P) | out | allocatable, optional | |
method | integer(kind=I4P) | in | optional | |
cone_angle | real(kind=R8P) | in | optional | |
rays | integer(kind=I4P) | in | optional | |
vertex_thickness | real(kind=R8P) | out | allocatable, optional | |
vertex_gap | real(kind=R8P) | out | allocatable, optional | |
invalid | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
separation_angle | real(kind=R8P) | in | optional |
Call graph
save_thickness_into_file
subroutine save_thickness_into_file(self, file_name, thickness, gap, region, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
file_name | character(len=*) | in | ||
thickness | real(kind=R8P) | in | optional | |
gap | real(kind=R8P) | in | optional | |
region | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
save_features_into_file
subroutine save_features_into_file(self, file_name, angle, corner_angle, include_boundary, include_nonmanifold, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
file_name | character(len=*) | in | ||
angle | real(kind=R8P) | in | optional | |
corner_angle | real(kind=R8P) | in | optional | |
include_boundary | logical | in | optional | |
include_nonmanifold | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
merge_solids
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
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
subroutine reverse_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
fill_holes
subroutine fill_holes(self, max_hole_edges, max_hole_size, holes_filled, holes_skipped, open_edges, status, refine, fair)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
max_hole_edges | integer(kind=I4P) | in | optional | |
max_hole_size | real(kind=R8P) | in | optional | |
holes_filled | integer(kind=I4P) | out | optional | |
holes_skipped | integer(kind=I4P) | out | optional | |
open_edges | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
refine | logical | in | optional | |
fair | logical | in | optional |
Call graph
sanitize
subroutine sanitize(self, do_analysis, status, fill_holes, max_hole_edges, max_hole_size, refine_holes, fair_holes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
do_analysis | logical | in | optional | |
status | integer(kind=I4P) | out | optional | |
fill_holes | logical | in | optional | |
max_hole_edges | integer(kind=I4P) | in | optional | |
max_hole_size | real(kind=R8P) | in | optional | |
refine_holes | logical | in | optional | |
fair_holes | logical | in | optional |
Call graph
sanitize_normals
Attributes: pure
subroutine sanitize_normals(self, flipped_count)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
flipped_count | integer(kind=I4P) | out | optional |
Call graph
orient_shells
Attributes: pure
subroutine orient_shells(self, comp, n_comp, n_flipped)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
comp | integer(kind=I4P) | in | ||
n_comp | integer(kind=I4P) | in | ||
n_flipped | integer(kind=I4P) | inout |
Call graph
translate
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
subroutine surface_stl_finalize(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | inout |
compute_facets_disconnected
Attributes: pure
subroutine compute_facets_disconnected(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
mirror_by_normal
Attributes: elemental
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
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
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
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
subroutine set_facets_id(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
load_from_file
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
distance_to
subroutine distance_to(self, other, distance, point_self, point_other, facet_self, facet_other, intersecting, status, pose_self, pose_other)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
other | class(surface_stl_object) | in | ||
distance | real(kind=R8P) | out | ||
point_self | real(kind=R8P) | out | optional | |
point_other | real(kind=R8P) | out | optional | |
facet_self | integer(kind=I4P) | out | optional | |
facet_other | integer(kind=I4P) | out | optional | |
intersecting | logical | out | optional | |
status | integer(kind=I4P) | out | optional | |
pose_self | type(rigid_pose_t) | in | optional | |
pose_other | type(rigid_pose_t) | in | optional |
Call graph
time_of_impact
subroutine time_of_impact(self, other, pose_self0, pose_self1, pose_other0, pose_other1, toi, status, tolerance, distance, point_self, point_other, facet_self, facet_other, iterations, max_iterations, directional, pairs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | target | |
other | class(surface_stl_object) | in | target | |
pose_self0 | type(rigid_pose_t) | in | ||
pose_self1 | type(rigid_pose_t) | in | ||
pose_other0 | type(rigid_pose_t) | in | ||
pose_other1 | type(rigid_pose_t) | in | ||
toi | real(kind=R8P) | out | ||
status | integer(kind=I4P) | out | ||
tolerance | real(kind=R8P) | in | optional | |
distance | real(kind=R8P) | out | optional | |
point_self | real(kind=R8P) | out | optional | |
point_other | real(kind=R8P) | out | optional | |
facet_self | integer(kind=I4P) | out | optional | |
facet_other | integer(kind=I4P) | out | optional | |
iterations | integer(kind=I4P) | out | optional | |
max_iterations | integer(kind=I4P) | in | optional | |
directional | logical | in | optional | |
pairs | integer(kind=I4P) | out | optional |
Call graph
proximity_pairs
subroutine proximity_pairs(self, cutoff, pairs, distances, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
cutoff | real(kind=R8P) | in | ||
pairs | integer(kind=I4P) | out | allocatable | |
distances | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
proximity_pairs_of
subroutine proximity_pairs_of(surfaces, cutoff, pairs, distances, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surfaces | type(surface_stl_object) | in | ||
cutoff | real(kind=R8P) | in | ||
pairs | integer(kind=I4P) | out | allocatable | |
distances | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
first_impact
subroutine first_impact(surfaces, poses0, poses1, toi, pair, status, tolerance, directional, tested)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surfaces | type(surface_stl_object) | in | target | |
poses0 | type(rigid_pose_t) | in | ||
poses1 | type(rigid_pose_t) | in | ||
toi | real(kind=R8P) | out | ||
pair | integer(kind=I4P) | out | ||
status | integer(kind=I4P) | out | ||
tolerance | real(kind=R8P) | in | optional | |
directional | logical | in | optional | |
tested | integer(kind=I4P) | out | optional |
Call graph
load_from_files
subroutine load_from_files(self, file_names, guess_format, aabb_refinement_levels, aabb_tree_kind, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
file_names | character(len=*) | in | ||
guess_format | logical | 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
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
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_ascii_next_facet
subroutine stl_ascii_next_facet(file_unit, names, p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | ||
names | character(len=FRLEN) | inout | allocatable | |
p | integer(kind=I4P) | inout |
Call graph
stl_open_for_read
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
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
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
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
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
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)
function get_facets_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_bmin
Attributes: pure
Returns: type(vector_R8P)
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)
function get_bmax(self) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_shells_number
Attributes: pure
Returns: integer(kind=I4P)
function get_shells_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_bodies_number
Attributes: pure
Returns: integer(kind=I4P)
function get_bodies_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
facet_shell
Attributes: pure
Returns: integer(kind=I4P)
function facet_shell(self, i) result(sh)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
i | integer(kind=I4P) | in |
facet_body
Attributes: pure
Returns: integer(kind=I4P)
function facet_body(self, i) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
get_volume
Attributes: pure
Returns: real(kind=R8P)
function get_volume(self) result(v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_area
Attributes: pure
Returns: real(kind=R8P)
function get_area(self) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
get_centroid
Attributes: pure
Returns: type(vector_R8P)
function get_centroid(self) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
get_patches_number
Attributes: pure
Returns: integer(kind=I4P)
function get_patches_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
patch_name
Attributes: pure
Returns: character(len=:)
function patch_name(self, i) result(name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
facet_patch
Attributes: elemental
Returns: integer(kind=I4P)
function facet_patch(self, i) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
i | integer(kind=I4P) | in |
find_or_add_patch
Returns: integer(kind=I4P)
function find_or_add_patch(names, name) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
names | character(len=FRLEN) | inout | allocatable | |
name | character(len=*) | in |
Call graph
get_header
Attributes: pure
Returns: character(len=FRLEN)
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)
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)
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)
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)
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
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
function is_manifold(self) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
is_volume
Attributes: pure
Returns: logical
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)
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 |
Call graph
facets_ref
Returns: type(facet_object)
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)
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)
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
foot_curvature
Returns: real(kind=R8P)
function foot_curvature(self, f, cp, hv, kv) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
f | integer(kind=I4P) | in | ||
cp | type(vector_R8P) | in | ||
hv | real(kind=R8P) | in | ||
kv | real(kind=R8P) | in |
Call graph
degenerate_foot_curvature
Attributes: pure
Returns: real(kind=R8P)
function degenerate_foot_curvature(v, cp, hv, kv) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
v | type(vector_R8P) | in | ||
cp | type(vector_R8P) | in | ||
hv | real(kind=R8P) | in | ||
kv | real(kind=R8P) | in |
Call graph
box_intersects_surface
Returns: logical
function box_intersects_surface(self, lo, hi) result(cut)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in |
Call graph
segment_clear
Returns: logical
function segment_clear(self, a, b, tol) result(clear)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
a | type(vector_R8P) | in | ||
b | type(vector_R8P) | in | ||
tol | real(kind=R8P) | in |
Call graph
many_args_ok
Returns: logical
function many_args_ok(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status) result(good)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | inout | ||
facets | integer(kind=I4P) | inout | ||
entering | logical | inout | ||
counts | integer(kind=I4P) | inout | ||
overflow | logical | inout | ||
status | integer(kind=I4P) | out | optional |
Call graph
body_points
Returns: type(vector_R8P)
function body_points(pose, points) result(bp)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pose | type(rigid_pose_t) | in | ||
points | type(vector_R8P) | in |
Call graph
box_contact
Returns: integer(kind=I4P)
function box_contact(self, lo, hi, tol, reach) result(code)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
tol | real(kind=R8P) | in | ||
reach | real(kind=R8P) | in |
Call graph
box_contact_brute
Returns: integer(kind=I4P)
function box_contact_brute(self, lo, hi, tol, reach) result(code)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(surface_stl_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
tol | real(kind=R8P) | in | ||
reach | real(kind=R8P) | in |
Call graph
vnorm
Attributes: pure
Returns: real(kind=R8P)
function vnorm(a) result(r)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | type(vector_R8P) | in |
Call graph
bad_shape3
Attributes: pure
Returns: logical
function bad_shape3(a, n) result(bad)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | optional | |
n | integer(kind=I4P) | in |
Call graph
bad_size
Attributes: pure
Returns: logical
function bad_size(a, n) result(bad)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | integer(kind=I4P) | in | optional | |
n | integer(kind=I4P) | in |
Call graph
is_point_inside
Attributes: recursive
Returns: logical
function is_point_inside(self, point, sign_algorithm, pose) 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 | |
pose | type(rigid_pose_t) | in | optional |
Call graph
winding_number
Returns: real(kind=R8P)
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
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
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)
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)
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=:)
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)
function sign_algorithm_from_string(name) result(code)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
name | character(len=*) | in |
facet_xs
Attributes: pure
Returns: real(kind=R8P)
function facet_xs(surface, axis) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surface | class(surface_stl_object) | in | ||
axis | integer | in |
Call graph