Appearance
fossil_surface_stl_object
Source: src/lib/fossil_surface_stl.f90
Dependencies
Contents
- surface_stl_object
- allocate_facets
- analize
- build_connectivity
- clip
- compute_centroid
- compute_distance
- compute_mesh_distance
- compute_metrix
- compute_normals
- compute_volume
- connect_nearby_vertices
- destroy
- initialize
- merge_solids
- resize
- reverse_normals
- sanitize
- sanitize_normals
- translate
- surface_stl_assign_surface_stl
- compute_facets_disconnected
- mirror_by_normal
- mirror_by_matrix
- rotate_by_axis_angle
- rotate_by_matrix
- set_facets_id
- distance
- is_point_inside
- is_point_inside_polyhedron_ri
- is_point_inside_polyhedron_sa
- largest_edge_len
- smallest_edge_len
- statistics
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) | ||
aabb | type(aabb_tree_object) | ||
bmin | type(vector_R8P) | ||
bmax | type(vector_R8P) | ||
volume | real(kind=R8P) | ||
centroid | type(vector_R8P) |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
allocate_facets | pass(self) | |
analize | pass(self) | |
build_connectivity | pass(self) | |
clip | pass(self) | |
compute_centroid | pass(self) | |
compute_distance | pass(self) | |
compute_mesh_distance | pass(self) | |
compute_metrix | pass(self) | |
compute_normals | pass(self) | |
compute_volume | pass(self) | |
connect_nearby_vertices | pass(self) | |
destroy | pass(self) | |
distance | pass(self) | |
initialize | pass(self) | |
is_point_inside | pass(self) | |
is_point_inside_polyhedron_ri | pass(self) | |
is_point_inside_polyhedron_sa | pass(self) | |
largest_edge_len | pass(self) | |
merge_solids | pass(self) | |
mirror | ||
reverse_normals | pass(self) | |
resize | pass(self) | |
rotate | ||
sanitize | pass(self) | |
sanitize_normals | pass(self) | |
smallest_edge_len | pass(self) | |
statistics | pass(self) | |
translate | pass(self) | |
assignment(=) | ||
surface_stl_assign_surface_stl | pass(lhs) | |
compute_facets_disconnected | pass(self) | |
mirror_by_normal | pass(self) | |
mirror_by_matrix | pass(self) | |
rotate_by_axis_angle | pass(self) | |
rotate_by_matrix | pass(self) | |
set_facets_id | pass(self) |
Subroutines
allocate_facets
Attributes: elemental
fortran
subroutine allocate_facets(self, facets_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
facets_number | integer(kind=I4P) | in |
Call graph
analize
fortran
subroutine analize(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
build_connectivity
fortran
subroutine build_connectivity(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
clip
fortran
subroutine clip(self, bmin, bmax, remainder)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 |
Call graph
compute_centroid
Attributes: pure
fortran
subroutine compute_centroid(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_distance
fortran
subroutine compute_distance(self, point, distance, is_signed, sign_algorithm, is_square_root, facet_index, edge_index, vertex_index)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | character(len=*) | in | optional | |
is_square_root | logical | in | optional | |
facet_index | integer(kind=I4P) | out | optional | |
edge_index | integer(kind=I4P) | out | optional | |
vertex_index | integer(kind=I4P) | out | optional |
Call graph
compute_mesh_distance
fortran
subroutine compute_mesh_distance(self, mesh, distance, is_signed, sign_algorithm, is_square_root)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
mesh | type(vector_R8P) | in | ||
distance | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | character(len=*) | in | optional | |
is_square_root | logical | in | optional |
Call graph
compute_metrix
Attributes: pure
fortran
subroutine compute_metrix(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_normals
Attributes: elemental
fortran
subroutine compute_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
compute_volume
Attributes: elemental
fortran
subroutine compute_volume(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
connect_nearby_vertices
Attributes: pure
fortran
subroutine connect_nearby_vertices(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
destroy
Attributes: elemental
fortran
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
initialize
Attributes: elemental
fortran
subroutine initialize(self, aabb_refinement_levels)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
aabb_refinement_levels | integer(kind=I4P) | in | optional |
Call graph
merge_solids
fortran
subroutine merge_solids(self, other)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
other | type(surface_stl_object) | in |
Call graph
resize
Attributes: elemental
fortran
subroutine resize(self, x, y, z, factor, respect_centroid, recompute_metrix)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 |
Call graph
reverse_normals
Attributes: elemental
fortran
subroutine reverse_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
sanitize
fortran
subroutine sanitize(self, do_analysis)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
do_analysis | logical | in | optional |
Call graph
sanitize_normals
Attributes: pure
fortran
subroutine sanitize_normals(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
translate
Attributes: elemental
fortran
subroutine translate(self, x, y, z, delta, recompute_metrix)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 |
Call graph
surface_stl_assign_surface_stl
Attributes: pure
fortran
subroutine surface_stl_assign_surface_stl(lhs, rhs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lhs | class(surface_stl_object) | inout | ||
rhs | type(surface_stl_object) | in |
Call graph
compute_facets_disconnected
Attributes: pure
fortran
subroutine compute_facets_disconnected(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
mirror_by_normal
Attributes: elemental
fortran
subroutine mirror_by_normal(self, normal, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
normal | type(vector_R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
mirror_by_matrix
Attributes: pure
fortran
subroutine mirror_by_matrix(self, matrix, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
matrix | real(kind=R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
rotate_by_axis_angle
Attributes: elemental
fortran
subroutine rotate_by_axis_angle(self, axis, angle, recompute_metrix)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout | ||
axis | type(vector_R8P) | in | ||
angle | real(kind=R8P) | in | ||
recompute_metrix | logical | in | optional |
Call graph
rotate_by_matrix
Attributes: pure
fortran
subroutine rotate_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
set_facets_id
Attributes: elemental
fortran
subroutine set_facets_id(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | inout |
Call graph
Functions
distance
Returns: real(kind=R8P)
fortran
function distance(self, point, is_signed, sign_algorithm, is_square_root)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
is_signed | logical | in | optional | |
sign_algorithm | character(len=*) | in | optional | |
is_square_root | logical | in | optional |
Call graph
is_point_inside
Returns: logical
fortran
function is_point_inside(self, point, sign_algorithm) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in | ||
sign_algorithm | character(len=*) | in | optional |
Call graph
is_point_inside_polyhedron_ri
Returns: logical
fortran
function is_point_inside_polyhedron_ri(self, point) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in |
Call graph
is_point_inside_polyhedron_sa
Attributes: pure
Returns: logical
fortran
function is_point_inside_polyhedron_sa(self, point) result(is_inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
point | type(vector_R8P) | in |
Call graph
largest_edge_len
Attributes: pure
Returns: real(kind=R8P)
fortran
function largest_edge_len(self) result(largest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
smallest_edge_len
Attributes: pure
Returns: real(kind=R8P)
fortran
function smallest_edge_len(self) result(smallest)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in |
Call graph
statistics
Attributes: pure
Returns: character(len=:)
fortran
function statistics(self, prefix) result(stats)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(surface_stl_object) | in | ||
prefix | character(len=*) | in | optional |
Call graph