Index: /issm/trunk/src/c/objects/ElementProperties.h
===================================================================
--- /issm/trunk/src/c/objects/ElementProperties.h	(revision 3389)
+++ /issm/trunk/src/c/objects/ElementProperties.h	(revision 3390)
@@ -11,5 +11,5 @@
 
 		/*nodal property values: */
-		int     numnodes;
+		int      numnodes;
 		double*  h;
 		double*  s;
Index: /issm/trunk/src/c/objects/Node.cpp
===================================================================
--- /issm/trunk/src/c/objects/Node.cpp	(revision 3389)
+++ /issm/trunk/src/c/objects/Node.cpp	(revision 3390)
@@ -64,5 +64,5 @@
 /*}}}*/
 
-/*Object marshall*/
+/*Object management*/
 /*FUNCTION Node Marshall{{{1*/
 void  Node::Marshall(char** pmarshalled_dataset){
@@ -169,4 +169,12 @@
 }
 /*}}}*/
+/*FUNCTION Node GetId{{{1*/
+int    Node::GetId(void){ return id; }
+/*}}}*/
+/*FUNCTION Node GetName{{{1*/
+char* Node::GetName(void){
+	return "node";
+}
+/*}}}*/
 		
 /*Object functions*/
@@ -677,12 +685,4 @@
 }
 /*}}}*/
-/*FUNCTION Node GetId{{{1*/
-int    Node::GetId(void){ return id; }
-/*}}}*/
-/*FUNCTION Node GetName{{{1*/
-char* Node::GetName(void){
-	return "node";
-}
-/*}}}*/
 /*FUNCTION Node GetNumberOfDofs{{{1*/
 int   Node::GetNumberOfDofs(){
Index: /issm/trunk/src/c/objects/Node.h
===================================================================
--- /issm/trunk/src/c/objects/Node.h	(revision 3389)
+++ /issm/trunk/src/c/objects/Node.h	(revision 3390)
@@ -22,4 +22,5 @@
 		double	x[3]; /*! coordinates*/
 		double	sigma; /*! sigma = (z-bed)/thickness*/
+		
 		int	    onbed; /*! for 3d, on bedrock*/
 		int	    onsurface; /*! for 3d, on surface*/
Index: /issm/trunk/src/c/objects/Vertex.cpp
===================================================================
--- /issm/trunk/src/c/objects/Vertex.cpp	(revision 3389)
+++ /issm/trunk/src/c/objects/Vertex.cpp	(revision 3390)
@@ -9,6 +9,10 @@
 #endif
 
+#include <string.h>
 #include "./Vertex.h"
 #include "../EnumDefinitions/EnumDefinitions.h"
+#include "../include/macros.h"
+#include "../shared/shared.h"
+#include "../include/typedefs.h"
 #include "../include/macros.h"
 
@@ -48,14 +52,5 @@
 
 void Vertex::DeepEcho(void){
-
-	printf("Vertex:\n");
-	printf("   id: %i\n",id);
-	hnodes.DeepEcho();
-	hmatice.DeepEcho();
-	hmatpar.DeepEcho();
-	hnumpar.DeepEcho();
-	properties.DeepEcho();
-
-	return;
+	this->Echo();
 }
 /*}}}*/
@@ -73,13 +68,7 @@
 
 	memcpy(&id,marshalled_dataset,sizeof(id));marshalled_dataset+=sizeof(id);
-
-	/*demarshall hooks: */
-	hnodes.Demarshall(&marshalled_dataset);
-	hmatice.Demarshall(&marshalled_dataset);
-	hmatpar.Demarshall(&marshalled_dataset);
-	hnumpar.Demarshall(&marshalled_dataset);
-
-	/*demarshall properties: */
-	properties.Demarshall(&marshalled_dataset);
+	memcpy(&x,marshalled_dataset,sizeof(x));marshalled_dataset+=sizeof(x);
+	memcpy(&y,marshalled_dataset,sizeof(y));marshalled_dataset+=sizeof(y);
+	memcpy(&z,marshalled_dataset,sizeof(z));marshalled_dataset+=sizeof(z);
 
 	/*return: */
@@ -94,9 +83,7 @@
 	printf("Vertex:\n");
 	printf("   id: %i\n",id);
-	hnodes.Echo();
-	hmatice.Echo();
-	hmatpar.Echo();
-	hnumpar.Echo();
-	properties.Echo();
+	printf("   x: %g\n",x);
+	printf("   y: %g\n",y);
+	printf("   z: %g\n",z);
 
 	return;
@@ -108,4 +95,12 @@
 	return VertexEnum();
 
+}
+/*}}}*/
+/*FUNCTION GetId{{{1*/
+int    Vertex::GetId(void){ return id; }
+/*}}}*/
+/*FUNCTION GetName{{{1*/
+char* Vertex::GetName(void){
+	return "node";
 }
 /*}}}*/
@@ -127,13 +122,7 @@
 	/*marshall Vertex data: */
 	memcpy(marshalled_dataset,&id,sizeof(id));marshalled_dataset+=sizeof(id);
-
-	/*Marshall hooks: */
-	hnodes.Marshall(&marshalled_dataset);
-	hmatice.Marshall(&marshalled_dataset);
-	hmatpar.Marshall(&marshalled_dataset);
-	hnumpar.Marshall(&marshalled_dataset);
-
-	/*Marshall properties: */
-	properties.Marshall(&marshalled_dataset);
+	memcpy(marshalled_dataset,&x,sizeof(x));marshalled_dataset+=sizeof(x);
+	memcpy(marshalled_dataset,&y,sizeof(y));marshalled_dataset+=sizeof(y);
+	memcpy(marshalled_dataset,&z,sizeof(z));marshalled_dataset+=sizeof(z);
 
 	*pmarshalled_dataset=marshalled_dataset;
@@ -144,10 +133,8 @@
 int   Vertex::MarshallSize(){
 	
-	return sizeof(id)
-		+hnodes.MarshallSize()
-		+hmatice.MarshallSize()
-		+hmatpar.MarshallSize()
-		+hnumpar.MarshallSize()
-		+properties.MarshallSize()
+	return sizeof(id)+
+		sizeof(x)+
+		sizeof(y)+
+		sizeof(z)+
 		+sizeof(int); //sizeof(int) for enum type
 }
@@ -162,44 +149,5 @@
 void  Vertex::UpdateFromDakota(void* vinputs){
 
-	int     i;
-	int     dofs[1]={0};
-	double  temperature_list[3];
-	double  temperature_average;
-	double  B_list[3];
-	double  B_average;
-	double  new_h[3];
-
-	/*dynamic objects pointed to by hooks: */
-	Node**  nodes=NULL;
-	Matpar* matpar=NULL;
-	Matice* matice=NULL;
-	Numpar* numpar=NULL;
-
-	ParameterInputs* inputs=NULL;
-
-	/*recover pointers: */
-	inputs=(ParameterInputs*)vinputs;
-
-	/*recover objects from hooks: */
-	nodes=(Node**)hnodes.deliverp();
-	matpar=(Matpar*)hmatpar.delivers();
-	matice=(Matice*)hmatice.delivers();
-	numpar=(Numpar*)hnumpar.delivers();
-
-	/*Update internal data if inputs holds new values: */
-	inputs->Recover("thickness",&this->properties.h[0],1,dofs,3,(void**)nodes);
-		
-	if(inputs->Recover("thickness",&new_h[0],1,dofs,3,(void**)nodes)){
-	//density, needed later:
-	double di=(this->matpar->GetRhoIce()/this->matpar->GetRhoWater());
-	//Go through grids:
-	for (i=0;i<3;i++){
-	if(nodes[i]->IsOnShelf()){
-	this->b[i]=this->b[i]-di*(new_h[i]-h[i]); //hydrostatic equilibrium;
-	}
-	this->s[i]=this->b[i]+new_h[i];
-	this->h[i]=new_h[i];
-	}
-	}
+	ISSMERROR("not supported yet!");
 	
 }
@@ -208,67 +156,6 @@
 void  Vertex::UpdateFromInputs(void* vinputs){
 
-	int     i;
-	int     dofs[1]={0};
-	double  temperature_list[3];
-	double  temperature_average;
-	double  B_list[3];
-	double  B_average;
-	double  new_h[3];
-
-	/*dynamic objects pointed to by hooks: */
-	Node**  nodes=NULL;
-	Matpar* matpar=NULL;
-	Matice* matice=NULL;
-	Numpar* numpar=NULL;
-
-	ParameterInputs* inputs=NULL;
-
-	/*recover pointers: */
-	inputs=(ParameterInputs*)vinputs;
-
-	/*recover objects from hooks: */
-	nodes=(Node**)hnodes.deliverp();
-	matpar=(Matpar*)hmatpar.delivers();
-	matice=(Matice*)hmatice.delivers();
-	numpar=(Numpar*)hnumpar.delivers();
-
-	/*Update internal data if inputs holds new values: */
-	//if (id==1) printf("WARNING if QMU: no hydrostatic equilibrium is applied here (conflict with prognostic, which does not have matpar)\n");
-	//For now
-	inputs->Recover("thickness",&this->properties.h[0],1,dofs,3,(void**)nodes);
-	//Later
-	/*
-		if(inputs->Recover("thickness",&new_h[0],1,dofs,3,(void**)nodes)){
-	//density, needed later:
-	double di=(this->matpar->GetRhoIce()/this->matpar->GetRhoWater());
-	//Go through grids:
-	for (i=0;i<3;i++){
-	if(nodes[i]->IsOnShelf()){
-	this->b[i]=this->b[i]-di*(new_h[i]-h[i]); //hydrostatic equilibrium;
-	}
-	this->s[i]=this->b[i]+new_h[i];
-	this->h[i]=new_h[i];
-	}
-	}
-	*/
-	inputs->Recover("surface",&this->properties.s[0],1,dofs,3,(void**)nodes);
-	inputs->Recover("bed",&this->properties.b[0],1,dofs,3,(void**)nodes);
-	inputs->Recover("drag",&this->properties.k[0],1,dofs,3,(void**)nodes);
-	inputs->Recover("melting",&this->properties.melting[0],1,dofs,3,(void**)nodes);
-	inputs->Recover("accumulation",&this->properties.accumulation[0],1,dofs,3,(void**)nodes);
-	inputs->Recover("geothermalflux",&this->properties.geothermalflux[0],1,dofs,3,(void**)nodes);
+	ISSMERROR("not supported yet!");
 	
-	//Update material if necessary
-	if(inputs->Recover("temperature_average",&temperature_list[0],1,dofs,3,(void**)nodes)){
-		temperature_average=(temperature_list[0]+temperature_list[1]+temperature_list[2])/3.0;
-		B_average=Paterson(temperature_average);
-		matice->SetB(B_average);
-	}
-	
-	if(inputs->Recover("B",&B_list[0],1,dofs,3,(void**)nodes)){
-		B_average=(B_list[0]+B_list[1]+B_list[2])/3.0;
-		matice->SetB(B_average);
-	}
-
 }
 /*}}}*/
Index: /issm/trunk/src/c/objects/Vertex.h
===================================================================
--- /issm/trunk/src/c/objects/Vertex.h	(revision 3389)
+++ /issm/trunk/src/c/objects/Vertex.h	(revision 3390)
@@ -6,6 +6,7 @@
 #define _VERTEX_H_
 
+#include "./Object.h"
 
-class Vertex{
+class Vertex: public Object{
 
 	private: 
@@ -29,5 +30,6 @@
 		void  Echo();
 		int   Enum();
-		int   Id(); 
+		int   GetId(void); 
+		char* GetName();
 		void  Marshall(char** pmarshalled_dataset);
 		int   MarshallSize();
