C INTERNATIONAL AVS CENTER C (This disclaimer must remain at the top of all files) C C WARRANTY DISCLAIMER C C This module and the files associated with it are distributed free of charge. C It is placed in the public domain and permission is granted for anyone to use, C duplicate, modify, and redistribute it unless otherwise noted. Some modules C may be copyrighted. You agree to abide by the conditions also included in C the AVS Licensing Agreement, version 1.0, located in the main module C directory located at the International AVS Center ftp site and to include C the AVS Licensing Agreement when you distribute any files downloaded from C that site. C C The International AVS Center, MCNC, the AVS Consortium and the individual C submitting the module and files associated with said module provide absolutely C NO WARRANTY OF ANY KIND with respect to this software. The entire risk as to C the quality and performance of this software is with the user. IN NO EVENT C WILL The International AVS Center, MCNC, the AVS Consortium and the individual C submitting the module and files associated with said module BE LIABLE TO C ANYONE FOR ANY DAMAGES ARISING FROM THE USE OF THIS SOFTWARE, INCLUDING, C WITHOUT LIMITATION, DAMAGES RESULTING FROM LOST DATA OR LOST PROFITS, OR ANY C SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES. C C This AVS module and associated files are public domain software unless C otherwise noted. Permission is hereby granted to do whatever you like with C it, subject to the conditions that may exist in copyrighted materials. Should C you wish to make a contribution toward the improvement, modification, or C general performance of this module, please send us your comments: why you C liked or disliked it, how you use it, and most important, how it helps your C work. We will receive your comments at avs@ncsc.org. C C Please send AVS module bug reports to avs@ncsc.org. C C "@(#)read_dyna3d.f 1.1 Stardent 90/03/23" C Copyright (c) 1989 by C Stardent Computer Inc. C All Rights Reserved C C c *--------------------------------------------------------* c * * c * **** read_dyna3d **** * c * * c * read_dyna3d.f * c *--------------------------------------------------------* subroutine read_dyna3d (line_obj, poly_obj, label_obj, & afile_name, bfile_name, state, def_flag, def_fact, & contour_flag, contour_type, shrink_flag, shrink_fact, & group_flag, group_list, label_flag) include 'read_dyna3d.h' character*(*) afile_name, bfile_name integer line_obj, poly_obj, label_obj, state, def_flag, & contour_flag, shrink_flag, shrink_fact, contour_type, & group_flag, group_list(max_groups), label_flag real def_fact character title*80 integer num_nodes, num_1d_elems, num_2d_elems, num_3d_elems, & num_node_data, elem_1d, elem_2d, elem_3d, nodes, node_data, & num_states, data_ranges, num_node_values, node_data_labels, & AVSparameter_changed logical param_changed real model_extent(6), material_table(3, max_material_types) c ************** c *** body *** c ************** line_obj = 0 poly_obj = 0 label_obj = 0 param_changed = .false. if (AVSparameter_changed('read file')) then param_changed = .true. call read_data (afile_name, num_nodes, nodes, num_1d_elems, & elem_1d, num_2d_elems, elem_2d, num_3d_elems, elem_3d, & num_states, node_data, model_extent, data_ranges, & num_node_values, num_node_data, node_data_labels, title, & material_table) else if (AVSparameter_changed('write bin file')) then call write_bin (bfile_name, num_nodes, %val(nodes), & num_1d_elems,%val(elem_1d), num_2d_elems, & %val(elem_2d),num_3d_elems, %val(elem_3d), & num_states, %val(node_data),model_extent, & %val(data_ranges), num_node_values, & num_node_data, %val(node_data_labels), title) end if c check to see if a parameter has changed. if so re-display the model. param_changed = param_changed .or. AVSparameter_changed & ('SHRINK') .or. & AVSparameter_changed('SHRINK') .or. & AVSparameter_changed('CONTOUR') .or. & AVSparameter_changed('DEFORMED') .or. & AVSparameter_changed('GROUP') if (AVSparameter_changed('LABEL') .and. label_flag) & param_changed = .true. if (shrink_flag .and. AVSparameter_changed('shrink factor')) & then param_changed = .true. else if (def_flag .and. AVSparameter_changed('def factor')) & then param_changed = .true. else if (group_flag .and. AVSparameter_changed('group spec')) & then param_changed = .true. else if (contour_flag .and. AVSparameter_changed('contour type' & )) then param_changed = .true. else if (AVSparameter_changed('state list')) then if (def_flag .or. contour_flag) param_changed = .true. end if if (param_changed) then write (0, *) ' === param changed ====' call create_obj (line_obj, poly_obj, label_obj, num_nodes, & num_node_data, %val(nodes), num_1d_elems, %val(elem_1d), & num_2d_elems, %val(elem_2d), num_3d_elems, & %val(elem_3d), num_states, %val(node_data), state, & contour_type, def_flag, model_extent, def_fact, & contour_flag, %val(data_ranges), shrink_flag, & shrink_fact, material_table, group_flag, group_list, & label_flag) end if return end