tem_stlb_io_module Module

This module provides functionality for reading and writing stl files.


Uses

  • module~~tem_stlb_io_module~~UsesGraph module~tem_stlb_io_module tem_stlb_io_module module~env_module env_module module~tem_stlb_io_module->module~env_module module~tem_aux_module tem_aux_module module~tem_stlb_io_module->module~tem_aux_module module~tem_comm_env_module tem_comm_env_module module~tem_stlb_io_module->module~tem_comm_env_module module~tem_grow_array_module tem_grow_array_module module~tem_stlb_io_module->module~tem_grow_array_module module~tem_logging_module tem_logging_module module~tem_stlb_io_module->module~tem_logging_module module~tem_math_module tem_math_module module~tem_stlb_io_module->module~tem_math_module module~tem_time_module tem_time_module module~tem_stlb_io_module->module~tem_time_module mpi mpi module~tem_stlb_io_module->mpi module~env_module->mpi aotus_module aotus_module module~env_module->aotus_module flu_binding flu_binding module~env_module->flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_comm_env_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->mpi aot_table_module aot_table_module module~tem_aux_module->aot_table_module module~tem_aux_module->aotus_module module~tem_aux_module->flu_binding module~soi_revision_module soi_revision_module module~tem_aux_module->module~soi_revision_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_tools_module tem_tools_module module~tem_aux_module->module~tem_tools_module module~tem_comm_env_module->mpi module~tem_grow_array_module->module~env_module module~tem_logging_module->module~env_module module~tem_logging_module->aot_table_module module~tem_logging_module->aotus_module module~tem_math_module->module~env_module module~tem_math_module->module~tem_aux_module module~tem_math_module->module~tem_logging_module module~tem_matrix_module tem_matrix_module module~tem_math_module->module~tem_matrix_module module~tem_time_module->module~env_module module~tem_time_module->mpi aot_out_module aot_out_module module~tem_time_module->aot_out_module module~tem_time_module->aot_table_module module~tem_time_module->aotus_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->aot_table_module module~tem_lua_requires_module->aotus_module module~tem_lua_requires_module->flu_binding iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_matrix_module->module~env_module module~tem_matrix_module->module~tem_aux_module module~tem_matrix_module->module~tem_grow_array_module module~tem_matrix_module->module~tem_logging_module module~tem_debug_module tem_debug_module module~tem_matrix_module->module~tem_debug_module module~tem_dyn_array_module tem_dyn_array_module module~tem_matrix_module->module~tem_dyn_array_module module~tem_float_module tem_float_module module~tem_matrix_module->module~tem_float_module module~tem_param_module tem_param_module module~tem_matrix_module->module~tem_param_module module~tem_tools_module->module~env_module module~tem_debug_module->module~env_module module~tem_debug_module->module~tem_logging_module module~tem_debug_module->aot_table_module module~tem_debug_module->flu_binding module~tem_debug_module->module~tem_tools_module module~tem_dyn_array_module->module~env_module module~tem_float_module->module~env_module module~tem_param_module->module~env_module

Used by

  • module~~tem_stlb_io_module~~UsedByGraph module~tem_stlb_io_module tem_stlb_io_module module~tem_stl_module tem_stl_module module~tem_stl_module->module~tem_stlb_io_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_stlb_io_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_surfacedata_module->module~tem_spacetime_fun_module module~tem_shape_module tem_shape_module module~tem_shape_module->module~tem_stl_module module~hvs_ascii_module hvs_ascii_module module~hvs_ascii_module->module~tem_shape_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_shape_module module~hvs_output_module->module~hvs_ascii_module module~tem_subtree_module tem_subTree_module module~hvs_output_module->module~tem_subtree_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_shape_module module~tem_convergence_module->module~tem_subtree_module module~tem_spacetime_fun_module->module~tem_shape_module module~tem_spatial_module tem_spatial_module module~tem_spacetime_fun_module->module~tem_spatial_module module~tem_spacetime_fun_module->module~tem_subtree_module module~tem_spatial_module->module~tem_shape_module module~tem_subtree_module->module~tem_shape_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_shape_module module~tem_tracking_module->module~hvs_output_module module~tem_tracking_module->module~tem_subtree_module module~tem_abortcriteria_module tem_abortCriteria_module module~tem_abortcriteria_module->module~tem_convergence_module module~tem_bc_module tem_bc_module module~tem_bc_module->module~tem_spacetime_fun_module module~tem_derived_module tem_derived_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module module~tem_ini_condition_module tem_ini_condition_module module~tem_ini_condition_module->module~tem_spatial_module module~tem_simcontrol_module tem_simControl_module module~tem_simcontrol_module->module~tem_convergence_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module module~tem_spacetime_var_module->module~tem_spatial_module module~tem_variable_module tem_variable_module module~tem_variable_module->module~tem_spacetime_fun_module module~tem_varmap_module tem_varMap_module module~tem_varmap_module->module~tem_spacetime_fun_module

Subroutines

public subroutine tem_size_stlb(filename, nNodes, nTris)

This subroutine reads the number of nodes and triangles from a given binary stl file.

Arguments

Type IntentOptional Attributes Name
character(len=PathLen), intent(in) :: filename

name of the binary stl file

integer, intent(out) :: nNodes

number of nodes in the file

integer, intent(out) :: nTris

number of triangles in the file

public subroutine tem_read_stlb(filename, nNodesRead, nTrisRead, nodes, tri_node, iError)

This routine actually reads the data (points, triangles, normals) from the binary file and stores them.

Arguments

Type IntentOptional Attributes Name
character(len=PathLen), intent(in) :: filename

name of the binary stl file

integer, intent(in) :: nNodesRead

Number of nodes read from the file header, to compare against the actual number of nodes read

integer, intent(in) :: nTrisRead

Number of triangles read from the file header, to compare against the actual number of triangles read

real(kind=rk), intent(out) :: nodes(:,:)

point coordinates read from the stl-file size: 3, nPoints_total

integer, intent(out) :: tri_node(:,:)

connectivity array for the triangles size: 3, nTriangles_total

integer, intent(out) :: iError

error while openeing the file, or if the number of nodes/trias do not match to the ones read from the header (if error -> iError > 0)

public subroutine tem_dump_stlb(outprefix, nodes, triangles, proc, header, normals, time)

This routine dumps a set of nodes and triangles to disc.

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: outprefix

output prefix for the filename

real(kind=rk), intent(in) :: nodes(:)

nodes to be dumped (size: 3*nNodes)

integer, intent(in) :: triangles(:,:)

triangles to be dumped (size: 3, nTrias)

type(tem_comm_env_type), intent(in) :: proc

process description to use

character(len=80), intent(in), optional :: header

optional header to be dumped

real(kind=rk), intent(in), optional :: normals(:,:)

optional array of normals, if not passed normals will be calculated internally

type(tem_time_type), intent(in), optional :: time

optional simulation time to be appended to the filename