Index: /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.cpp	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.cpp	(revision 4239)
@@ -25,6 +25,9 @@
 /*}}}*/
 /*FUNCTION BeamVertexElementResult::BeamVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){{{1*/
-BeamVertexElementResult::BeamVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time):BeamVertexInput(in_enum_type,in_values){
+BeamVertexElementResult::BeamVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){
 
+	enum_type=in_enum_type;
+	values[0]=in_values[0];
+	values[1]=in_values[1];
 	step=in_step;
 	time=in_time;
@@ -49,5 +52,6 @@
 		
 	printf("BeamVertexElementResult:\n");
-	BeamVertexElementResult::DeepEcho();
+	printf("   enum: %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   values: [%g %g]\n",this->values[0],this->values[1]);
 	printf("   step: %i\n",this->step);
 	printf("   time: %g\n",this->time);
Index: /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/BeamVertexElementResult.h	(revision 4239)
@@ -13,7 +13,9 @@
 /*}}}*/
 
-class BeamVertexElementResult: public BeamVertexInput,public ElementResult{
+class BeamVertexElementResult: public ElementResult{
 
 	private: 
+		int    enum_type;
+		double values[2];
 		int    step;
 		double time;
@@ -44,5 +46,5 @@
 		void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
-		void    InputUpdateFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
+		void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.cpp	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.cpp	(revision 4239)
@@ -25,6 +25,8 @@
 /*}}}*/
 /*FUNCTION DoubleElementResult::DoubleElementResult(int in_enum_type,IssmDouble in_value,int in_step, double in_time){{{1*/
-DoubleElementResult::DoubleElementResult(int in_enum_type,IssmDouble in_value,int in_step, double in_time): DoubleInput(in_enum_type,in_value){
-		
+DoubleElementResult::DoubleElementResult(int in_enum_type,IssmDouble in_value,int in_step, double in_time){
+
+	enum_type=in_enum_type;
+	value=in_value;
 	step=in_step;
 	time=in_time;
@@ -41,7 +43,5 @@
 Object* DoubleElementResult::copy() {
 
-	DoubleElementResult* result=new DoubleElementResult(this->enum_type,this->value,this->step,this->time);
-	return (Object*)result;
-	//return new DoubleElementResult(this->enum_type,this->value,this->step,this->time);
+	return new DoubleElementResult(this->enum_type,this->value,this->step,this->time);
 
 }
@@ -51,5 +51,6 @@
 
 	printf("DoubleElementResult:\n");
-	DoubleInput::DeepEcho();
+	printf("   enum: %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   value: %g\n",this->value);
 	printf("   step: %i\n",this->step);
 	printf("   time: %g\n",this->time);
Index: /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h	(revision 4239)
@@ -15,7 +15,9 @@
 /*}}}*/
 
-class DoubleElementResult: public DoubleInput,public ElementResult{
+class DoubleElementResult: public ElementResult{
 
 	private: 
+		int    enum_type;
+		double value;
 		int    step;
 		double time;
@@ -25,5 +27,5 @@
 		/*constructors, destructors: {{{1*/
 		DoubleElementResult();
-		DoubleElementResult(int enum_type,IssmDouble value,int step,double time);
+		DoubleElementResult(int enum_type,double value,int step,double time);
 		~DoubleElementResult();
 		/*}}}*/
@@ -46,5 +48,5 @@
 		void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
-		void    InputUpdateFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
+		void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
 
 				/*}}}*/
Index: /issm/trunk/src/c/objects/ElementResults/ElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/ElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/ElementResult.h	(revision 4239)
@@ -12,5 +12,5 @@
 /*}}}*/
 
-class ElementResult{
+class ElementResult:public Object{
 
 	public: 
Index: /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.cpp	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.cpp	(revision 4239)
@@ -25,6 +25,10 @@
 /*}}}*/
 /*FUNCTION PentaVertexElementResult::PentaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){{{1*/
-PentaVertexElementResult::PentaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time): PentaVertexInput(in_enum_type,in_values){
-
+PentaVertexElementResult::PentaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){
+
+	int i;
+
+	enum_type=in_enum_type;
+	for(i=0;i<6;i++)values[i]=in_values[i];
 	step=in_step;
 	time=in_time;
@@ -49,5 +53,6 @@
 
 	printf("PentaVertexElementResult:\n");
-	PentaVertexElementResult::DeepEcho();
+	printf("   enum: %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   values: [%g %g %g %g %g %g]\n",this->values[0],this->values[1],this->values[2],this->values[3],this->values[4],this->values[5]);
 	printf("   step: %i\n",this->step);
 	printf("   time: %g\n",this->time);
Index: /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/PentaVertexElementResult.h	(revision 4239)
@@ -14,7 +14,9 @@
 /*}}}*/
 
-class PentaVertexElementResult: public PentaVertexInput,public ElementResult{
+class PentaVertexElementResult: public ElementResult{
 
 	private: 
+		int    enum_type;
+		double values[6];
 		int    step;
 		double time;
@@ -45,5 +47,5 @@
 		void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
-		void    InputUpdateFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
+		void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.cpp	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.cpp	(revision 4239)
@@ -25,6 +25,8 @@
 /*}}}*/
 /*FUNCTION SingVertexElementResult::SingVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){{{1*/
-SingVertexElementResult::SingVertexElementResult(int in_enum_type,double in_value,int in_step, double in_time):SingVertexInput(in_enum_type,in_value){
+SingVertexElementResult::SingVertexElementResult(int in_enum_type,double in_value,int in_step, double in_time){
 
+	enum_type=in_enum_type;
+	value=in_value;
 	step=in_step;
 	time=in_time;
@@ -49,5 +51,6 @@
 		
 	printf("SingVertexElementResult:\n");
-	SingVertexElementResult::DeepEcho();
+	printf("   enum: %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   value: %g\n",this->value);
 	printf("   step: %i\n",this->step);
 	printf("   time: %g\n",this->time);
Index: /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/SingVertexElementResult.h	(revision 4239)
@@ -13,7 +13,9 @@
 /*}}}*/
 
-class SingVertexElementResult: public SingVertexInput,public ElementResult{
+class SingVertexElementResult: public ElementResult{
 
 	private: 
+		int    enum_type;
+		double value;
 		int    step;
 		double time;
@@ -44,5 +46,5 @@
 		void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
-		void    InputUpdateFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
+		void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.cpp	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.cpp	(revision 4239)
@@ -25,6 +25,10 @@
 /*}}}*/
 /*FUNCTION TriaVertexElementResult::TriaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){{{1*/
-TriaVertexElementResult::TriaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time):TriaVertexInput(in_enum_type,in_values){
-
+TriaVertexElementResult::TriaVertexElementResult(int in_enum_type,double* in_values,int in_step, double in_time){
+
+	enum_type=in_enum_type;
+	values[0]=in_values[0];
+	values[1]=in_values[1];
+	values[2]=in_values[2];
 	step=in_step;
 	time=in_time;
@@ -49,8 +53,8 @@
 		
 	printf("TriaVertexElementResult:\n");
+	printf("   enum: %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   values: [%g %g %g]\n",this->values[0],this->values[1],this->values[2]);
 	printf("   step: %i\n",this->step);
 	printf("   time: %g\n",this->time);
-	this->TriaVertexInput::DeepEcho();
-
 }
 /*}}}*/
@@ -104,4 +108,5 @@
 	int   enum_value=0;
 
+
 	/*recover marshalled_dataset: */
 	marshalled_dataset=*pmarshalled_dataset;
@@ -125,5 +130,5 @@
 int   TriaVertexElementResult::MarshallSize(){
 	
-	return sizeof(values)+
+	return sizeof(values)
 		+sizeof(enum_type)
 		+sizeof(time)
Index: /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.h
===================================================================
--- /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.h	(revision 4238)
+++ /issm/trunk/src/c/objects/ElementResults/TriaVertexElementResult.h	(revision 4239)
@@ -13,7 +13,9 @@
 /*}}}*/
 
-class TriaVertexElementResult: public TriaVertexInput,public ElementResult{
+class TriaVertexElementResult: public ElementResult{
 
 	private: 
+		int    enum_type;
+		double values[3];
 		int    step;
 		double time;
@@ -44,5 +46,5 @@
 		void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
-		void    InputUpdateFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
+		void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/DoubleInput.h	(revision 4238)
+++ /issm/trunk/src/c/objects/Inputs/DoubleInput.h	(revision 4239)
@@ -16,8 +16,6 @@
 
 	public:
-
-		/*just hold 3 values for 3 vertices: */
 		int    enum_type;
-		IssmDouble value;
+		double value;
 
 		/*constructors, destructors: {{{1*/
Index: /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h	(revision 4238)
+++ /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h	(revision 4239)
@@ -15,5 +15,5 @@
 
 	public:
-		/*just hold 3 values for 3 vertices: */
+		/*just hold 6 values for 6 vertices: */
 		int    enum_type;
 		double values[6];
