Skip to content

Commit 93a325d

Browse files
authored
add pp_HTML directive for isolating render to html code (#2495)
* smokeview source: add pp_HTML directive * smokeview source: add back RENDERDIR script keyword hidden by previous commit
1 parent c7457b5 commit 93a325d

File tree

11 files changed

+53
-15
lines changed

11 files changed

+53
-15
lines changed

Source/shared/paths.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ char *CasePathSmvOrig(smv_case *scase){
141141
return SetupPath(NULL, scase->fdsprefix, ".smo");
142142
}
143143

144+
#ifdef pp_HTML
144145
/* ------------------ CasePathHtmlVr ------------------------ */
145146

146147
// char *htmlvr_filename;
@@ -168,6 +169,7 @@ char *CasePathHtmlSliceNode(smv_case *scase){
168169
char *CasePathHtmlSliceCell(smv_case *scase){
169170
return SetupPath(NULL, scase->fdsprefix, "_slicecell.json");
170171
}
172+
#endif
171173

172174
/* ------------------ CasePathEvent ------------------------ */
173175

Source/shared/paths.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,20 @@ EXTERNCPP char *CasePathCaseIni(smv_case *scase);
2727
EXTERNCPP char *CasePathFed(smv_case *scase);
2828
// char *dEcsv_filename;
2929
EXTERNCPP char *CasePathDeCsv(smv_case *scase);
30-
// char *html_filename;
31-
EXTERNCPP char *CasePathHtml(smv_case *scase);
32-
// char *smv_orig_filename;
33-
EXTERNCPP char *CasePathSmvOrig(smv_case *scase);
30+
#ifdef pp_HTML
3431
// char *htmlvr_filename;
3532
EXTERNCPP char *CasePathHtmlVr(smv_case *scase);
33+
// char *html_filename;
34+
EXTERNCPP char *CasePathHtml(smv_case *scase);
3635
// char *htmlobst_filename;
3736
EXTERNCPP char *CasePathHtmlObst(smv_case *scase);
3837
// char *htmlslicenode_filename;
3938
EXTERNCPP char *CasePathHtmlSliceNode(smv_case *scase);
4039
// char *htmlslicecell_filename;
4140
EXTERNCPP char *CasePathHtmlSliceCell(smv_case *scase);
41+
// char *smv_orig_filename;
42+
#endif
43+
EXTERNCPP char *CasePathSmvOrig(smv_case *scase);
4244
// char *event_filename;
4345
EXTERNCPP char *CasePathEvent(smv_case *scase);
4446
// char *ffmpeg_command_filename;

Source/smokeview/IOscript.c

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,13 +382,15 @@ void InitKeywords(void){
382382
InitKeyword("RENDERCLIP", SCRIPT_RENDERCLIP, 1); // documented
383383
InitKeyword("RENDERDIR", SCRIPT_RENDERDIR, 1); // documented
384384
InitKeyword("RENDERDOUBLEONCE", SCRIPT_RENDERDOUBLEONCE, 1); // documented
385+
#ifdef pp_HTML
385386
InitKeyword("RENDERHTMLALL", SCRIPT_RENDERHTMLALL, 1); // documented
386387
InitKeyword("RENDERHTMLDIR", SCRIPT_RENDERHTMLDIR, 1); // documented
387388
InitKeyword("RENDERHTMLGEOM", SCRIPT_RENDERHTMLGEOM, 1);
388389
InitKeyword("RENDERHTMLOBST", SCRIPT_RENDERHTMLOBST, 1);
389390
InitKeyword("RENDERHTMLONCE", SCRIPT_RENDERHTMLONCE, 1); // documented
390391
InitKeyword("RENDERHTMLSLICECELL", SCRIPT_RENDERHTMLSLICECELL, 2);
391392
InitKeyword("RENDERHTMLSLICENODE", SCRIPT_RENDERHTMLSLICENODE, 2);
393+
#endif
392394
InitKeyword("RENDERONCE", SCRIPT_RENDERONCE, 1); // documented
393395
InitKeyword("RENDERSIZE", SCRIPT_RENDERSIZE, 1); // documented
394396
InitKeyword("RENDERSTART", SCRIPT_RENDERSTART, 1); // documented
@@ -924,18 +926,24 @@ int CompileScript(char *scriptfile){
924926
scripti->ival = AVI;
925927
}
926928
break;
927-
929+
#ifdef pp_HTML
928930
// RENDERDIR
929-
// RENDERHTMLDIR
930931
// directory name (char) (where rendered files will go)
931932
case SCRIPT_RENDERDIR:
932933
case SCRIPT_RENDERHTMLDIR:
934+
#else
935+
// RENDERDIR
936+
// directory name (char) (where rendered files will go)
937+
case SCRIPT_RENDERDIR:
938+
#endif
933939
{
934940
int len;
935941
int i;
936942

937943
scripti->need_graphics = 1;
944+
#ifdef pp_HTML
938945
if(kw->index==SCRIPT_RENDERHTMLDIR)scripti->need_graphics = 0;
946+
#endif
939947
SETbuffer;
940948
if(script_renderdir_cmd!=NULL&&strlen(script_renderdir_cmd)>0){
941949
strcpy(param_buffer, script_renderdir_cmd);
@@ -994,7 +1002,7 @@ int CompileScript(char *scriptfile){
9941002
case SCRIPT_RENDERDOUBLEONCE:
9951003
SETcval2;
9961004
break;
997-
1005+
#ifdef pp_HTML
9981006
// RENDERHTMLONCE
9991007
// RENDERHTMLALL
10001008
// file name base (char) (or blank to use smokeview default)
@@ -1016,7 +1024,7 @@ int CompileScript(char *scriptfile){
10161024
SETcval2;
10171025
scripti->need_graphics = 0;
10181026
break;
1019-
1027+
#endif
10201028
// RENDERSTART
10211029
// start_frame (int) skip_frame (int)
10221030
case SCRIPT_RENDERSTART:
@@ -1572,6 +1580,7 @@ case SCRIPT_LOADSMV:
15721580
return return_val;
15731581
}
15741582

1583+
#ifdef pp_HTML
15751584
/* ------------------ GetWebFileName ------------------------ */
15761585

15771586
void GetWebFileName(char *web_filename, scriptdata *scripti){
@@ -1648,6 +1657,7 @@ void ScriptRenderHtml(scriptdata *scripti, int option){
16481657
GetWebFileName(webvr_filename, scripti);
16491658
strcat(webvr_filename,"_vr.html");
16501659
}
1660+
#endif
16511661

16521662
/* ------------------ ScriptRenderStart ------------------------ */
16531663

@@ -4019,6 +4029,7 @@ int RunScriptCommand(scriptdata *script_command){
40194029
script_dir_path=NULL;
40204030
}
40214031
break;
4032+
#ifdef pp_HTML
40224033
case SCRIPT_RENDERHTMLDIR:
40234034
if(scripti->cval!=NULL&&strlen(scripti->cval)>0){
40244035
script_htmldir_path = scripti->cval;
@@ -4033,6 +4044,7 @@ int RunScriptCommand(scriptdata *script_command){
40334044
script_htmldir_path = NULL;
40344045
}
40354046
break;
4047+
#endif
40364048
case SCRIPT_KEYBOARD:
40374049
if(scripti->cval!=NULL){
40384050
char *key;
@@ -4084,6 +4096,7 @@ int RunScriptCommand(scriptdata *script_command){
40844096
Keyboard('r',FROM_SMOKEVIEW);
40854097
returnval=1;
40864098
break;
4099+
#ifdef pp_HTML
40874100
case SCRIPT_RENDERHTMLALL:
40884101
ScriptRenderHtml(scripti, HTML_ALL_TIMES);
40894102
returnval = 1;
@@ -4108,6 +4121,7 @@ int RunScriptCommand(scriptdata *script_command){
41084121
ScriptRenderSliceCell(scripti);
41094122
returnval = 1;
41104123
break;
4124+
#endif
41114125
case SCRIPT_RENDERDOUBLEONCE:
41124126
Keyboard('R',FROM_SMOKEVIEW);
41134127
returnval=1;

Source/smokeview/IOscript.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
#define EXTERNAL_VIEW 1
55

66
#define SCRIPT_RENDERONCE 101
7+
#ifdef pp_HTML
78
#define SCRIPT_RENDERHTMLONCE 102
89
#define SCRIPT_RENDERHTMLALL 105
910
#define SCRIPT_RENDERHTMLDIR 109
1011
#define SCRIPT_RENDERHTMLGEOM 123
1112
#define SCRIPT_RENDERHTMLOBST 124
1213
#define SCRIPT_RENDERHTMLSLICENODE 125
1314
#define SCRIPT_RENDERHTMLSLICECELL 126
15+
#endif
1416
#define SCRIPT_RENDERDOUBLEONCE 103
1517
#define SCRIPT_RENDERALL 104
1618
#define SCRIPT_RENDER360ALL 106

Source/smokeview/glui_motion.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,8 +1485,9 @@ extern "C" void GLUIMotionSetup(int main_window){
14851485
glui_motion->add_radiobutton_to_group(RADIO_render_type, "jpg");
14861486
glui_motion->add_radiobutton_to_group(RADIO_render_type, "gif");
14871487

1488+
#ifdef pp_HTML
14881489
glui_motion->add_button_to_panel(PANEL_render_file, "Render to html", RENDER_HTML, RenderCB);
1489-
1490+
#endif
14901491
LIST_render_skip = glui_motion->add_listbox_to_panel(ROLLOUT_render, "Show:", &render_skip, RENDER_SKIP, RenderCB);
14911492
for(i = 0; i<NRENDER_SKIPS; i++){
14921493
LIST_render_skip->add_item(render_skips[i], crender_skips[i]);
@@ -2683,11 +2684,15 @@ void RenderCB(int var){
26832684
case RENDER_LABEL:
26842685
case RENDER_TYPE:
26852686
break;
2686-
case RENDER_HTML: {
2687-
char *html_filename = CasePathHtml(&global_scase);
2688-
Smv2Html(html_filename, HTML_CURRENT_TIME, FROM_SMOKEVIEW);
2689-
FREEMEMORY(html_filename);
2690-
} break;
2687+
#ifdef pp_HTML
2688+
case RENDER_HTML:
2689+
{
2690+
char *html_filename = CasePathHtml(&global_scase);
2691+
Smv2Html(html_filename, HTML_CURRENT_TIME, FROM_SMOKEVIEW);
2692+
FREEMEMORY(html_filename);
2693+
}
2694+
break;
2695+
#endif
26912696
#ifdef pp_RENDER360_DEBUG
26922697
case RENDER_DEBUG_360:
26932698
if(debug_360_skip_x<2){

Source/smokeview/glui_motion.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@
9797
#define UPPER_SCREEN_ROLLOUT 2
9898

9999
#define RENDER_360CB 9
100+
#ifdef pp_HTML
100101
#define RENDER_HTML 15
102+
#endif
101103

102104
//*** glui_motion.cpp headers
103105

Source/smokeview/menus.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2040,11 +2040,12 @@ void RenderMenu(int value){
20402040
}
20412041
Keyboard('R',FROM_SMOKEVIEW);
20422042
break;
2043+
#ifdef pp_HTML
20432044
case RenderJSON:
20442045
case RenderJSONALL:
20452046
{
20462047

2047-
char *htmlobst_filename = CasePathHtmlObst(&global_scase);
2048+
char *htmlobst_filename = CasePathHtmlObst(&global_scase);
20482049
char *htmlslicenode_filename = CasePathHtmlSliceNode(&global_scase);
20492050
char *htmlslicecell_filename = CasePathHtmlSliceCell(&global_scase);
20502051
int json_option;
@@ -2088,6 +2089,7 @@ void RenderMenu(int value){
20882089
FREEMEMORY(html_filename);
20892090

20902091
} break;
2092+
#endif
20912093
case RenderCancel:
20922094
RenderState(RENDER_OFF);
20932095
break;
@@ -11538,11 +11540,13 @@ static int menu_count=0;
1153811540
CREATEMENU(rendermenu,RenderMenu);
1153911541
GLUTADDSUBMENU("Start rendering", render_startmenu);
1154011542
glutAddMenuEntry("Stop rendering", RenderCancel);
11543+
#ifdef pp_HTML
1154111544
glutAddMenuEntry("-", MENU_DUMMY);
1154211545
glutAddMenuEntry("Render html(current)", RenderHTML);
1154311546
glutAddMenuEntry("Render html(all)", RenderHTMLALL);
1154411547
glutAddMenuEntry("Render json(current)", RenderJSON);
1154511548
glutAddMenuEntry("Render json(all)", RenderJSONALL);
11549+
#endif
1154611550

1154711551
glutAddMenuEntry("-", MENU_DUMMY);
1154811552

Source/smokeview/options.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
//#define pp_SHOW_UPDATE // show what is being updated in the UpdateShowScene routine
1515
//#define pp_TERRAIN_HIDE // hide terrain when hiding internal blockages
16+
//#define pp_HTML // add option to render to html (html render not working)
1617

1718
//*** options: windows
1819

Source/smokeview/renderhtml.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#ifdef pp_HTML
12
#include "options.h"
23
#include <assert.h>
34
#include <stdlib.h>
@@ -2539,3 +2540,4 @@ int Smv2Html(char *html_file, int option, int from_where){
25392540
printf(" - complete\n");
25402541
return 0;
25412542
}
2543+
#endif

Source/smokeview/smokeheaders.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,13 +741,15 @@ EXTERNCPP void UpdateUseTextures(void);
741741
EXTERNCPP void UpdateVentOffset(void);
742742
EXTERNCPP void WriteIni(int flag,char *file);
743743

744+
#ifdef pp_HTML
744745
//*** renderhtml.c headers
745746

746747
EXTERNCPP int Obst2Data(char *html_file);
747748
EXTERNCPP int SliceNode2Data(char *html_file, int option);
748749
EXTERNCPP int SliceCell2Data(char *html_file, int option);
749750
EXTERNCPP int Smv2Html(char *html_out, int option, int from_where);
750751
EXTERNCPP int Smv2Geom(char *html_file);
752+
#endif
751753

752754
//*** renderimage.c headers
753755

0 commit comments

Comments
 (0)