source: issm/trunk-jpl/src/mex/OutputResults/OutputResults.cpp@ 11933

Last change on this file since 11933 was 11933, checked in by Eric.Larour, 13 years ago

New FetchData and WriteData interface

File size: 1.7 KB
Line 
1/*\file OutputResults.c
2 *\brief: output results inside elements, and in femmodel
3 */
4
5#include "./OutputResults.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 Results* results=NULL;
17
18 /* output datasets: */
19 mxArray* dataref=NULL;
20
21 /*Boot module: */
22 MODULEBOOT();
23
24 /*checks on arguments on the matlab side: */
25 CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&OutputResultsUsage);
26
27 /*Input datasets: */
28 FetchData((DataSet**)&elements,ELEMENTS);
29 FetchData((DataSet**)&nodes,NODES);
30 FetchData((DataSet**)&vertices,VERTICES);
31 FetchData((DataSet**)&loads,LOADS);
32 FetchData((DataSet**)&materials,MATERIALS);
33 FetchData(&parameters,PARAMETERS);
34 FetchData((DataSet**)&results,RESULTS);
35
36 /*results might be NULL, allocate: */
37 if(!results)results=new Results();
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 "x" code layer: */
45 OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,results);
46
47 /*write output datasets: */
48 plhs[0]=dataref;
49
50 /*Free ressources: */
51 delete elements;
52 delete nodes;
53 delete vertices;
54 delete loads;
55 delete materials;
56 delete parameters;
57 delete results;
58
59 /*end module: */
60 MODULEEND();
61}
62
63void OutputResultsUsage(void)
64{
65 _printf_(true,"\n");
66 _printf_(true," usage: [results] = %s(elements,nodes,vertices,loads,materials,parameters,results);\n",__FUNCT__);
67 _printf_(true,"\n");
68}
Note: See TracBrowser for help on using the repository browser.