Skip to content

fossil_surface_stl_object

Source: src/lib/fossil_surface_stl.f90

Dependencies

Contents

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)
aabbtype(aabb_tree_object)
bmintype(vector_R8P)
bmaxtype(vector_R8P)
volumereal(kind=R8P)
centroidtype(vector_R8P)

Type-Bound Procedures

NameAttributesDescription
allocate_facetspass(self)
analizepass(self)
build_connectivitypass(self)
clippass(self)
compute_centroidpass(self)
compute_distancepass(self)
compute_mesh_distancepass(self)
compute_metrixpass(self)
compute_normalspass(self)
compute_volumepass(self)
connect_nearby_verticespass(self)
destroypass(self)
distancepass(self)
initializepass(self)
is_point_insidepass(self)
is_point_inside_polyhedron_ripass(self)
is_point_inside_polyhedron_sapass(self)
largest_edge_lenpass(self)
merge_solidspass(self)
mirror
reverse_normalspass(self)
resizepass(self)
rotate
sanitizepass(self)
sanitize_normalspass(self)
smallest_edge_lenpass(self)
statisticspass(self)
translatepass(self)
assignment(=)
surface_stl_assign_surface_stlpass(lhs)
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)

Subroutines

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

analize

fortran
subroutine analize(self, aabb_refinement_levels)

Arguments

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

Call graph

build_connectivity

fortran
subroutine build_connectivity(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

clip

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

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
bmintype(vector_R8P)in
bmaxtype(vector_R8P)in
remaindertype(surface_stl_object)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)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
distancereal(kind=R8P)out
is_signedlogicalinoptional
sign_algorithmcharacter(len=*)inoptional
is_square_rootlogicalinoptional
facet_indexinteger(kind=I4P)outoptional
edge_indexinteger(kind=I4P)outoptional
vertex_indexinteger(kind=I4P)outoptional

Call graph

compute_mesh_distance

fortran
subroutine compute_mesh_distance(self, mesh, distance, is_signed, sign_algorithm, is_square_root)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
meshtype(vector_R8P)in
distancereal(kind=R8P)out
is_signedlogicalinoptional
sign_algorithmcharacter(len=*)inoptional
is_square_rootlogicalinoptional

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

connect_nearby_vertices

Attributes: pure

fortran
subroutine connect_nearby_vertices(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

destroy

Attributes: elemental

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

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

merge_solids

fortran
subroutine merge_solids(self, other)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
othertype(surface_stl_object)in

Call graph

resize

Attributes: elemental

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

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

Call graph

reverse_normals

Attributes: elemental

fortran
subroutine reverse_normals(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

sanitize

fortran
subroutine sanitize(self, do_analysis)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout
do_analysislogicalinoptional

Call graph

sanitize_normals

Attributes: pure

fortran
subroutine sanitize_normals(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

translate

Attributes: elemental

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

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

Call graph

surface_stl_assign_surface_stl

Attributes: pure

fortran
subroutine surface_stl_assign_surface_stl(lhs, rhs)

Arguments

NameTypeIntentAttributesDescription
lhsclass(surface_stl_object)inout
rhstype(surface_stl_object)in

Call graph

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

Attributes: elemental

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

Arguments

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

Call graph

rotate_by_matrix

Attributes: pure

fortran
subroutine rotate_by_matrix(self, matrix, recompute_metrix)

Arguments

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

Call graph

set_facets_id

Attributes: elemental

fortran
subroutine set_facets_id(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)inout

Call graph

Functions

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_algorithmcharacter(len=*)inoptional
is_square_rootlogicalinoptional

Call graph

is_point_inside

Returns: logical

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

Arguments

NameTypeIntentAttributesDescription
selfclass(surface_stl_object)in
pointtype(vector_R8P)in
sign_algorithmcharacter(len=*)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