App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/big_streams/immodpg.pl  view on Meta::CPAN

=head1 DOCUMENTATION

=head2 SYNOPSIS 

 PROGRAM NAME: immodpg (interactive ray trace modeling) 
 AUTHOR:  Juan Lorenzo

=head2 CHANGES and their DATES

 DATES:    Feb 7 2020
 				April 4 2021
 
 Version  0.0.1 , 0.0.2

=head2 DESCRIPTION

   Interactively model first arrivals using raytracing approximation

=head2 USE

=head2 Examplesoff

=head2 SEISMIC UNIX NOTES

=head2 STEPS

=head2 NOTES 

 We are using Moose.
 Moose already declares that you need debuggers turned on
 so you don't need a linewlike the following:
 use warnings;
 
 When program starts change file is initialized to "no". --change file 
 is deleted and reset to a default "no" at the start. 
 change file is set to yes in Perl.
 however we are careful only to do so when the file indicates a previous 'no'
 and reset to no in fortran after fortran uses the setting
 When exiting the change file contains a "yes"

 Avoids asynchronous reading and writing crashes
 Lock files are not failsafe
 
 There are two types of methods:
 
 One method type only sets the message type (immodpg->set_option(message #)) and 
 indicates a forced change (immodpg->set_change(yes)) for use with fortran 
 program immodpg.for
 e.g., _setVbot_plus, _set_move_down.
 The gui shows a symbol for these cases

 A second type of method manages changing values for a parameter as well
 as the functions of the first method. These actions are relegated to
 immodpg
 eg., _setVbot, _setVtop_upper_layer, _setVincrement, _set_clip, _set_layer
 The gui shows a parameter value that can be changed by the user.
 The Entry widget is configured to recognize text value changes and
 a return(1) is needed to indicate a successful validation
 
immodpg must follow premmod to prevent logical circularity
as a result of the use of the 'aliased' syntax

April 2021, removed commented lines

=cut

use Moose;
our $VERSION = '0.0.1';
use Time::HiRes qw(gettimeofday tv_interval);
use Tk;
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
use aliased 'App::SeismicUnixGui::configs::big_streams::Project_config';
use aliased 'App::SeismicUnixGui::configs::big_streams::immodpg_config';
use aliased 'App::SeismicUnixGui::big_streams::immodpg_global_constants';
use aliased 'App::SeismicUnixGui::misc::premmod';
use App::SeismicUnixGui::big_streams::immodpg '0.0.2';
use aliased 'App::SeismicUnixGui::big_streams::immodpg';
use aliased 'App::SeismicUnixGui::sunix::shell::xk';

=head2 private anonymous hash 
used to hand off variables for external printing

=cut

my $immodpg_Tk = {
	_prompt                     => '',
	_base_file_name             => '',
	_pre_digitized_XT_pairs     => '',
	_data_traces                => '',
	_clip4plotEntry             => '',
	_lower_layerLabel           => '',
	_min_t_s                    => '',
	_min_x_m                    => '',
	_mw						    => '',
	_thickness_increment_m      => '',
	_thickness_mEntry           => '',
	_thickness_mLabel           => '',
	_source_depth_m             => '',
	_receiver_depth_m           => '',
	_reducing_vel_mps           => '',
	_plot_min_x_m               => '',



( run in 2.209 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )