source: issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp@ 4215

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

New Elements class

File size: 1.8 KB
RevLine 
[4098]1/*\file InputControlConstrain.c
2*\brief: update elements properties using an input vector
3*/
[1]4
[4098]5#include "./InputControlConstrain.h"
[1]6
7void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
8
[4098]9/*diverse: */
10int noerr = 1;
[1]11
[4098]12/*input datasets: */
[4215]13Elements* elements = NULL;
[4211]14Nodes *nodes = NULL;
[4213]15Vertices *vertices = NULL;
[4214]16Loads *loads = NULL;
[4098]17DataSet *materials = NULL;
18Parameters *parameters = NULL;
19int control_type;
20double cm_min;
21double cm_max;
[1]22
[4098]23/*Boot module: */
24MODULEBOOT();
[1]25
[4098]26/*checks on arguments on the matlab side: */
27CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputControlConstrainUsage);
[1]28
[4098]29/*Input datasets: */
[4215]30FetchData((DataSet**)&elements,ELEMENTSIN);
[4211]31FetchData((DataSet**)&nodes,NODESIN);
[4213]32FetchData((DataSet**)&vertices,VERTICESIN);
[4214]33FetchData((DataSet**)&loads,LOADSIN);
[4098]34FetchData(&materials,MATERIALSIN);
35FetchParams(&parameters,PARAMETERSIN);
36FetchData(&control_type,CONTROLTYPE);
37FetchData(&cm_min,CMMIN);
38FetchData(&cm_max,CMMAX);
[1]39
[4098]40/*call "x" code layer*/
41InputControlConstrainx(elements,nodes,vertices,loads, materials,parameters,control_type,cm_min,cm_max);
[2333]42
[4098]43/*write output datasets: */
44WriteData(ELEMENTS,elements);
45WriteData(NODES,nodes);
46WriteData(VERTICES,vertices);
47WriteData(LOADS,loads);
48WriteData(MATERIALS,materials);
49WriteParams(PARAMETERS,parameters);
[1]50
[4098]51/*Free ressources: */
52delete elements;
53delete nodes;
54delete vertices;
55delete loads;
56delete materials;
57delete parameters;
[1]58
[4098]59/*end module: */
60MODULEEND();
[1]61}
62
[4098]63void InputControlConstrainUsage(void)
[1]64{
65 _printf_("\n");
[4098]66 _printf_(" usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters,control_type,cm_min,cm_max);\n",__FUNCT__);
[1]67 _printf_("\n");
68}
Note: See TracBrowser for help on using the repository browser.