Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 11 additions & 70 deletions Source/smokeview/glui_trainer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,17 @@

#define MOVETYPE 200
#define TRAINERPATH 201
#define TOGGLE_VIEW 203
#define TRAINER_PAUSE 212
#define TRAINER_LEFTRIGHT_INOUT 221
#define TRAINER_UPDOWN 223
#define TRAINER_AZ_ELEV 231

#define TRAINERVIEWPOINTS 300
#define TRAINEROUTLINE 301
#define MENU_OUTLINEVIEW -104

GLUI *glui_trainer=NULL;

GLUI_Checkbox *CHECKBOX_pause=NULL;
GLUI_Checkbox *CHECKBOX_outline=NULL;

GLUI_Listbox *LIST_trainerpath=NULL,*LIST_viewpoint=NULL;

Expand All @@ -39,7 +36,6 @@ GLUI_Panel *PANEL_manual=NULL;//, *PANEL_automatic=NULL;
GLUI_Panel *PANEL_move=NULL,*PANEL_rotate2=NULL;

GLUI_Button *BUTTON_smoke3d=NULL, *BUTTON_temp=NULL, *BUTTON_oxy=NULL, *BUTTON_unload=NULL;
GLUI_Button *BUTTON_toggle_view=NULL;

GLUI_Translation *TRANSLATE_updown=NULL,*TRANSLATE_leftright_inout=NULL;
GLUI_Translation *TRANSLATE_az_elev=NULL;
Expand All @@ -51,8 +47,8 @@ GLUI *glui_alert=NULL;
/* ------------------ GLUISetViewListManual ------------------------ */

extern "C" void GLUISetViewListManual(void){
if(trainer_viewpoints!=-1){
LIST_viewpoint->set_int_val(-1);
if(trainer_viewpoints!=-2){
LIST_viewpoint->set_int_val(-2);
}
}

Expand Down Expand Up @@ -97,18 +93,6 @@ extern "C" void GLUIShowTrainer(void){
}
}

/* ------------------ GLUIUpdateTrainerOutline ------------------------ */

extern "C" void GLUIUpdateTrainerOutline(void){
if(visBlocks==visBLOCKOutline){
trainer_outline=0;
}
else{
trainer_outline=1;
}
if(CHECKBOX_outline!=NULL)CHECKBOX_outline->set_int_val(trainer_outline);
}

/* ------------------ GLUIUpdateTrainerMoves ------------------------ */

extern "C" void GLUIUpdateTrainerMoves(void){
Expand Down Expand Up @@ -148,44 +132,13 @@ void TrainerCB(int var){
stept = trainer_pause;
Keyboard('t', FROM_SMOKEVIEW);
break;
case TOGGLE_VIEW:
if(ntrainer_viewpoints <= 0)break;
trainer_viewpoints--;
if(trainer_viewpoints < 2){
trainer_viewpoints = ntrainer_viewpoints;
}
LIST_viewpoint->set_int_val(trainer_viewpoints);
TrainerCB(TRAINERVIEWPOINTS);
break;
case TRAINERVIEWPOINTS:
if(trainer_viewpoints != -1){
ResetMenu(trainer_viewpoints);
}
if(trainer_path != -1){
int viewpoint_save;

viewpoint_save = trainer_viewpoints;
LIST_trainerpath->set_int_val(-1);
TrainerCB(TRAINERPATH);
if(viewpoint_save != -11){
LIST_viewpoint->set_int_val(viewpoint_save);
ResetMenu(viewpoint_save);
}
}
break;
case TRAINEROUTLINE:
if(trainer_outline == 0){
visBlocks = visBLOCKAsInput;
}
else{
visBlocks = visBLOCKOutline;
}
ResetMenu(MENU_OUTLINEVIEW);
ResetDefaultMenu(trainer_viewpoints);
break;
case TRAINERPATH:
TrainerCB(MOVETYPE);
if(trainer_viewpoints != 1){
LIST_viewpoint->set_int_val(-1);
if(trainer_viewpoints != -2){
LIST_viewpoint->set_int_val(-2);
}
switch(trainer_path){
case -1:
Expand Down Expand Up @@ -285,8 +238,8 @@ void RotateCB(int var){
SetViewPoint(RESTORE_EXTERIOR_VIEW);
}

if(trainer_viewpoints != -1){
LIST_viewpoint->set_int_val(-1);
if(trainer_viewpoints != -2){
LIST_viewpoint->set_int_val(-2);
}
if(trainer_path != -1){
LIST_trainerpath->set_int_val(-1);
Expand Down Expand Up @@ -350,32 +303,20 @@ extern "C" void GLUITrainerSetup(int main_window){
}
}

trainer_viewpoints = -2;
LIST_viewpoint = glui_trainer->add_listbox_to_panel(PANEL_explore,"Viewpoint:",&trainer_viewpoints,TRAINERVIEWPOINTS,TrainerCB);
{
cameradata *ca;

for(ca=camera_list_first.next;ca->next!=NULL;ca=ca->next){
char line[256];

if(strcmp(ca->name,"external")==0){
strcpy(line,"Default");
LIST_viewpoint->add_item(ca->view_id,line);
LIST_viewpoint->add_item(-1,"-");
if(strcmp(ca->name,"external")!=0){
LIST_viewpoint->add_item(ca->view_id, ca->name);
}
else{
strcpy(line,ca->name);
LIST_viewpoint->add_item(ca->view_id,line);
}
if(ca->view_id>=1)ntrainer_viewpoints++;
}
}
BUTTON_toggle_view = glui_trainer->add_button_to_panel(PANEL_explore,"Toggle View",TOGGLE_VIEW,TrainerCB);
if(ntrainer_viewpoints<=2)BUTTON_toggle_view->disable();

CHECKBOX_outline = glui_trainer->add_checkbox_to_panel(PANEL_explore,"Show walls",&trainer_outline,TRAINEROUTLINE,TrainerCB);
LIST_viewpoint->set_int_val(trainer_viewpoints);
CHECKBOX_pause = glui_trainer->add_checkbox_to_panel(PANEL_explore,"Pause",&trainer_pause,TRAINER_PAUSE,TrainerCB);

GLUIUpdateTrainerOutline();
PANEL_move = glui_trainer->add_panel_to_panel(PANEL_explore,"Move",false);
TRANSLATE_leftright_inout = glui_trainer->add_translation_to_panel(PANEL_move,"Horizontal",
GLUI_TRANSLATION_XY,trainer_xzy,TRAINER_LEFTRIGHT_INOUT, RotateCB);
Expand Down
75 changes: 29 additions & 46 deletions Source/smokeview/menus.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,49 +613,21 @@ void ShowMultiSliceMenu(int value){

/* ------------------ ShowAllSlices ------------------------ */

void ShowAllSlices(char *type1, char *type2){
void ShowAllSlices(char *type1){
int i;

GLUTSETCURSOR(GLUT_CURSOR_WAIT);
if(trainer_showall_mslice == 1){
for(i = 0; i < global_scase.slicecoll.nsliceinfo; i++){
slicedata *slicei;

slicei = global_scase.slicecoll.sliceinfo + i;
slicei->display = 0;
if(slicei->loaded == 0)continue;
if(
(type1 != NULL&&STRCMP(slicei->label.longlabel, type1) == 0) ||
(type2 != NULL&&STRCMP(slicei->label.longlabel, type2) == 0)
){
global_scase.slicecoll.sliceinfo[i].display = 1;
slicefile_labelindex = slicei->slicefile_labelindex;
}
}
}
else{
int msliceindex;
for(i = 0; i < global_scase.slicecoll.nsliceinfo; i++){
slicedata *slicei;

if(trainerload == 2){
if(trainerload == trainerload_old){
trainer_temp_index++;
if(trainer_temp_index > trainer_temp_n - 1){
trainer_temp_index = 0;
}
}
msliceindex = trainer_temp_indexes[trainer_temp_index];
slicei = global_scase.slicecoll.sliceinfo + i;
if(slicei->loaded == 0)continue;
if(type1 != NULL&&STRCMP(slicei->label.longlabel, type1) == 0){
slicei->display = 1;
}
else{
if(trainerload == trainerload_old){
trainer_oxy_index++;
if(trainer_oxy_index > trainer_oxy_n - 1){
trainer_oxy_index = 0;
}
}
msliceindex = trainer_oxy_indexes[trainer_oxy_index];
slicei->display = 0;
}
ShowMultiSliceMenu(HIDE_ALL);
ShowMultiSliceMenu(msliceindex);
}
updatemenu = 1;
GLUTPOSTREDISPLAY;
Expand All @@ -664,24 +636,32 @@ void ShowAllSlices(char *type1, char *type2){

/* ------------------ TrainerViewMenu ------------------------ */

void LoadAllSlicesLabel(char *label);
void TrainerViewMenu(int value){
switch(value){
case MENU_TRAINER_smoke: // realistic
HideAllSlices();
trainerload=1;
void LoadSmoke3DMenu(int var);
LoadSmoke3DMenu(0);
LoadSmoke3DMenu(1);
ShowAllSmoke();
trainerload_old=1;
break;
case MENU_TRAINER_temp: // temperature slices
HideAllSmoke();
trainerload=2;
ShowAllSlices("TEMPERATURE",NULL);
sliceload_dir = 1;
LoadAllSlicesLabel("temp");
ShowAllSlices("TEMPERATURE");
trainerload_old=2;
break;
case MENU_TRAINER_oxy: // oxygen slices
HideAllSmoke();
trainerload=3;
ShowAllSlices("OXYGEN","OXYGEN VOLUME FRACTION");
sliceload_dir = 1;
LoadAllSlicesLabel("X_O2");
ShowAllSlices("OXYGEN VOLUME FRACTION");
trainerload_old=3;
break;
case MENU_TRAINER_CLEAR: // unload
Expand Down Expand Up @@ -1558,7 +1538,6 @@ void DialogMenu(int value){
break;
case DIALOG_GEOMETRY_CLOSE:
GLUIHideGeometry();
GLUIUpdateTrainerOutline();
break;
case DIALOG_GEOMETRY_OPEN:
if(global_scase.fds_filein!=NULL&&updategetobstlabels==1){
Expand All @@ -1569,7 +1548,6 @@ void DialogMenu(int value){
}
GLUIShowGeometry();
visBlocks=visBLOCKNormal;
GLUIUpdateTrainerOutline();
break;
case DIALOG_TERRAIN:
GLUIShowTerrain();
Expand Down Expand Up @@ -5178,13 +5156,11 @@ void LoadMultiSliceMenu(int value){
}
}

/* ------------------ LoadMultiSliceMenu ------------------------ */
/* ------------------ LoadAllSlices ------------------------ */

void LoadAllMultiSliceMenu(void){
void LoadAllSlicesLabel(char *label){
int i;
char *label;

label = slicebounds_cpp[sliceload_boundtype].label;
for(i = 0; i < global_scase.slicecoll.nmultisliceinfo; i++){
multislicedata *mslicei;
slicedata *slicei;
Expand All @@ -5205,6 +5181,15 @@ void LoadAllMultiSliceMenu(void){
}
}

/* ------------------ LoadAllMultiSliceMenu ------------------------ */

void LoadAllMultiSliceMenu(void){
char *label;

label = slicebounds_cpp[sliceload_boundtype].label;
LoadAllSlicesLabel(label);
}

/* ------------------ LoadAllMultiVSliceMenu ------------------------ */

void LoadAllMultiVSliceMenu(void){
Expand Down Expand Up @@ -6344,15 +6329,13 @@ void BlockageMenu(int value){
case visBLOCKAsInputOutline:
case visBLOCKAsInput:
visBlocks=value;
GLUIUpdateTrainerOutline();
break;
case visBLOCKNormal:
case visBLOCKOutline:
case visBLOCKHide:
case visBLOCKSolidOutline:
visBlocks=value;
if(value==visBLOCKSolidOutline||visBLOCKold==visBLOCKSolidOutline)global_scase.updatefaces=1;
GLUIUpdateTrainerOutline();
break;
case BLOCKlocation_grid:
case BLOCKlocation_exact:
Expand Down
3 changes: 2 additions & 1 deletion Source/smokeview/smokeheaders.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ EXTERNCPP void AddDeleteKeyframe(int flag);

//*** glui_trainer.cpp headers

EXTERNCPP void GLUIUpdateTrainerOutline(void);
EXTERNCPP void GLUIUpdateTrainerMoves(void);
EXTERNCPP void GLUISetViewListManual(void);
EXTERNCPP void GLUITrainerSetup(int main_window);
Expand Down Expand Up @@ -446,6 +445,8 @@ EXTERNCPP void UpdateIsoType(void);
EXTERNCPP void UpdateIsoTypes(void);
EXTERNCPP void UpdateIsoShowLevels(smv_case *scase, meshdata *isomesh);
EXTERNCPP void *UpdateTrianglesAll(void *arg);
EXTERNCPP void ResetDefaultMenu(int var);


//*** IOpart.c headers

Expand Down
3 changes: 1 addition & 2 deletions Source/smokeview/smokeviewvars.h
Original file line number Diff line number Diff line change
Expand Up @@ -1258,8 +1258,7 @@ SVEXTERN float p3chopmin[MAXPLOT3DVARS], p3chopmax[MAXPLOT3DVARS];
SVEXTERN int SVDECL(trainer_pause,0), SVDECL(trainee_location,0), SVDECL(trainer_inside,0);
SVEXTERN int SVDECL(from_glui_trainer,0);
SVEXTERN int SVDECL(trainer_path_old,-3);
SVEXTERN int SVDECL(trainer_outline,1);
SVEXTERN int SVDECL(trainer_viewpoints,-1), SVDECL(ntrainer_viewpoints,0);
SVEXTERN int SVDECL(trainer_viewpoints,-2);
SVEXTERN int SVDECL(trainer_realtime,1);
SVEXTERN int SVDECL(trainer_path,0);
#ifdef INMAIN
Expand Down
1 change: 1 addition & 0 deletions vistest/trainer/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Loading
Loading