initial update

This commit is contained in:
2019-09-05 12:22:21 +08:00
parent 2254c77b60
commit 6649a23104
55 changed files with 4331 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
// generated by Fast Light User Interface Designer (fluid) version 1.0305
#include "add_model.h"
Fl_Double_Window *add_mod_win=(Fl_Double_Window *)0;
Fl_Group *mod_type_group=(Fl_Group *)0;
Fl_Round_Button *reg_bok_rbtn=(Fl_Round_Button *)0;
Fl_Round_Button *til_bok_rbtn=(Fl_Round_Button *)0;
Fl_Round_Button *sph_rbtn=(Fl_Round_Button *)0;
Fl_Round_Button *int_face_rbtn=(Fl_Round_Button *)0;
Fl_Group *val_type_group=(Fl_Group *)0;
Fl_Round_Button *app_val_rbtn=(Fl_Round_Button *)0;
Fl_Round_Button *rep_val_rbtn=(Fl_Round_Button *)0;
Fl_Round_Button *era_val_rbtn=(Fl_Round_Button *)0;
Fl_Group *agn_part_group=(Fl_Group *)0;
Fl_Round_Button *top_val_btn=(Fl_Round_Button *)0;
Fl_Round_Button *bot_val_btn=(Fl_Round_Button *)0;
Fl_Input *sig_mod_para_input=(Fl_Input *)0;
Fl_Return_Button *can_add_btn=(Fl_Return_Button *)0;
Fl_Button *sig_add_btn=(Fl_Button *)0;
Fl_Input *mod_val_input=(Fl_Input *)0;
void cb_add_mod_btn(Fl_Button*, void*) {
{ add_mod_win = new Fl_Double_Window(315, 300, "Add model (gm3d)");
{ mod_type_group = new Fl_Group(20, 25, 250, 53, "Model Type :");
mod_type_group->align(Fl_Align(FL_ALIGN_TOP_LEFT));
{ reg_bok_rbtn = new Fl_Round_Button(20, 25, 110, 28, "Regular Block");
reg_bok_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* reg_bok_rbtn
{ til_bok_rbtn = new Fl_Round_Button(160, 25, 100, 28, "Tilted Block");
til_bok_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* til_bok_rbtn
{ sph_rbtn = new Fl_Round_Button(20, 50, 70, 28, "Sphere");
sph_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* sph_rbtn
{ int_face_rbtn = new Fl_Round_Button(160, 50, 80, 28, "Interface");
int_face_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* int_face_rbtn
mod_type_group->end();
} // Fl_Group* mod_type_group
{ val_type_group = new Fl_Group(20, 100, 250, 30, "Value Type :");
val_type_group->align(Fl_Align(FL_ALIGN_TOP_LEFT));
{ app_val_rbtn = new Fl_Round_Button(20, 100, 80, 28, "Append");
app_val_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* app_val_rbtn
{ rep_val_rbtn = new Fl_Round_Button(110, 100, 80, 28, "Replace");
rep_val_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* rep_val_rbtn
{ era_val_rbtn = new Fl_Round_Button(200, 100, 60, 28, "Erase");
era_val_rbtn->down_box(FL_ROUND_DOWN_BOX);
} // Fl_Round_Button* era_val_rbtn
val_type_group->end();
} // Fl_Group* val_type_group
{ agn_part_group = new Fl_Group(20, 150, 160, 28, "Assgin Part :");
agn_part_group->align(Fl_Align(FL_ALIGN_TOP_LEFT));
{ top_val_btn = new Fl_Round_Button(20, 150, 50, 28, "Top");
top_val_btn->down_box(FL_ROUND_DOWN_BOX);
top_val_btn->deactivate();
} // Fl_Round_Button* top_val_btn
{ bot_val_btn = new Fl_Round_Button(110, 150, 70, 28, "Bottom");
bot_val_btn->down_box(FL_ROUND_DOWN_BOX);
bot_val_btn->deactivate();
} // Fl_Round_Button* bot_val_btn
agn_part_group->end();
} // Fl_Group* agn_part_group
{ sig_mod_para_input = new Fl_Input(20, 200, 275, 28, "Model Parameter :");
sig_mod_para_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* sig_mod_para_input
{ can_add_btn = new Fl_Return_Button(210, 255, 85, 28, "Cancel");
} // Fl_Return_Button* can_add_btn
{ sig_add_btn = new Fl_Button(140, 255, 60, 28, "Add");
} // Fl_Button* sig_add_btn
{ mod_val_input = new Fl_Input(20, 255, 110, 28, "Model Value :");
mod_val_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* mod_val_input
add_mod_win->end();
} // Fl_Double_Window* add_mod_win
}

View File

@@ -0,0 +1,79 @@
# data file for the Fltk User Interface Designer (fluid)
version 1.0305
header_name {.h}
code_name {.cxx}
Function {cb_add_mod_btn(Fl_Button*, void*)} {open return_type void
} {
Fl_Window add_mod_win {
label {Add model (gm3d)} open
xywh {735 331 315 300} type Double visible
} {
Fl_Group mod_type_group {
label {Model Type :} open
xywh {20 25 250 53} align 5
} {
Fl_Round_Button reg_bok_rbtn {
label {Regular Block}
xywh {20 25 110 28} down_box ROUND_DOWN_BOX
}
Fl_Round_Button til_bok_rbtn {
label {Tilted Block}
xywh {160 25 100 28} down_box ROUND_DOWN_BOX
}
Fl_Round_Button sph_rbtn {
label Sphere
xywh {20 50 70 28} down_box ROUND_DOWN_BOX
}
Fl_Round_Button int_face_rbtn {
label Interface
xywh {160 50 80 28} down_box ROUND_DOWN_BOX
}
}
Fl_Group val_type_group {
label {Value Type :} open
xywh {20 100 250 30} align 5
} {
Fl_Round_Button app_val_rbtn {
label Append
xywh {20 100 80 28} down_box ROUND_DOWN_BOX
}
Fl_Round_Button rep_val_rbtn {
label Replace
xywh {110 100 80 28} down_box ROUND_DOWN_BOX
}
Fl_Round_Button era_val_rbtn {
label Erase
xywh {200 100 60 28} down_box ROUND_DOWN_BOX
}
}
Fl_Group agn_part_group {
label {Assgin Part :} open
xywh {20 150 160 28} align 5
} {
Fl_Round_Button top_val_btn {
label Top
xywh {20 150 50 28} down_box ROUND_DOWN_BOX deactivate
}
Fl_Round_Button bot_val_btn {
label Bottom
xywh {110 150 70 28} down_box ROUND_DOWN_BOX deactivate
}
}
Fl_Input sig_mod_para_input {
label {Model Parameter :}
xywh {20 200 275 28} align 5
}
Fl_Return_Button can_add_btn {
label Cancel
xywh {210 255 85 28}
}
Fl_Button sig_add_btn {
label Add
xywh {140 255 60 28}
}
Fl_Input mod_val_input {
label {Model Value :}
xywh {20 255 110 28} align 5
}
}
}

30
fluid_project/add_model.h Normal file
View File

@@ -0,0 +1,30 @@
// generated by Fast Light User Interface Designer (fluid) version 1.0305
#ifndef add_model_h
#define add_model_h
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
extern Fl_Double_Window *add_mod_win;
#include <FL/Fl_Group.H>
extern Fl_Group *mod_type_group;
#include <FL/Fl_Round_Button.H>
extern Fl_Round_Button *reg_bok_rbtn;
extern Fl_Round_Button *til_bok_rbtn;
extern Fl_Round_Button *sph_rbtn;
extern Fl_Round_Button *int_face_rbtn;
extern Fl_Group *val_type_group;
extern Fl_Round_Button *app_val_rbtn;
extern Fl_Round_Button *rep_val_rbtn;
extern Fl_Round_Button *era_val_rbtn;
extern Fl_Group *agn_part_group;
extern Fl_Round_Button *top_val_btn;
extern Fl_Round_Button *bot_val_btn;
#include <FL/Fl_Input.H>
extern Fl_Input *sig_mod_para_input;
#include <FL/Fl_Return_Button.H>
extern Fl_Return_Button *can_add_btn;
#include <FL/Fl_Button.H>
extern Fl_Button *sig_add_btn;
extern Fl_Input *mod_val_input;
void cb_add_mod_btn(Fl_Button*, void*);
#endif

View File

@@ -0,0 +1,69 @@
#include "gm3d_gui.h"
Fl_Double_Window *main_window=(Fl_Double_Window *)0;
Fl_Tabs *main_tabs=(Fl_Tabs *)0;
Fl_Group *model_tab=(Fl_Group *)0;
Fl_Input *mesh_para_input=(Fl_Input *)0;
Fl_Button *mesh_file_btn=(Fl_Button *)0;
Fl_Button *mod_para_file_btn=(Fl_Button *)0;
Fl_Input *mod_ele_input_build=(Fl_Input *)0;
Fl_Button *build_mod_btn=(Fl_Button *)0;
Fl_Output *mesh_para_output=(Fl_Output *)0;
Fl_Button *add_mod_btn=(Fl_Button *)0;
Fl_Button *del_mod_btn=(Fl_Button *)0;
Fl_Check_Button *rm_emp_bok_check=(Fl_Check_Button *)0;
Fl_Browser *mod_para_brw=(Fl_Browser *)0;
Fl_Button *mod_file_out_btn=(Fl_Button *)0;
Fl_Output *mod_out_file_output=(Fl_Output *)0;
Fl_Group *forward_tab=(Fl_Group *)0;
Fl_Group *grav_group=(Fl_Group *)0;
Fl_Check_Button *Vz_check=(Fl_Check_Button *)0;
Fl_Check_Button *Vzx_check=(Fl_Check_Button *)0;
Fl_Check_Button *Vzy_check=(Fl_Check_Button *)0;
Fl_Check_Button *Vzz_check=(Fl_Check_Button *)0;
Fl_Button *mod_file_btn=(Fl_Button *)0;
Fl_Button *obs_file_btn=(Fl_Button *)0;
Fl_Input *mod_file_input=(Fl_Input *)0;
Fl_Output *mod_file_output=(Fl_Output *)0;
Fl_Input *obs_file_input=(Fl_Input *)0;
Fl_Output *obs_file_output=(Fl_Output *)0;
Fl_Input *mod_ele_input=(Fl_Input *)0;
Fl_Group *mag_group=(Fl_Group *)0;
Fl_Check_Button *DeltaT_check=(Fl_Check_Button *)0;
Fl_Check_Button *DeltaTx_check=(Fl_Check_Button *)0;
Fl_Check_Button *DeltaTy_check=(Fl_Check_Button *)0;
Fl_Check_Button *DeltaTz_check=(Fl_Check_Button *)0;
Fl_Check_Button *Hax_check=(Fl_Check_Button *)0;
Fl_Check_Button *Hay_check=(Fl_Check_Button *)0;
Fl_Check_Button *Za_check=(Fl_Check_Button *)0;
Fl_Input *mag_para_input=(Fl_Input *)0;
Fl_Check_Button *mag_data_check=(Fl_Check_Button *)0;
Fl_Button *cal_btn=(Fl_Button *)0;
Fl_Input *noise_para_input=(Fl_Input *)0;
Fl_Check_Button *noise_check=(Fl_Check_Button *)0;
Fl_Input *res_file_input=(Fl_Input *)0;
Fl_Button *res_file_btn=(Fl_Button *)0;
Fl_Output *res_out_file_output=(Fl_Output *)0;
void cb_mesh_para_input(Fl_Input*, void*){}
void cb_mesh_file_btn(Fl_Widget*, void*){}
void cb_add_mod_btn(Fl_Widget*, void*){}
void cb_mod_para_file_btn(Fl_Widget*, void*){}
void cb_del_mod_btn(Fl_Widget*, void*){}
void cb_mod_para_brw(Fl_Browser*, void*){}
void cb_mod_ele_input(Fl_Input*, void*){}
void cb_rm_emp_bok_check(Fl_Check_Button*, void*){}
void cb_mod_file_out_btn(Fl_Widget*, void*){}
void cb_build_mod_btn(Fl_Widget*, void*){}
void cb_mod_file_input(Fl_Input*, void*){}
void cb_mod_file_btn(Fl_Widget*, void*){}
void cb_obs_file_input(Fl_Input*, void*){}
void cb_obs_file_btn(Fl_Widget*, void*){}
void cb_res_file_input(Fl_Input*, void*){}
void cb_res_file_btn(Fl_Widget*, void*){}
void cb_nosie_check(Fl_Check_Button*, void*){}
void cb_noise_para_input(Fl_Input*, void*){}
void cb_mag_data_check(Fl_Check_Button*, void*){}
void cb_mag_para_input(Fl_Input*, void*){}
void cb_cal_btn(Fl_Button*, void*){}
void cb_noise_check(Fl_Check_Button*, void*){}

169
fluid_project/gm3d_gui.cxx Normal file
View File

@@ -0,0 +1,169 @@
// generated by Fast Light User Interface Designer (fluid) version 1.0305
#include "gm3d_gui.h"
int main(int argc, char **argv) {
{ main_window = new Fl_Double_Window(500, 600, "gm3d");
{ main_tabs = new Fl_Tabs(10, 10, 480, 580);
{ model_tab = new Fl_Group(10, 40, 480, 550, "Build Model");
model_tab->hide();
{ mesh_para_input = new Fl_Input(40, 70, 300, 28, "Input Mesh Parameters :");
mesh_para_input->callback((Fl_Callback*)cb_mesh_para_input);
mesh_para_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* mesh_para_input
{ mesh_file_btn = new Fl_Button(360, 70, 100, 28, "Mesh File");
mesh_file_btn->callback((Fl_Callback*)cb_mesh_file_btn);
} // Fl_Button* mesh_file_btn
{ mod_para_file_btn = new Fl_Button(170, 160, 160, 28, "Add Model From File");
mod_para_file_btn->callback((Fl_Callback*)cb_mod_para_file_btn);
} // Fl_Button* mod_para_file_btn
{ mod_ele_input_build = new Fl_Input(40, 445, 215, 28, "Input Model Element Data Name:");
mod_ele_input_build->callback((Fl_Callback*)cb_mod_ele_input);
mod_ele_input_build->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* mod_ele_input_build
{ build_mod_btn = new Fl_Button(40, 545, 420, 28, "Build Model !");
build_mod_btn->callback((Fl_Callback*)cb_build_mod_btn);
} // Fl_Button* build_mod_btn
{ mesh_para_output = new Fl_Output(40, 120, 300, 28, "Mesh Parameters :");
mesh_para_output->box(FL_NO_BOX);
mesh_para_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Output* mesh_para_output
{ add_mod_btn = new Fl_Button(40, 160, 100, 28, "Add Model");
add_mod_btn->callback((Fl_Callback*)cb_add_mod_btn);
} // Fl_Button* add_mod_btn
{ del_mod_btn = new Fl_Button(360, 160, 100, 28, "Delete Model");
del_mod_btn->callback((Fl_Callback*)cb_del_mod_btn);
del_mod_btn->deactivate();
} // Fl_Button* del_mod_btn
{ rm_emp_bok_check = new Fl_Check_Button(280, 447, 180, 28, "Remove Empty Blocks");
rm_emp_bok_check->down_box(FL_DOWN_BOX);
rm_emp_bok_check->callback((Fl_Callback*)cb_rm_emp_bok_check);
} // Fl_Check_Button* rm_emp_bok_check
{ mod_para_brw = new Fl_Browser(40, 205, 420, 210);
mod_para_brw->callback((Fl_Callback*)cb_mod_para_brw);
} // Fl_Browser* mod_para_brw
{ mod_file_out_btn = new Fl_Button(360, 500, 100, 28, "Model File");
mod_file_out_btn->callback((Fl_Callback*)cb_mod_file_out_btn);
} // Fl_Button* mod_file_out_btn
{ mod_out_file_output = new Fl_Output(40, 500, 300, 28, "Output File Name :");
mod_out_file_output->box(FL_NO_BOX);
mod_out_file_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Output* mod_out_file_output
model_tab->end();
} // Fl_Group* model_tab
{ forward_tab = new Fl_Group(10, 40, 480, 550, "Forward Modeling");
{ grav_group = new Fl_Group(40, 340, 190, 58, "Forward Gravitational Data :");
grav_group->align(Fl_Align(FL_ALIGN_TOP_LEFT));
{ Vz_check = new Fl_Check_Button(40, 340, 50, 28, "Vz");
Vz_check->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* Vz_check
{ Vzx_check = new Fl_Check_Button(105, 340, 50, 28, "Vzx");
Vzx_check->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* Vzx_check
{ Vzy_check = new Fl_Check_Button(170, 340, 50, 28, "Vzy");
Vzy_check->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* Vzy_check
{ Vzz_check = new Fl_Check_Button(40, 370, 50, 28, "Vzz");
Vzz_check->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* Vzz_check
grav_group->end();
} // Fl_Group* grav_group
{ mod_file_btn = new Fl_Button(360, 70, 100, 28, "Model File");
mod_file_btn->callback((Fl_Callback*)cb_mod_file_btn);
} // Fl_Button* mod_file_btn
{ obs_file_btn = new Fl_Button(360, 130, 100, 28, "Observe File");
obs_file_btn->callback((Fl_Callback*)cb_obs_file_btn);
} // Fl_Button* obs_file_btn
{ mod_file_input = new Fl_Input(40, 70, 300, 28, "Input Model FIle :");
mod_file_input->callback((Fl_Callback*)cb_mod_file_input);
mod_file_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* mod_file_input
{ mod_file_output = new Fl_Output(40, 240, 200, 28, "Chosen Model File :");
mod_file_output->box(FL_NO_BOX);
mod_file_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Output* mod_file_output
{ obs_file_input = new Fl_Input(40, 130, 300, 28, "Input Observe FIle :");
obs_file_input->callback((Fl_Callback*)cb_obs_file_input);
obs_file_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* obs_file_input
{ obs_file_output = new Fl_Output(260, 240, 200, 28, "Chosen Observe File :");
obs_file_output->box(FL_NO_BOX);
obs_file_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Output* obs_file_output
{ mod_ele_input = new Fl_Input(260, 315, 200, 28, "Model Element Data Name :");
mod_ele_input->callback((Fl_Callback*)cb_mod_ele_input);
mod_ele_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* mod_ele_input
{ mag_group = new Fl_Group(40, 440, 420, 90);
{ DeltaT_check = new Fl_Check_Button(40, 475, 65, 25, "DeltaT");
DeltaT_check->down_box(FL_DOWN_BOX);
DeltaT_check->deactivate();
} // Fl_Check_Button* DeltaT_check
{ DeltaTx_check = new Fl_Check_Button(120, 475, 70, 25, "DeltaTx");
DeltaTx_check->down_box(FL_DOWN_BOX);
DeltaTx_check->deactivate();
} // Fl_Check_Button* DeltaTx_check
{ DeltaTy_check = new Fl_Check_Button(200, 475, 70, 25, "DeltaTy");
DeltaTy_check->down_box(FL_DOWN_BOX);
DeltaTy_check->deactivate();
} // Fl_Check_Button* DeltaTy_check
{ DeltaTz_check = new Fl_Check_Button(280, 475, 70, 25, "DeltaTz");
DeltaTz_check->down_box(FL_DOWN_BOX);
DeltaTz_check->deactivate();
} // Fl_Check_Button* DeltaTz_check
{ Hax_check = new Fl_Check_Button(40, 505, 65, 25, "Hax");
Hax_check->down_box(FL_DOWN_BOX);
Hax_check->deactivate();
} // Fl_Check_Button* Hax_check
{ Hay_check = new Fl_Check_Button(120, 505, 65, 25, "Hay");
Hay_check->down_box(FL_DOWN_BOX);
Hay_check->deactivate();
} // Fl_Check_Button* Hay_check
{ Za_check = new Fl_Check_Button(200, 505, 65, 25, "Za");
Za_check->down_box(FL_DOWN_BOX);
Za_check->deactivate();
} // Fl_Check_Button* Za_check
{ mag_para_input = new Fl_Input(220, 440, 240, 28, "Magnetization Parameters : ");
mag_para_input->tooltip("<I0>/<D0>/<I>/<D>");
mag_para_input->callback((Fl_Callback*)cb_mag_para_input);
mag_para_input->deactivate();
} // Fl_Input* mag_para_input
mag_group->end();
} // Fl_Group* mag_group
{ mag_data_check = new Fl_Check_Button(40, 405, 170, 30, "Forward Magnetic Data");
mag_data_check->down_box(FL_DOWN_BOX);
mag_data_check->callback((Fl_Callback*)cb_mag_data_check);
} // Fl_Check_Button* mag_data_check
{ cal_btn = new Fl_Button(40, 545, 420, 28, "Calculate !");
cal_btn->callback((Fl_Callback*)cb_cal_btn);
} // Fl_Button* cal_btn
{ noise_para_input = new Fl_Input(260, 370, 200, 28);
noise_para_input->tooltip("<noise-mean>/<noise-deviation>");
noise_para_input->callback((Fl_Callback*)cb_noise_para_input);
noise_para_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
noise_para_input->deactivate();
} // Fl_Input* noise_para_input
{ noise_check = new Fl_Check_Button(260, 345, 180, 30, "Input Noise Parameters :");
noise_check->down_box(FL_DOWN_BOX);
noise_check->callback((Fl_Callback*)cb_noise_check);
} // Fl_Check_Button* noise_check
{ res_file_input = new Fl_Input(40, 190, 300, 28, "Input Prefix of Output FIle :");
res_file_input->callback((Fl_Callback*)cb_res_file_input);
res_file_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Input* res_file_input
{ res_file_btn = new Fl_Button(360, 190, 100, 28, "Result File");
res_file_btn->callback((Fl_Callback*)cb_res_file_btn);
} // Fl_Button* res_file_btn
{ res_out_file_output = new Fl_Output(40, 290, 200, 28, "Prefix of Output File :");
res_out_file_output->box(FL_NO_BOX);
res_out_file_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
} // Fl_Output* res_out_file_output
forward_tab->end();
} // Fl_Group* forward_tab
main_tabs->end();
} // Fl_Tabs* main_tabs
main_window->end();
} // Fl_Double_Window* main_window
main_window->show(argc, argv);
return Fl::run();
}

267
fluid_project/gm3d_gui.fl Normal file
View File

@@ -0,0 +1,267 @@
# data file for the Fltk User Interface Designer (fluid)
version 1.0305
header_name {.h}
code_name {.cxx}
Function {cb_mesh_para_input(Fl_Input*, void*)} {open
} {}
Function {cb_mesh_file_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_add_mod_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_mod_para_file_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_del_mod_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_mod_para_brw(Fl_Browser*, void*)} {open
} {}
Function {cb_mod_ele_input(Fl_Input*, void*)} {open
} {}
Function {cb_rm_emp_bok_check(Fl_Check_Button*, void*)} {open
} {}
Function {cb_mod_file_out_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_build_mod_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_mod_file_input(Fl_Input*, void*)} {open
} {}
Function {cb_mod_file_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_obs_file_input(Fl_Input*, void*)} {open
} {}
Function {cb_obs_file_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_res_file_input(Fl_Input*, void*)} {open
} {}
Function {cb_res_file_btn(Fl_Widget*, void*)} {open
} {}
Function {cb_nosie_check(Fl_Check_Button*, void*)} {open
} {}
Function {cb_noise_para_input(Fl_Input*, void*)} {open
} {}
Function {cb_mag_data_check(Fl_Check_Button*, void*)} {open
} {}
Function {cb_mag_para_input(Fl_Input*, void*)} {open
} {}
Function {} {open
} {
Fl_Window main_window {
label gm3d open
xywh {678 185 500 600} type Double visible
} {
Fl_Tabs main_tabs {open
xywh {10 10 480 580}
} {
Fl_Group model_tab {
label {Build Model} open
xywh {10 40 480 550} hide
} {
Fl_Input mesh_para_input {
label {Input Mesh Parameters :}
callback cb_mesh_para_input
xywh {40 70 300 28} align 5
}
Fl_Button mesh_file_btn {
label {Mesh File}
callback cb_mesh_file_btn
xywh {360 70 100 28}
}
Fl_Button mod_para_file_btn {
label {Add Model From File}
callback cb_mod_para_file_btn
xywh {170 160 160 28}
}
Fl_Input mod_ele_input_build {
label {Input Model Element Data Name:}
callback cb_mod_ele_input
xywh {40 445 215 28} align 5
}
Fl_Button build_mod_btn {
label {Build Model !}
callback cb_build_mod_btn
xywh {40 545 420 28}
}
Fl_Output mesh_para_output {
label {Mesh Parameters :}
xywh {40 120 300 28} box NO_BOX align 5
}
Fl_Button add_mod_btn {
label {Add Model}
callback cb_add_mod_btn
xywh {40 160 100 28}
}
Fl_Button del_mod_btn {
label {Delete Model}
callback cb_del_mod_btn
xywh {360 160 100 28} deactivate
}
Fl_Check_Button rm_emp_bok_check {
label {Remove Empty Blocks}
callback cb_rm_emp_bok_check
xywh {280 447 180 28} down_box DOWN_BOX
}
Fl_Browser mod_para_brw {
callback cb_mod_para_brw
xywh {40 205 420 210}
}
Fl_Button mod_file_out_btn {
label {Model File}
callback cb_mod_file_out_btn
xywh {360 500 100 28}
}
Fl_Output mod_out_file_output {
label {Output File Name :}
xywh {40 500 300 28} box NO_BOX align 5
}
}
Fl_Group forward_tab {
label {Forward Modeling} open
xywh {10 40 480 550}
} {
Fl_Group grav_group {
label {Forward Gravitational Data :} open
xywh {40 340 190 58} align 5
} {
Fl_Check_Button Vz_check {
label Vz selected
xywh {40 340 50 28} down_box DOWN_BOX
}
Fl_Check_Button Vzx_check {
label Vzx
xywh {105 340 50 28} down_box DOWN_BOX
}
Fl_Check_Button Vzy_check {
label Vzy
xywh {170 340 50 28} down_box DOWN_BOX
}
Fl_Check_Button Vzz_check {
label Vzz
xywh {40 370 50 28} down_box DOWN_BOX
}
}
Fl_Button mod_file_btn {
label {Model File}
callback cb_mod_file_btn
xywh {360 70 100 28}
}
Fl_Button obs_file_btn {
label {Observe File}
callback cb_obs_file_btn
xywh {360 130 100 28}
}
Fl_Input mod_file_input {
label {Input Model FIle :}
callback cb_mod_file_input
xywh {40 70 300 28} align 5
}
Fl_Output mod_file_output {
label {Chosen Model File :}
xywh {40 240 200 28} box NO_BOX align 5
}
Fl_Input obs_file_input {
label {Input Observe FIle :}
callback cb_obs_file_input
xywh {40 130 300 28} align 5
}
Fl_Output obs_file_output {
label {Chosen Observe File :}
xywh {260 240 200 28} box NO_BOX align 5
}
Fl_Input mod_ele_input {
label {Model Element Data Name :}
callback cb_mod_ele_input
xywh {260 315 200 28} align 5
}
Fl_Group mag_group {open
xywh {40 440 420 90}
} {
Fl_Check_Button DeltaT_check {
label DeltaT
xywh {40 475 65 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button DeltaTx_check {
label DeltaTx
xywh {120 475 70 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button DeltaTy_check {
label DeltaTy
xywh {200 475 70 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button DeltaTz_check {
label DeltaTz
xywh {280 475 70 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button Hax_check {
label Hax
xywh {40 505 65 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button Hay_check {
label Hay
xywh {120 505 65 25} down_box DOWN_BOX deactivate
}
Fl_Check_Button Za_check {
label Za
xywh {200 505 65 25} down_box DOWN_BOX deactivate
}
Fl_Input mag_para_input {
label {Magnetization Parameters : }
callback cb_mag_para_input
tooltip {<I0>/<D0>/<I>/<D>} xywh {220 440 240 28} deactivate
}
}
Fl_Check_Button mag_data_check {
label {Forward Magnetic Data}
callback cb_mag_data_check
xywh {40 405 170 30} down_box DOWN_BOX
}
Fl_Button cal_btn {
label {Calculate !}
callback cb_cal_btn
xywh {40 545 420 28}
}
Fl_Input noise_para_input {
callback cb_noise_para_input
tooltip {<noise-mean>/<nosie-deviation>} xywh {260 370 200 28} align 5 deactivate
}
Fl_Check_Button noise_check {
label {Input Noise Parameters :}
callback cb_noise_check
xywh {260 345 180 30} down_box DOWN_BOX
}
Fl_Input res_file_input {
label {Input Prefix of Output FIle :}
callback cb_res_file_input
xywh {40 190 300 28} align 5
}
Fl_Button res_file_btn {
label {Result File}
callback cb_res_file_btn
xywh {360 190 100 28}
}
Fl_Output res_out_file_output {
label {Prefix of Output File :}
xywh {40 290 200 28} box NO_BOX align 5
}
}
}
}
}

82
fluid_project/gm3d_gui.h Normal file
View File

@@ -0,0 +1,82 @@
// generated by Fast Light User Interface Designer (fluid) version 1.0305
#ifndef _GM3D_GUI_H
#define _GM3D_GUI_H
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Output.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Browser.H>
extern void cb_mesh_para_input(Fl_Input*, void*);
extern void cb_mesh_file_btn(Fl_Widget*, void*);
extern void cb_add_mod_btn(Fl_Widget*, void*);
extern void cb_mod_para_file_btn(Fl_Widget*, void*);
extern void cb_del_mod_btn(Fl_Widget*, void*);
extern void cb_mod_para_brw(Fl_Browser*, void*);
extern void cb_mod_ele_input(Fl_Input*, void*);
extern void cb_rm_emp_bok_check(Fl_Check_Button*, void*);
extern void cb_mod_file_out_btn(Fl_Widget*, void*);
extern void cb_build_mod_btn(Fl_Widget*, void*);
extern void cb_mod_file_input(Fl_Input*, void*);
extern void cb_mod_file_btn(Fl_Widget*, void*);
extern void cb_obs_file_input(Fl_Input*, void*);
extern void cb_obs_file_btn(Fl_Widget*, void*);
extern void cb_res_file_input(Fl_Input*, void*);
extern void cb_res_file_btn(Fl_Widget*, void*);
extern void cb_nosie_check(Fl_Check_Button*, void*);
extern void cb_noise_para_input(Fl_Input*, void*);
extern void cb_mag_data_check(Fl_Check_Button*, void*);
extern void cb_mag_para_input(Fl_Input*, void*);
extern void cb_cal_btn(Fl_Button*, void*);
extern void cb_noise_check(Fl_Check_Button*, void*);
extern Fl_Double_Window *main_window;
extern Fl_Tabs *main_tabs;
extern Fl_Group *model_tab;
extern Fl_Input *mesh_para_input;
extern Fl_Button *mesh_file_btn;
extern Fl_Button *mod_para_file_btn;
extern Fl_Input *mod_ele_input_build;
extern Fl_Button *build_mod_btn;
extern Fl_Output *mesh_para_output;
extern Fl_Button *add_mod_btn;
extern Fl_Button *del_mod_btn;
extern Fl_Check_Button *rm_emp_bok_check;
extern Fl_Browser *mod_para_brw;
extern Fl_Button *mod_file_out_btn;
extern Fl_Output *mod_out_file_output;
extern Fl_Group *forward_tab;
extern Fl_Group *grav_group;
extern Fl_Check_Button *Vz_check;
extern Fl_Check_Button *Vzx_check;
extern Fl_Check_Button *Vzy_check;
extern Fl_Check_Button *Vzz_check;
extern Fl_Button *mod_file_btn;
extern Fl_Button *obs_file_btn;
extern Fl_Input *mod_file_input;
extern Fl_Output *mod_file_output;
extern Fl_Input *obs_file_input;
extern Fl_Output *obs_file_output;
extern Fl_Input *mod_ele_input;
extern Fl_Group *mag_group;
extern Fl_Check_Button *DeltaT_check;
extern Fl_Check_Button *DeltaTx_check;
extern Fl_Check_Button *DeltaTy_check;
extern Fl_Check_Button *DeltaTz_check;
extern Fl_Check_Button *Hax_check;
extern Fl_Check_Button *Hay_check;
extern Fl_Check_Button *Za_check;
extern Fl_Input *mag_para_input;
extern Fl_Check_Button *mag_data_check;
extern Fl_Button *cal_btn;
extern Fl_Input *noise_para_input;
extern Fl_Check_Button *noise_check;
extern Fl_Input *res_file_input;
extern Fl_Button *res_file_btn;
extern Fl_Output *res_out_file_output;
#endif