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

Last change on this file since 11995 was 11995, checked in by Mathieu Morlighem, 13 years ago

merged trunk-jpl and trunk for revision 11994M

File size: 1.9 KB
Line 
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 /*input datasets: */
10 Elements* elements=NULL;
11 Nodes* nodes=NULL;
12 Vertices* vertices=NULL;
13 Loads* loads=NULL;
14 Materials* materials=NULL;
15 Parameters* parameters=NULL;
16 int enum_type,step;
17 double time;
18
19 /*Boot module: */
20 MODULEBOOT();
21
22 /*checks on arguments on the matlab side: */
23 //CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputToResultUsage); Cant' use it here, as we have variable inputs.
24 if((nlhs!=NLHS) || (nrhs!=7 && nrhs!=9)){
25 InputToResultUsage();
26 _error_(" usage. See above");
27 }
28
29 /*Input datasets: */
30 FetchData((DataSet**)&elements,ELEMENTS);
31 FetchData((DataSet**)&nodes,NODES);
32 FetchData((DataSet**)&vertices,VERTICES);
33 FetchData((DataSet**)&loads,LOADS);
34 FetchData((DataSet**)&materials,MATERIALS);
35 FetchData(&parameters,PARAMETERS);
36
37 FetchData(&enum_type,ENUMTYPE);
38
39 /*configure: */
40 elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
41 nodes-> Configure(elements,loads, nodes,vertices, materials,parameters);
42 loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
43
44 /*Call core code: */
45 InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
46
47 /*write output : */
48 WriteData(ELEMENTSOUT,elements);
49
50 /*Free ressources: */
51 delete elements;
52 delete nodes;
53 delete vertices;
54 delete loads;
55 delete materials;
56 delete parameters;
57
58 /*end module: */
59 MODULEEND();
60
61}
62
63void InputToResultUsage(void)
64{
65 _printf_(true,"\n");
66 _printf_(true," usage: [elements] = %s(elements, nodes, vertices, loads, materials, parameters, enum_type,step,time);\n",__FUNCT__);
67 _printf_(true," usage: [elements] = %s(elements, nodes, vertices, loads, materials, parameters, enum_type);\n",__FUNCT__);
68 _printf_(true,"\n");
69}
Note: See TracBrowser for help on using the repository browser.