Index: /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp
===================================================================
--- /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp	(revision 10299)
+++ /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp	(revision 10299)
@@ -0,0 +1,64 @@
+/*\file GroundinglineMigration.c
+*\brief: update elements properties using an input  vector
+*/
+
+#include "./GroundinglineMigration.h"
+
+void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
+
+	/*input datasets: */
+	Elements*   elements          = NULL;
+	Nodes      *nodes             = NULL;
+	Vertices    *vertices          = NULL;
+	Loads     *loads             = NULL;
+	Materials   *materials         = NULL;
+	Parameters *parameters        = NULL;
+
+	/*Boot module: */
+	MODULEBOOT();
+
+	/*checks on arguments on the matlab side: */
+	CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&GroundinglineMigrationUsage);
+
+	/*Input datasets: */
+	FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
+	FetchMatlabData((DataSet**)&nodes,NODESIN);
+	FetchMatlabData((DataSet**)&vertices,VERTICESIN);
+	FetchMatlabData((DataSet**)&loads,LOADSIN);
+	FetchMatlabData((DataSet**)&materials,MATERIALSIN);
+	FetchMatlabData(&parameters,PARAMETERSIN);
+
+	/*configure: */
+	elements->  Configure(elements,loads, nodes,vertices, materials,parameters);
+	nodes->     Configure(elements,loads, nodes,vertices, materials,parameters);
+	loads->     Configure(elements, loads, nodes,vertices, materials,parameters);
+
+	/*call "x" code layer*/
+	GroundinglineMigrationx(elements,nodes,vertices,loads, materials,parameters);
+
+	/*write output datasets: */
+	WriteMatlabData(ELEMENTS,elements);
+	WriteMatlabData(NODES,nodes);
+	WriteMatlabData(VERTICES,vertices);
+	WriteMatlabData(LOADS,loads);
+	WriteMatlabData(MATERIALS,materials);
+	WriteMatlabData(PARAMETERS,parameters);
+
+	/*Free ressources: */
+	delete elements;
+	delete nodes;
+	delete vertices;
+	delete loads;
+	delete materials;
+	delete parameters;
+
+	/*end module: */
+	MODULEEND();
+}
+
+void GroundinglineMigrationUsage(void)
+{
+	_printf_(true,"\n");
+	_printf_(true,"   usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters);\n",__FUNCT__);
+	_printf_(true,"\n");
+}
Index: /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h
===================================================================
--- /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h	(revision 10299)
+++ /issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h	(revision 10299)
@@ -0,0 +1,42 @@
+/*
+	GroundinglineMigration.h
+*/
+
+#ifndef _GROUNDINGLINEMIGRATION_H
+#define _GROUNDINGLINEMIGRATION_H
+
+/* local prototypes: */
+void GroundinglineMigrationUsage(void);
+
+#include "../../c/modules/modules.h"
+#include "../../c/Container/Container.h"
+#include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "GroundinglineMigration"
+
+/* serial input macros: */
+#define ELEMENTSIN (mxArray*)prhs[0]
+#define NODESIN (mxArray*)prhs[1]
+#define VERTICESIN (mxArray*)prhs[2]
+#define LOADSIN (mxArray*)prhs[3]
+#define MATERIALSIN (mxArray*)prhs[4]
+#define PARAMETERSIN (mxArray*)prhs[5]
+
+/* serial output macros: */
+#define ELEMENTS (mxArray**)&plhs[0]
+#define NODES (mxArray**)&plhs[1]
+#define VERTICES (mxArray**)&plhs[2]
+#define LOADS (mxArray**)&plhs[3]
+#define MATERIALS (mxArray**)&plhs[4]
+#define PARAMETERS (mxArray**)&plhs[5]
+
+/* serial arg counts: */
+#undef NLHS
+#define NLHS  6
+#undef NRHS
+#define NRHS  6
+
+#endif  /* _GROUNDINGLINEMIGRATION_H */
+
Index: /issm/trunk/src/mex/Makefile.am
===================================================================
--- /issm/trunk/src/mex/Makefile.am	(revision 10298)
+++ /issm/trunk/src/mex/Makefile.am	(revision 10299)
@@ -31,4 +31,5 @@
 				GetVectorFromInputs\
 				Gradj\
+				GroundinglineMigration\
 				HoleFiller \
 				InputDuplicate\
@@ -196,4 +197,7 @@
 			  Gradj/Gradj.h
 
+GroundinglineMigration_SOURCES = GroundinglineMigration/GroundinglineMigration.cpp\
+			  GroundinglineMigration/GroundinglineMigration.h
+
 Test_SOURCES = Test/Test.cpp\
 			  Test/Test.h
