1 | /*\file UpdateDynamicConstraints.c
|
---|
2 | *\brief: update single point constraints inside nodes out of constrain vector ys
|
---|
3 | */
|
---|
4 |
|
---|
5 | #include "./UpdateDynamicConstraints.h"
|
---|
6 |
|
---|
7 | void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
|
---|
8 |
|
---|
9 | /*input datasets: */
|
---|
10 | Constraints *constraints = NULL;
|
---|
11 | Nodes *nodes = NULL;
|
---|
12 | Parameters *parameters = NULL;
|
---|
13 | Vector* yg = NULL;
|
---|
14 |
|
---|
15 | /*Boot module: */
|
---|
16 | MODULEBOOT();
|
---|
17 |
|
---|
18 | /*checks on arguments on the matlab side: */
|
---|
19 | CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateDynamicConstraintsUsage);
|
---|
20 |
|
---|
21 | /*Input datasets: */
|
---|
22 | FetchData((DataSet**)&constraints,CONSTRAINTSIN);
|
---|
23 | FetchData((DataSet**)&nodes,NODESIN);
|
---|
24 | FetchData((Parameters**)¶meters,PARAMETERS);
|
---|
25 | FetchData(&yg,YG);
|
---|
26 |
|
---|
27 | /*!Generate internal degree of freedom numbers: */
|
---|
28 | UpdateDynamicConstraintsx(constraints,nodes,parameters,yg);
|
---|
29 |
|
---|
30 | /*write output datasets: */
|
---|
31 | WriteData(CONSTRAINTSOUT,constraints);
|
---|
32 |
|
---|
33 | /*Free ressources: */
|
---|
34 | xdelete(&yg);
|
---|
35 | delete constraints;
|
---|
36 | delete nodes;
|
---|
37 | delete parameters;
|
---|
38 |
|
---|
39 | /*end module: */
|
---|
40 | MODULEEND();
|
---|
41 | }
|
---|
42 |
|
---|
43 | void UpdateDynamicConstraintsUsage(void)
|
---|
44 | {
|
---|
45 | _printf_(true,"\n");
|
---|
46 | _printf_(true," usage: m.constraints=%s(m.constraints,m.nodes,m.parameters,ys);\n",__FUNCT__);
|
---|
47 | _printf_(true,"\n");
|
---|
48 | }
|
---|