diff options
author | Shashank Bhalotia | 2017-07-12 14:01:23 +0000 |
---|---|---|
committer | GitHub | 2017-07-12 14:01:23 +0000 |
commit | bac6f6c472be21ef6317465c5aeee43319b1dd5f (patch) | |
tree | 9aaa7a4a847ee94ef35461a1c17f38f8ee9c0dab | |
parent | e4ef91e9cf7216af331235e36f35675aeebc9ad0 (diff) | |
download | scilab_for_xcos_on_cloud-bac6f6c472be21ef6317465c5aeee43319b1dd5f.tar.gz scilab_for_xcos_on_cloud-bac6f6c472be21ef6317465c5aeee43319b1dd5f.tar.bz2 scilab_for_xcos_on_cloud-bac6f6c472be21ef6317465c5aeee43319b1dd5f.zip |
Update cscopxy3d.c
-rwxr-xr-x | modules/scicos_blocks/src/c/cscopxy3d.c | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/modules/scicos_blocks/src/c/cscopxy3d.c b/modules/scicos_blocks/src/c/cscopxy3d.c index 1c106f177..47d596595 100755 --- a/modules/scicos_blocks/src/c/cscopxy3d.c +++ b/modules/scicos_blocks/src/c/cscopxy3d.c @@ -152,18 +152,20 @@ SCICOS_BLOCKS_IMPEXP void cscopxy3d(scicos_block * block, scicos_flag flag) int j; BOOL result; - + // Define file pointer to write data to a log file which can used for output generation to the client FILE* filePointer; int processId; char fileName[25]; char line[100]; - filePointer = NULL; processId = 0; + // Get the process id to give a unique name to the requested simulation processId = getpid(); // On Linux - sprintf(fileName, "scilab-log-%d.txt", processId); + sprintf(fileName, "scilab-log-%d.txt", processId); + // Open file in append mode filePointer = fopen(fileName, "a"); + // Give block id to distinguish blocks int block_id=5; switch (flag) @@ -182,7 +184,7 @@ SCICOS_BLOCKS_IMPEXP void cscopxy3d(scicos_block * block, scicos_flag flag) set_block_error(-5); } - + // Write data to define Initialization phase fprintf(filePointer, "%d || Initialization %d\n", processId, iFigureUID); break; @@ -204,21 +206,32 @@ SCICOS_BLOCKS_IMPEXP void cscopxy3d(scicos_block * block, scicos_flag flag) for (j = 0; j < block->insz[0]; j++) { + // Store parameters required to generate output on the web int iFigureUID = getFigure(block); int iAxeUID = getAxe(iFigureUID, block); int iPolylineUID = getPolyline(iAxeUID, block, j); - fprintf(filePointer, "%d %d || %d | %d | %d || %f %f %f %d %f %f %f %f %f %f %s %f %f\n", block_id,processId, iFigureUID, iAxeUID, iPolylineUID, x[j], y[j], z[j],1,block->rpar[0],block->rpar[1],block->rpar[2],block->rpar[3],block->rpar[4],block->rpar[5],"CSCOPXY3D", block->rpar[6], block->rpar[7]); - result = pushData(block, j); - if (result == FALSE) - { - Coserror("%s: unable to push some data.", "cscopxy3d"); - break; - } + // Store scilab's plotted data in the log file + fprintf(filePointer, "%d %d || %d | %d | %d || %f %f %f %d %f %f %f %f %f %f %s %f %f\n", block_id, processId, iFigureUID, iAxeUID, iPolylineUID, x[j], y[j], z[j], 1, block->rpar[0], block->rpar[1], block->rpar[2], block->rpar[3], block->rpar[4], block->rpar[5], "CSCOPXY3D", block->rpar[6], block->rpar[7]); + /* + block_id - block_id of this block, process_id - process id of currently running scilab's instance, iFigureUID - figure id of graph generated, + iAxeUID - axes id of graph, iPolylineUID - id for each separate output line of graph, x[j]- value of x-axis for j, + y[j] - value of y-axis for j, z[j] - value of z-axis for j, 1 - representing 1 output graph, block->rpar[0] - xMin value, + block->rpar[1] - xMax value, block->rpar[2] - yMin value, block->rpar[3] - yMax value, block->rpar[4] - zMin value, block->rpar[5] - zMax value, + block->rpar[6], block->rpar[7] - alpha and theta (angles of rotation of axes) + */ + + result = pushData(block, j); + if (result == FALSE) + { + Coserror("%s: unable to push some data.", "cscopxy3d"); + break; + } } break; case Ending: + // Write data to define Ending phase fprintf(filePointer, "%d || Ending %d\n", processId, getFigure(block)); freeScoData(block); @@ -227,7 +240,8 @@ SCICOS_BLOCKS_IMPEXP void cscopxy3d(scicos_block * block, scicos_flag flag) default: break; } - fclose(filePointer); + // Close the file pointer + fclose(filePointer); } /*-------------------------------------------------------------------------*/ |