Index: /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.cpp
===================================================================
--- /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.cpp	(revision 3883)
+++ /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.cpp	(revision 3883)
@@ -0,0 +1,60 @@
+/*\file ExtrudeInput.c
+ *\brief: extrude input vertically
+ */
+
+#include "./ExtrudeInput.h"
+
+void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
+
+	/*diverse: */
+	int   noerr=1;
+
+	/*input datasets: */
+	DataSet* elements=NULL;
+	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
+	DataSet* loads=NULL;
+	DataSet* materials=NULL;
+	Parameters* parameters=NULL;
+	int      NameEnum;
+
+	/*Boot module: */
+	MODULEBOOT();
+
+	/*checks on arguments on the matlab side: */
+	CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ExtrudeInputUsage);
+
+	/*Input datasets: */
+	FetchData(&elements,ELEMENTS);
+	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
+	FetchData(&loads,LOADS);
+	FetchData(&materials,MATERIALS);
+	FetchParams(&parameters,PARAMETERS);
+	FetchData(&NameEnum,NAME);
+
+	/*!Call core code: */
+	ExtrudeInputx(elements,nodes,vertices,loads,materials,parameters,NameEnum);
+
+	/*write output : */
+	WriteData(ELEMENTSOUT,elements);
+
+	/*Free ressources: */
+	delete elements;
+	delete nodes;
+	delete vertices;
+	delete loads;
+	delete materials;
+	delete parameters;
+	
+	/*end module: */
+	MODULEEND();
+
+}
+
+void ExtrudeInputUsage(void)
+{
+	_printf_("\n");
+	_printf_("   usage: [elements] = %s(elements, nodes, vertices, loads, materials, parameters, name_enum);\n",__FUNCT__);
+	_printf_("\n");
+}
Index: /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.h
===================================================================
--- /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.h	(revision 3883)
+++ /issm/trunk/src/mex/ExtrudeInput/ExtrudeInput.h	(revision 3883)
@@ -0,0 +1,36 @@
+/*
+	ExtrudeInput.h
+*/
+
+#ifndef _EXTRUDEINPUT_H
+#define _EXTRUDEINPUT_H
+
+/* local prototypes: */
+void ExtrudeInputUsage(void);
+
+#include "../../c/modules.h"
+#include "../../c/DataSet/DataSet.h"
+#include "../../c/shared/shared.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "ExtrudeInput"
+
+/* serial input macros: */
+#define ELEMENTS (mxArray*)prhs[0]
+#define NODES (mxArray*)prhs[1]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define NAME (mxArray*)prhs[6]
+
+/* serial output macros: */
+#define ELEMENTSOUT (mxArray**)&plhs[0]
+
+/* serial arg counts: */
+#undef NLHS
+#define NLHS  1
+#undef NRHS
+#define NRHS  7
+
+#endif  /* _EXTRUDEINPUT_H */
Index: /issm/trunk/src/mex/Makefile.am
===================================================================
--- /issm/trunk/src/mex/Makefile.am	(revision 3882)
+++ /issm/trunk/src/mex/Makefile.am	(revision 3883)
@@ -22,4 +22,5 @@
 				Echo\
 				ElementConnectivity\
+				ExtrudeInput\
 				FieldAverageOntoVertices\
 				FieldDepthAverage\
@@ -138,4 +139,7 @@
 			  ElementConnectivity/ElementConnectivity.h
 
+ExtrudeInput_SOURCES = ExtrudeInput/ExtrudeInput.cpp\
+			  ExtrudeInput/ExtrudeInput.h
+
 FieldAverageOntoVertices_SOURCES = FieldAverageOntoVertices/FieldAverageOntoVertices.cpp\
 									 FieldAverageOntoVertices/FieldAverageOntoVertices.h
