Skip to content

fossil_surface_stl_object ​

Source: src/lib/fossil_surface_stl.f90

Dependencies

Contents ​

Variables ​

NameTypeAttributesDescription
SIGN_RAY_INTERSECTIONSinteger(kind=I4P)parameter
SIGN_SOLID_ANGLEinteger(kind=I4P)parameter
SIGN_PSEUDO_NORMALinteger(kind=I4P)parameter
SIGN_FAST_WINDING_NUMBERinteger(kind=I4P)parameter
FEATURE_FACEinteger(kind=I4P)parameter
FEATURE_EDGEinteger(kind=I4P)parameter
FEATURE_VERTEXinteger(kind=I4P)parameter
RAY_DIR_Xtype(vector_R8P)parameter
RAY_DIR_Ytype(vector_R8P)parameter
RAY_DIR_Ztype(vector_R8P)parameter
STATUS_OKinteger(kind=I4P)parameter
STATUS_ALLOC_FAILinteger(kind=I4P)parameter
STATUS_AMBIGUOUS_ARGSinteger(kind=I4P)parameter
STATUS_FILE_NOT_FOUNDinteger(kind=I4P)parameter
STATUS_FILE_OPEN_FAILinteger(kind=I4P)parameter
STATUS_INVALID_INPUTinteger(kind=I4P)parameter

Derived Types ​

surface_stl_object ​

Components ​

NameTypeAttributesDescription
facets_numberinteger(kind=I4P)
facettype(facet_object)allocatable
facet_1_detype(list_id_object)
facet_2_detype(list_id_object)
facet_3_detype(list_id_object)
non_manifold_edges_numberinteger(kind=I4P)
degenerate_facets_removedinteger(kind=I4P)
duplicate_facets_removedinteger(kind=I4P)
shells_numberinteger(kind=I4P)
bodies_numberinteger(kind=I4P)
facet_shell_integer(kind=I4P)allocatable
shell_bodyinteger(kind=I4P)allocatable
aabbtype(aabb_tree_object)
bmintype(vector_R8P)
bmaxtype(vector_R8P)
volumereal(kind=R8P)
areareal(kind=R8P)
centroidtype(vector_R8P)
headercharacter(len=FRLEN)
patch_namescharacter(len=FRLEN)allocatable
vertex_pooltype(vertex_pool_object)
pnormal_payloadtype(pnormal_payload_t)allocatable
wn_payloadtype(wn_node_t)allocatable
body_payloadinteger(kind=I4P)allocatable
tri_verticesreal(kind=R8P)allocatable
is_on_devicelogical
feature_segreal(kind=R8P)allocatable
feature_boxreal(kind=R8P)allocatable
feature_linkinteger(kind=I4P)allocatable
features_builtlogical
features_on_devicelogical
thin_payreal(kind=R8P)allocatable
thin_nodereal(kind=R8P)allocatable
thin_builtlogical
thin_on_devicelogical

Type-Bound Procedures ​

NameAttributesDescription
get_facets_numberpass(self)
get_bminpass(self)
get_bmaxpass(self)
get_volumepass(self)
get_shells_numberpass(self)
get_bodies_numberpass(self)
facet_shellpass(self)
facet_bodypass(self)
get_areapass(self)
get_centroidpass(self)
get_headerpass(self)
get_patches_numberpass(self)
patch_namepass(self)
facet_patchpass(self)
set_patchpass(self)
get_non_manifold_edges_numberpass(self)
get_degenerate_facets_removedpass(self)
get_duplicate_facets_removedpass(self)
get_vertex_poolpass(self)
is_watertightpass(self)
is_manifoldpass(self)
is_volumepass(self)
set_headerpass(self)
facet_atpass(self)
facets_refpass(self)
adopt_facetspass(self)
load_from_filepass(self)
load_from_filespass(self)
distance_topass(self)
time_of_impactpass(self)
proximity_pairspass(self)
save_into_filepass(self)
save_aabb_into_filepass(self)
allocate_facetspass(self)
analyzepass(self)
build_connectivitypass(self)
compute_bodiespass(self)
clippass(self)
compute_centroidpass(self)
compute_distancepass(self)
compute_metrixpass(self)
compute_normalspass(self)
compute_areapass(self)
compute_volumepass(self)
connect_nearby_verticespass(self)
remove_degenerate_facetspass(self)
remove_duplicate_facetspass(self)
destroypass(self)
distancepass(self)
distance_manypass(self)
query_manypass(self)
query_pointpass(self)
query_many_devicepass(self)
probe_manypass(self)
image_pointspass(self)
box_classify_manypass(self)
box_intersects_surfacepass(self)
box_classify_many_devicepass(self)
tag_blockpass(self)
build_featurespass(self)
box_feature_manypass(self)
box_feature_many_devicepass(self)
line_crossingspass(self)
cell_wall_fractionspass(self)
line_crossings_manypass(self)
line_crossings_many_devicepass(self)
movepass(self)
state_changespass(self)
wall_distance_manypass(self)
wall_distance_many_devicepass(self)
surface_markerspass(self)
enter_devicepass(self)
exit_devicepass(self)
distance_many_devicepass(self)
build_pnormal_payloadpass(self)
initializepass(self)
is_point_insidepass(self)
is_point_inside_polyhedron_ripass(self)
is_point_inside_polyhedron_sapass(self)
winding_numberpass(self)
find_self_intersectionspass(self)
booleanpass(self)
resolve_self_intersectionspass(self)
resample_via_distance_fieldpass(self)
decimatepass(self)
isotropic_remeshpass(self)
intersect_ray_allpass(self)
intersect_ray_firstpass(self)
intersect_ray_anypass(self)
segment_sdfpass(self)
alpha_wrappass(self)
cotangent_laplacianpass(self)
gaussian_curvaturepass(self)
jet_curvaturepass(self)
mean_curvaturepass(self)
smoothpass(self)
largest_edge_lenpass(self)
mass_propertiespass(self)
deviationpass(self)
hausdorffpass(self)
feature_edgespass(self)
save_features_into_filepass(self)
save_thickness_into_filepass(self)
thicknesspass(self)
thin_regionspass(self)
build_thinpass(self)
box_thin_manypass(self)
box_thin_many_devicepass(self)
merge_solidspass(self)
mirror
reverse_normalspass(self)
resizepass(self)
rotate
fill_holespass(self)
sanitizepass(self)
sanitize_normalspass(self)
smallest_edge_lenpass(self)
statisticspass(self)
translatepass(self)
compute_facets_disconnectedpass(self)
mirror_by_normalpass(self)
mirror_by_matrixpass(self)
rotate_by_axis_anglepass(self)
rotate_by_matrixpass(self)
set_facets_idpass(self)

surface_evaluator_t ​

Inheritance

Extends: deviation_evaluator_t

Components ​

NameTypeAttributesDescription
surfacetype(surface_stl_object)pointer
devicelogical

Type-Bound Procedures ​

NameAttributesDescription
evalpass(self)

surface_ccd_evaluator_t ​

Inheritance

Extends: ccd_evaluator_t

Components ​

NameTypeAttributesDescription
aclass(surface_stl_object)pointer
bclass(surface_stl_object)pointer
a0type(rigid_pose_t)
a1type(rigid_pose_t)
b0type(rigid_pose_t)
b1type(rigid_pose_t)
pareal(kind=R8P)
pbreal(kind=R8P)
fainteger(kind=I4P)
fbinteger(kind=I4P)
kareal(kind=R8P)
kbreal(kind=R8P)
thareal(kind=R8P)
thbreal(kind=R8P)
dtareal(kind=R8P)
dtbreal(kind=R8P)
pairsinteger(kind=I4P)

Type-Bound Procedures ​

NameAttributesDescription
distancepass(self)
safe_steppass(self)

Subroutines ​

set_patch ​

fortran
subroutine set_patch(self, facets, name)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
facetsinteger(kind=I4P)in
namecharacter(len=*)in

Call graph

sync_patch_names ​

fortran
subroutine sync_patch_names(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

set_header ​

Attributes: pure

fortran
subroutine set_header(self, header)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
headercharacter(len=*)in

Call graph

adopt_facets ​

fortran
subroutine adopt_facets(self, facets, aabb_refinement_levels, aabb_tree_kind)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
facetstype(facet_object)inoutallocatable
aabb_refinement_levelsinteger(kind=I4P)inoptional
aabb_tree_kindinteger(kind=I4P)inoptional

Call graph

allocate_facets ​

Attributes: elemental

fortran
subroutine allocate_facets(self, facets_number)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
facets_numberinteger(kind=I4P)in

Call graph

analyze ​

fortran
subroutine analyze(self, aabb_refinement_levels, aabb_tree_kind, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
aabb_refinement_levelsinteger(kind=I4P)inoptional
aabb_tree_kindinteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

compute_bodies ​

fortran
subroutine compute_bodies(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

build_connectivity ​

fortran
subroutine build_connectivity(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

heap_sift_down ​

Attributes: pure

fortran
subroutine heap_sift_down(keys, order, start, end_)

Arguments

NameTypeIntentAttributesDescription
keysinteger(kind=I8P)in
orderinteger(kind=I4P)inout
startinteger(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

NameTypeIntentAttributesDescription
keysinteger(kind=I8P)in
orderinteger(kind=I4P)inout

Call graph

clip ​

fortran
subroutine clip(self, bmin, bmax, remainder, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
bmintype(vector_R8P)in
bmaxtype(vector_R8P)in
remaindertype(surface_stl_object)outoptional
statusinteger(kind=I4P)outoptional

Call graph

compute_centroid ​

Attributes: pure

fortran
subroutine compute_centroid(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(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, closest_point, normal)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
distancereal(kind=R8P)out
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
is_square_rootlogicalinoptional
facet_indexinteger(kind=I4P)outoptional
edge_indexinteger(kind=I4P)outoptional
vertex_indexinteger(kind=I4P)outoptional
closest_pointtype(vector_R8P)outoptional
normaltype(vector_R8P)outoptional

Call graph

compute_metrix ​

Attributes: pure

fortran
subroutine compute_metrix(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

compute_normals ​

Attributes: elemental

fortran
subroutine compute_normals(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

compute_volume ​

Attributes: elemental

fortran
subroutine compute_volume(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

compute_area ​

Attributes: elemental

fortran
subroutine compute_area(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

connect_nearby_vertices ​

Attributes: pure

fortran
subroutine connect_nearby_vertices(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

remove_degenerate_facets ​

fortran
subroutine remove_degenerate_facets(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

remove_duplicate_facets ​

fortran
subroutine remove_duplicate_facets(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

uf_union ​

Attributes: pure

fortran
subroutine uf_union(a, b, parent, rank_)

Arguments

NameTypeIntentAttributesDescription
ainteger(kind=I4P)in
binteger(kind=I4P)in
parentinteger(kind=I4P)inout
rank_integer(kind=I4P)inout

Call graph

destroy ​

Attributes: elemental

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

query_point ​

fortran
subroutine query_point(self, point, distance, closest_point, facet, feature, feature_index, normal, body, is_signed, sign_algorithm)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
distancereal(kind=R8P)out
closest_pointtype(vector_R8P)outoptional
facetinteger(kind=I4P)outoptional
featureinteger(kind=I4P)outoptional
feature_indexinteger(kind=I4P)outoptional
normaltype(vector_R8P)outoptional
bodyinteger(kind=I4P)outoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional

Call graph

query_many ​

Attributes: recursive

fortran
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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
closest_pointsreal(kind=R8P)outoptional
facetsinteger(kind=I4P)outoptional
featuresinteger(kind=I4P)outoptional
feature_indexesinteger(kind=I4P)outoptional
normalsreal(kind=R8P)outoptional
bodiesinteger(kind=I4P)outoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
ambiguouslogicaloutoptional
second_foot_pointsreal(kind=R8P)outoptional
rel_tolerancereal(kind=R8P)inoptional
foot_tolerancereal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional
posetype(rigid_pose_t)inoptional
curvaturesreal(kind=R8P)outoptional
feature_distancesreal(kind=R8P)outoptional
patchesinteger(kind=I4P)outoptional

Call graph

box_classify_many ​

fortran
subroutine box_classify_many(self, lo, hi, codes, radius, sign_algorithm, inside, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in
codesinteger(kind=I4P)out
radiusreal(kind=R8P)inoptional
sign_algorithminteger(kind=I4P)inoptional
insidelogicaloutoptional
statusinteger(kind=I4P)outoptional

Call graph

box_classify_many_device ​

fortran
subroutine box_classify_many_device(self, lo, hi, codes, radius, sign_algorithm, inside, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
loreal(kind=R8P)in
hireal(kind=R8P)in
codesinteger(kind=I4P)out
radiusreal(kind=R8P)inoptional
sign_algorithminteger(kind=I4P)inoptional
insidelogicaloutoptional
statusinteger(kind=I4P)outoptional

Call graph

tag_block ​

fortran
subroutine tag_block(self, x, y, z, band, tags, sign_algorithm, status, feature_band, feature_tags, thin_factor, thin_band, thin_tags)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
xreal(kind=R8P)in
yreal(kind=R8P)in
zreal(kind=R8P)in
bandinteger(kind=I4P)in
tagsinteger(kind=I4P)out
sign_algorithminteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional
feature_bandinteger(kind=I4P)inoptional
feature_tagsinteger(kind=I4P)outoptional
thin_factorreal(kind=R8P)inoptional
thin_bandinteger(kind=I4P)inoptional
thin_tagsinteger(kind=I4P)outoptional

Call graph

line_crossings ​

fortran
subroutine line_crossings(self, axis, a, b, t0, t1, t, facets, entering, n, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
axisinteger(kind=I4P)in
areal(kind=R8P)in
breal(kind=R8P)in
t0real(kind=R8P)in
t1real(kind=R8P)in
treal(kind=R8P)outallocatable
facetsinteger(kind=I4P)outallocatable
enteringlogicaloutallocatable
ninteger(kind=I4P)out
statusinteger(kind=I4P)outoptional

Call graph

cell_wall_fractions ​

fortran
subroutine cell_wall_fractions(self, x, y, z, frac, inside, bad_lines, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
xreal(kind=R8P)in
yreal(kind=R8P)in
zreal(kind=R8P)in
fracreal(kind=R8P)out
insidelogicalout
bad_linesinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

line_crossings_many ​

fortran
subroutine line_crossings_many(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
axisinteger(kind=I4P)in
areal(kind=R8P)in
breal(kind=R8P)in
t0real(kind=R8P)in
t1real(kind=R8P)in
treal(kind=R8P)out
facetsinteger(kind=I4P)out
enteringlogicalout
countsinteger(kind=I4P)out
overflowlogicalout
statusinteger(kind=I4P)outoptional

Call graph

line_crossings_many_device ​

fortran
subroutine line_crossings_many_device(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
axisinteger(kind=I4P)in
areal(kind=R8P)in
breal(kind=R8P)in
t0real(kind=R8P)in
t1real(kind=R8P)in
treal(kind=R8P)out
facetsinteger(kind=I4P)out
enteringlogicalout
countsinteger(kind=I4P)out
overflowlogicalout
statusinteger(kind=I4P)outoptional

Call graph

query_many_device ​

Attributes: recursive

fortran
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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
closest_pointsreal(kind=R8P)outoptional
facetsinteger(kind=I4P)outoptional
featuresinteger(kind=I4P)outoptional
feature_indexesinteger(kind=I4P)outoptional
normalsreal(kind=R8P)outoptional
bodiesinteger(kind=I4P)outoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional
posetype(rigid_pose_t)inoptional
feature_distancesreal(kind=R8P)outoptional
patchesinteger(kind=I4P)outoptional

Call graph

probe_many ​

fortran
subroutine probe_many(self, points, lengths, probe_points, visible, foot_points, normals, status, patches)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointstype(vector_R8P)in
lengthsreal(kind=R8P)in
probe_pointsreal(kind=R8P)out
visiblelogicalout
foot_pointsreal(kind=R8P)outoptional
normalsreal(kind=R8P)outoptional
statusinteger(kind=I4P)outoptional
patchesinteger(kind=I4P)outoptional

Call graph

image_points ​

fortran
subroutine image_points(self, points, images, visible, foot_points, status, patches)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointstype(vector_R8P)in
imagesreal(kind=R8P)out
visiblelogicaloutoptional
foot_pointsreal(kind=R8P)outoptional
statusinteger(kind=I4P)outoptional
patchesinteger(kind=I4P)outoptional

Call graph

distance_many ​

Attributes: recursive

fortran
subroutine distance_many(self, points, distances, is_signed, sign_algorithm, is_square_root, status, pose)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
is_square_rootlogicalinoptional
statusinteger(kind=I4P)outoptional
posetype(rigid_pose_t)inoptional

Call graph

brute_force_with_region ​

fortran
subroutine brute_force_with_region(s, p, d2, fid, region)

Arguments

NameTypeIntentAttributesDescription
sclass(surface_stl_object)in
ptype(vector_R8P)in
d2real(kind=R8P)out
fidinteger(kind=I4P)out
regioninteger(kind=I4P)out

Call graph

second_foot ​

fortran
subroutine second_foot(self, point, cp1, d1sq, rel, foot_tol, found, cp2)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
pointtype(vector_R8P)in
cp1type(vector_R8P)in
d1sqreal(kind=R8P)in
relreal(kind=R8P)in
foot_tolreal(kind=R8P)in
foundlogicalout
cp2type(vector_R8P)out

Call graph

line_crossings_core ​

fortran
subroutine line_crossings_core(self, axis, a, b, t0, t1, t, ids, es, n)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
axisinteger(kind=I4P)in
areal(kind=R8P)in
breal(kind=R8P)in
t0real(kind=R8P)in
t1real(kind=R8P)in
treal(kind=R8P)outallocatable
idsinteger(kind=I4P)outallocatable
eslogicaloutallocatable
ninteger(kind=I4P)out

Call graph

closest_with_region ​

fortran
subroutine closest_with_region(self, point, d2, facet, region, closest)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
pointtype(vector_R8P)in
d2real(kind=R8P)out
facetinteger(kind=I4P)out
regioninteger(kind=I4P)out
closesttype(vector_R8P)out

Call graph

build_pnormal_payload ​

Attributes: pure

fortran
subroutine build_pnormal_payload(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

enter_device ​

fortran
subroutine enter_device(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

exit_device ​

fortran
subroutine exit_device(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

distance_many_device ​

Attributes: recursive

fortran
subroutine distance_many_device(self, points, distances, is_signed, sign_algorithm, is_square_root, status, pose)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
is_square_rootlogicalinoptional
statusinteger(kind=I4P)outoptional
posetype(rigid_pose_t)inoptional

Call graph

wall_distance_many ​

fortran
subroutine wall_distance_many(self, points, distances, bodies, cutoff, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
bodiesinteger(kind=I4P)out
cutoffreal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

wall_distance_many_device ​

fortran
subroutine wall_distance_many_device(self, points, distances, bodies, cutoff, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
pointstype(vector_R8P)in
distancesreal(kind=R8P)out
bodiesinteger(kind=I4P)out
cutoffreal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

state_changes ​

fortran
subroutine state_changes(self, pose0, pose1, points, fresh, dead, sign_algorithm, checked, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pose0type(rigid_pose_t)in
pose1type(rigid_pose_t)in
pointstype(vector_R8P)in
freshlogicalout
deadlogicalout
sign_algorithminteger(kind=I4P)inoptional
checkedinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

move ​

fortran
subroutine move(self, pose)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
posetype(rigid_pose_t)in

Call graph

find_self_intersections ​

fortran
subroutine find_self_intersections(self, pairs, status, include_touching)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pairstype(intersection_pair_t)outallocatable
statusinteger(kind=I4P)outoptional
include_touchinglogicalinoptional

Call graph

boolean ​

fortran
subroutine boolean(self, other, op, status, weld)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
otherclass(surface_stl_object)in
opinteger(kind=I4P)in
statusinteger(kind=I4P)outoptional
weldreal(kind=R8P)inoptional

Call graph

weld_onto ​

fortran
subroutine weld_onto(a, b, tol, bw)

Arguments

NameTypeIntentAttributesDescription
aclass(surface_stl_object)in
bclass(surface_stl_object)in
tolreal(kind=R8P)in
bwtype(surface_stl_object)out

Call graph

resolve_self_intersections ​

fortran
subroutine resolve_self_intersections(self, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
statusinteger(kind=I4P)outoptional

Call graph

resample_via_distance_field ​

fortran
subroutine resample_via_distance_field(self, resolution, surface_out, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
resolutioninteger(kind=I4P)in
surface_outtype(surface_stl_object)out
statusinteger(kind=I4P)outoptional

Call graph

decimate ​

fortran
subroutine decimate(self, target_facets, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
target_facetsinteger(kind=I4P)in
statusinteger(kind=I4P)outoptional

Call graph

isotropic_remesh ​

fortran
subroutine isotropic_remesh(self, target_length, iterations, preserve_features, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
target_lengthreal(kind=R8P)inoptional
iterationsinteger(kind=I4P)inoptional
preserve_featureslogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

surface_markers ​

fortran
subroutine surface_markers(self, dx, centroids, areas, normals, spacing_fraction, spacings, iterations, preserve_features, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
dxreal(kind=R8P)in
centroidsreal(kind=R8P)outallocatable
areasreal(kind=R8P)outallocatable
normalsreal(kind=R8P)outallocatable
spacing_fractionreal(kind=R8P)outoptional
spacingsreal(kind=R8P)outallocatable, optional
iterationsinteger(kind=I4P)inoptional
preserve_featureslogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

intersect_ray_all ​

fortran
subroutine intersect_ray_all(self, ray_origin, ray_direction, hits, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in
hitstype(ray_hit_t)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

intersect_ray_first ​

fortran
subroutine intersect_ray_first(self, ray_origin, ray_direction, hit, has_hit, status, exclude)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in
hittype(ray_hit_t)out
has_hitlogicalout
statusinteger(kind=I4P)outoptional
excludeinteger(kind=I4P)inoptional

Call graph

intersect_ray_any ​

fortran
subroutine intersect_ray_any(self, ray_origin, ray_direction, max_t, found, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
ray_origintype(vector_R8P)in
ray_directiontype(vector_R8P)in
max_treal(kind=R8P)inoptional
foundlogicalout
statusinteger(kind=I4P)outoptional

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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
facet_labelsinteger(kind=I4P)outallocatable
sdfreal(kind=R8P)outallocatable, optional
num_clustersinteger(kind=I4P)inoptional
smoothing_lambdareal(kind=R8P)inoptional
smoothing_iterationsinteger(kind=I4P)inoptional
num_raysinteger(kind=I4P)inoptional
cone_angle_degreal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

alpha_wrap ​

fortran
subroutine alpha_wrap(self, alpha, offset, max_iterations, wrapped, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
alphareal(kind=R8P)inoptional
offsetreal(kind=R8P)inoptional
max_iterationsinteger(kind=I4P)inoptional
wrappedtype(surface_stl_object)out
statusinteger(kind=I4P)outoptional

Call graph

cotangent_laplacian ​

fortran
subroutine cotangent_laplacian(self, L, M, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
Ltype(csr_matrix_t)out
Mtype(csr_matrix_t)out
statusinteger(kind=I4P)outoptional

Call graph

gaussian_curvature ​

fortran
subroutine gaussian_curvature(self, K, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
Kreal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

jet_curvature ​

fortran
subroutine jet_curvature(self, H, K, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
Hreal(kind=R8P)outallocatable
Kreal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

mean_curvature ​

fortran
subroutine mean_curvature(self, H, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
Hreal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

smooth ​

fortran
subroutine smooth(self, method, lambda, mu, iterations, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
methodinteger(kind=I4P)inoptional
lambdareal(kind=R8P)inoptional
mureal(kind=R8P)inoptional
iterationsinteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

initialize ​

Attributes: elemental

fortran
subroutine initialize(self, aabb_refinement_levels)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
aabb_refinement_levelsinteger(kind=I4P)inoptional

Call graph

mass_properties ​

fortran
subroutine mass_properties(self, mass, center, inertia, principal_moments, principal_axes, density, about, volume, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
massreal(kind=R8P)outoptional
centerreal(kind=R8P)outoptional
inertiareal(kind=R8P)outoptional
principal_momentsreal(kind=R8P)outoptional
principal_axesreal(kind=R8P)outoptional
densityreal(kind=R8P)inoptional
aboutreal(kind=R8P)inoptional
volumereal(kind=R8P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

deviation ​

fortran
subroutine deviation(self, other, lower, upper, mean, rms, per_vertex, tolerance, samples_per_area, max_triangles, samples, triangles, device, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
othertype(surface_stl_object)intarget
lowerreal(kind=R8P)outoptional
upperreal(kind=R8P)outoptional
meanreal(kind=R8P)outoptional
rmsreal(kind=R8P)outoptional
per_vertexreal(kind=R8P)outallocatable, optional
tolerancereal(kind=R8P)inoptional
samples_per_areareal(kind=R8P)inoptional
max_trianglesinteger(kind=I4P)inoptional
samplesinteger(kind=I4P)outoptional
trianglesinteger(kind=I4P)outoptional
devicelogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

hausdorff ​

fortran
subroutine hausdorff(self, other, lower, upper, tolerance, samples_per_area, max_triangles, device, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
othertype(surface_stl_object)in
lowerreal(kind=R8P)outoptional
upperreal(kind=R8P)outoptional
tolerancereal(kind=R8P)inoptional
samples_per_areareal(kind=R8P)inoptional
max_trianglesinteger(kind=I4P)inoptional
devicelogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

surface_evaluator_eval ​

fortran
subroutine surface_evaluator_eval(self, points, distances, closest, facets)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_evaluator_t)in
pointsreal(kind=R8P)in
distancesreal(kind=R8P)out
closestreal(kind=R8P)out
facetsinteger(kind=I4P)out

Call graph

surface_ccd_distance ​

fortran
subroutine surface_ccd_distance(self, s, d)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_ccd_evaluator_t)inout
sreal(kind=R8P)in
dreal(kind=R8P)out

Call graph

surface_ccd_safe_step ​

fortran
subroutine surface_ccd_safe_step(self, s, tolerance, cap, step)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_ccd_evaluator_t)inout
sreal(kind=R8P)in
tolerancereal(kind=R8P)in
capreal(kind=R8P)in
stepreal(kind=R8P)out

Call graph

deviation_mesh ​

fortran
subroutine deviation_mesh(surf, v, fv)

Arguments

NameTypeIntentAttributesDescription
surftype(surface_stl_object)in
vreal(kind=R8P)outallocatable
fvinteger(kind=I4P)outallocatable

Call graph

feature_edges ​

fortran
subroutine feature_edges(self, edges, kinds, corners, polyline_start, polyline_vertices, angle, corner_angle, include_boundary, include_nonmanifold, degenerate, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
edgesinteger(kind=I4P)outallocatable, optional
kindsinteger(kind=I4P)outallocatable, optional
cornersinteger(kind=I4P)outallocatable, optional
polyline_startinteger(kind=I4P)outallocatable, optional
polyline_verticesinteger(kind=I4P)outallocatable, optional
anglereal(kind=R8P)inoptional
corner_anglereal(kind=R8P)inoptional
include_boundarylogicalinoptional
include_nonmanifoldlogicalinoptional
degenerateinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

build_features ​

fortran
subroutine build_features(self, angle, corner_angle, include_boundary, include_nonmanifold, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
anglereal(kind=R8P)inoptional
corner_anglereal(kind=R8P)inoptional
include_boundarylogicalinoptional
include_nonmanifoldlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

feature_cell_bands ​

fortran
subroutine feature_cell_bands(self, x, y, z, band, dist)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
xreal(kind=R8P)in
yreal(kind=R8P)in
zreal(kind=R8P)in
bandinteger(kind=I4P)in
distinteger(kind=I4P)out

Call graph

drop_features ​

fortran
subroutine drop_features(self)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)inout

Call graph

box_feature_many ​

fortran
subroutine box_feature_many(self, lo, hi, touched, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in
touchedlogicalout
statusinteger(kind=I4P)outoptional

Call graph

box_feature_many_device ​

fortran
subroutine box_feature_many_device(self, lo, hi, touched, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
loreal(kind=R8P)in
hireal(kind=R8P)in
touchedlogicalout
statusinteger(kind=I4P)outoptional

Call graph

build_thin ​

fortran
subroutine build_thin(self, thickness, gap, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
thicknessreal(kind=R8P)inoptional
gapreal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

drop_thin ​

fortran
subroutine drop_thin(self)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)inout

Call graph

box_thin_many ​

fortran
subroutine box_thin_many(self, lo, hi, factor, touched, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in
factorreal(kind=R8P)in
touchedlogicalout
statusinteger(kind=I4P)outoptional

Call graph

box_thin_many_device ​

fortran
subroutine box_thin_many_device(self, lo, hi, factor, touched, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inouttarget
loreal(kind=R8P)in
hireal(kind=R8P)in
factorreal(kind=R8P)in
touchedlogicalout
statusinteger(kind=I4P)outoptional

Call graph

thin_cell_bands ​

fortran
subroutine thin_cell_bands(self, x, y, z, factor, band, dist)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
xreal(kind=R8P)in
yreal(kind=R8P)in
zreal(kind=R8P)in
factorreal(kind=R8P)in
bandinteger(kind=I4P)in
distinteger(kind=I4P)out

Call graph

thin_regions ​

fortran
subroutine thin_regions(self, thickness, gap, h, factor, region, region_area, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
thicknessreal(kind=R8P)inoptional
gapreal(kind=R8P)inoptional
hreal(kind=R8P)in
factorreal(kind=R8P)in
regioninteger(kind=I4P)outallocatable
region_areareal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

surface_thickness ​

fortran
subroutine surface_thickness(self, thickness, gap, method, cone_angle, rays, vertex_thickness, vertex_gap, invalid, status, separation_angle)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
thicknessreal(kind=R8P)outallocatable, optional
gapreal(kind=R8P)outallocatable, optional
methodinteger(kind=I4P)inoptional
cone_anglereal(kind=R8P)inoptional
raysinteger(kind=I4P)inoptional
vertex_thicknessreal(kind=R8P)outallocatable, optional
vertex_gapreal(kind=R8P)outallocatable, optional
invalidinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional
separation_anglereal(kind=R8P)inoptional

Call graph

save_thickness_into_file ​

fortran
subroutine save_thickness_into_file(self, file_name, thickness, gap, region, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
file_namecharacter(len=*)in
thicknessreal(kind=R8P)inoptional
gapreal(kind=R8P)inoptional
regioninteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

save_features_into_file ​

fortran
subroutine save_features_into_file(self, file_name, angle, corner_angle, include_boundary, include_nonmanifold, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
file_namecharacter(len=*)in
anglereal(kind=R8P)inoptional
corner_anglereal(kind=R8P)inoptional
include_boundarylogicalinoptional
include_nonmanifoldlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

merge_solids ​

fortran
subroutine merge_solids(self, other, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
othertype(surface_stl_object)in
statusinteger(kind=I4P)outoptional

Call graph

resize ​

fortran
subroutine resize(self, x, y, z, factor, respect_centroid, recompute_metrix, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
xreal(kind=R8P)inoptional
yreal(kind=R8P)inoptional
zreal(kind=R8P)inoptional
factortype(vector_R8P)inoptional
respect_centroidlogicalinoptional
recompute_metrixlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

reverse_normals ​

Attributes: elemental

fortran
subroutine reverse_normals(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

fill_holes ​

fortran
subroutine fill_holes(self, max_hole_edges, max_hole_size, holes_filled, holes_skipped, open_edges, status, refine, fair)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
max_hole_edgesinteger(kind=I4P)inoptional
max_hole_sizereal(kind=R8P)inoptional
holes_filledinteger(kind=I4P)outoptional
holes_skippedinteger(kind=I4P)outoptional
open_edgesinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional
refinelogicalinoptional
fairlogicalinoptional

Call graph

sanitize ​

fortran
subroutine sanitize(self, do_analysis, status, fill_holes, max_hole_edges, max_hole_size, refine_holes, fair_holes)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
do_analysislogicalinoptional
statusinteger(kind=I4P)outoptional
fill_holeslogicalinoptional
max_hole_edgesinteger(kind=I4P)inoptional
max_hole_sizereal(kind=R8P)inoptional
refine_holeslogicalinoptional
fair_holeslogicalinoptional

Call graph

sanitize_normals ​

Attributes: pure

fortran
subroutine sanitize_normals(self, flipped_count)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
flipped_countinteger(kind=I4P)outoptional

Call graph

orient_shells ​

Attributes: pure

fortran
subroutine orient_shells(self, comp, n_comp, n_flipped)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
compinteger(kind=I4P)in
n_compinteger(kind=I4P)in
n_flippedinteger(kind=I4P)inout

Call graph

translate ​

fortran
subroutine translate(self, x, y, z, delta, recompute_metrix, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
xreal(kind=R8P)inoptional
yreal(kind=R8P)inoptional
zreal(kind=R8P)inoptional
deltatype(vector_R8P)inoptional
recompute_metrixlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

surface_stl_finalize ​

fortran
subroutine surface_stl_finalize(self)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)inout

compute_facets_disconnected ​

Attributes: pure

fortran
subroutine compute_facets_disconnected(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

mirror_by_normal ​

Attributes: elemental

fortran
subroutine mirror_by_normal(self, normal, recompute_metrix)

Arguments

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

Call graph

mirror_by_matrix ​

Attributes: pure

fortran
subroutine mirror_by_matrix(self, matrix, recompute_metrix)

Arguments

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

Call graph

rotate_by_axis_angle ​

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

Arguments

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

Call graph

rotate_by_matrix ​

Attributes: pure

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

Arguments

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

Call graph

set_facets_id ​

Attributes: elemental

fortran
subroutine set_facets_id(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
file_namecharacter(len=*)in
is_asciilogicalinoptional
guess_formatlogicalinoptional
clip_mintype(vector_R8P)inoptional
clip_maxtype(vector_R8P)inoptional
aabb_refinement_levelsinteger(kind=I4P)inoptional
aabb_tree_kindinteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

distance_to ​

fortran
subroutine distance_to(self, other, distance, point_self, point_other, facet_self, facet_other, intersecting, status, pose_self, pose_other)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
otherclass(surface_stl_object)in
distancereal(kind=R8P)out
point_selfreal(kind=R8P)outoptional
point_otherreal(kind=R8P)outoptional
facet_selfinteger(kind=I4P)outoptional
facet_otherinteger(kind=I4P)outoptional
intersectinglogicaloutoptional
statusinteger(kind=I4P)outoptional
pose_selftype(rigid_pose_t)inoptional
pose_othertype(rigid_pose_t)inoptional

Call graph

time_of_impact ​

fortran
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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)intarget
otherclass(surface_stl_object)intarget
pose_self0type(rigid_pose_t)in
pose_self1type(rigid_pose_t)in
pose_other0type(rigid_pose_t)in
pose_other1type(rigid_pose_t)in
toireal(kind=R8P)out
statusinteger(kind=I4P)out
tolerancereal(kind=R8P)inoptional
distancereal(kind=R8P)outoptional
point_selfreal(kind=R8P)outoptional
point_otherreal(kind=R8P)outoptional
facet_selfinteger(kind=I4P)outoptional
facet_otherinteger(kind=I4P)outoptional
iterationsinteger(kind=I4P)outoptional
max_iterationsinteger(kind=I4P)inoptional
directionallogicalinoptional
pairsinteger(kind=I4P)outoptional

Call graph

proximity_pairs ​

fortran
subroutine proximity_pairs(self, cutoff, pairs, distances, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
cutoffreal(kind=R8P)in
pairsinteger(kind=I4P)outallocatable
distancesreal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

proximity_pairs_of ​

fortran
subroutine proximity_pairs_of(surfaces, cutoff, pairs, distances, status)

Arguments

NameTypeIntentAttributesDescription
surfacestype(surface_stl_object)in
cutoffreal(kind=R8P)in
pairsinteger(kind=I4P)outallocatable
distancesreal(kind=R8P)outallocatable
statusinteger(kind=I4P)outoptional

Call graph

first_impact ​

fortran
subroutine first_impact(surfaces, poses0, poses1, toi, pair, status, tolerance, directional, tested)

Arguments

NameTypeIntentAttributesDescription
surfacestype(surface_stl_object)intarget
poses0type(rigid_pose_t)in
poses1type(rigid_pose_t)in
toireal(kind=R8P)out
pairinteger(kind=I4P)out
statusinteger(kind=I4P)out
tolerancereal(kind=R8P)inoptional
directionallogicalinoptional
testedinteger(kind=I4P)outoptional

Call graph

load_from_files ​

fortran
subroutine load_from_files(self, file_names, guess_format, aabb_refinement_levels, aabb_tree_kind, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
file_namescharacter(len=*)in
guess_formatlogicalinoptional
aabb_refinement_levelsinteger(kind=I4P)inoptional
aabb_tree_kindinteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

save_into_file ​

fortran
subroutine save_into_file(self, file_name, is_ascii, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
file_namecharacter(len=*)in
is_asciilogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

save_aabb_into_file ​

fortran
subroutine save_aabb_into_file(self, base_file_name, is_ascii)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
base_file_namecharacter(len=*)in
is_asciilogicalinoptional

Call graph

stl_ascii_next_facet ​

fortran
subroutine stl_ascii_next_facet(file_unit, names, p)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)in
namescharacter(len=FRLEN)inoutallocatable
pinteger(kind=I4P)inout

Call graph

stl_open_for_read ​

fortran
subroutine stl_open_for_read(file_name, file_unit, is_ascii, guess_format, status)

Arguments

NameTypeIntentAttributesDescription
file_namecharacter(len=*)in
file_unitinteger(kind=I4P)out
is_asciilogicalinout
guess_formatlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

stl_open_for_write ​

fortran
subroutine stl_open_for_write(file_name, file_unit, is_ascii, status)

Arguments

NameTypeIntentAttributesDescription
file_namecharacter(len=*)in
file_unitinteger(kind=I4P)out
is_asciilogicalin
statusinteger(kind=I4P)outoptional

Call graph

stl_load_facets_number ​

fortran
subroutine stl_load_facets_number(file_unit, is_ascii, facets_number)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)in
is_asciilogicalin
facets_numberinteger(kind=I4P)out

Call graph

stl_load_header ​

fortran
subroutine stl_load_header(file_unit, is_ascii, header)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)in
is_asciilogicalin
headercharacter(len=FRLEN)out

Call graph

stl_save_header ​

fortran
subroutine stl_save_header(file_unit, is_ascii, header, facets_number)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)in
is_asciilogicalin
headercharacter(len=FRLEN)in
facets_numberinteger(kind=I4P)in

Call graph

compute_pseudo_normals_via_pool ​

fortran
subroutine compute_pseudo_normals_via_pool(self, facet, pool)

Arguments

NameTypeIntentAttributesDescription
selftype(facet_object)inout
facettype(facet_object)in
pooltype(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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

get_bmin ​

Attributes: pure

Returns: type(vector_R8P)

fortran
function get_bmin(self) result(b)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

get_bmax ​

Attributes: pure

Returns: type(vector_R8P)

fortran
function get_bmax(self) result(b)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

get_shells_number ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_shells_number(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

get_bodies_number ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_bodies_number(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

facet_shell ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function facet_shell(self, i) result(sh)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
iinteger(kind=I4P)in

facet_body ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function facet_body(self, i) result(b)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
iinteger(kind=I4P)in

Call graph

get_volume ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function get_volume(self) result(v)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

get_area ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function get_area(self) result(a)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

get_centroid ​

Attributes: pure

Returns: type(vector_R8P)

fortran
function get_centroid(self) result(c)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

get_patches_number ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_patches_number(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

patch_name ​

Attributes: pure

Returns: character(len=:)

fortran
function patch_name(self, i) result(name)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
iinteger(kind=I4P)in

Call graph

facet_patch ​

Attributes: elemental

Returns: integer(kind=I4P)

fortran
function facet_patch(self, i) result(p)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
iinteger(kind=I4P)in

find_or_add_patch ​

Returns: integer(kind=I4P)

fortran
function find_or_add_patch(names, name) result(p)

Arguments

NameTypeIntentAttributesDescription
namescharacter(len=FRLEN)inoutallocatable
namecharacter(len=*)in

Call graph

get_header ​

Attributes: pure

Returns: character(len=FRLEN)

fortran
function get_header(self) result(h)

Arguments

NameTypeIntentAttributesDescription
selfclass(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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

get_degenerate_facets_removed ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_degenerate_facets_removed(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

get_duplicate_facets_removed ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_duplicate_facets_removed(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

get_vertex_pool ​

Returns: type(vertex_pool_object)

fortran
function get_vertex_pool(self) result(pool)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)intarget

is_watertight ​

Attributes: pure

Returns: logical

fortran
function is_watertight(self) result(yes)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

is_manifold ​

Attributes: pure

Returns: logical

fortran
function is_manifold(self) result(yes)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

is_volume ​

Attributes: pure

Returns: logical

fortran
function is_volume(self) result(yes)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

facet_at ​

Returns: type(facet_object)

fortran
function facet_at(self, i) result(p)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)intarget
iinteger(kind=I4P)in

Call graph

facets_ref ​

Returns: type(facet_object)

fortran
function facets_ref(self) result(p)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)intarget

Call graph

uf_find ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function uf_find(x, parent) result(root)

Arguments

NameTypeIntentAttributesDescription
xinteger(kind=I4P)in
parentinteger(kind=I4P)in

Call graph

distance ​

Returns: real(kind=R8P)

fortran
function distance(self, point, is_signed, sign_algorithm, is_square_root)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
is_square_rootlogicalinoptional

Call graph

foot_curvature ​

Returns: real(kind=R8P)

fortran
function foot_curvature(self, f, cp, hv, kv) result(c)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
finteger(kind=I4P)in
cptype(vector_R8P)in
hvreal(kind=R8P)in
kvreal(kind=R8P)in

Call graph

degenerate_foot_curvature ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function degenerate_foot_curvature(v, cp, hv, kv) result(c)

Arguments

NameTypeIntentAttributesDescription
vtype(vector_R8P)in
cptype(vector_R8P)in
hvreal(kind=R8P)in
kvreal(kind=R8P)in

Call graph

box_intersects_surface ​

Returns: logical

fortran
function box_intersects_surface(self, lo, hi) result(cut)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in

Call graph

segment_clear ​

Returns: logical

fortran
function segment_clear(self, a, b, tol) result(clear)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
atype(vector_R8P)in
btype(vector_R8P)in
tolreal(kind=R8P)in

Call graph

many_args_ok ​

Returns: logical

fortran
function many_args_ok(self, axis, a, b, t0, t1, t, facets, entering, counts, overflow, status) result(good)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
axisinteger(kind=I4P)in
areal(kind=R8P)in
breal(kind=R8P)in
t0real(kind=R8P)in
t1real(kind=R8P)in
treal(kind=R8P)inout
facetsinteger(kind=I4P)inout
enteringlogicalinout
countsinteger(kind=I4P)inout
overflowlogicalinout
statusinteger(kind=I4P)outoptional

Call graph

body_points ​

Returns: type(vector_R8P)

fortran
function body_points(pose, points) result(bp)

Arguments

NameTypeIntentAttributesDescription
posetype(rigid_pose_t)in
pointstype(vector_R8P)in

Call graph

box_contact ​

Returns: integer(kind=I4P)

fortran
function box_contact(self, lo, hi, tol, reach) result(code)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in
tolreal(kind=R8P)in
reachreal(kind=R8P)in

Call graph

box_contact_brute ​

Returns: integer(kind=I4P)

fortran
function box_contact_brute(self, lo, hi, tol, reach) result(code)

Arguments

NameTypeIntentAttributesDescription
selftype(surface_stl_object)in
loreal(kind=R8P)in
hireal(kind=R8P)in
tolreal(kind=R8P)in
reachreal(kind=R8P)in

Call graph

vnorm ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function vnorm(a) result(r)

Arguments

NameTypeIntentAttributesDescription
atype(vector_R8P)in

Call graph

bad_shape3 ​

Attributes: pure

Returns: logical

fortran
function bad_shape3(a, n) result(bad)

Arguments

NameTypeIntentAttributesDescription
areal(kind=R8P)inoptional
ninteger(kind=I4P)in

Call graph

bad_size ​

Attributes: pure

Returns: logical

fortran
function bad_size(a, n) result(bad)

Arguments

NameTypeIntentAttributesDescription
ainteger(kind=I4P)inoptional
ninteger(kind=I4P)in

Call graph

is_point_inside ​

Attributes: recursive

Returns: logical

fortran
function is_point_inside(self, point, sign_algorithm, pose) result(is_inside)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
sign_algorithminteger(kind=I4P)inoptional
posetype(rigid_pose_t)inoptional

Call graph

winding_number ​

Returns: real(kind=R8P)

fortran
function winding_number(self, point, beta) result(w)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
betareal(kind=R8P)inoptional

Call graph

is_point_inside_polyhedron_ri ​

Returns: logical

fortran
function is_point_inside_polyhedron_ri(self, point) result(is_inside)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(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

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in

Call graph

largest_edge_len ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function largest_edge_len(self) result(largest)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

smallest_edge_len ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function smallest_edge_len(self) result(smallest)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in

Call graph

statistics ​

Attributes: pure

Returns: character(len=:)

fortran
function statistics(self, prefix) result(stats)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
prefixcharacter(len=*)inoptional

Call graph

sign_algorithm_from_string ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function sign_algorithm_from_string(name) result(code)

Arguments

NameTypeIntentAttributesDescription
namecharacter(len=*)in

facet_xs ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function facet_xs(surface, axis) result(c)

Arguments

NameTypeIntentAttributesDescription
surfaceclass(surface_stl_object)in
axisintegerin

Call graph