source: issm/trunk/src/mex/InputToResult/InputToResult.cpp@ 4228

Last change on this file since 4228 was 4228, checked in by seroussi, 15 years ago

step and time optional in InputToResult

File size: 1.8 KB
RevLine 
[4138]1/*\file InputToResult.c
2 *\brief: duplicate input
3 */
4
5#include "./InputToResult.h"
6
7void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
8
9 /*diverse: */
10 int noerr=1;
11
12 /*input datasets: */
[4215]13 Elements* elements=NULL;
[4211]14 Nodes* nodes=NULL;
[4213]15 Vertices* vertices=NULL;
[4214]16 Loads* loads=NULL;
[4218]17 Materials* materials=NULL;
[4138]18 Parameters* parameters=NULL;
19 int enum_type,step;
20 double time;
21
22 /*Boot module: */
23 MODULEBOOT();
24
25 /*checks on arguments on the matlab side: */
[4228]26 //CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ContourToMeshUsage); Cant' use it here, as we have variable inputs.
27 if((nlhs!=NLHS) || (nrhs!=7 && nrhs!=9)){
28 InputToResultUsage();
29 ISSMERROR(" usage. See above");
30 }
[4138]31
32 /*Input datasets: */
[4215]33 FetchData((DataSet**)&elements,ELEMENTS);
[4211]34 FetchData((DataSet**)&nodes,NODES);
[4213]35 FetchData((DataSet**)&vertices,VERTICES);
[4214]36 FetchData((DataSet**)&loads,LOADS);
[4218]37 FetchData((DataSet**)&materials,MATERIALS);
[4138]38 FetchParams(&parameters,PARAMETERS);
39
40 FetchData(&enum_type,ENUMTYPE);
41
[4228]42 if(nrhs==9){
43 FetchData(&step,STEP);
44 FetchData(&time,TIME);
[4138]45
[4228]46 /*!Call core code: */
47 InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type, step,time);
48 }
49 else{
50
51 /*!Call core code: */
52 InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
53 }
54
[4138]55 /*write output : */
56 WriteData(ELEMENTSOUT,elements);
57
58 /*Free ressources: */
59 delete elements;
60 delete nodes;
61 delete vertices;
62 delete loads;
63 delete materials;
64 delete parameters;
65
66 /*end module: */
67 MODULEEND();
68
69}
70
71void InputToResultUsage(void)
72{
73 _printf_("\n");
74 _printf_(" usage: [elements] = %s(elements, nodes, vertices, loads, materials, parameters, enum_type,step,time);\n",__FUNCT__);
[4228]75 _printf_(" usage: [elements] = %s(elements, nodes, vertices, loads, materials, parameters, enum_type);\n",__FUNCT__);
[4138]76 _printf_("\n");
77}
Note: See TracBrowser for help on using the repository browser.