tem_stl_module Module

This module provides stl data type and routine to load all stl files and store them in stl_node_type

\author


Uses

  • module~~tem_stl_module~~UsesGraph module~tem_stl_module tem_stl_module module~tem_cube_module tem_cube_module module~tem_stl_module->module~tem_cube_module module~tem_tools_module tem_tools_module module~tem_stl_module->module~tem_tools_module module~tem_triangle_module tem_triangle_module module~tem_stl_module->module~tem_triangle_module module~tem_stlb_io_module tem_stlb_io_module module~tem_stl_module->module~tem_stlb_io_module module~tem_transformation_module tem_transformation_module module~tem_stl_module->module~tem_transformation_module stla_io stla_io module~tem_stl_module->stla_io module~aotus_module aotus_module module~tem_stl_module->module~aotus_module module~aot_out_module aot_out_module module~tem_stl_module->module~aot_out_module module~flu_binding flu_binding module~tem_stl_module->module~flu_binding module~aot_table_module aot_table_module module~tem_stl_module->module~aot_table_module module~env_module env_module module~tem_stl_module->module~env_module module~tem_aux_module tem_aux_module module~tem_stl_module->module~tem_aux_module module~tem_logging_module tem_logging_module module~tem_stl_module->module~tem_logging_module module~tem_cube_module->module~aotus_module module~tem_cube_module->module~aot_table_module module~tem_cube_module->module~env_module module~tem_cube_module->module~tem_aux_module module~tem_cube_module->module~tem_logging_module module~tem_geometry_module tem_geometry_module module~tem_cube_module->module~tem_geometry_module module~treelmesh_module treelmesh_module module~tem_cube_module->module~treelmesh_module module~tem_tools_module->module~env_module module~tem_triangle_module->module~tem_cube_module module~tem_triangle_module->module~tem_transformation_module module~tem_triangle_module->module~aotus_module module~tem_triangle_module->module~aot_out_module module~tem_triangle_module->module~aot_table_module module~tem_triangle_module->module~env_module module~tem_triangle_module->module~tem_aux_module module~tem_triangle_module->module~tem_logging_module module~tem_math_module tem_math_module module~tem_triangle_module->module~tem_math_module module~tem_stlb_io_module->module~env_module module~tem_stlb_io_module->module~tem_aux_module module~tem_stlb_io_module->module~tem_logging_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~tem_stlb_io_module->module~tem_math_module module~tem_grow_array_module tem_grow_array_module module~tem_stlb_io_module->module~tem_grow_array_module module~tem_comm_env_module tem_comm_env_module module~tem_stlb_io_module->module~tem_comm_env_module module~tem_transformation_module->module~tem_tools_module module~tem_transformation_module->module~aotus_module module~tem_transformation_module->module~flu_binding module~tem_transformation_module->module~aot_table_module module~tem_transformation_module->module~env_module module~tem_transformation_module->module~tem_aux_module module~tem_transformation_module->module~tem_logging_module module~env_module->module~aotus_module module~env_module->module~flu_binding module~env_module->mpi iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~tem_aux_module->module~tem_tools_module module~tem_aux_module->module~aotus_module module~tem_aux_module->module~flu_binding module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_aux_module->mpi module~tem_aux_module->module~tem_comm_env_module module~tem_logging_module->module~aotus_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~env_module

Used by

  • module~~tem_stl_module~~UsedByGraph module~tem_stl_module tem_stl_module module~tem_shape_module tem_shape_module module~tem_shape_module->module~tem_stl_module module~tem_subtree_module tem_subTree_module module~tem_subtree_module->module~tem_shape_module module~hvs_ascii_module hvs_ascii_module module~hvs_ascii_module->module~tem_shape_module module~tem_spatial_module tem_spatial_module module~tem_spatial_module->module~tem_shape_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_fun_module->module~tem_shape_module module~tem_spacetime_fun_module->module~tem_subtree_module module~tem_spacetime_fun_module->module~tem_spatial_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_shape_module module~tem_tracking_module->module~tem_subtree_module module~hvs_output_module hvs_output_module module~tem_tracking_module->module~hvs_output_module module~hvs_output_module->module~tem_shape_module module~hvs_output_module->module~tem_subtree_module module~hvs_output_module->module~hvs_ascii_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_shape_module module~tem_convergence_module->module~tem_subtree_module program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->module~tem_subtree_module program~tem_varsys_opvar_test->module~tem_spacetime_fun_module program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->module~tem_spacetime_fun_module module~tem_varmap_module tem_varMap_module module~tem_varmap_module->module~tem_spacetime_fun_module program~tem_varsys_derivevar_test tem_varSys_deriveVar_test program~tem_varsys_derivevar_test->module~tem_spacetime_fun_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->module~tem_subtree_module program~tem_varsys_stfunvar_test->module~tem_spacetime_fun_module module~tem_abortcriteria_module tem_abortCriteria_module module~tem_abortcriteria_module->module~tem_convergence_module module~tem_derived_module tem_derived_module module~tem_derived_module->module~tem_spacetime_fun_module program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->module~tem_spacetime_fun_module module~tem_simcontrol_module tem_simControl_module module~tem_simcontrol_module->module~tem_convergence_module module~tem_bc_module tem_bc_module module~tem_bc_module->module~tem_spacetime_fun_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module program~tem_spacetime_fun_test tem_spacetime_fun_test program~tem_spacetime_fun_test->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_spacetime_var_module tem_spacetime_var_module module~tem_spacetime_var_module->module~tem_spatial_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module program~tem_varsys_test tem_varSys_test program~tem_varsys_test->module~tem_subtree_module program~tem_varsys_test->module~tem_spacetime_fun_module program~tem_logical_opertor_test tem_logical_opertor_test program~tem_logical_opertor_test->module~tem_spacetime_fun_module program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->module~tem_spacetime_fun_module module~tem_variable_module tem_variable_module module~tem_variable_module->module~tem_spacetime_fun_module program~tem_tracking_test tem_tracking_test program~tem_tracking_test->module~tem_tracking_module

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private, parameter:: stl_ascii =1
integer, private, parameter:: stl_bin =2

Interfaces

public interface tem_stlHead_out

interface to write out stl filename in lua format to a file

  • private subroutine tem_stlHead_out_scal(me, conf)

    Write out a stlHead shape in lua format

    Arguments

    TypeIntentOptionalAttributesName
    type(tem_stlHead_type), intent(in) :: me

    stlHead types to write out

    type(aot_out_type), intent(inout) :: conf

    Aotus type handling the output to the file in lua format

  • private subroutine tem_stlHead_out_vec(me, conf)

    Write out an array of stlHeads in lua format

    Arguments

    TypeIntentOptionalAttributesName
    type(tem_stlHead_type), intent(in) :: me(:)

    stlHead types to write out

    type(aot_out_type), intent(inout) :: conf

    Aotus type handling the output to the file in lua format


Derived Types

type, public :: tem_stlData_type

Triangle information for all the STLs

Components

TypeVisibilityAttributesNameInitial
type(tem_stlHead_type), private, allocatable:: head(:)

Header information loaded from stl and config file

real(kind=rk), private, allocatable:: nodes(:,:)

List off all the nodes listed in the STL files size: 1st dimension = 3 (x,y,z) , 2nd dimension = nNodes

integer, private, allocatable:: tri_node(:,:)

Pointers to node array for each triangle tri_node(1:3, iTris) has three nodes position of each triangle size: 1st dimension = 3 (3 nodes), 2nd dimension = nTris

integer, private :: nNodes

Number of nodes

integer, private :: nTris

Number of triangles

type, private :: tem_stlHead_type

This type contains STL information read from the Lua configuration.

Components

TypeVisibilityAttributesNameInitial
character(len=PathLen), private :: filename
integer, private :: fileformat
integer, private :: nSolids
integer, private :: nTris
integer, private :: nTexts
integer, private :: nNodes
integer, private :: id

Functions

public function tem_stlCubeOverlap(stl_data, cube) result(overlaps)

Compute, if the triangles in stl intersects the cube.

Arguments

TypeIntentOptionalAttributesName
type(tem_stlData_type), intent(in) :: stl_data
type(tem_cube_type), intent(in) :: cube

Return Value logical


Subroutines

public subroutine tem_load_stl(stl_data, transform, conf, thandle)

This routine loads STL files from config and reads the triangles from the files into the dynamic array of triangles.

Arguments

TypeIntentOptionalAttributesName
type(tem_stlData_type), intent(out) :: stl_data

Array array of triangles in stlData

type(tem_transformation_type), intent(in) :: transform

transformation for spatial object

type(flu_State) :: conf

Lua state

integer, intent(in) :: thandle

private subroutine tem_load_stlHead(me, conf, thandle)

This routine loads stl_files table from configuration file Need to look for: * filename (mandatory) * fileformat (default binary)

Arguments

TypeIntentOptionalAttributesName
type(tem_stlHead_type), intent(out), allocatable:: me(:)

contain stl files information from config file

type(flu_State) :: conf
integer, intent(in) :: thandle

private subroutine tem_load_stlHead_single(me, conf, thandle)

This routine load stl_files table from configuration file Need to look for: * filename (mandatory) * fileformat (default binary)

Arguments

TypeIntentOptionalAttributesName
type(tem_stlHead_type), intent(inout) :: me

contain stl files information from config file

type(flu_State) :: conf
integer, intent(in) :: thandle

private subroutine tem_read_stlFiles(stl_data)

Read in all STL files from disk which are specified in the config file

Arguments

TypeIntentOptionalAttributesName
type(tem_stlData_type), intent(inout) :: stl_data

stl data of current spatial object

private subroutine tem_stlHead_out_vec(me, conf)

Write out an array of stlHeads in lua format

Arguments

TypeIntentOptionalAttributesName
type(tem_stlHead_type), intent(in) :: me(:)

stlHead types to write out

type(aot_out_type), intent(inout) :: conf

Aotus type handling the output to the file in lua format

private subroutine tem_stlHead_out_scal(me, conf)

Write out a stlHead shape in lua format

Arguments

TypeIntentOptionalAttributesName
type(tem_stlHead_type), intent(in) :: me

stlHead types to write out

type(aot_out_type), intent(inout) :: conf

Aotus type handling the output to the file in lua format