source: issm/oecreview/Archive/24684-25833/ISSM-25506-25507.diff@ 25834

Last change on this file since 25834 was 25834, checked in by Mathieu Morlighem, 4 years ago

CHG: added 24684-25833

File size: 144.9 KB
RevLine 
[25834]1Index: ../trunk-jpl/src/c/classes/Segment.h
2===================================================================
3--- ../trunk-jpl/src/c/classes/Segment.h (revision 25506)
4+++ ../trunk-jpl/src/c/classes/Segment.h (revision 25507)
5@@ -64,10 +64,6 @@
6 /*}}}*/
7 int Id(void){ return eid; }/*{{{*/
8 /*}}}*/
9- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
10- _error_("not implemented yet!");
11- }
12- /*}}}*/
13 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
14 _error_("not implemented yet!");
15 }
16Index: ../trunk-jpl/src/c/classes/Nodes.cpp
17===================================================================
18--- ../trunk-jpl/src/c/classes/Nodes.cpp (revision 25506)
19+++ ../trunk-jpl/src/c/classes/Nodes.cpp (revision 25507)
20@@ -102,40 +102,6 @@
21 return output;
22 }
23 /*}}}*/
24-void Nodes::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
25-
26- int num_procs=IssmComm::GetSize();
27- int test = num_procs;
28- MARSHALLING_ENUM(NodesEnum);
29- MARSHALLING(numberofnodes);
30- MARSHALLING(numberofnodes_local);
31- MARSHALLING(numberofmasters_local);
32-
33- MARSHALLING(test);
34- if(test!=num_procs) _error_("number of cores is not the same as before");
35-
36- DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
37-
38- if(marshall_direction == MARSHALLING_LOAD){
39- this->common_recv_ids = xNew<int*>(num_procs);
40- this->common_send_ids = xNew<int*>(num_procs);
41- for(int i=0;i<num_procs;i++){
42- this->common_recv_ids[i] = NULL;
43- this->common_send_ids[i] = NULL;
44- }
45- }
46-
47- /*Stop here if no nodes*/
48- if(this->Size()==0) return;
49-
50- MARSHALLING_DYNAMIC(this->common_recv,int,num_procs);
51- MARSHALLING_DYNAMIC(this->common_send,int,num_procs);
52- for(int i=0;i<num_procs;i++){
53- if(this->common_recv[i]) MARSHALLING_DYNAMIC(this->common_recv_ids[i],int,this->common_recv[i]);
54- if(this->common_send[i]) MARSHALLING_DYNAMIC(this->common_send_ids[i],int,this->common_send[i]);
55- }
56-}
57-/*}}}*/
58 void Nodes::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
59
60 int object_enum = NodesEnum;
61Index: ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp
62===================================================================
63--- ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp (revision 25506)
64+++ ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp (revision 25507)
65@@ -72,10 +72,6 @@
66 return -1;
67 }
68 /*}}}*/
69-void Cfdragcoeffabsgrad::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
70- _error_("not implemented yet!");
71-}
72-/*}}}*/
73 void Cfdragcoeffabsgrad::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
74 _error_("not implemented yet!");
75 }
76Index: ../trunk-jpl/src/c/classes/Vertex.cpp
77===================================================================
78--- ../trunk-jpl/src/c/classes/Vertex.cpp (revision 25506)
79+++ ../trunk-jpl/src/c/classes/Vertex.cpp (revision 25507)
80@@ -113,23 +113,6 @@
81 /*}}}*/
82 int Vertex::Id(void){ return id; }/*{{{*/
83 /*}}}*/
84-void Vertex::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
85-
86- MARSHALLING_ENUM(VertexEnum);
87- MARSHALLING(clone);
88- MARSHALLING(domaintype);
89- MARSHALLING(id);
90- MARSHALLING(sid);
91- MARSHALLING(pid);
92- MARSHALLING(lid);
93- MARSHALLING(x);
94- MARSHALLING(y);
95- MARSHALLING(z);
96- MARSHALLING(sigma);
97- MARSHALLING(connectivity);
98-
99-}
100-/*}}}*/
101 void Vertex::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
102
103 int object_enum = VertexEnum;
104Index: ../trunk-jpl/src/c/classes/Cfsurfacelogvel.h
105===================================================================
106--- ../trunk-jpl/src/c/classes/Cfsurfacelogvel.h (revision 25506)
107+++ ../trunk-jpl/src/c/classes/Cfsurfacelogvel.h (revision 25507)
108@@ -33,7 +33,6 @@
109 void DeepEcho(void);
110 void Echo(void);
111 int Id(void);
112- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
113 void Marshall2(MarshallHandle* marshallhandle);
114 int ObjectEnum(void);
115
116Index: ../trunk-jpl/src/c/classes/Profiler.cpp
117===================================================================
118--- ../trunk-jpl/src/c/classes/Profiler.cpp (revision 25506)
119+++ ../trunk-jpl/src/c/classes/Profiler.cpp (revision 25507)
120@@ -63,22 +63,6 @@
121 return -1;
122 }
123 /*}}}*/
124-void Profiler::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
125-
126- IssmPDouble* pointer = NULL;
127- bool* bpointer = NULL;
128-
129- MARSHALLING_ENUM(ProfilerEnum);
130- pointer = &this->time[0];
131- MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
132- pointer = &this->flops[0];
133- MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
134- pointer = &this->memory[0];
135- MARSHALLING_DYNAMIC(pointer,IssmPDouble,MAXPROFSIZE);
136- bpointer = &this->running[0];
137- MARSHALLING_DYNAMIC(bpointer,bool,MAXPROFSIZE);
138-
139-} /*}}}*/
140 void Profiler::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
141
142 IssmPDouble* pointer = NULL;
143Index: ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.h
144===================================================================
145--- ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.h (revision 25506)
146+++ ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.h (revision 25507)
147@@ -33,7 +33,6 @@
148 void DeepEcho();
149 void Echo();
150 int Id();
151- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
152 void Marshall2(MarshallHandle* marshallhandle);
153 int ObjectEnum();
154
155Index: ../trunk-jpl/src/c/classes/Constraints/SpcStatic.h
156===================================================================
157--- ../trunk-jpl/src/c/classes/Constraints/SpcStatic.h (revision 25506)
158+++ ../trunk-jpl/src/c/classes/Constraints/SpcStatic.h (revision 25507)
159@@ -32,7 +32,6 @@
160 void DeepEcho();
161 void Echo();
162 int Id();
163- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
164 void Marshall2(MarshallHandle* marshallhandle);
165 int ObjectEnum();
166 /*}}}*/
167Index: ../trunk-jpl/src/c/classes/Constraints/SpcTransient.h
168===================================================================
169--- ../trunk-jpl/src/c/classes/Constraints/SpcTransient.h (revision 25506)
170+++ ../trunk-jpl/src/c/classes/Constraints/SpcTransient.h (revision 25507)
171@@ -34,7 +34,6 @@
172 void DeepEcho();
173 void Echo();
174 int Id();
175- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
176 void Marshall2(MarshallHandle* marshallhandle);
177 int ObjectEnum();
178 /*}}}*/
179Index: ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp
180===================================================================
181--- ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp (revision 25506)
182+++ ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp (revision 25507)
183@@ -70,20 +70,6 @@
184 /*}}}*/
185 int SpcDynamic::Id(void){ return id; }/*{{{*/
186 /*}}}*/
187-void SpcDynamic::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
188-
189- MARSHALLING_ENUM(SpcDynamicEnum);
190-
191- MARSHALLING(id);
192- MARSHALLING(nodeid);
193- MARSHALLING(dof);
194- MARSHALLING(value);
195- MARSHALLING(analysis_type);
196- MARSHALLING(isset);
197- MARSHALLING(penalty);
198-
199-}
200-/*}}}*/
201 void SpcDynamic::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
202
203 int object_enum = SpcDynamicEnum;
204Index: ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp
205===================================================================
206--- ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp (revision 25506)
207+++ ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp (revision 25507)
208@@ -72,19 +72,6 @@
209 /*}}}*/
210 int SpcStatic::Id(void){ return id; }/*{{{*/
211 /*}}}*/
212-void SpcStatic::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
213-
214- MARSHALLING_ENUM(SpcStaticEnum);
215-
216- MARSHALLING(id);
217- MARSHALLING(nodeid);
218- MARSHALLING(dof);
219- MARSHALLING(value);
220- MARSHALLING(analysis_type);
221- MARSHALLING(penalty);
222-
223-}
224-/*}}}*/
225 void SpcStatic::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
226
227 int object_enum = SpcStaticEnum;
228Index: ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp
229===================================================================
230--- ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp (revision 25506)
231+++ ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp (revision 25507)
232@@ -78,27 +78,6 @@
233 return id;
234 }
235 /*}}}*/
236-void SpcTransient::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
237-
238- MARSHALLING_ENUM(SpcTransientEnum);
239-
240- MARSHALLING(id);
241- MARSHALLING(nodeid);
242- MARSHALLING(dof);
243- MARSHALLING(analysis_type);
244- MARSHALLING(penalty);
245- MARSHALLING(nsteps);
246- if(nsteps){
247- MARSHALLING_DYNAMIC(values,IssmDouble,nsteps);
248- MARSHALLING_DYNAMIC(times,IssmDouble,nsteps);
249- }
250- else{
251- values=NULL;
252- times=NULL;
253- }
254-
255-}
256-/*}}}*/
257 void SpcTransient::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
258
259 int object_enum = SpcTransientEnum;
260Index: ../trunk-jpl/src/c/classes/Regionaloutput.h
261===================================================================
262--- ../trunk-jpl/src/c/classes/Regionaloutput.h (revision 25506)
263+++ ../trunk-jpl/src/c/classes/Regionaloutput.h (revision 25507)
264@@ -32,7 +32,6 @@
265 void DeepEcho(void);
266 void Echo(void);
267 int Id(void);
268- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
269 void Marshall2(MarshallHandle* marshallhandle);
270 int ObjectEnum(void);
271
272Index: ../trunk-jpl/src/c/classes/Cfsurfacesquare.h
273===================================================================
274--- ../trunk-jpl/src/c/classes/Cfsurfacesquare.h (revision 25506)
275+++ ../trunk-jpl/src/c/classes/Cfsurfacesquare.h (revision 25507)
276@@ -38,7 +38,6 @@
277 void DeepEcho(void);
278 void Echo(void);
279 int Id(void);
280- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
281 void Marshall2(MarshallHandle* marshallhandle);
282 int ObjectEnum(void);
283
284Index: ../trunk-jpl/src/c/classes/FemModel.cpp
285===================================================================
286--- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 25506)
287+++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 25507)
288@@ -259,7 +259,6 @@
289 femmodel_buffer_ini=femmodel_buffer;
290
291 /*Marshall:*/
292- //this->Marshall(&femmodel_buffer,NULL,MARSHALLING_WRITE);
293 WriteCheckpointFunctor* marshallhandle = new WriteCheckpointFunctor(&femmodel_buffer);
294 this->Marshall2(marshallhandle);
295 delete marshallhandle;
296@@ -484,91 +483,6 @@
297 /*Clean up*/
298 delete iomodel;
299 }/*}}}*/
300-void FemModel::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
301-
302- int i;
303- int analysis_type;
304-
305- if(marshall_direction==MARSHALLING_LOAD){
306- delete this->materials;
307- delete this->parameters;
308- delete this->inputs;
309- if(this->constraints_list && this->nummodels){
310- for(i=0;i<this->nummodels;i++) delete this->constraints_list[i];
311- xDelete<Constraints*>(constraints_list);
312- }
313- if(this->loads_list && this->nummodels){
314- for(i=0;i<this->nummodels;i++) delete this->loads_list[i];
315- xDelete<Loads*>(loads_list);
316- }
317- if(this->nodes_list && this->nummodels){
318- for(i=0;i<this->nummodels;i++) delete this->nodes_list[i];
319- xDelete<Nodes*>(nodes_list);
320- }
321- delete this->results;
322- delete this->vertices;
323- delete this->elements;
324- xDelete<int>(this->analysis_type_list);
325-
326- this->materials = new Materials();
327- this->parameters = new Parameters();
328- this->inputs = new Inputs();
329- this->results = new Results();
330- this->nodes = new Nodes();
331- this->vertices = new Vertices();
332- this->elements = new Elements();
333- }
334-
335- MARSHALLING_ENUM(FemModelEnum);
336-
337- MARSHALLING(solution_type);
338- MARSHALLING(analysis_counter);
339- MARSHALLING(nummodels);
340- MARSHALLING_DYNAMIC(analysis_type_list,int,nummodels);
341-
342- this->materials->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
343- this->parameters->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
344- this->inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
345- this->results->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
346- this->vertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
347- this->elements->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
348-
349- if(marshall_direction==MARSHALLING_LOAD){
350- this->constraints_list = xNew<Constraints*>(this->nummodels);
351- for(i=0;i<nummodels;i++) this->constraints_list[i] = new Constraints();
352- this->loads_list = xNew<Loads*>(this->nummodels);
353- for(i=0;i<nummodels;i++) this->loads_list[i] = new Loads();
354- this->nodes_list = xNew<Nodes*>(this->nummodels);
355- for(i=0;i<nummodels;i++) this->nodes_list[i] = new Nodes();
356- }
357-
358- for(i=0;i<nummodels;i++){
359- this->constraints_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
360- this->loads_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
361- this->nodes_list[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
362- }
363-
364- if(marshall_direction==MARSHALLING_LOAD){
365- /*reset hooks for elements, loads and nodes:*/
366- this->elements->ResetHooks();
367- this->materials->ResetHooks();
368-
369- /*do the post-processing of the datasets to get an FemModel that can actually run analyses:*/
370- for(i=0;i<nummodels;i++){
371- this->loads_list[i]->ResetHooks();
372- analysis_type=this->analysis_type_list[i];
373- SetCurrentConfiguration(analysis_type);
374- SpcNodesx(this->nodes_list[i],this->constraints_list[i],this->parameters);
375- NodesDofx(this->nodes_list[i],this->parameters);
376- ConfigureObjectsx(this->elements,this->loads_list[i],this->nodes_list[i],this->vertices,this->materials,this->parameters,this->inputs);
377- }
378-
379- //Reset current configuration:
380- analysis_type=this->analysis_type_list[analysis_counter];
381- SetCurrentConfiguration(analysis_type);
382- }
383-}
384-/*}}}*/
385 void FemModel::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
386
387 /*Allocate new fields if necessary*/
388@@ -692,7 +606,6 @@
389 femmodel_buffer_ini=femmodel_buffer; //keep track of the initial position, so as to free later.
390
391 /*Create new FemModel by demarshalling the buffer: */
392- //this->Marshall(&femmodel_buffer,NULL,MARSHALLING_LOAD);
393 LoadCheckpointFunctor* marshallhandle = new LoadCheckpointFunctor(&femmodel_buffer);
394 this->Marshall2(marshallhandle);
395 delete marshallhandle;
396Index: ../trunk-jpl/src/c/classes/Vertices.h
397===================================================================
398--- ../trunk-jpl/src/c/classes/Vertices.h (revision 25506)
399+++ ../trunk-jpl/src/c/classes/Vertices.h (revision 25507)
400@@ -30,7 +30,6 @@
401
402 /*Objects virtual functions*/
403 Vertices* Copy();
404- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
405 void Marshall2(MarshallHandle* marshallhandle);
406
407 /*numerics:*/
408Index: ../trunk-jpl/src/c/classes/Node.h
409===================================================================
410--- ../trunk-jpl/src/c/classes/Node.h (revision 25506)
411+++ ../trunk-jpl/src/c/classes/Node.h (revision 25507)
412@@ -75,7 +75,6 @@
413 void DeepEcho();
414 void Echo();
415 int Id();
416- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
417 void Marshall2(MarshallHandle* marshallhandle);
418 int ObjectEnum();
419
420Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
421===================================================================
422--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 25506)
423+++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 25507)
424@@ -140,23 +140,6 @@
425
426 }
427 /*}}}*/
428-void Penta::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
429-
430- MARSHALLING_ENUM(PentaEnum);
431- MARSHALLING(this->isonsurface);
432- MARSHALLING(this->isonbase);
433-
434- /*Call parent classes: */
435- ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
436- Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
437- PentaRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
438-
439- vertices = (Vertex**)this->hvertices->deliverp();
440- material = (Material*)this->hmaterial->delivers();
441- verticalneighbors = (Penta**)this->hneighbors->deliverp();
442-
443-}
444-/*}}}*/
445 void Penta::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
446
447 int object_enum = PentaEnum;
448Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.h
449===================================================================
450--- ../trunk-jpl/src/c/classes/Elements/PentaRef.h (revision 25506)
451+++ ../trunk-jpl/src/c/classes/Elements/PentaRef.h (revision 25507)
452@@ -28,7 +28,6 @@
453 void GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
454 void GetTriaJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
455 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement);
456- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
457 void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
458 int NumberofNodes(int finiteelement);
459 int PressureInterpolation(int fe_stokes);
460Index: ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp
461===================================================================
462--- ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp (revision 25506)
463+++ ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp (revision 25507)
464@@ -64,65 +64,6 @@
465
466 }
467 /*}}}*/
468-void ElementHook::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
469-
470- int i;
471- bool* hnodesi_null=NULL; /*intermediary needed*/
472- bool hnodes_null=true; /*this could be NULL on empty constructor*/
473- bool hneighbors_null=true; /*don't deal with hneighbors, unless explicitely asked to*/
474-
475- _assert_(this);
476-
477- /*preliminary, before marshall starts: */
478- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
479- if(this->hneighbors)hneighbors_null=false;
480- if(this->hnodes){
481- hnodes_null=false;
482- hnodesi_null=xNew<bool>(numanalyses);
483- for(i=0;i<numanalyses;i++){
484- if(this->hnodes[i])hnodesi_null[i]=false;
485- else hnodesi_null[i]=true;
486- }
487- }
488- }
489-
490- /*ok, marshall operations: */
491- MARSHALLING_ENUM(ElementHookEnum);
492- MARSHALLING(numanalyses);
493- MARSHALLING(hneighbors_null);
494- MARSHALLING(hnodes_null);
495- MARSHALLING_DYNAMIC(hnodesi_null,bool,numanalyses);
496-
497- if(marshall_direction==MARSHALLING_LOAD){
498-
499- if (!hnodes_null)this->hnodes = new Hook*[numanalyses];
500- else this->hnodes=NULL;
501- this->hvertices = new Hook();
502- this->hmaterial = new Hook();
503- if(!hneighbors_null)this->hneighbors = new Hook();
504- else this->hneighbors=NULL;
505-
506- /*Initialize hnodes: */
507- if (this->hnodes){
508- for(int i=0;i<this->numanalyses;i++){
509- if(!hnodesi_null[i])this->hnodes[i]=new Hook();
510- else this->hnodes[i]=NULL;
511- }
512- }
513- }
514-
515- if (this->hnodes){
516- for (i=0;i<numanalyses;i++) if(this->hnodes[i])this->hnodes[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
517- }
518- this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
519- this->hmaterial->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
520- if(this->hneighbors)this->hneighbors->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
521-
522- /*Free ressources: */
523- if(hnodesi_null) xDelete<bool>(hnodesi_null);
524-
525-}
526-/*}}}*/
527 void ElementHook::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
528
529 int i;
530Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
531===================================================================
532--- ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 25506)
533+++ ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 25507)
534@@ -39,7 +39,6 @@
535 /*}}}*/
536 /*Object virtual functions definitions: {{{*/
537 Object *copy();
538- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
539 void Marshall2(MarshallHandle* marshallhandle);
540 int ObjectEnum();
541 /*}}}*/
542Index: ../trunk-jpl/src/c/classes/Elements/Seg.cpp
543===================================================================
544--- ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 25506)
545+++ ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 25507)
546@@ -119,25 +119,6 @@
547
548 }
549 /*}}}*/
550-void Seg::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
551-
552- MARSHALLING_ENUM(SegEnum);
553- MARSHALLING(this->iscollapsed);
554- MARSHALLING(this->isonsurface);
555- MARSHALLING(this->isonbase);
556- MARSHALLING(this->collapsed_ids[0]);
557- MARSHALLING(this->collapsed_ids[1]);
558-
559- /*Call parent classes: */
560- ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
561- Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
562- SegRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
563-
564- vertices = (Vertex**)this->hvertices->deliverp();
565- material = (Material*)this->hmaterial->delivers();
566-
567-}
568-/*}}}*/
569 void Seg::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
570
571 int object_enum = SegEnum;
572Index: ../trunk-jpl/src/c/classes/Elements/ElementHook.h
573===================================================================
574--- ../trunk-jpl/src/c/classes/Elements/ElementHook.h (revision 25506)
575+++ ../trunk-jpl/src/c/classes/Elements/ElementHook.h (revision 25507)
576@@ -21,7 +21,6 @@
577 ElementHook();
578 ElementHook(int in_numanalyses,int material_id,int numvertices,IoModel* iomodel);
579 ~ElementHook();
580- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
581 void Marshall2(MarshallHandle* marshallhandle);
582
583 void DeepEcho();
584Index: ../trunk-jpl/src/c/classes/Elements/Tetra.cpp
585===================================================================
586--- ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 25506)
587+++ ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 25507)
588@@ -117,22 +117,6 @@
589 return tetra;
590 }
591 /*}}}*/
592-void Tetra::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
593-
594- MARSHALLING_ENUM(TetraEnum);
595- MARSHALLING(this->isonsurface);
596- MARSHALLING(this->isonbase);
597-
598- /*Call parent classes: */
599- ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
600- Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
601- TetraRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
602-
603- vertices = (Vertex**)this->hvertices->deliverp();
604- material = (Material*)this->hmaterial->delivers();
605-
606-}
607-/*}}}*/
608 void Tetra::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
609
610 int object_enum = TetraEnum;
611Index: ../trunk-jpl/src/c/classes/Elements/SegRef.h
612===================================================================
613--- ../trunk-jpl/src/c/classes/Elements/SegRef.h (revision 25506)
614+++ ../trunk-jpl/src/c/classes/Elements/SegRef.h (revision 25507)
615@@ -23,7 +23,6 @@
616 void GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss,int finiteelement);
617 void GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss,int finiteelement);
618 void GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss,int finiteelement);
619- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
620 void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
621 int NumberofNodes(int finiteelement);
622 };
623Index: ../trunk-jpl/src/c/classes/Elements/TetraRef.h
624===================================================================
625--- ../trunk-jpl/src/c/classes/Elements/TetraRef.h (revision 25506)
626+++ ../trunk-jpl/src/c/classes/Elements/TetraRef.h (revision 25507)
627@@ -24,7 +24,6 @@
628 void GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement);
629 void GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss,int finiteelement);
630 void GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss,int finiteelement);
631- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
632 void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
633 int NumberofNodes(int finiteelement);
634 int PressureInterpolation(int fe_stokes);
635Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
636===================================================================
637--- ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 25506)
638+++ ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 25507)
639@@ -37,7 +37,6 @@
640 /*}}}*/
641 /*Object virtual functions definitions:{{{ */
642 Object *copy();
643- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
644 void Marshall2(MarshallHandle* marshallhandle);
645 int ObjectEnum();
646 /*}}}*/
647Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
648===================================================================
649--- ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 25506)
650+++ ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 25507)
651@@ -35,7 +35,6 @@
652 /*}}}*/
653 /*Object virtual functions definitions:{{{ */
654 Object *copy();
655- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
656 void Marshall2(MarshallHandle* marshallhandle);
657 int ObjectEnum();
658 /*}}}*/
659Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
660===================================================================
661--- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25506)
662+++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25507)
663@@ -2239,22 +2239,6 @@
664 xDelete<IssmDouble>(values);
665
666 }/*}}}*/
667-void Element::MarshallElement(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction,int numanalyses){/*{{{*/
668-
669- _assert_(this);
670- if(marshall_direction==MARSHALLING_LOAD){
671- nodes = NULL;
672- }
673-
674- MARSHALLING_ENUM(ElementEnum);
675-
676- MARSHALLING(id);
677- MARSHALLING(sid);
678- MARSHALLING(lid);
679- MARSHALLING(element_type);
680- MARSHALLING_DYNAMIC(element_type_list,int,numanalyses);
681-}
682-/*}}}*/
683 void Element::MarshallElement2(MarshallHandle* marshallhandle,int numanalyses){/*{{{*/
684
685 _assert_(this);
686Index: ../trunk-jpl/src/c/classes/Elements/Element.h
687===================================================================
688--- ../trunk-jpl/src/c/classes/Elements/Element.h (revision 25506)
689+++ ../trunk-jpl/src/c/classes/Elements/Element.h (revision 25507)
690@@ -146,7 +146,6 @@
691 void LinearFloatingiceMeltingRate();
692 void SpatialLinearFloatingiceMeltingRate();
693 void MantlePlumeGeothermalFlux();
694- void MarshallElement(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction,int numanalyses);
695 void MarshallElement2(MarshallHandle* marshallhandle,int numanalyses);
696 void MigrateGroundingLine(IssmDouble* sheet_ungrounding);
697 void MismipFloatingiceMeltingRate();
698@@ -290,7 +289,6 @@
699 virtual void JacobianDeterminantLine(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss)=0;
700 virtual void JacobianDeterminantSurface(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss)=0;
701 virtual void JacobianDeterminantTop(IssmDouble* Jdet,IssmDouble* xyz_list_base,Gauss* gauss)=0;
702- virtual void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction)=0;
703 virtual void Marshall2(MarshallHandle* marshallhandle)=0;
704 virtual IssmDouble Masscon(IssmDouble* levelset)=0;
705 virtual IssmDouble MassFlux(IssmDouble* segment)=0;
706Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
707===================================================================
708--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 25506)
709+++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 25507)
710@@ -143,23 +143,6 @@
711 return tria;
712 }
713 /*}}}*/
714-void Tria::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
715-
716- MARSHALLING_ENUM(TriaEnum);
717- MARSHALLING(this->iscollapsed);
718- MARSHALLING(this->isonsurface);
719- MARSHALLING(this->isonbase);
720-
721- /*Call parent classes: */
722- ElementHook::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
723- Element::MarshallElement(pmarshalled_data,pmarshalled_data_size,marshall_direction,this->numanalyses);
724- TriaRef::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
725-
726- vertices = (Vertex**)this->hvertices->deliverp();
727- material = (Material*)this->hmaterial->delivers();
728-
729-}
730-/*}}}*/
731 void Tria::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
732
733 int object_enum = TriaEnum;
734Index: ../trunk-jpl/src/c/classes/Elements/TriaRef.h
735===================================================================
736--- ../trunk-jpl/src/c/classes/Elements/TriaRef.h (revision 25506)
737+++ ../trunk-jpl/src/c/classes/Elements/TriaRef.h (revision 25507)
738@@ -27,7 +27,6 @@
739 void GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
740 void GetSegmentNodalFunctions(IssmDouble* basis,Gauss* gauss, int index1,int index2,int finiteelement);
741 void GetSegmentNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list_tria,Gauss* gauss, int index1,int index2,int finiteelement);
742- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
743 void Marshall2(MarshallHandle* marshallhandle){ /*do nothing */};
744 void NodeOnEdgeIndices(int* pnumindices,int** pindices,int index,int finiteelement);
745 int NumberofNodes(int finiteelement);
746Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
747===================================================================
748--- ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 25506)
749+++ ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 25507)
750@@ -38,7 +38,6 @@
751 /*}}}*/
752 /*Object virtual functions definitions:{{{ */
753 Object *copy();
754- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
755 void Marshall2(MarshallHandle* marshallhandle);
756 int ObjectEnum();
757 /*}}}*/
758Index: ../trunk-jpl/src/c/classes/Radar.h
759===================================================================
760--- ../trunk-jpl/src/c/classes/Radar.h (revision 25506)
761+++ ../trunk-jpl/src/c/classes/Radar.h (revision 25507)
762@@ -28,7 +28,6 @@
763 void DeepEcho(void);
764 void Echo(void);
765 int Id(void);
766- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
767 void Marshall2(MarshallHandle* marshallhandle);
768 int ObjectEnum(void);
769
770Index: ../trunk-jpl/src/c/classes/Contour.h
771===================================================================
772--- ../trunk-jpl/src/c/classes/Contour.h (revision 25506)
773+++ ../trunk-jpl/src/c/classes/Contour.h (revision 25507)
774@@ -78,10 +78,6 @@
775 return id;
776 }
777 /*}}}*/
778- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
779- _error_("not implemented yet!");
780- }
781- /*}}}*/
782 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
783 _error_("not implemented yet!");
784 }
785Index: ../trunk-jpl/src/c/classes/Nodalvalue.h
786===================================================================
787--- ../trunk-jpl/src/c/classes/Nodalvalue.h (revision 25506)
788+++ ../trunk-jpl/src/c/classes/Nodalvalue.h (revision 25507)
789@@ -33,7 +33,6 @@
790 void DeepEcho(void);
791 void Echo(void);
792 int Id(void);
793- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
794 void Marshall2(MarshallHandle* marshallhandle);
795 int ObjectEnum(void);
796
797Index: ../trunk-jpl/src/c/classes/Materials/Matestar.cpp
798===================================================================
799--- ../trunk-jpl/src/c/classes/Materials/Matestar.cpp (revision 25506)
800+++ ../trunk-jpl/src/c/classes/Materials/Matestar.cpp (revision 25507)
801@@ -100,17 +100,6 @@
802 /*}}}*/
803 int Matestar::Id(void){ return mid; }/*{{{*/
804 /*}}}*/
805-void Matestar::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
806-
807- if(marshall_direction==MARSHALLING_LOAD)helement=new Hook();
808-
809- MARSHALLING_ENUM(MatestarEnum);
810- MARSHALLING(mid);
811- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
812- this->element=(Element*)this->helement->delivers();
813-
814-}
815-/*}}}*/
816 void Matestar::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
817
818 if(marshallhandle->OperationNumber()==MARSHALLING_LOAD)helement=new Hook();
819Index: ../trunk-jpl/src/c/classes/Materials/Matlitho.cpp
820===================================================================
821--- ../trunk-jpl/src/c/classes/Materials/Matlitho.cpp (revision 25506)
822+++ ../trunk-jpl/src/c/classes/Materials/Matlitho.cpp (revision 25507)
823@@ -144,36 +144,6 @@
824 /*}}}*/
825 int Matlitho::Id(void){ return mid; }/*{{{*/
826 /*}}}*/
827-void Matlitho::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
828-
829- MARSHALLING_ENUM(MatlithoEnum);
830-
831- MARSHALLING(numlayers);
832- if(numlayers) {
833- MARSHALLING_DYNAMIC(radius,IssmDouble,numlayers+1);
834- MARSHALLING_DYNAMIC(viscosity,IssmDouble,numlayers);
835- MARSHALLING_DYNAMIC(lame_lambda,IssmDouble,numlayers);
836- MARSHALLING_DYNAMIC(lame_mu,IssmDouble,numlayers);
837- MARSHALLING_DYNAMIC(burgers_viscosity,IssmDouble,numlayers);
838- MARSHALLING_DYNAMIC(burgers_mu,IssmDouble,numlayers);
839- MARSHALLING_DYNAMIC(density,IssmDouble,numlayers);
840- MARSHALLING_DYNAMIC(isburgers,IssmDouble,numlayers);
841- MARSHALLING_DYNAMIC(issolid,IssmDouble,numlayers);
842- }
843- else{
844- radius=NULL;
845- viscosity=NULL;
846- lame_lambda=NULL;
847- lame_mu=NULL;
848- burgers_viscosity=NULL;
849- burgers_mu=NULL;
850- density=NULL;
851- isburgers=NULL;
852- issolid=NULL;
853- }
854-
855-}
856-/*}}}*/
857 void Matlitho::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
858
859 int object_enum = MatlithoEnum;
860Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
861===================================================================
862--- ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 25506)
863+++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 25507)
864@@ -158,19 +158,6 @@
865 /*}}}*/
866 int Matice::Id(void){ return mid; }/*{{{*/
867 /*}}}*/
868-void Matice::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
869-
870- if(marshall_direction==MARSHALLING_LOAD)helement=new Hook();
871-
872- MARSHALLING_ENUM(MaticeEnum);
873- MARSHALLING(mid);
874- MARSHALLING(isdamaged);
875- MARSHALLING(isenhanced);
876- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
877- this->element=(Element*)this->helement->delivers();
878-
879-}
880-/*}}}*/
881 void Matice::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
882
883 if(marshallhandle->OperationNumber()==MARSHALLING_LOAD)helement=new Hook();
884Index: ../trunk-jpl/src/c/classes/Materials/Matestar.h
885===================================================================
886--- ../trunk-jpl/src/c/classes/Materials/Matestar.h (revision 25506)
887+++ ../trunk-jpl/src/c/classes/Materials/Matestar.h (revision 25507)
888@@ -40,7 +40,6 @@
889 void DeepEcho();
890 void Echo();
891 int Id();
892- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
893 void Marshall2(MarshallHandle* marshallhandle);
894 int ObjectEnum();
895 /*}}}*/
896Index: ../trunk-jpl/src/c/classes/Materials/Matlitho.h
897===================================================================
898--- ../trunk-jpl/src/c/classes/Materials/Matlitho.h (revision 25506)
899+++ ../trunk-jpl/src/c/classes/Materials/Matlitho.h (revision 25507)
900@@ -36,7 +36,6 @@
901 void DeepEcho();
902 void Echo();
903 int Id();
904- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
905 void Marshall2(MarshallHandle* marshallhandle);
906 int ObjectEnum();
907 /*}}}*/
908Index: ../trunk-jpl/src/c/classes/Materials/Matice.h
909===================================================================
910--- ../trunk-jpl/src/c/classes/Materials/Matice.h (revision 25506)
911+++ ../trunk-jpl/src/c/classes/Materials/Matice.h (revision 25507)
912@@ -44,7 +44,6 @@
913 void DeepEcho();
914 void Echo();
915 int Id();
916- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
917 void Marshall2(MarshallHandle* marshallhandle);
918 int ObjectEnum();
919 /*}}}*/
920Index: ../trunk-jpl/src/c/classes/Hook.cpp
921===================================================================
922--- ../trunk-jpl/src/c/classes/Hook.cpp (revision 25506)
923+++ ../trunk-jpl/src/c/classes/Hook.cpp (revision 25507)
924@@ -119,27 +119,6 @@
925 }
926 }
927 /*}}}*/
928-void Hook::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
929-
930- if(marshall_direction==MARSHALLING_LOAD) reset();
931-
932- MARSHALLING_ENUM(HookEnum);
933- MARSHALLING(num);
934- if (num<=0){
935- /*Empty hook*/
936- this->ids = NULL;
937- this->objects = NULL;
938- this->offsets = NULL;
939- this->num = 0;
940- }
941- else{
942- MARSHALLING_DYNAMIC(ids,int,num);
943- MARSHALLING_DYNAMIC(offsets,int,num);
944- MARSHALLING_DYNAMIC(objects,Object*,num);
945- }
946-
947-}
948-/*}}}*/
949 void Hook::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
950
951 if(marshallhandle->OperationNumber()==MARSHALLING_LOAD) reset();
952Index: ../trunk-jpl/src/c/classes/Misfit.h
953===================================================================
954--- ../trunk-jpl/src/c/classes/Misfit.h (revision 25506)
955+++ ../trunk-jpl/src/c/classes/Misfit.h (revision 25507)
956@@ -37,7 +37,6 @@
957 void DeepEcho(void);
958 void Echo(void);
959 int Id(void);
960- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
961 void Marshall2(MarshallHandle* marshallhandle);
962 int ObjectEnum(void);
963
964Index: ../trunk-jpl/src/c/classes/Inputs/DatasetInput.h
965===================================================================
966--- ../trunk-jpl/src/c/classes/Inputs/DatasetInput.h (revision 25506)
967+++ ../trunk-jpl/src/c/classes/Inputs/DatasetInput.h (revision 25507)
968@@ -33,7 +33,6 @@
969 void DeepEcho();
970 void Echo();
971 int Id();
972- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
973 void Marshall2(MarshallHandle* marshallhandle);
974 int ObjectEnum();
975 void SetTriaInput(int interp_in,int numinds,int* rows,IssmDouble* values_in);
976Index: ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp
977===================================================================
978--- ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp (revision 25506)
979+++ ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp (revision 25507)
980@@ -53,18 +53,6 @@
981 /*}}}*/
982 int IntInput::Id(void){ return -1; }/*{{{*/
983 /*}}}*/
984-void IntInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
985-
986- MARSHALLING_ENUM(IntInputEnum);
987-
988- MARSHALLING(this->size);
989- if(this->size > 0){
990- MARSHALLING_DYNAMIC(this->values,int,this->size)
991- }
992- else this->values = NULL;
993-
994-}
995-/*}}}*/
996 void IntInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
997
998 int object_enum = IntInputEnum;
999Index: ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
1000===================================================================
1001--- ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp (revision 25506)
1002+++ ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp (revision 25507)
1003@@ -54,17 +54,6 @@
1004 /*}}}*/
1005 int BoolInput::Id(void){ return -1; }/*{{{*/
1006 /*}}}*/
1007-void BoolInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1008-
1009- MARSHALLING_ENUM(BoolInputEnum);
1010- MARSHALLING(this->size);
1011- if(this->size > 0){
1012- MARSHALLING_DYNAMIC(this->values,bool,this->size)
1013- }
1014- else this->values = NULL;
1015-
1016-}
1017-/*}}}*/
1018 void BoolInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1019
1020 int object_enum = BoolInputEnum;
1021Index: ../trunk-jpl/src/c/classes/Inputs/ElementInput.h
1022===================================================================
1023--- ../trunk-jpl/src/c/classes/Inputs/ElementInput.h (revision 25506)
1024+++ ../trunk-jpl/src/c/classes/Inputs/ElementInput.h (revision 25507)
1025@@ -28,7 +28,6 @@
1026 virtual void DeepEcho()=0;
1027 virtual void Echo()=0;
1028 virtual int Id()=0;
1029- virtual void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction)=0;
1030 virtual void Marshall2(MarshallHandle* marshallhandle)=0;
1031 virtual int ObjectEnum()=0;
1032 /*Other*/
1033Index: ../trunk-jpl/src/c/classes/Inputs/TriaInput.cpp
1034===================================================================
1035--- ../trunk-jpl/src/c/classes/Inputs/TriaInput.cpp (revision 25506)
1036+++ ../trunk-jpl/src/c/classes/Inputs/TriaInput.cpp (revision 25507)
1037@@ -111,27 +111,6 @@
1038 int TriaInput::Id(void){/*{{{*/
1039 return -1;
1040 }/*}}}*/
1041-void TriaInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1042-
1043- MARSHALLING_ENUM(TriaInputEnum);
1044- MARSHALLING(this->numberofelements_local);
1045- MARSHALLING(this->numberofvertices_local);
1046- MARSHALLING(this->interpolation);
1047- MARSHALLING(this->M);
1048- MARSHALLING(this->N);
1049- this->isserved = false;
1050- this->isserved_collapsed = 0;
1051- if(this->M*this->N){
1052- MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
1053- }
1054- else this->values = NULL;
1055-
1056- if(marshall_direction == MARSHALLING_LOAD){
1057- this->element_values = xNewZeroInit<IssmDouble>(TriaRef::NumberofNodes(this->interpolation));
1058- }
1059-
1060-}
1061-/*}}}*/
1062 void TriaInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1063
1064 int object_enum = TriaInputEnum;
1065Index: ../trunk-jpl/src/c/classes/Inputs/IntInput.h
1066===================================================================
1067--- ../trunk-jpl/src/c/classes/Inputs/IntInput.h (revision 25506)
1068+++ ../trunk-jpl/src/c/classes/Inputs/IntInput.h (revision 25507)
1069@@ -21,7 +21,6 @@
1070 void DeepEcho();
1071 void Echo();
1072 int Id();
1073- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1074 void Marshall2(MarshallHandle* marshallhandle);
1075 int ObjectEnum();
1076 /*}}}*/
1077Index: ../trunk-jpl/src/c/classes/Inputs/BoolInput.h
1078===================================================================
1079--- ../trunk-jpl/src/c/classes/Inputs/BoolInput.h (revision 25506)
1080+++ ../trunk-jpl/src/c/classes/Inputs/BoolInput.h (revision 25507)
1081@@ -21,7 +21,6 @@
1082 void DeepEcho();
1083 void Echo();
1084 int Id();
1085- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1086 void Marshall2(MarshallHandle* marshallhandle);
1087 int ObjectEnum();
1088 /*}}}*/
1089Index: ../trunk-jpl/src/c/classes/Inputs/Inputs.cpp
1090===================================================================
1091--- ../trunk-jpl/src/c/classes/Inputs/Inputs.cpp (revision 25506)
1092+++ ../trunk-jpl/src/c/classes/Inputs/Inputs.cpp (revision 25507)
1093@@ -78,71 +78,6 @@
1094 return;
1095 }
1096 /*}}}*/
1097-void Inputs::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/
1098-
1099- int obj_enum=-1;
1100- int num_inputs=0;
1101- int index;
1102-
1103- MARSHALLING_ENUM(InputsEnum);
1104-
1105- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
1106-
1107- /*Marshall num_inputs first*/
1108- for(int i=0;i<NUMINPUTS;i++){
1109- if(this->inputs[i]) num_inputs++;
1110- }
1111- MARSHALLING(num_inputs);
1112-
1113- /*Marshall Parameters one by one now*/
1114- for(int i=0;i<NUMINPUTS;i++){
1115- if(this->inputs[i]){
1116- obj_enum = this->inputs[i]->ObjectEnum();
1117- MARSHALLING(i);
1118- MARSHALLING(obj_enum);
1119- this->inputs[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1120- }
1121- }
1122- }
1123- else{
1124-
1125- /*Get number of inputs marshalled*/
1126- MARSHALLING(num_inputs);
1127-
1128- /*Recover input2eters one by one*/
1129- for(int i=0;i<num_inputs;i++){
1130-
1131- /*Recover enum of object first: */
1132- MARSHALLING(index);
1133- MARSHALLING(obj_enum);
1134-
1135- if(obj_enum==BoolInputEnum){
1136- BoolInput* boolinput2=new BoolInput();
1137- boolinput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1138- this->inputs[index]=boolinput2;
1139- }
1140- else if(obj_enum==IntInputEnum){
1141- IntInput* intinput2=new IntInput();
1142- intinput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1143- this->inputs[index]=intinput2;
1144- }
1145- else if(obj_enum==TriaInputEnum){
1146- TriaInput* triainput2=new TriaInput();
1147- triainput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1148- this->inputs[index]=triainput2;
1149- }
1150- else if(obj_enum==PentaInputEnum){
1151- PentaInput* pentainput2=new PentaInput();
1152- pentainput2->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1153- this->inputs[index]=pentainput2;
1154- }
1155- else{
1156- _error_("input "<<EnumToStringx(obj_enum)<<" not supported");
1157- }
1158- }
1159- }
1160-}
1161-/*}}}*/
1162 void Inputs::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
1163
1164 int num_inputs=0;
1165Index: ../trunk-jpl/src/c/classes/Inputs/TriaInput.h
1166===================================================================
1167--- ../trunk-jpl/src/c/classes/Inputs/TriaInput.h (revision 25506)
1168+++ ../trunk-jpl/src/c/classes/Inputs/TriaInput.h (revision 25507)
1169@@ -21,7 +21,6 @@
1170 void DeepEcho();
1171 void Echo();
1172 int Id();
1173- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1174 void Marshall2(MarshallHandle* marshallhandle);
1175 int ObjectEnum();
1176 /*}}}*/
1177Index: ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
1178===================================================================
1179--- ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp (revision 25506)
1180+++ ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp (revision 25507)
1181@@ -116,22 +116,6 @@
1182 /*}}}*/
1183 int TransientInput::Id(void){ return -1; }/*{{{*/
1184 /*}}}*/
1185-void TransientInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1186-
1187- if (marshall_direction == MARSHALLING_LOAD){
1188- _error_("not implmented");
1189- //inputs = new Inputs();
1190- }
1191-
1192- MARSHALLING_ENUM(TransientInputEnum);
1193-
1194- MARSHALLING(enum_type);
1195- MARSHALLING(numtimesteps);
1196- MARSHALLING_DYNAMIC(this->timesteps,IssmDouble,numtimesteps);
1197- //inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1198- _error_("not implemented");
1199-}
1200-/*}}}*/
1201 void TransientInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1202
1203 if (marshallhandle->OperationNumber() == MARSHALLING_LOAD){
1204Index: ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
1205===================================================================
1206--- ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp (revision 25506)
1207+++ ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp (revision 25507)
1208@@ -125,26 +125,6 @@
1209 int PentaInput::Id(void){/*{{{*/
1210 return -1;
1211 }/*}}}*/
1212-void PentaInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1213-
1214- MARSHALLING_ENUM(PentaInputEnum);
1215- MARSHALLING(this->numberofelements_local);
1216- MARSHALLING(this->numberofvertices_local);
1217- MARSHALLING(this->interpolation);
1218- MARSHALLING(this->M);
1219- MARSHALLING(this->N);
1220- this->isserved = false;
1221- this->isserved_collapsed = 0;
1222- if(this->M*this->N){
1223- MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
1224- }
1225- else this->values = NULL;
1226-
1227- if(marshall_direction == MARSHALLING_LOAD){
1228- this->element_values = xNewZeroInit<IssmDouble>(PentaRef::NumberofNodes(this->interpolation));
1229- }
1230-}
1231-/*}}}*/
1232 void PentaInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1233
1234 int object_enum = PentaInputEnum;
1235Index: ../trunk-jpl/src/c/classes/Inputs/Inputs.h
1236===================================================================
1237--- ../trunk-jpl/src/c/classes/Inputs/Inputs.h (revision 25506)
1238+++ ../trunk-jpl/src/c/classes/Inputs/Inputs.h (revision 25507)
1239@@ -62,7 +62,6 @@
1240 ElementInput* GetControlInputData(int enum_type,const char* data);
1241 DatasetInput* GetDatasetInput(int enum_type);
1242 ControlInput* GetControlInput(int enum_type);
1243- void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
1244 void Marshall2(MarshallHandle* marshallhandle);
1245 int GetInputObjectEnum(int enum_type);
1246 void GetInputValue(bool* pvalue,int enum_in,int index);
1247Index: ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
1248===================================================================
1249--- ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp (revision 25506)
1250+++ ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp (revision 25507)
1251@@ -53,18 +53,6 @@
1252 /*}}}*/
1253 int DoubleInput::Id(void){ return -1; }/*{{{*/
1254 /*}}}*/
1255-void DoubleInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1256-
1257- MARSHALLING_ENUM(DoubleInputEnum);
1258-
1259- MARSHALLING(this->size);
1260- if(this->size > 0){
1261- MARSHALLING_DYNAMIC(this->values,IssmDouble,this->size)
1262- }
1263- else this->values = NULL;
1264-
1265-}
1266-/*}}}*/
1267 void DoubleInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1268
1269 int object_enum = DoubleInputEnum;
1270Index: ../trunk-jpl/src/c/classes/Inputs/TransientInput.h
1271===================================================================
1272--- ../trunk-jpl/src/c/classes/Inputs/TransientInput.h (revision 25506)
1273+++ ../trunk-jpl/src/c/classes/Inputs/TransientInput.h (revision 25507)
1274@@ -42,7 +42,6 @@
1275 void DeepEcho();
1276 void Echo();
1277 int Id();
1278- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1279 void Marshall2(MarshallHandle* marshallhandle);
1280 int ObjectEnum();
1281 /*}}}*/
1282Index: ../trunk-jpl/src/c/classes/Inputs/PentaInput.h
1283===================================================================
1284--- ../trunk-jpl/src/c/classes/Inputs/PentaInput.h (revision 25506)
1285+++ ../trunk-jpl/src/c/classes/Inputs/PentaInput.h (revision 25507)
1286@@ -20,7 +20,6 @@
1287 void DeepEcho();
1288 void Echo();
1289 int Id();
1290- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1291 void Marshall2(MarshallHandle* marshallhandle);
1292 int ObjectEnum();
1293 /*}}}*/
1294Index: ../trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp
1295===================================================================
1296--- ../trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp (revision 25506)
1297+++ ../trunk-jpl/src/c/classes/Inputs/ArrayInput.cpp (revision 25507)
1298@@ -75,25 +75,6 @@
1299 int ArrayInput::Id(void){/*{{{*/
1300 return -1;
1301 }/*}}}*/
1302-void ArrayInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1303-
1304- MARSHALLING_ENUM(ArrayInputEnum);
1305- MARSHALLING(this->numberofelements_local);
1306- if(this->numberofelements_local){
1307- MARSHALLING_DYNAMIC(this->N,int,this->numberofelements_local);
1308- for(int i=0;i<this->numberofelements_local;i++){
1309- if(this->values[i]){
1310- MARSHALLING_DYNAMIC(this->values[i],IssmDouble,this->N[i]);
1311- }
1312- }
1313- }
1314- else{
1315- this->N = NULL;
1316- this->values = NULL;
1317- }
1318-
1319-}
1320-/*}}}*/
1321 void ArrayInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1322
1323 int object_enum = ArrayInputEnum;
1324Index: ../trunk-jpl/src/c/classes/Inputs/SegInput.cpp
1325===================================================================
1326--- ../trunk-jpl/src/c/classes/Inputs/SegInput.cpp (revision 25506)
1327+++ ../trunk-jpl/src/c/classes/Inputs/SegInput.cpp (revision 25507)
1328@@ -107,26 +107,6 @@
1329 int SegInput::Id(void){/*{{{*/
1330 return -1;
1331 }/*}}}*/
1332-void SegInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1333-
1334- MARSHALLING_ENUM(SegInputEnum);
1335- MARSHALLING(this->numberofelements_local);
1336- MARSHALLING(this->numberofvertices_local);
1337- MARSHALLING(this->interpolation);
1338- MARSHALLING(this->M);
1339- MARSHALLING(this->N);
1340- this->isserved = false;
1341- if(this->M*this->N){
1342- MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
1343- }
1344- else this->values = NULL;
1345-
1346- if(marshall_direction == MARSHALLING_LOAD){
1347- this->element_values = xNewZeroInit<IssmDouble>(SegRef::NumberofNodes(this->interpolation));
1348- }
1349-
1350-}
1351-/*}}}*/
1352 void SegInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1353
1354 int object_enum = SegInputEnum;
1355Index: ../trunk-jpl/src/c/classes/Inputs/DoubleInput.h
1356===================================================================
1357--- ../trunk-jpl/src/c/classes/Inputs/DoubleInput.h (revision 25506)
1358+++ ../trunk-jpl/src/c/classes/Inputs/DoubleInput.h (revision 25507)
1359@@ -21,7 +21,6 @@
1360 void DeepEcho();
1361 void Echo();
1362 int Id();
1363- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1364 void Marshall2(MarshallHandle* marshallhandle);
1365 int ObjectEnum();
1366 /*}}}*/
1367Index: ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
1368===================================================================
1369--- ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp (revision 25506)
1370+++ ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp (revision 25507)
1371@@ -117,12 +117,6 @@
1372 /*}}}*/
1373 int ControlInput::Id(void){ return -1; }/*{{{*/
1374 /*}}}*/
1375-void ControlInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1376-
1377- MARSHALLING_ENUM(ControlInputEnum);
1378- _error_("Not implemented");
1379-}
1380-/*}}}*/
1381 void ControlInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1382
1383 int object_enum = ControlInputEnum;
1384Index: ../trunk-jpl/src/c/classes/Inputs/ArrayInput.h
1385===================================================================
1386--- ../trunk-jpl/src/c/classes/Inputs/ArrayInput.h (revision 25506)
1387+++ ../trunk-jpl/src/c/classes/Inputs/ArrayInput.h (revision 25507)
1388@@ -22,7 +22,6 @@
1389 void DeepEcho();
1390 void Echo();
1391 int Id();
1392- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1393 void Marshall2(MarshallHandle* marshallhandle);
1394 int ObjectEnum();
1395 /*}}}*/
1396Index: ../trunk-jpl/src/c/classes/Inputs/SegInput.h
1397===================================================================
1398--- ../trunk-jpl/src/c/classes/Inputs/SegInput.h (revision 25506)
1399+++ ../trunk-jpl/src/c/classes/Inputs/SegInput.h (revision 25507)
1400@@ -18,7 +18,6 @@
1401 void DeepEcho();
1402 void Echo();
1403 int Id();
1404- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1405 void Marshall2(MarshallHandle* marshallhandle);
1406 int ObjectEnum();
1407 /*}}}*/
1408Index: ../trunk-jpl/src/c/classes/Inputs/Input.h
1409===================================================================
1410--- ../trunk-jpl/src/c/classes/Inputs/Input.h (revision 25506)
1411+++ ../trunk-jpl/src/c/classes/Inputs/Input.h (revision 25507)
1412@@ -2,8 +2,8 @@
1413 * \brief abstract class for Input object
1414 */
1415
1416-#ifndef _INPUT2_H_
1417-#define _INPUT2_H_
1418+#ifndef _INPUT_H_
1419+#define _INPUT_H_
1420
1421 /*Headers:*/
1422 #include "../../shared/shared.h"
1423Index: ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp
1424===================================================================
1425--- ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp (revision 25506)
1426+++ ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp (revision 25507)
1427@@ -80,20 +80,6 @@
1428 /*}}}*/
1429 int DatasetInput::Id(void){ return -1; }/*{{{*/
1430 /*}}}*/
1431-void DatasetInput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1432-
1433- MARSHALLING_ENUM(DatasetInputEnum);
1434-
1435- MARSHALLING(numids);
1436- MARSHALLING(this->numberofelements_local);
1437- MARSHALLING(this->numberofvertices_local);
1438- MARSHALLING_DYNAMIC(ids,int,numids);
1439- //if (marshall_direction == MARSHALLING_LOAD) inputs = new Inputs();
1440- //inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1441- _error_("not implemented");
1442-
1443-}
1444-/*}}}*/
1445 void DatasetInput::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1446
1447 int object_enum = DatasetInputEnum;
1448Index: ../trunk-jpl/src/c/classes/Inputs/ControlInput.h
1449===================================================================
1450--- ../trunk-jpl/src/c/classes/Inputs/ControlInput.h (revision 25506)
1451+++ ../trunk-jpl/src/c/classes/Inputs/ControlInput.h (revision 25507)
1452@@ -35,7 +35,6 @@
1453 void DeepEcho();
1454 void Echo();
1455 int Id();
1456- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1457 void Marshall2(MarshallHandle* marshallhandle);
1458 int ObjectEnum();
1459 /*}}}*/
1460Index: ../trunk-jpl/src/c/classes/DependentObject.h
1461===================================================================
1462--- ../trunk-jpl/src/c/classes/DependentObject.h (revision 25506)
1463+++ ../trunk-jpl/src/c/classes/DependentObject.h (revision 25507)
1464@@ -33,7 +33,6 @@
1465 void Echo();
1466 int Id();
1467 int ObjectEnum();
1468- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){_error_("not implemented yet!"); };
1469 void Marshall2(MarshallHandle* marshallhandle){_error_("not implemented yet!"); };
1470
1471 /*DependentObject methods: */
1472Index: ../trunk-jpl/src/c/classes/Numberedcostfunction.h
1473===================================================================
1474--- ../trunk-jpl/src/c/classes/Numberedcostfunction.h (revision 25506)
1475+++ ../trunk-jpl/src/c/classes/Numberedcostfunction.h (revision 25507)
1476@@ -31,7 +31,6 @@
1477 void DeepEcho(void);
1478 void Echo(void);
1479 int Id(void);
1480- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1481 void Marshall2(MarshallHandle* marshallhandle);
1482 int ObjectEnum(void);
1483
1484Index: ../trunk-jpl/src/c/classes/Masscon.h
1485===================================================================
1486--- ../trunk-jpl/src/c/classes/Masscon.h (revision 25506)
1487+++ ../trunk-jpl/src/c/classes/Masscon.h (revision 25507)
1488@@ -72,10 +72,6 @@
1489 return -1;
1490 }
1491 /*}}}*/
1492- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
1493- _error_("not implemented yet!");
1494- }
1495- /*}}}*/
1496 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
1497 _error_("not implemented yet!");
1498 }
1499Index: ../trunk-jpl/src/c/classes/kriging/PowerVariogram.h
1500===================================================================
1501--- ../trunk-jpl/src/c/classes/kriging/PowerVariogram.h (revision 25506)
1502+++ ../trunk-jpl/src/c/classes/kriging/PowerVariogram.h (revision 25507)
1503@@ -25,7 +25,6 @@
1504 void DeepEcho(){_error_("Not implemented yet");};
1505 void Echo();
1506 int Id(){_error_("Not implemented yet");};
1507- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
1508 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
1509 int ObjectEnum(){_error_("Not implemented yet");};
1510
1511Index: ../trunk-jpl/src/c/classes/kriging/Quadtree.h
1512===================================================================
1513--- ../trunk-jpl/src/c/classes/kriging/Quadtree.h (revision 25506)
1514+++ ../trunk-jpl/src/c/classes/kriging/Quadtree.h (revision 25507)
1515@@ -29,7 +29,6 @@
1516 void DeepEcho() {_error_("not implemented yet"); };
1517 void Echo();
1518 int Id() {_error_("not implemented yet"); };
1519- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
1520 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
1521 int ObjectEnum(){_error_("not implemented yet"); };
1522
1523Index: ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h
1524===================================================================
1525--- ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h (revision 25506)
1526+++ ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h (revision 25507)
1527@@ -26,7 +26,6 @@
1528 void DeepEcho(){_error_("Not implemented yet");};
1529 void Echo();
1530 int Id(){_error_("Not implemented yet");};
1531- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
1532 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
1533 int ObjectEnum(){_error_("Not implemented yet");};
1534
1535Index: ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h
1536===================================================================
1537--- ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h (revision 25506)
1538+++ ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h (revision 25507)
1539@@ -25,7 +25,6 @@
1540 void DeepEcho(){_error_("Not implemented yet");};
1541 void Echo();
1542 int Id(){_error_("Not implemented yet");};
1543- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
1544 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
1545 int ObjectEnum(){_error_("Not implemented yet");};
1546
1547Index: ../trunk-jpl/src/c/classes/kriging/Observation.h
1548===================================================================
1549--- ../trunk-jpl/src/c/classes/kriging/Observation.h (revision 25506)
1550+++ ../trunk-jpl/src/c/classes/kriging/Observation.h (revision 25507)
1551@@ -30,7 +30,6 @@
1552 void Echo();
1553 int Id() {_error_("Not implemented yet"); };
1554 void print() const;
1555- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
1556 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
1557 int ObjectEnum(){_error_("Not implemented yet"); };
1558
1559Index: ../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h
1560===================================================================
1561--- ../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h (revision 25506)
1562+++ ../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h (revision 25507)
1563@@ -25,7 +25,6 @@
1564 void DeepEcho(){_error_("Not implemented yet");};
1565 void Echo();
1566 int Id(){_error_("Not implemented yet");};
1567- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
1568 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
1569 int ObjectEnum(){_error_("Not implemented yet");};
1570
1571Index: ../trunk-jpl/src/c/classes/Options/Option.h
1572===================================================================
1573--- ../trunk-jpl/src/c/classes/Options/Option.h (revision 25506)
1574+++ ../trunk-jpl/src/c/classes/Options/Option.h (revision 25507)
1575@@ -24,7 +24,6 @@
1576 virtual void DeepEcho(char *indent)=0;
1577 virtual void Echo()= 0;
1578 int Id(){_error_("Not implemented yet"); };
1579- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
1580 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
1581 int ObjectEnum(){return OptionEnum;};
1582
1583Index: ../trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp
1584===================================================================
1585--- ../trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp (revision 25506)
1586+++ ../trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp (revision 25507)
1587@@ -73,10 +73,6 @@
1588 return -1;
1589 }
1590 /*}}}*/
1591-void Cfsurfacelogvel::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
1592- _error_("not implemented yet!");
1593-}
1594-/*}}}*/
1595 void Cfsurfacelogvel::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
1596 _error_("not implemented yet!");
1597 }
1598Index: ../trunk-jpl/src/c/classes/Massconaxpby.h
1599===================================================================
1600--- ../trunk-jpl/src/c/classes/Massconaxpby.h (revision 25506)
1601+++ ../trunk-jpl/src/c/classes/Massconaxpby.h (revision 25507)
1602@@ -83,10 +83,6 @@
1603 return -1;
1604 }
1605 /*}}}*/
1606- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
1607- _error_("not implemented yet!");
1608- }
1609- /*}}}*/
1610 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
1611 _error_("not implemented yet!");
1612 }
1613Index: ../trunk-jpl/src/c/classes/Nodes.h
1614===================================================================
1615--- ../trunk-jpl/src/c/classes/Nodes.h (revision 25506)
1616+++ ../trunk-jpl/src/c/classes/Nodes.h (revision 25507)
1617@@ -35,7 +35,6 @@
1618
1619 /*Objects virtual functions*/
1620 Nodes* Copy();
1621- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1622 void Marshall2(MarshallHandle* marshallhandle);
1623
1624 /*numerics*/
1625Index: ../trunk-jpl/src/c/classes/Regionaloutput.cpp
1626===================================================================
1627--- ../trunk-jpl/src/c/classes/Regionaloutput.cpp (revision 25506)
1628+++ ../trunk-jpl/src/c/classes/Regionaloutput.cpp (revision 25507)
1629@@ -62,10 +62,6 @@
1630 return -1;
1631 }
1632 /*}}}*/
1633-void Regionaloutput::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
1634- _error_("not implemented yet!");
1635-}
1636-/*}}}*/
1637 void Regionaloutput::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
1638 _error_("not implemented yet!");
1639 }
1640Index: ../trunk-jpl/src/c/classes/Loads/Riftfront.h
1641===================================================================
1642--- ../trunk-jpl/src/c/classes/Loads/Riftfront.h (revision 25506)
1643+++ ../trunk-jpl/src/c/classes/Loads/Riftfront.h (revision 25507)
1644@@ -59,7 +59,6 @@
1645 void DeepEcho();
1646 void Echo();
1647 int Id();
1648- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1649 void Marshall2(MarshallHandle* marshallhandle);
1650 int ObjectEnum();
1651 /*}}}*/
1652Index: ../trunk-jpl/src/c/classes/Loads/Numericalflux.h
1653===================================================================
1654--- ../trunk-jpl/src/c/classes/Loads/Numericalflux.h (revision 25506)
1655+++ ../trunk-jpl/src/c/classes/Loads/Numericalflux.h (revision 25507)
1656@@ -43,7 +43,6 @@
1657 void DeepEcho();
1658 void Echo();
1659 int Id();
1660- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1661 void Marshall2(MarshallHandle* marshallhandle);
1662 int ObjectEnum();
1663 /*}}}*/
1664Index: ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp
1665===================================================================
1666--- ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 25506)
1667+++ ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 25507)
1668@@ -118,31 +118,6 @@
1669 /*}}}*/
1670 int Pengrid::Id(void){ return id; }/*{{{*/
1671 /*}}}*/
1672-void Pengrid::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1673-
1674- _assert_(this);
1675-
1676- /*ok, marshall operations: */
1677- MARSHALLING_ENUM(PengridEnum);
1678- MARSHALLING(id);
1679-
1680- if(marshall_direction==MARSHALLING_LOAD){
1681- this->hnode = new Hook();
1682- this->helement = new Hook();
1683- }
1684-
1685- this->hnode->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1686- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1687-
1688- /*corresponding fields*/
1689- node =(Node*)this->hnode->delivers();
1690- element=(Element*)this->helement->delivers();
1691-
1692- MARSHALLING(active);
1693- MARSHALLING(zigzag_counter);
1694-
1695-}
1696-/*}}}*/
1697 void Pengrid::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1698
1699 _assert_(this);
1700Index: ../trunk-jpl/src/c/classes/Loads/Pengrid.h
1701===================================================================
1702--- ../trunk-jpl/src/c/classes/Loads/Pengrid.h (revision 25506)
1703+++ ../trunk-jpl/src/c/classes/Loads/Pengrid.h (revision 25507)
1704@@ -50,7 +50,6 @@
1705 void DeepEcho();
1706 void Echo();
1707 int Id();
1708- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1709 void Marshall2(MarshallHandle* marshallhandle);
1710 int ObjectEnum();
1711 /*}}}*/
1712Index: ../trunk-jpl/src/c/classes/Loads/Penpair.cpp
1713===================================================================
1714--- ../trunk-jpl/src/c/classes/Loads/Penpair.cpp (revision 25506)
1715+++ ../trunk-jpl/src/c/classes/Loads/Penpair.cpp (revision 25507)
1716@@ -83,24 +83,6 @@
1717 /*}}}*/
1718 int Penpair::Id(void){ return id; }/*{{{*/
1719 /*}}}*/
1720-void Penpair::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1721-
1722- _assert_(this);
1723-
1724- /*ok, marshall operations: */
1725- MARSHALLING_ENUM(PenpairEnum);
1726- MARSHALLING(id);
1727-
1728- if(marshall_direction==MARSHALLING_LOAD){
1729- this->hnodes = new Hook();
1730- }
1731- this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1732-
1733- /*corresponding fields*/
1734- nodes = (Node**)this->hnodes->deliverp();
1735-
1736-}
1737-/*}}}*/
1738 void Penpair::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1739
1740 _assert_(this);
1741Index: ../trunk-jpl/src/c/classes/Loads/Neumannflux.cpp
1742===================================================================
1743--- ../trunk-jpl/src/c/classes/Loads/Neumannflux.cpp (revision 25506)
1744+++ ../trunk-jpl/src/c/classes/Loads/Neumannflux.cpp (revision 25507)
1745@@ -124,31 +124,6 @@
1746 return id;
1747 }
1748 /*}}}*/
1749-void Neumannflux::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1750-
1751- _assert_(this);
1752-
1753- /*ok, marshall operations: */
1754- MARSHALLING_ENUM(NeumannfluxEnum);
1755- MARSHALLING(id);
1756-
1757- if(marshall_direction==MARSHALLING_LOAD){
1758- this->hnodes = new Hook();
1759- this->hvertices = new Hook();
1760- this->helement = new Hook();
1761- }
1762-
1763- this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1764- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1765- this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1766-
1767- /*corresponding fields*/
1768- nodes =(Node**)this->hnodes->deliverp();
1769- vertices =(Vertex**)this->hvertices->deliverp();
1770- element =(Element*)this->helement->delivers();
1771-
1772-}
1773-/*}}}*/
1774 void Neumannflux::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1775
1776 _assert_(this);
1777Index: ../trunk-jpl/src/c/classes/Loads/Loads.cpp
1778===================================================================
1779--- ../trunk-jpl/src/c/classes/Loads/Loads.cpp (revision 25506)
1780+++ ../trunk-jpl/src/c/classes/Loads/Loads.cpp (revision 25507)
1781@@ -72,17 +72,6 @@
1782 return output;
1783 }
1784 /*}}}*/
1785-void Loads::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1786-
1787- int num_procs=IssmComm::GetSize();
1788- int test = num_procs;
1789- MARSHALLING_ENUM(LoadsEnum);
1790- MARSHALLING(numrifts);
1791- MARSHALLING(numpenalties);
1792-
1793- DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1794-}
1795-/*}}}*/
1796 void Loads::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1797
1798 int object_enum = LoadsEnum;
1799Index: ../trunk-jpl/src/c/classes/Loads/Moulin.cpp
1800===================================================================
1801--- ../trunk-jpl/src/c/classes/Loads/Moulin.cpp (revision 25506)
1802+++ ../trunk-jpl/src/c/classes/Loads/Moulin.cpp (revision 25507)
1803@@ -108,30 +108,6 @@
1804 /*}}}*/
1805 int Moulin::Id(void){ return id; }/*{{{*/
1806 /*}}}*/
1807-void Moulin::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1808-
1809- _assert_(this);
1810-
1811- /*ok, marshall operations: */
1812- MARSHALLING_ENUM(MoulinEnum);
1813- MARSHALLING(id);
1814-
1815- if(marshall_direction==MARSHALLING_LOAD){
1816- this->hnode = new Hook();
1817- this->hvertex = new Hook();
1818- this->helement = new Hook();
1819- }
1820-
1821- this->hnode->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1822- this->hvertex->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1823- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1824-
1825- /*corresponding fields*/
1826- node =(Node*)this->hnode->delivers();
1827- vertex =(Vertex*)this->hvertex->delivers();
1828- element=(Element*)this->helement->delivers();
1829-}
1830-/*}}}*/
1831 void Moulin::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1832
1833 _assert_(this);
1834Index: ../trunk-jpl/src/c/classes/Loads/Penpair.h
1835===================================================================
1836--- ../trunk-jpl/src/c/classes/Loads/Penpair.h (revision 25506)
1837+++ ../trunk-jpl/src/c/classes/Loads/Penpair.h (revision 25507)
1838@@ -33,7 +33,6 @@
1839 void DeepEcho();
1840 void Echo();
1841 int Id();
1842- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1843 void Marshall2(MarshallHandle* marshallhandle);
1844 int ObjectEnum();
1845 /*}}}*/
1846Index: ../trunk-jpl/src/c/classes/Loads/Neumannflux.h
1847===================================================================
1848--- ../trunk-jpl/src/c/classes/Loads/Neumannflux.h (revision 25506)
1849+++ ../trunk-jpl/src/c/classes/Loads/Neumannflux.h (revision 25507)
1850@@ -41,7 +41,6 @@
1851 void DeepEcho();
1852 void Echo();
1853 int Id();
1854- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1855 void Marshall2(MarshallHandle* marshallhandle);
1856 int ObjectEnum();
1857 /*}}}*/
1858Index: ../trunk-jpl/src/c/classes/Loads/Loads.h
1859===================================================================
1860--- ../trunk-jpl/src/c/classes/Loads/Loads.h (revision 25506)
1861+++ ../trunk-jpl/src/c/classes/Loads/Loads.h (revision 25507)
1862@@ -26,7 +26,6 @@
1863
1864 /*Objects virtual functions*/
1865 Loads* Copy();
1866- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1867 void Marshall2(MarshallHandle* marshallhandle);
1868
1869 /*numerics*/
1870Index: ../trunk-jpl/src/c/classes/Loads/Channel.cpp
1871===================================================================
1872--- ../trunk-jpl/src/c/classes/Loads/Channel.cpp (revision 25506)
1873+++ ../trunk-jpl/src/c/classes/Loads/Channel.cpp (revision 25507)
1874@@ -145,32 +145,6 @@
1875 return id;
1876 }
1877 /*}}}*/
1878-void Channel::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1879-
1880- _assert_(this);
1881-
1882- /*ok, marshall operations: */
1883- MARSHALLING_ENUM(ChannelEnum);
1884- MARSHALLING(id);
1885- MARSHALLING(S);
1886-
1887- if(marshall_direction==MARSHALLING_LOAD){
1888- this->hnodes = new Hook();
1889- this->hvertices = new Hook();
1890- this->helement = new Hook();
1891- }
1892-
1893- this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1894- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1895- this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1896-
1897- /*corresponding fields*/
1898- nodes =(Node**)this->hnodes->deliverp();
1899- vertices =(Vertex**)this->hvertices->deliverp();
1900- element =(Element*)this->helement->delivers();
1901-
1902-}
1903-/*}}}*/
1904 void Channel::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1905
1906 _assert_(this);
1907Index: ../trunk-jpl/src/c/classes/Loads/Moulin.h
1908===================================================================
1909--- ../trunk-jpl/src/c/classes/Loads/Moulin.h (revision 25506)
1910+++ ../trunk-jpl/src/c/classes/Loads/Moulin.h (revision 25507)
1911@@ -48,7 +48,6 @@
1912 void DeepEcho();
1913 void Echo();
1914 int Id();
1915- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1916 void Marshall2(MarshallHandle* marshallhandle);
1917 int ObjectEnum();
1918 /*}}}*/
1919Index: ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp
1920===================================================================
1921--- ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 25506)
1922+++ ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 25507)
1923@@ -186,48 +186,6 @@
1924 /*}}}*/
1925 int Riftfront::Id(void){ return id; }/*{{{*/
1926 /*}}}*/
1927-void Riftfront::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1928-
1929- _assert_(this);
1930-
1931- /*ok, marshall operations: */
1932- MARSHALLING_ENUM(RiftfrontEnum);
1933- MARSHALLING(id);
1934- MARSHALLING(type);
1935- MARSHALLING(fill);
1936- MARSHALLING(friction);
1937- MARSHALLING(fractionincrement);
1938- MARSHALLING(shelf);
1939-
1940- if(marshall_direction==MARSHALLING_LOAD){
1941- this->hnodes = new Hook();
1942- this->hvertices = new Hook();
1943- this->helements = new Hook();
1944- }
1945-
1946- this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1947- this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1948- this->helements->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
1949-
1950- /*corresponding fields*/
1951- nodes =(Node**)this->hnodes->deliverp();
1952- vertices =(Vertex**)this->hvertices->deliverp();
1953- elements =(Element**)this->helements->deliverp();
1954-
1955- MARSHALLING(penalty_lock);
1956- MARSHALLING(active);
1957- MARSHALLING(frozen);
1958- MARSHALLING(state);
1959- MARSHALLING(counter);
1960- MARSHALLING(prestable);
1961- MARSHALLING(material_converged);
1962- MARSHALLING(normal[0]);
1963- MARSHALLING(normal[1]);
1964- MARSHALLING(length);
1965- MARSHALLING(fraction);
1966-
1967-}
1968-/*}}}*/
1969 void Riftfront::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
1970
1971 _assert_(this);
1972Index: ../trunk-jpl/src/c/classes/Loads/Channel.h
1973===================================================================
1974--- ../trunk-jpl/src/c/classes/Loads/Channel.h (revision 25506)
1975+++ ../trunk-jpl/src/c/classes/Loads/Channel.h (revision 25507)
1976@@ -48,7 +48,6 @@
1977 void DeepEcho();
1978 void Echo();
1979 int Id();
1980- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
1981 void Marshall2(MarshallHandle* marshallhandle);
1982 int ObjectEnum();
1983 /*}}}*/
1984Index: ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp
1985===================================================================
1986--- ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp (revision 25506)
1987+++ ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp (revision 25507)
1988@@ -200,33 +200,6 @@
1989 return id;
1990 }
1991 /*}}}*/
1992-void Numericalflux::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
1993-
1994- _assert_(this);
1995-
1996- /*ok, marshall operations: */
1997- MARSHALLING_ENUM(NumericalfluxEnum);
1998- MARSHALLING(id);
1999- MARSHALLING(flux_type);
2000- MARSHALLING(flux_degree);
2001-
2002- if(marshall_direction==MARSHALLING_LOAD){
2003- this->hnodes = new Hook();
2004- this->hvertices = new Hook();
2005- this->helement = new Hook();
2006- }
2007-
2008- this->hnodes->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2009- this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2010- this->hvertices->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2011-
2012- /*corresponding fields*/
2013- nodes =(Node**)this->hnodes->deliverp();
2014- vertices =(Vertex**)this->hvertices->deliverp();
2015- element =(Element*)this->helement->delivers();
2016-
2017-}
2018-/*}}}*/
2019 void Numericalflux::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2020
2021 _assert_(this);
2022Index: ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h
2023===================================================================
2024--- ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h (revision 25506)
2025+++ ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h (revision 25507)
2026@@ -33,7 +33,6 @@
2027 void DeepEcho(void);
2028 void Echo(void);
2029 int Id(void);
2030- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2031 void Marshall2(MarshallHandle* marshallhandle);
2032 int ObjectEnum(void);
2033
2034Index: ../trunk-jpl/src/c/classes/Vertex.h
2035===================================================================
2036--- ../trunk-jpl/src/c/classes/Vertex.h (revision 25506)
2037+++ ../trunk-jpl/src/c/classes/Vertex.h (revision 25507)
2038@@ -45,7 +45,6 @@
2039 int Id();
2040 int ObjectEnum();
2041 Object* copy();
2042- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2043 void Marshall2(MarshallHandle* marshallhandle);
2044
2045 /*}}}*/
2046Index: ../trunk-jpl/src/c/classes/Cfsurfacesquare.cpp
2047===================================================================
2048--- ../trunk-jpl/src/c/classes/Cfsurfacesquare.cpp (revision 25506)
2049+++ ../trunk-jpl/src/c/classes/Cfsurfacesquare.cpp (revision 25507)
2050@@ -81,10 +81,6 @@
2051 return -1;
2052 }
2053 /*}}}*/
2054-void Cfsurfacesquare::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2055- _error_("not implemented yet!");
2056-}
2057-/*}}}*/
2058 void Cfsurfacesquare::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2059 _error_("not implemented yet!");
2060 }
2061Index: ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
2062===================================================================
2063--- ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h (revision 25506)
2064+++ ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h (revision 25507)
2065@@ -52,27 +52,30 @@
2066 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
2067 fwrite(&step,sizeof(int),1,fid);
2068 } /*}}}*/
2069- void GenericMarshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2070+ void GenericMarshall(MarshallHandle* marshallhandle){/*{{{*/
2071
2072- MARSHALLING_ENUM(this->ObjectEnum());
2073- MARSHALLING(id);
2074- MARSHALLING(step);
2075- MARSHALLING(time);
2076+ int object_enum = this->ObjectEnum();
2077+ marshallhandle->call(object_enum);
2078+ marshallhandle->call(this->id);
2079+ marshallhandle->call(this->step);
2080+ marshallhandle->call(this->time);
2081
2082 /*Marshal result name*/
2083 int size = 0;
2084- if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE) size=strlen(result_name)+1;
2085- MARSHALLING(size);
2086- MARSHALLING_DYNAMIC(result_name,char,size);
2087+ if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE) size=strlen(result_name)+1;
2088+ marshallhandle->call(size);
2089+ marshallhandle->call(this->result_name,size);
2090
2091 /*Marshall value*/
2092 this->value=0;
2093 bool isnull=true;
2094- if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE){
2095+ if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE){
2096 if(value) isnull=false;
2097 }
2098- MARSHALLING(isnull);
2099- if(!isnull){MARSHALLING(value);}
2100+ marshallhandle->call(isnull);
2101+ if(!isnull){
2102+ marshallhandle->call(this->value);
2103+ }
2104 } /*}}}*/
2105
2106 /*GenericExternalResult constructors and destructors*/
2107@@ -166,10 +169,6 @@
2108 int ObjectEnum(void){ /*{{{*/
2109 _error_("template ObjectEnum not implemented for this ResultType\n");
2110 } /*}}}*/
2111- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2112- _error_("not implemented yet!");
2113- }
2114- /*}}}*/
2115 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2116 _error_("not implemented yet!");
2117 }
2118@@ -238,9 +237,9 @@
2119 template <> inline int GenericExternalResult<bool>::ObjectEnum(void){ /*{{{*/
2120 return BoolExternalResultEnum;
2121 } /*}}}*/
2122-template <> inline void GenericExternalResult<bool>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2123+template <> inline void GenericExternalResult<bool>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2124
2125- this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2126+ this->GenericMarshall(marshallhandle);
2127
2128 } /*}}}*/
2129
2130@@ -255,10 +254,8 @@
2131 template <> inline int GenericExternalResult<int>::ObjectEnum(void){ /*{{{*/
2132 return IntExternalResultEnum;
2133 } /*}}}*/
2134-template <> inline void GenericExternalResult<int>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2135-
2136- this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2137-
2138+template <> inline void GenericExternalResult<int>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2139+ this->GenericMarshall(marshallhandle);
2140 } /*}}}*/
2141
2142 /*Specific instantiations for double: */
2143@@ -275,10 +272,8 @@
2144 template <> inline double GenericExternalResult<double>::GetValue(void){ /*{{{*/
2145 return value;
2146 } /*}}}*/
2147-template <> inline void GenericExternalResult<double>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2148-
2149- this->GenericMarshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2150-
2151+template <> inline void GenericExternalResult<double>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2152+ this->GenericMarshall(marshallhandle);
2153 } /*}}}*/
2154
2155 /*Specific instantiations for char*: */
2156@@ -346,18 +341,18 @@
2157 template <> inline int GenericExternalResult<char*>::ObjectEnum(void){ /*{{{*/
2158 return StringExternalResultEnum;
2159 } /*}}}*/
2160-template <> inline void GenericExternalResult<char*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2161+template <> inline void GenericExternalResult<char*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2162
2163 int size = 0;
2164
2165- if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE)size=strlen(value)+1;
2166+ if(marshallhandle->OperationNumber()==MARSHALLING_WRITE || marshallhandle->OperationNumber() == MARSHALLING_SIZE)size=strlen(value)+1;
2167
2168- MARSHALLING(id);
2169- MARSHALLING(result_name);
2170- MARSHALLING(size);
2171- MARSHALLING_DYNAMIC(value,char,size);
2172- MARSHALLING(step);
2173- MARSHALLING(time);
2174+ marshallhandle->call(this->id);
2175+ marshallhandle->call(this->result_name);
2176+ marshallhandle->call(size);
2177+ marshallhandle->call(this->value,size);
2178+ marshallhandle->call(this->step);
2179+ marshallhandle->call(this->time);
2180
2181 } /*}}}*/
2182
2183@@ -476,17 +471,18 @@
2184 template <> inline int GenericExternalResult<int*>::ObjectEnum(void){ /*{{{*/
2185 return IntMatExternalResultEnum;
2186 } /*}}}*/
2187-template <> inline void GenericExternalResult<int*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2188+template <> inline void GenericExternalResult<int*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2189
2190- MARSHALLING_ENUM(this->ObjectEnum());
2191+ int object_enum = this->ObjectEnum();
2192+ marshallhandle->call(object_enum);
2193
2194- MARSHALLING(id);
2195- MARSHALLING(result_name);
2196- MARSHALLING(M);
2197- MARSHALLING(N);
2198- MARSHALLING_DYNAMIC(value,int,M*N);
2199- MARSHALLING(step);
2200- MARSHALLING(time);
2201+ marshallhandle->call(this->id);
2202+ marshallhandle->call(this->result_name);
2203+ marshallhandle->call(this->M);
2204+ marshallhandle->call(this->N);
2205+ marshallhandle->call(this->value,M*N);
2206+ marshallhandle->call(this->step);
2207+ marshallhandle->call(this->time);
2208
2209 } /*}}}*/
2210
2211@@ -608,17 +604,18 @@
2212 template <> inline double* GenericExternalResult<IssmPDouble*>::GetValues(void){ /*{{{*/
2213 return value;
2214 } /*}}}*/
2215-template <> inline void GenericExternalResult<IssmPDouble*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2216+template <> inline void GenericExternalResult<IssmPDouble*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2217
2218- MARSHALLING_ENUM(this->ObjectEnum());
2219+ int object_enum = this->ObjectEnum();
2220+ marshallhandle->call(object_enum);
2221
2222- MARSHALLING(id);
2223- MARSHALLING(result_name);
2224- MARSHALLING(M);
2225- MARSHALLING(N);
2226- MARSHALLING_DYNAMIC(value,IssmPDouble,M*N);
2227- MARSHALLING(step);
2228- MARSHALLING(time);
2229+ marshallhandle->call(this->id);
2230+ marshallhandle->call(this->result_name);
2231+ marshallhandle->call(this->M);
2232+ marshallhandle->call(this->N);
2233+ marshallhandle->call(this->value,M*N);
2234+ marshallhandle->call(this->step);
2235+ marshallhandle->call(this->time);
2236
2237 } /*}}}*/
2238 template <> inline void GenericExternalResult<IssmPDouble*>::Transpose(void){/*{{{*/
2239@@ -830,7 +827,7 @@
2240 xDelete<IssmDouble>(serialvalues);
2241 }
2242 /*}}}*/
2243- template <> inline void GenericExternalResult<Vector<IssmDouble>*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2244+ template <> inline void GenericExternalResult<Vector<IssmDouble>*>::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2245
2246 _error_("GenericExternalResult instantiated for type Vector<IssmDouble>* called " << result_name << " not implemented yet");
2247
2248Index: ../trunk-jpl/src/c/classes/Vertices.cpp
2249===================================================================
2250--- ../trunk-jpl/src/c/classes/Vertices.cpp (revision 25506)
2251+++ ../trunk-jpl/src/c/classes/Vertices.cpp (revision 25507)
2252@@ -109,29 +109,6 @@
2253 return output;
2254 }
2255 /*}}}*/
2256-void Vertices::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2257-
2258- int num_procs=IssmComm::GetSize();
2259- int test = num_procs;
2260- MARSHALLING_ENUM(VerticesEnum);
2261- MARSHALLING(numberofvertices);
2262- MARSHALLING(numberofvertices_local);
2263- MARSHALLING(numberofmasters_local);
2264- MARSHALLING(test);
2265- if(test!=num_procs) _error_("number of cores is not the same as before");
2266- MARSHALLING_DYNAMIC(this->common_recv,int,num_procs);
2267- MARSHALLING_DYNAMIC(this->common_send,int,num_procs);
2268- if(marshall_direction == MARSHALLING_LOAD){
2269- this->common_recv_ids = xNew<int*>(num_procs);
2270- this->common_send_ids = xNew<int*>(num_procs);
2271- }
2272- for(int i=0;i<num_procs;i++){
2273- MARSHALLING_DYNAMIC(this->common_recv_ids[i],int,this->common_recv[i]);
2274- MARSHALLING_DYNAMIC(this->common_send_ids[i],int,this->common_send[i]);
2275- }
2276- DataSet::Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2277-}
2278-/*}}}*/
2279 void Vertices::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2280
2281 int object_enum = VerticesEnum;
2282Index: ../trunk-jpl/src/c/classes/Node.cpp
2283===================================================================
2284--- ../trunk-jpl/src/c/classes/Node.cpp (revision 25506)
2285+++ ../trunk-jpl/src/c/classes/Node.cpp (revision 25507)
2286@@ -248,35 +248,6 @@
2287 return (Object*)output;
2288 }
2289 /*}}}*/
2290-void Node::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2291-
2292- MARSHALLING_ENUM(NodeEnum);
2293- MARSHALLING(id);
2294- MARSHALLING(sid);
2295- MARSHALLING(lid);
2296- MARSHALLING(pid);
2297- MARSHALLING(indexingupdate);
2298- MARSHALLING(analysis_enum);
2299-
2300- for(int k=0;k<3;k++) for(int l=0;l<3;l++) MARSHALLING(coord_system[k][l]);
2301-
2302- MARSHALLING(gsize);
2303- MARSHALLING(fsize);
2304- MARSHALLING(ssize);
2305- MARSHALLING(clone);
2306- MARSHALLING(active);
2307- MARSHALLING(freeze);
2308- MARSHALLING_DYNAMIC(f_set,bool,gsize);
2309- MARSHALLING_DYNAMIC(s_set,bool,gsize);
2310- MARSHALLING_DYNAMIC(svalues,IssmDouble,gsize);
2311- MARSHALLING_DYNAMIC(doftype,int,gsize);
2312- MARSHALLING_DYNAMIC(gdoflist,int,gsize);
2313- MARSHALLING_DYNAMIC(fdoflist,int,fsize);
2314- MARSHALLING_DYNAMIC(sdoflist,int,ssize);
2315- MARSHALLING_DYNAMIC(gdoflist_local,int,gsize);
2316- MARSHALLING_DYNAMIC(fdoflist_local,int,fsize);
2317- MARSHALLING_DYNAMIC(sdoflist_local,int,ssize);
2318-} /*}}}*/
2319 void Node::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2320
2321 int object_enum = NodeEnum;
2322Index: ../trunk-jpl/src/c/classes/Profiler.h
2323===================================================================
2324--- ../trunk-jpl/src/c/classes/Profiler.h (revision 25506)
2325+++ ../trunk-jpl/src/c/classes/Profiler.h (revision 25507)
2326@@ -51,7 +51,6 @@
2327 void DeepEcho();
2328 void Echo();
2329 int Id();
2330- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2331 void Marshall2(MarshallHandle* marshallhandle);
2332 int ObjectEnum();
2333
2334Index: ../trunk-jpl/src/c/classes/Radar.cpp
2335===================================================================
2336--- ../trunk-jpl/src/c/classes/Radar.cpp (revision 25506)
2337+++ ../trunk-jpl/src/c/classes/Radar.cpp (revision 25507)
2338@@ -57,10 +57,6 @@
2339 return -1;
2340 }
2341 /*}}}*/
2342-void Radar::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2343- _error_("not implemented yet!");
2344-}
2345-/*}}}*/
2346 void Radar::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2347 _error_("not implemented yet!");
2348 }
2349Index: ../trunk-jpl/src/c/classes/Nodalvalue.cpp
2350===================================================================
2351--- ../trunk-jpl/src/c/classes/Nodalvalue.cpp (revision 25506)
2352+++ ../trunk-jpl/src/c/classes/Nodalvalue.cpp (revision 25507)
2353@@ -62,10 +62,6 @@
2354 return -1;
2355 }
2356 /*}}}*/
2357-void Nodalvalue::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2358- _error_("not implemented yet!");
2359-}
2360-/*}}}*/
2361 void Nodalvalue::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2362 _error_("not implemented yet!");
2363 }
2364Index: ../trunk-jpl/src/c/classes/Misfit.cpp
2365===================================================================
2366--- ../trunk-jpl/src/c/classes/Misfit.cpp (revision 25506)
2367+++ ../trunk-jpl/src/c/classes/Misfit.cpp (revision 25507)
2368@@ -88,10 +88,6 @@
2369 return -1;
2370 }
2371 /*}}}*/
2372-void Misfit::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2373- _error_("not implemented yet!");
2374-}
2375-/*}}}*/
2376 void Misfit::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2377 _error_("not implemented yet!");
2378 }
2379Index: ../trunk-jpl/src/c/classes/Massfluxatgate.h
2380===================================================================
2381--- ../trunk-jpl/src/c/classes/Massfluxatgate.h (revision 25506)
2382+++ ../trunk-jpl/src/c/classes/Massfluxatgate.h (revision 25507)
2383@@ -122,10 +122,6 @@
2384 return MassfluxatgateEnum;
2385 }
2386 /*}}}*/
2387- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2388- _error_("not implemented yet!");
2389- }
2390- /*}}}*/
2391 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2392
2393 int object_enum = MassfluxatgateEnum;
2394Index: ../trunk-jpl/src/c/classes/FemModel.h
2395===================================================================
2396--- ../trunk-jpl/src/c/classes/FemModel.h (revision 25506)
2397+++ ../trunk-jpl/src/c/classes/FemModel.h (revision 25507)
2398@@ -80,7 +80,6 @@
2399 int GetElementsWidth(){return 3;};//just tria elements in this first version
2400 void InitFromFiles(char* rootpath, char* inputfilename, char* outputfilename, char* petscfilename, char* lockfilename, char* restartfilename, const int solution_type,bool trace,IssmPDouble* X=NULL);
2401 void InitFromFids(char* rootpath, FILE* IOMODEL, FILE* toolkitsoptionsfid, int in_solution_type, bool trace, IssmPDouble* X=NULL);
2402- void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
2403 void Marshall2(MarshallHandle* marshallhandle);
2404 void Restart(void);
2405 void RestartAD(int step);
2406Index: ../trunk-jpl/src/c/classes/Numberedcostfunction.cpp
2407===================================================================
2408--- ../trunk-jpl/src/c/classes/Numberedcostfunction.cpp (revision 25506)
2409+++ ../trunk-jpl/src/c/classes/Numberedcostfunction.cpp (revision 25507)
2410@@ -85,10 +85,6 @@
2411 return -1;
2412 }
2413 /*}}}*/
2414-void Numberedcostfunction::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2415- _error_("not implemented yet!");
2416-}
2417-/*}}}*/
2418 void Numberedcostfunction::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2419 _error_("not implemented yet!");
2420 }
2421Index: ../trunk-jpl/src/c/classes/Params/Parameters.cpp
2422===================================================================
2423--- ../trunk-jpl/src/c/classes/Params/Parameters.cpp (revision 25506)
2424+++ ../trunk-jpl/src/c/classes/Params/Parameters.cpp (revision 25507)
2425@@ -110,134 +110,6 @@
2426 return;
2427 }
2428 /*}}}*/
2429-void Parameters::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/
2430-
2431- int obj_enum=-1;
2432- int num_params=0;
2433-
2434- MARSHALLING_ENUM(ParametersEnum);
2435-
2436- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
2437-
2438- /*Marshall num_params first*/
2439- for(int i=0;i<NUMPARAMS;i++){
2440- if(this->params[i]) num_params++;
2441- }
2442- MARSHALLING(num_params);
2443-
2444- /*Marshall Parameters one by one now*/
2445- for(int i=0;i<NUMPARAMS;i++){
2446- if(this->params[i]){
2447- obj_enum = this->params[i]->ObjectEnum();
2448- MARSHALLING(obj_enum);
2449- this->params[i]->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2450- }
2451- }
2452- }
2453- else{
2454-
2455- /*Get number of params marshalled*/
2456- MARSHALLING(num_params);
2457-
2458- /*Recover parameters one by one*/
2459- for(int i=0;i<num_params;i++){
2460-
2461- /*Recover enum of object first: */
2462- MARSHALLING(obj_enum);
2463-
2464- if(obj_enum==DoubleParamEnum){
2465- DoubleParam* doubleparam=NULL;
2466- doubleparam=new DoubleParam();
2467- doubleparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2468- this->AddObject(doubleparam);
2469- }
2470- else if(obj_enum==IntParamEnum){
2471- IntParam* intparam=NULL;
2472- intparam=new IntParam();
2473- intparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2474- this->AddObject(intparam);
2475- }
2476- else if(obj_enum==IntMatParamEnum){
2477- IntMatParam* intmparam=NULL;
2478- intmparam=new IntMatParam();
2479- intmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2480- this->AddObject(intmparam);
2481- }
2482- else if(obj_enum==IntVecParamEnum){
2483- IntVecParam* intvparam=NULL;
2484- intvparam=new IntVecParam();
2485- intvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2486- this->AddObject(intvparam);
2487- }
2488- else if(obj_enum==BoolParamEnum){
2489- BoolParam* boolparam=NULL;
2490- boolparam=new BoolParam();
2491- boolparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2492- this->AddObject(boolparam);
2493- }
2494- else if(obj_enum==DataSetParamEnum){
2495- DataSetParam* dsparam=NULL;
2496- dsparam=new DataSetParam();
2497- dsparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2498- this->AddObject(dsparam);
2499- }
2500- else if(obj_enum==DoubleMatArrayParamEnum){
2501- DoubleMatArrayParam* dmaparam=NULL;
2502- dmaparam=new DoubleMatArrayParam();
2503- dmaparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2504- this->AddObject(dmaparam);
2505- }
2506- else if(obj_enum==DoubleMatParamEnum){
2507- DoubleMatParam* dmparam=NULL;
2508- dmparam=new DoubleMatParam();
2509- dmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2510- this->AddObject(dmparam);
2511- }
2512- else if(obj_enum==DoubleVecParamEnum){
2513- DoubleVecParam* dvparam=NULL;
2514- dvparam=new DoubleVecParam();
2515- dvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2516- this->AddObject(dvparam);
2517- }
2518- else if(obj_enum==FileParamEnum){
2519- FileParam* fileparam=NULL;
2520- fileparam=new FileParam();
2521- fileparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2522- delete fileparam;
2523- /* No need to add this object, the pointer is not valid
2524- The FemModel should reset all FileParams in the restart function */
2525- }
2526- else if(obj_enum==StringParamEnum){
2527- StringParam* sparam=NULL;
2528- sparam=new StringParam();
2529- sparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2530- this->AddObject(sparam);
2531- }
2532- else if(obj_enum==StringArrayParamEnum){
2533- StringArrayParam* saparam=NULL;
2534- saparam=new StringArrayParam();
2535- saparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2536- this->AddObject(saparam);
2537- }
2538- else if(obj_enum==TransientParamEnum){
2539- TransientParam* transparam=NULL;
2540- transparam=new TransientParam();
2541- transparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2542- this->AddObject(transparam);
2543- }
2544- else if(obj_enum==TransientArrayParamEnum){
2545- TransientArrayParam* transarrayparam=NULL;
2546- transarrayparam=new TransientArrayParam();
2547- transarrayparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2548- this->AddObject(transarrayparam);
2549- }
2550- else if(obj_enum==GenericParamEnum){
2551- /*Skip for now (we don't want to Marhsall Comms)*/
2552- }
2553- }
2554- }
2555-}
2556-/*}}}*/
2557 void Parameters::Marshall2(MarshallHandle* marshallhandle){/*{{{*/
2558
2559 int num_params=0;
2560Index: ../trunk-jpl/src/c/classes/Params/FileParam.h
2561===================================================================
2562--- ../trunk-jpl/src/c/classes/Params/FileParam.h (revision 25506)
2563+++ ../trunk-jpl/src/c/classes/Params/FileParam.h (revision 25507)
2564@@ -34,7 +34,6 @@
2565 void DeepEcho();
2566 void Echo();
2567 int Id();
2568- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2569 void Marshall2(MarshallHandle* marshallhandle);
2570 int ObjectEnum();
2571 /*}}}*/
2572Index: ../trunk-jpl/src/c/classes/Params/Param.h
2573===================================================================
2574--- ../trunk-jpl/src/c/classes/Params/Param.h (revision 25506)
2575+++ ../trunk-jpl/src/c/classes/Params/Param.h (revision 25507)
2576@@ -44,7 +44,6 @@
2577 virtual void GetParameterValue(FILE** pfid)=0;
2578 virtual void GetParameterValue(DataSet** pdataset)=0;
2579 virtual int InstanceEnum()=0;
2580- virtual void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction)=0;
2581 virtual void Marshall2(MarshallHandle* marshallhandle)=0;
2582 virtual int ObjectEnum()=0;
2583
2584Index: ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp
2585===================================================================
2586--- ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp (revision 25506)
2587+++ ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp (revision 25507)
2588@@ -51,16 +51,6 @@
2589 /*}}}*/
2590 int DataSetParam::Id(void){ return -1; }/*{{{*/
2591 /*}}}*/
2592-void DataSetParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2593-
2594- if(marshall_direction==MARSHALLING_LOAD)value=new DataSet();
2595-
2596- MARSHALLING_ENUM(DataSetParamEnum);
2597- MARSHALLING(enum_type);
2598- value->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
2599-
2600-}
2601-/*}}}*/
2602 void DataSetParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2603
2604 if(marshallhandle->OperationNumber()==MARSHALLING_LOAD)value=new DataSet();
2605Index: ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp
2606===================================================================
2607--- ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp (revision 25506)
2608+++ ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp (revision 25507)
2609@@ -69,19 +69,6 @@
2610 /*}}}*/
2611 int IntVecParam::Id(void){ return -1; }/*{{{*/
2612 /*}}}*/
2613-void IntVecParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2614-
2615- MARSHALLING_ENUM(IntVecParamEnum);
2616-
2617- MARSHALLING(enum_type);
2618- MARSHALLING(M);
2619- if(M) {
2620- MARSHALLING_DYNAMIC(values,int,M);
2621- }
2622- else values=NULL;
2623-
2624-}
2625-/*}}}*/
2626 void IntVecParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2627
2628 int object_enum = IntVecParamEnum;
2629Index: ../trunk-jpl/src/c/classes/Params/IntParam.cpp
2630===================================================================
2631--- ../trunk-jpl/src/c/classes/Params/IntParam.cpp (revision 25506)
2632+++ ../trunk-jpl/src/c/classes/Params/IntParam.cpp (revision 25507)
2633@@ -48,15 +48,6 @@
2634 /*}}}*/
2635 int IntParam::Id(void){ return -1; }/*{{{*/
2636 /*}}}*/
2637-void IntParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2638-
2639- MARSHALLING_ENUM(IntParamEnum);
2640-
2641- MARSHALLING(enum_type);
2642- MARSHALLING(value);
2643-
2644-}
2645-/*}}}*/
2646 void IntParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2647
2648 int object_enum = IntParamEnum;
2649Index: ../trunk-jpl/src/c/classes/Params/BoolParam.cpp
2650===================================================================
2651--- ../trunk-jpl/src/c/classes/Params/BoolParam.cpp (revision 25506)
2652+++ ../trunk-jpl/src/c/classes/Params/BoolParam.cpp (revision 25507)
2653@@ -47,15 +47,6 @@
2654 /*}}}*/
2655 int BoolParam::Id(void){ return -1; }/*{{{*/
2656 /*}}}*/
2657-void BoolParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2658-
2659- MARSHALLING_ENUM(BoolParamEnum);
2660-
2661- MARSHALLING(enum_type);
2662- MARSHALLING(value);
2663-
2664-}
2665-/*}}}*/
2666 void BoolParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2667
2668 int object_enum = BoolParamEnum;
2669Index: ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp
2670===================================================================
2671--- ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp (revision 25506)
2672+++ ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp (revision 25507)
2673@@ -66,16 +66,6 @@
2674 /*}}}*/
2675 int IntMatParam::Id(void){ return -1; }/*{{{*/
2676 /*}}}*/
2677-void IntMatParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2678-
2679- MARSHALLING_ENUM(IntMatParamEnum);
2680-
2681- MARSHALLING(enum_type);
2682- MARSHALLING(M);
2683- MARSHALLING(N);
2684- MARSHALLING_DYNAMIC(value,int,M*N);
2685-}
2686-/*}}}*/
2687 void IntMatParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2688
2689 int object_enum = IntMatParamEnum;
2690Index: ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp
2691===================================================================
2692--- ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp (revision 25506)
2693+++ ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp (revision 25507)
2694@@ -72,32 +72,6 @@
2695 /*}}}*/
2696 int StringArrayParam::Id(void){ return -1; }/*{{{*/
2697 /*}}}*/
2698-void StringArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2699-
2700- int* sizes=NULL;
2701-
2702- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
2703- if(numstrings)sizes=xNew<int>(numstrings);
2704- for(int i=0;i<numstrings;i++)sizes[i]=strlen(value[i])+1;
2705- }
2706-
2707- MARSHALLING_ENUM(StringArrayParamEnum);
2708-
2709- MARSHALLING(enum_type);
2710- MARSHALLING(numstrings);
2711-
2712- if(numstrings){
2713- MARSHALLING_DYNAMIC(sizes,int,numstrings);
2714- if(marshall_direction==MARSHALLING_LOAD) value=xNew<char*>(numstrings);
2715- for(int i=0;i<numstrings;i++)MARSHALLING_DYNAMIC(value[i],char,sizes[i]);
2716- }
2717- else value=NULL;
2718-
2719- //cleanup sizes array
2720- if(sizes) xDelete<int>(sizes);
2721-
2722-}
2723-/*}}}*/
2724 void StringArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2725
2726 int* sizes=NULL;
2727Index: ../trunk-jpl/src/c/classes/Params/StringParam.cpp
2728===================================================================
2729--- ../trunk-jpl/src/c/classes/Params/StringParam.cpp (revision 25506)
2730+++ ../trunk-jpl/src/c/classes/Params/StringParam.cpp (revision 25507)
2731@@ -49,19 +49,6 @@
2732 /*}}}*/
2733 int StringParam::Id(void){ return -1; }/*{{{*/
2734 /*}}}*/
2735-void StringParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2736-
2737- int size = 0;
2738-
2739- if(marshall_direction==MARSHALLING_WRITE || marshall_direction == MARSHALLING_SIZE)size=strlen(value)+1;
2740-
2741- MARSHALLING_ENUM(StringParamEnum);
2742- MARSHALLING(enum_type);
2743- MARSHALLING(size);
2744- MARSHALLING_DYNAMIC(value,char,size);
2745-
2746-}
2747-/*}}}*/
2748 void StringParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2749
2750 int size = 0;
2751Index: ../trunk-jpl/src/c/classes/Params/TransientParam.cpp
2752===================================================================
2753--- ../trunk-jpl/src/c/classes/Params/TransientParam.cpp (revision 25506)
2754+++ ../trunk-jpl/src/c/classes/Params/TransientParam.cpp (revision 25507)
2755@@ -67,22 +67,6 @@
2756 /*}}}*/
2757 int TransientParam::Id(void){ return -1; }/*{{{*/
2758 /*}}}*/
2759-void TransientParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2760-
2761- MARSHALLING_ENUM(TransientParamEnum);
2762-
2763- MARSHALLING(enum_type);
2764- MARSHALLING(interpolation);
2765- MARSHALLING(N);
2766- if(marshall_direction==MARSHALLING_LOAD){
2767- values=xNew<IssmDouble>(N);
2768- timesteps=xNew<IssmDouble>(N);
2769- }
2770- MARSHALLING_DYNAMIC(values,IssmDouble,N);
2771- MARSHALLING_DYNAMIC(timesteps,IssmDouble,N);
2772-
2773-}
2774-/*}}}*/
2775 void TransientParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2776
2777 int object_enum = TransientParamEnum;
2778Index: ../trunk-jpl/src/c/classes/Params/VectorParam.h
2779===================================================================
2780--- ../trunk-jpl/src/c/classes/Params/VectorParam.h (revision 25506)
2781+++ ../trunk-jpl/src/c/classes/Params/VectorParam.h (revision 25507)
2782@@ -35,7 +35,6 @@
2783 void DeepEcho();
2784 void Echo();
2785 int Id();
2786- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
2787 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
2788 int ObjectEnum();
2789 /*}}}*/
2790Index: ../trunk-jpl/src/c/classes/Params/MatrixParam.h
2791===================================================================
2792--- ../trunk-jpl/src/c/classes/Params/MatrixParam.h (revision 25506)
2793+++ ../trunk-jpl/src/c/classes/Params/MatrixParam.h (revision 25507)
2794@@ -35,7 +35,6 @@
2795 void DeepEcho();
2796 void Echo();
2797 int Id();
2798- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
2799 void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!"); };
2800 int ObjectEnum();
2801 /*}}}*/
2802Index: ../trunk-jpl/src/c/classes/Params/TransientArrayParam.h
2803===================================================================
2804--- ../trunk-jpl/src/c/classes/Params/TransientArrayParam.h (revision 25506)
2805+++ ../trunk-jpl/src/c/classes/Params/TransientArrayParam.h (revision 25507)
2806@@ -38,7 +38,6 @@
2807 void DeepEcho();
2808 void Echo();
2809 int Id();
2810- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2811 void Marshall2(MarshallHandle* marshallhandle);
2812 int ObjectEnum();
2813 /*}}}*/
2814Index: ../trunk-jpl/src/c/classes/Params/DoubleVecParam.h
2815===================================================================
2816--- ../trunk-jpl/src/c/classes/Params/DoubleVecParam.h (revision 25506)
2817+++ ../trunk-jpl/src/c/classes/Params/DoubleVecParam.h (revision 25507)
2818@@ -35,7 +35,6 @@
2819 void DeepEcho();
2820 void Echo();
2821 int Id();
2822- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2823 void Marshall2(MarshallHandle* marshallhandle);
2824 int ObjectEnum();
2825 /*}}}*/
2826Index: ../trunk-jpl/src/c/classes/Params/DoubleParam.h
2827===================================================================
2828--- ../trunk-jpl/src/c/classes/Params/DoubleParam.h (revision 25506)
2829+++ ../trunk-jpl/src/c/classes/Params/DoubleParam.h (revision 25507)
2830@@ -35,7 +35,6 @@
2831 void DeepEcho();
2832 void Echo();
2833 int Id();
2834- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2835 void Marshall2(MarshallHandle* marshallhandle);
2836 int ObjectEnum();
2837 /*}}}*/
2838Index: ../trunk-jpl/src/c/classes/Params/FileParam.cpp
2839===================================================================
2840--- ../trunk-jpl/src/c/classes/Params/FileParam.cpp (revision 25506)
2841+++ ../trunk-jpl/src/c/classes/Params/FileParam.cpp (revision 25507)
2842@@ -48,16 +48,6 @@
2843 /*}}}*/
2844 int FileParam::Id(void){ return -1; }/*{{{*/
2845 /*}}}*/
2846-void FileParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2847-
2848- MARSHALLING_ENUM(FileParamEnum);
2849- MARSHALLING(enum_type);
2850- MARSHALLING(value);
2851-
2852- if(marshall_direction==MARSHALLING_LOAD) value=NULL; //meaningless file pointer!
2853-
2854-}
2855-/*}}}*/
2856 void FileParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2857
2858 int object_enum = FileParamEnum;
2859Index: ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h
2860===================================================================
2861--- ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h (revision 25506)
2862+++ ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h (revision 25507)
2863@@ -37,7 +37,6 @@
2864 void DeepEcho();
2865 void Echo();
2866 int Id();
2867- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2868 void Marshall2(MarshallHandle* marshallhandle);
2869 int ObjectEnum();
2870 /*}}}*/
2871Index: ../trunk-jpl/src/c/classes/Params/DoubleMatParam.h
2872===================================================================
2873--- ../trunk-jpl/src/c/classes/Params/DoubleMatParam.h (revision 25506)
2874+++ ../trunk-jpl/src/c/classes/Params/DoubleMatParam.h (revision 25507)
2875@@ -37,7 +37,6 @@
2876 int Id();
2877 int ObjectEnum();
2878 Param* copy();
2879- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2880 void Marshall2(MarshallHandle* marshallhandle);
2881 /*}}}*/
2882 /*Param vritual function definitions: {{{*/
2883Index: ../trunk-jpl/src/c/classes/Params/GenericParam.h
2884===================================================================
2885--- ../trunk-jpl/src/c/classes/Params/GenericParam.h (revision 25506)
2886+++ ../trunk-jpl/src/c/classes/Params/GenericParam.h (revision 25507)
2887@@ -51,10 +51,6 @@
2888 // but I would prefer to drop this not to hide a "new" in here because
2889 // it does not clarify ownership of the newed up instance...
2890 // use the default copy constructor instead
2891- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){
2892- _printf_(" WARNING: parameter "<<EnumToStringx(this->myEnumVal)<<" is a GenericParam and cannot be marshalled\n");
2893- /*Nothing for now*/
2894- }
2895 void Marshall2(MarshallHandle* marshallhandle){
2896 _printf_(" WARNING: parameter "<<EnumToStringx(this->myEnumVal)<<" is a GenericParam and cannot be marshalled\n");
2897 /*Nothing for now*/
2898Index: ../trunk-jpl/src/c/classes/Params/Parameters.h
2899===================================================================
2900--- ../trunk-jpl/src/c/classes/Params/Parameters.h (revision 25506)
2901+++ ../trunk-jpl/src/c/classes/Params/Parameters.h (revision 25507)
2902@@ -34,7 +34,6 @@
2903 void Echo();
2904 void Delete(int enum_type);
2905 bool Exist(int enum_type);
2906- void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
2907 void Marshall2(MarshallHandle* marshallhandle);
2908
2909 void FindParam(bool* pinteger,int enum_type);
2910Index: ../trunk-jpl/src/c/classes/Params/DataSetParam.h
2911===================================================================
2912--- ../trunk-jpl/src/c/classes/Params/DataSetParam.h (revision 25506)
2913+++ ../trunk-jpl/src/c/classes/Params/DataSetParam.h (revision 25507)
2914@@ -35,7 +35,6 @@
2915 void DeepEcho();
2916 void Echo();
2917 int Id();
2918- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2919 void Marshall2(MarshallHandle* marshallhandle);
2920 int ObjectEnum();
2921 /*}}}*/
2922Index: ../trunk-jpl/src/c/classes/Params/IntVecParam.h
2923===================================================================
2924--- ../trunk-jpl/src/c/classes/Params/IntVecParam.h (revision 25506)
2925+++ ../trunk-jpl/src/c/classes/Params/IntVecParam.h (revision 25507)
2926@@ -36,7 +36,6 @@
2927 void DeepEcho();
2928 void Echo();
2929 int Id();
2930- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2931 void Marshall2(MarshallHandle* marshallhandle);
2932 int ObjectEnum();
2933 /*}}}*/
2934Index: ../trunk-jpl/src/c/classes/Params/IntParam.h
2935===================================================================
2936--- ../trunk-jpl/src/c/classes/Params/IntParam.h (revision 25506)
2937+++ ../trunk-jpl/src/c/classes/Params/IntParam.h (revision 25507)
2938@@ -35,7 +35,6 @@
2939 void DeepEcho();
2940 void Echo();
2941 int Id();
2942- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2943 void Marshall2(MarshallHandle* marshallhandle);
2944 int ObjectEnum();
2945 /*}}}*/
2946Index: ../trunk-jpl/src/c/classes/Params/BoolParam.h
2947===================================================================
2948--- ../trunk-jpl/src/c/classes/Params/BoolParam.h (revision 25506)
2949+++ ../trunk-jpl/src/c/classes/Params/BoolParam.h (revision 25507)
2950@@ -34,7 +34,6 @@
2951 void DeepEcho();
2952 void Echo();
2953 int Id();
2954- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2955 void Marshall2(MarshallHandle* marshallhandle);
2956 int ObjectEnum();
2957 /*}}}*/
2958Index: ../trunk-jpl/src/c/classes/Params/IntMatParam.h
2959===================================================================
2960--- ../trunk-jpl/src/c/classes/Params/IntMatParam.h (revision 25506)
2961+++ ../trunk-jpl/src/c/classes/Params/IntMatParam.h (revision 25507)
2962@@ -36,7 +36,6 @@
2963 void DeepEcho();
2964 void Echo();
2965 int Id();
2966- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
2967 void Marshall2(MarshallHandle* marshallhandle);
2968 int ObjectEnum();
2969 /*}}}*/
2970Index: ../trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp
2971===================================================================
2972--- ../trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp (revision 25506)
2973+++ ../trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp (revision 25507)
2974@@ -72,22 +72,6 @@
2975 /*}}}*/
2976 int TransientArrayParam::Id(void){ return -1; }/*{{{*/
2977 /*}}}*/
2978-void TransientArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
2979-
2980- MARSHALLING_ENUM(TransientArrayParamEnum);
2981-
2982- MARSHALLING(enum_type);
2983- MARSHALLING(interpolation);
2984- MARSHALLING(M);
2985- MARSHALLING(N);
2986- if(marshall_direction==MARSHALLING_LOAD){
2987- values = xNew<IssmDouble>(M*N);
2988- timesteps = xNew<IssmDouble>(N);
2989- }
2990- MARSHALLING_DYNAMIC(values,IssmDouble,M*N);
2991- MARSHALLING_DYNAMIC(timesteps,IssmDouble,N);
2992-
2993-}/*}}}*/
2994 void TransientArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
2995
2996 int object_enum = TransientArrayParamEnum;
2997Index: ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp
2998===================================================================
2999--- ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp (revision 25506)
3000+++ ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp (revision 25507)
3001@@ -58,16 +58,6 @@
3002 /*}}}*/
3003 int DoubleVecParam::Id(void){ return -1; }/*{{{*/
3004 /*}}}*/
3005-void DoubleVecParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
3006-
3007- MARSHALLING_ENUM(DoubleVecParamEnum);
3008-
3009- MARSHALLING(enum_type);
3010- MARSHALLING(M);
3011- MARSHALLING_DYNAMIC(values,IssmDouble,M);
3012-
3013-}
3014-/*}}}*/
3015 void DoubleVecParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
3016
3017 int object_enum = DoubleVecParamEnum;
3018Index: ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp
3019===================================================================
3020--- ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp (revision 25506)
3021+++ ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp (revision 25507)
3022@@ -45,15 +45,6 @@
3023 /*}}}*/
3024 int DoubleParam::Id(void){ return -1; }/*{{{*/
3025 /*}}}*/
3026-void DoubleParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
3027-
3028- MARSHALLING_ENUM(DoubleParamEnum);
3029-
3030- MARSHALLING(enum_type);
3031- MARSHALLING(value);
3032-
3033-}
3034-/*}}}*/
3035 void DoubleParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
3036
3037 int object_enum = DoubleParamEnum;
3038Index: ../trunk-jpl/src/c/classes/Params/StringArrayParam.h
3039===================================================================
3040--- ../trunk-jpl/src/c/classes/Params/StringArrayParam.h (revision 25506)
3041+++ ../trunk-jpl/src/c/classes/Params/StringArrayParam.h (revision 25507)
3042@@ -35,7 +35,6 @@
3043 void DeepEcho();
3044 void Echo();
3045 int Id();
3046- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
3047 void Marshall2(MarshallHandle* marshallhandle);
3048 int ObjectEnum();
3049 /*}}}*/
3050Index: ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp
3051===================================================================
3052--- ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp (revision 25506)
3053+++ ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp (revision 25507)
3054@@ -115,28 +115,6 @@
3055 /*}}}*/
3056 int DoubleMatArrayParam::Id(void){ return -1; }/*{{{*/
3057 /*}}}*/
3058-void DoubleMatArrayParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
3059-
3060- MARSHALLING_ENUM(DoubleMatArrayParamEnum);
3061-
3062- MARSHALLING(enum_type);
3063- MARSHALLING(M);
3064- if(M){
3065- MARSHALLING_DYNAMIC(mdim_array,int,M);
3066- MARSHALLING_DYNAMIC(ndim_array,int,M);
3067- if(marshall_direction==MARSHALLING_LOAD && M) array=xNew<IssmDouble*>(M);
3068- for(int i=0;i<M;i++){
3069- MARSHALLING_DYNAMIC(array[i],IssmDouble,mdim_array[i]*ndim_array[i]);
3070- }
3071- }
3072- else{
3073- array=NULL;
3074- mdim_array=NULL;
3075- ndim_array=NULL;
3076- }
3077-
3078-}
3079-/*}}}*/
3080 void DoubleMatArrayParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
3081
3082 int object_enum = DoubleMatArrayParamEnum;
3083Index: ../trunk-jpl/src/c/classes/Params/StringParam.h
3084===================================================================
3085--- ../trunk-jpl/src/c/classes/Params/StringParam.h (revision 25506)
3086+++ ../trunk-jpl/src/c/classes/Params/StringParam.h (revision 25507)
3087@@ -35,7 +35,6 @@
3088 void DeepEcho();
3089 void Echo();
3090 int Id();
3091- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
3092 void Marshall2(MarshallHandle* marshallhandle);
3093 int ObjectEnum();
3094 /*}}}*/
3095Index: ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp
3096===================================================================
3097--- ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp (revision 25506)
3098+++ ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp (revision 25507)
3099@@ -72,16 +72,6 @@
3100
3101 }
3102 /*}}}*/
3103-void DoubleMatParam::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
3104-
3105- MARSHALLING_ENUM(DoubleMatParamEnum);
3106-
3107- MARSHALLING(enum_type);
3108- MARSHALLING(M);
3109- MARSHALLING(N);
3110- MARSHALLING_DYNAMIC(value,IssmDouble,M*N);
3111-}
3112-/*}}}*/
3113 void DoubleMatParam::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
3114
3115 int object_enum = DoubleMatParamEnum;
3116Index: ../trunk-jpl/src/c/classes/Params/TransientParam.h
3117===================================================================
3118--- ../trunk-jpl/src/c/classes/Params/TransientParam.h (revision 25506)
3119+++ ../trunk-jpl/src/c/classes/Params/TransientParam.h (revision 25507)
3120@@ -37,7 +37,6 @@
3121 void DeepEcho();
3122 void Echo();
3123 int Id();
3124- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
3125 void Marshall2(MarshallHandle* marshallhandle);
3126 int ObjectEnum();
3127 /*}}}*/
3128Index: ../trunk-jpl/src/c/classes/Hook.h
3129===================================================================
3130--- ../trunk-jpl/src/c/classes/Hook.h (revision 25506)
3131+++ ../trunk-jpl/src/c/classes/Hook.h (revision 25507)
3132@@ -33,7 +33,6 @@
3133 Object* copy(void);
3134 void DeepEcho(void);
3135 void Echo(void);
3136- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
3137 void Marshall2(MarshallHandle* marshallhandle);
3138 /*}}}*/
3139 /*Hook management: {{{*/
3140Index: ../trunk-jpl/src/c/datastructures/DataSet.h
3141===================================================================
3142--- ../trunk-jpl/src/c/datastructures/DataSet.h (revision 25506)
3143+++ ../trunk-jpl/src/c/datastructures/DataSet.h (revision 25507)
3144@@ -33,7 +33,6 @@
3145 DataSet();
3146 DataSet(int enum_type);
3147 ~DataSet();
3148- void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
3149 void Marshall2(MarshallHandle* marshallhandle);
3150
3151 /*management*/
3152Index: ../trunk-jpl/src/c/datastructures/Object.h
3153===================================================================
3154--- ../trunk-jpl/src/c/datastructures/Object.h (revision 25506)
3155+++ ../trunk-jpl/src/c/datastructures/Object.h (revision 25507)
3156@@ -20,7 +20,6 @@
3157 virtual int Id()=0;
3158 virtual int ObjectEnum()=0;
3159 virtual Object* copy()=0;
3160- virtual void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction)=0;
3161 virtual void Marshall2(MarshallHandle* marshallhandle)=0;
3162
3163 };
3164Index: ../trunk-jpl/src/c/datastructures/DataSet.cpp
3165===================================================================
3166--- ../trunk-jpl/src/c/datastructures/DataSet.cpp (revision 25506)
3167+++ ../trunk-jpl/src/c/datastructures/DataSet.cpp (revision 25507)
3168@@ -90,164 +90,6 @@
3169 /*}}}*/
3170
3171 /*Specific methods*/
3172-void DataSet::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){ /*{{{*/
3173-
3174- vector<Object*>::iterator obj;
3175- int obj_size=0;
3176- int obj_enum=0;
3177- int i;
3178-
3179- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
3180- obj_size=objects.size();
3181- }
3182- else{
3183- clear();
3184- }
3185-
3186- MARSHALLING_ENUM(DataSetEnum);
3187- MARSHALLING(enum_type);
3188- MARSHALLING(sorted);
3189- MARSHALLING(presorted);
3190- MARSHALLING(numsorted);
3191-
3192- /*Now branch according to direction of marshalling: */
3193- if(marshall_direction==MARSHALLING_WRITE || marshall_direction==MARSHALLING_SIZE){
3194- if(!(this->sorted && numsorted>0 && this->id_offsets)){
3195- sorted_ids=NULL;
3196- id_offsets=NULL;
3197- }
3198- MARSHALLING_DYNAMIC(sorted_ids,int,numsorted);
3199- MARSHALLING_DYNAMIC(id_offsets,int,numsorted);
3200- MARSHALLING(obj_size);
3201-
3202- /*Go through our objects, and marshall them into the buffer: */
3203- for( obj=this->objects.begin() ; obj < this->objects.end(); obj++ ){
3204- obj_enum=(*obj)->ObjectEnum();
3205- MARSHALLING(obj_enum);
3206- (*obj)->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3207- }
3208- }
3209- else{
3210-
3211- MARSHALLING_DYNAMIC(sorted_ids,int,numsorted);
3212- MARSHALLING_DYNAMIC(id_offsets,int,numsorted);
3213- if (!(this->sorted && numsorted>0)){
3214- sorted_ids=NULL;
3215- id_offsets=NULL;
3216- }
3217- MARSHALLING(obj_size);
3218-
3219- /*This is the heart of the demashalling method. We have a buffer coming
3220- in, and we are supposed to create a dataset out of it. No such thing
3221- as class orientation for buffers, we need to key off the enum of each
3222- object stored in the buffer. */
3223- for(i=0;i<obj_size;i++){
3224-
3225- /*Recover enum of object first: */
3226- MARSHALLING(obj_enum);
3227-
3228- /*Giant case statement to spin-up the right object, and demarshall into it the information
3229- *stored in the buffer: */
3230- if(obj_enum==NodeEnum){
3231- Node* node=NULL;
3232- node=new Node();
3233- node->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3234- this->AddObject(node);
3235- }
3236- else if(obj_enum==VertexEnum){
3237- Vertex* vertex=NULL;
3238- vertex=new Vertex();
3239- vertex->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3240- this->AddObject(vertex);
3241- }
3242- else if(obj_enum==MaticeEnum){
3243- Matice* matice=NULL;
3244- matice=new Matice();
3245- matice->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3246- this->AddObject(matice);
3247- }
3248- else if(obj_enum==MatestarEnum){
3249- Matestar* matestar=NULL;
3250- matestar=new Matestar();
3251- matestar->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3252- this->AddObject(matestar);
3253- }
3254- else if(obj_enum==SpcStaticEnum){
3255- SpcStatic* spcstatic=NULL;
3256- spcstatic=new SpcStatic();
3257- spcstatic->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3258- this->AddObject(spcstatic);
3259- }
3260- else if(obj_enum==SpcDynamicEnum){
3261- SpcDynamic* spcdynamic=NULL;
3262- spcdynamic=new SpcDynamic();
3263- spcdynamic->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3264- this->AddObject(spcdynamic);
3265- }
3266- else if(obj_enum==SpcTransientEnum){
3267- SpcTransient* spctransient=NULL;
3268- spctransient=new SpcTransient();
3269- spctransient->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3270- this->AddObject(spctransient);
3271- }
3272- else if(obj_enum==TriaEnum){
3273- Tria* tria=NULL;
3274- tria=new Tria();
3275- tria->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3276- this->AddObject(tria);
3277- }
3278- else if(obj_enum==PentaEnum){
3279- Penta* penta=NULL;
3280- penta=new Penta();
3281- penta->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3282- this->AddObject(penta);
3283- }
3284- else if(obj_enum==TetraEnum){
3285- Tetra* tetra=NULL;
3286- tetra=new Tetra();
3287- tetra->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3288- this->AddObject(tetra);
3289- }
3290- else if(obj_enum==SegEnum){
3291- Seg* seg=NULL;
3292- seg=new Seg();
3293- seg->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3294- this->AddObject(seg);
3295- }
3296- else if(obj_enum==RiftfrontEnum){
3297- Riftfront* rift=NULL;
3298- rift=new Riftfront();
3299- rift->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3300- this->AddObject(rift);
3301- }
3302- else if(obj_enum==NumericalfluxEnum){
3303- Numericalflux* numflux=NULL;
3304- numflux=new Numericalflux();
3305- numflux->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3306- this->AddObject(numflux);
3307- }
3308- else if(obj_enum==PengridEnum){
3309- Pengrid* pengrid=NULL;
3310- pengrid=new Pengrid();
3311- pengrid->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3312- this->AddObject(pengrid);
3313- }
3314- else if(obj_enum==PenpairEnum){
3315- Penpair* penpair=NULL;
3316- penpair=new Penpair();
3317- penpair->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3318- this->AddObject(penpair);
3319- }
3320- else if(obj_enum==DoubleExternalResultEnum){
3321- GenericExternalResult<double>* result=new GenericExternalResult<double>();
3322- result->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
3323- this->AddObject(result);
3324- }
3325- else _error_("could not recognize enum type: " << obj_enum << ": " << EnumToStringx(obj_enum) );
3326- }
3327- }
3328-}
3329-/*}}}*/
3330 void DataSet::Marshall2(MarshallHandle* marshallhandle){ /*{{{*/
3331
3332 vector<Object*>::iterator obj;
3333Index: ../trunk-jpl/src/c/kml/KML_Object.h
3334===================================================================
3335--- ../trunk-jpl/src/c/kml/KML_Object.h (revision 25506)
3336+++ ../trunk-jpl/src/c/kml/KML_Object.h (revision 25507)
3337@@ -29,7 +29,7 @@
3338 int Id(){_error_("Not implemented yet.");};
3339 int ObjectEnum(){_error_("Not implemented yet.");};
3340 Object* copy(){_error_("Not implemented yet.");};
3341- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3342+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3343 /*}}}*/
3344
3345 /*virtual functions: */
3346Index: ../trunk-jpl/src/c/kml/KML_SubStyle.h
3347===================================================================
3348--- ../trunk-jpl/src/c/kml/KML_SubStyle.h (revision 25506)
3349+++ ../trunk-jpl/src/c/kml/KML_SubStyle.h (revision 25507)
3350@@ -28,7 +28,7 @@
3351 int Id(){_error_("Not implemented yet.");};
3352 int ObjectEnum(){_error_("Not implemented yet.");};
3353 Object* copy(){_error_("Not implemented yet.");};
3354- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3355+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3356 /*}}}*/
3357
3358 };
3359Index: ../trunk-jpl/src/c/kml/KML_LineString.h
3360===================================================================
3361--- ../trunk-jpl/src/c/kml/KML_LineString.h (revision 25506)
3362+++ ../trunk-jpl/src/c/kml/KML_LineString.h (revision 25507)
3363@@ -37,7 +37,7 @@
3364 int Id(){_error_("Not implemented yet.");};
3365 int ObjectEnum(){_error_("Not implemented yet.");};
3366 Object* copy(){_error_("Not implemented yet.");};
3367- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3368+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3369 /*}}}*/
3370
3371 };
3372Index: ../trunk-jpl/src/c/kml/KML_Overlay.h
3373===================================================================
3374--- ../trunk-jpl/src/c/kml/KML_Overlay.h (revision 25506)
3375+++ ../trunk-jpl/src/c/kml/KML_Overlay.h (revision 25507)
3376@@ -35,7 +35,7 @@
3377 int Id(){_error_("Not implemented yet.");};
3378 int ObjectEnum(){_error_("Not implemented yet.");};
3379 Object* copy(){_error_("Not implemented yet.");};
3380- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3381+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3382 /*}}}*/
3383
3384 };
3385Index: ../trunk-jpl/src/c/kml/KML_Container.h
3386===================================================================
3387--- ../trunk-jpl/src/c/kml/KML_Container.h (revision 25506)
3388+++ ../trunk-jpl/src/c/kml/KML_Container.h (revision 25507)
3389@@ -32,7 +32,7 @@
3390 int Id(){_error_("Not implemented yet.");};
3391 int ObjectEnum(){_error_("Not implemented yet.");};
3392 Object* copy(){_error_("Not implemented yet.");};
3393- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3394+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3395 /*}}}*/
3396
3397 };
3398Index: ../trunk-jpl/src/c/kml/KML_Polygon.h
3399===================================================================
3400--- ../trunk-jpl/src/c/kml/KML_Polygon.h (revision 25506)
3401+++ ../trunk-jpl/src/c/kml/KML_Polygon.h (revision 25507)
3402@@ -39,7 +39,7 @@
3403 int Id(){_error_("Not implemented yet.");};
3404 int ObjectEnum(){_error_("Not implemented yet.");};
3405 Object* copy(){_error_("Not implemented yet.");};
3406- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3407+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3408 /*}}}*/
3409
3410 };
3411Index: ../trunk-jpl/src/c/kml/KML_Geometry.h
3412===================================================================
3413--- ../trunk-jpl/src/c/kml/KML_Geometry.h (revision 25506)
3414+++ ../trunk-jpl/src/c/kml/KML_Geometry.h (revision 25507)
3415@@ -28,7 +28,7 @@
3416 int Id(){_error_("Not implemented yet.");};
3417 int ObjectEnum(){_error_("Not implemented yet.");};
3418 Object* copy(){_error_("Not implemented yet.");};
3419- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3420+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3421 /*}}}*/
3422
3423 };
3424Index: ../trunk-jpl/src/c/kml/KML_ColorStyle.h
3425===================================================================
3426--- ../trunk-jpl/src/c/kml/KML_ColorStyle.h (revision 25506)
3427+++ ../trunk-jpl/src/c/kml/KML_ColorStyle.h (revision 25507)
3428@@ -35,7 +35,7 @@
3429 void Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
3430 int ObjectEnum(){_error_("Not implemented yet.");};
3431 Object* copy(){_error_("Not implemented yet.");};
3432- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3433+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3434 /*}}}*/
3435
3436 };
3437Index: ../trunk-jpl/src/c/kml/KML_Placemark.h
3438===================================================================
3439--- ../trunk-jpl/src/c/kml/KML_Placemark.h (revision 25506)
3440+++ ../trunk-jpl/src/c/kml/KML_Placemark.h (revision 25507)
3441@@ -33,7 +33,7 @@
3442 int Id(){_error_("Not implemented yet.");};
3443 int ObjectEnum(){_error_("Not implemented yet.");};
3444 Object* copy(){_error_("Not implemented yet.");};
3445- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3446+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3447 /*}}}*/
3448
3449 };
3450Index: ../trunk-jpl/src/c/kml/KML_Unknown.h
3451===================================================================
3452--- ../trunk-jpl/src/c/kml/KML_Unknown.h (revision 25506)
3453+++ ../trunk-jpl/src/c/kml/KML_Unknown.h (revision 25507)
3454@@ -31,7 +31,7 @@
3455 int Id(){_error_("Not implemented yet.");};
3456 int ObjectEnum(){_error_("Not implemented yet.");};
3457 Object* copy(){_error_("Not implemented yet.");};
3458- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3459+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3460 /*}}}*/
3461
3462 };
3463Index: ../trunk-jpl/src/c/kml/KML_GroundOverlay.h
3464===================================================================
3465--- ../trunk-jpl/src/c/kml/KML_GroundOverlay.h (revision 25506)
3466+++ ../trunk-jpl/src/c/kml/KML_GroundOverlay.h (revision 25507)
3467@@ -35,7 +35,7 @@
3468 int Id(){_error_("Not implemented yet.");};
3469 int ObjectEnum(){_error_("Not implemented yet.");};
3470 Object* copy(){_error_("Not implemented yet.");};
3471- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3472+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3473 /*}}}*/
3474
3475 };
3476Index: ../trunk-jpl/src/c/kml/KML_Style.h
3477===================================================================
3478--- ../trunk-jpl/src/c/kml/KML_Style.h (revision 25506)
3479+++ ../trunk-jpl/src/c/kml/KML_Style.h (revision 25507)
3480@@ -37,7 +37,7 @@
3481 int Id(){_error_("Not implemented yet.");};
3482 int ObjectEnum(){_error_("Not implemented yet.");};
3483 Object* copy(){_error_("Not implemented yet.");};
3484- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3485+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3486 /*}}}*/
3487
3488 };
3489Index: ../trunk-jpl/src/c/kml/KML_Comment.h
3490===================================================================
3491--- ../trunk-jpl/src/c/kml/KML_Comment.h (revision 25506)
3492+++ ../trunk-jpl/src/c/kml/KML_Comment.h (revision 25507)
3493@@ -29,7 +29,7 @@
3494 int Id(){_error_("Not implemented yet.");};
3495 int ObjectEnum(){_error_("Not implemented yet.");};
3496 Object* copy(){_error_("Not implemented yet.");};
3497- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3498+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3499 /*}}}*/
3500
3501 /*virtual functions: */
3502Index: ../trunk-jpl/src/c/kml/KML_MultiGeometry.h
3503===================================================================
3504--- ../trunk-jpl/src/c/kml/KML_MultiGeometry.h (revision 25506)
3505+++ ../trunk-jpl/src/c/kml/KML_MultiGeometry.h (revision 25507)
3506@@ -33,7 +33,7 @@
3507 int Id(){_error_("Not implemented yet.");};
3508 int ObjectEnum(){_error_("Not implemented yet.");};
3509 Object* copy(){_error_("Not implemented yet.");};
3510- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3511+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3512 /*}}}*/
3513
3514 };
3515Index: ../trunk-jpl/src/c/kml/KML_LineStyle.h
3516===================================================================
3517--- ../trunk-jpl/src/c/kml/KML_LineStyle.h (revision 25506)
3518+++ ../trunk-jpl/src/c/kml/KML_LineStyle.h (revision 25507)
3519@@ -30,7 +30,7 @@
3520 int Id(){_error_("Not implemented yet.");};
3521 int ObjectEnum(){_error_("Not implemented yet.");};
3522 Object* copy(){_error_("Not implemented yet.");};
3523- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3524+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3525 /*}}}*/
3526
3527 };
3528Index: ../trunk-jpl/src/c/kml/KML_Folder.h
3529===================================================================
3530--- ../trunk-jpl/src/c/kml/KML_Folder.h (revision 25506)
3531+++ ../trunk-jpl/src/c/kml/KML_Folder.h (revision 25507)
3532@@ -29,7 +29,7 @@
3533 int Id(){_error_("Not implemented yet.");};
3534 int ObjectEnum(){_error_("Not implemented yet.");};
3535 Object* copy(){_error_("Not implemented yet.");};
3536- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3537+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3538 /*}}}*/
3539
3540 };
3541Index: ../trunk-jpl/src/c/kml/KML_Document.h
3542===================================================================
3543--- ../trunk-jpl/src/c/kml/KML_Document.h (revision 25506)
3544+++ ../trunk-jpl/src/c/kml/KML_Document.h (revision 25507)
3545@@ -29,7 +29,7 @@
3546 int Id(){_error_("Not implemented yet.");};
3547 int ObjectEnum(){_error_("Not implemented yet.");};
3548 Object* copy(){_error_("Not implemented yet.");};
3549- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3550+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3551 /*}}}*/
3552
3553 };
3554Index: ../trunk-jpl/src/c/kml/KML_File.h
3555===================================================================
3556--- ../trunk-jpl/src/c/kml/KML_File.h (revision 25506)
3557+++ ../trunk-jpl/src/c/kml/KML_File.h (revision 25507)
3558@@ -31,7 +31,7 @@
3559 int Id(){_error_("Not implemented yet.");};
3560 int ObjectEnum(){_error_("Not implemented yet.");};
3561 Object* copy(){_error_("Not implemented yet.");};
3562- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3563+ void Marshall2(MarshallHandle* marshallhandle);
3564 /*}}}*/
3565
3566 };
3567Index: ../trunk-jpl/src/c/kml/KML_Icon.h
3568===================================================================
3569--- ../trunk-jpl/src/c/kml/KML_Icon.h (revision 25506)
3570+++ ../trunk-jpl/src/c/kml/KML_Icon.h (revision 25507)
3571@@ -43,7 +43,7 @@
3572 int Id(){_error_("Not implemented yet.");};
3573 int ObjectEnum(){_error_("Not implemented yet.");};
3574 Object* copy(){_error_("Not implemented yet.");};
3575- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3576+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3577 /*}}}*/
3578
3579 };
3580Index: ../trunk-jpl/src/c/kml/KML_Point.h
3581===================================================================
3582--- ../trunk-jpl/src/c/kml/KML_Point.h (revision 25506)
3583+++ ../trunk-jpl/src/c/kml/KML_Point.h (revision 25507)
3584@@ -35,7 +35,7 @@
3585 int Id(){_error_("Not implemented yet.");};
3586 int ObjectEnum(){_error_("Not implemented yet.");};
3587 Object* copy(){_error_("Not implemented yet.");};
3588- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3589+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3590 /*}}}*/
3591
3592 };
3593Index: ../trunk-jpl/src/c/kml/KML_LinearRing.h
3594===================================================================
3595--- ../trunk-jpl/src/c/kml/KML_LinearRing.h (revision 25506)
3596+++ ../trunk-jpl/src/c/kml/KML_LinearRing.h (revision 25507)
3597@@ -37,7 +37,7 @@
3598 int Id(){_error_("Not implemented yet.");};
3599 int ObjectEnum(){_error_("Not implemented yet.");};
3600 Object* copy(){_error_("Not implemented yet.");};
3601- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3602+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3603 /*}}}*/
3604
3605 };
3606Index: ../trunk-jpl/src/c/kml/KML_Feature.h
3607===================================================================
3608--- ../trunk-jpl/src/c/kml/KML_Feature.h (revision 25506)
3609+++ ../trunk-jpl/src/c/kml/KML_Feature.h (revision 25507)
3610@@ -43,7 +43,7 @@
3611 int Id(){_error_("Not implemented yet.");};
3612 int ObjectEnum(){_error_("Not implemented yet.");};
3613 Object* copy(){_error_("Not implemented yet.");};
3614- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3615+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3616 /*}}}*/
3617
3618 };
3619Index: ../trunk-jpl/src/c/kml/KML_StyleSelector.h
3620===================================================================
3621--- ../trunk-jpl/src/c/kml/KML_StyleSelector.h (revision 25506)
3622+++ ../trunk-jpl/src/c/kml/KML_StyleSelector.h (revision 25507)
3623@@ -28,7 +28,7 @@
3624 int Id(){_error_("Not implemented yet.");};
3625 int ObjectEnum(){_error_("Not implemented yet.");};
3626 Object* copy(){_error_("Not implemented yet.");};
3627- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3628+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3629 /*}}}*/
3630
3631 };
3632Index: ../trunk-jpl/src/c/kml/KML_LatLonBox.h
3633===================================================================
3634--- ../trunk-jpl/src/c/kml/KML_LatLonBox.h (revision 25506)
3635+++ ../trunk-jpl/src/c/kml/KML_LatLonBox.h (revision 25507)
3636@@ -34,7 +34,7 @@
3637 int Id(){_error_("Not implemented yet.");};
3638 int ObjectEnum(){_error_("Not implemented yet.");};
3639 Object* copy(){_error_("Not implemented yet.");};
3640- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3641+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3642 /*}}}*/
3643
3644 };
3645Index: ../trunk-jpl/src/c/kml/KML_Attribute.h
3646===================================================================
3647--- ../trunk-jpl/src/c/kml/KML_Attribute.h (revision 25506)
3648+++ ../trunk-jpl/src/c/kml/KML_Attribute.h (revision 25507)
3649@@ -28,7 +28,7 @@
3650 int Id(){_error_("Not implemented yet.");};
3651 int ObjectEnum(){_error_("Not implemented yet.");};
3652 Object* copy(){_error_("Not implemented yet.");};
3653- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3654+ void Marshall2(MarshallHandle* marshallhandle);
3655 /*}}}*/
3656
3657 /*virtual functions: */
3658Index: ../trunk-jpl/src/c/kml/KML_PolyStyle.h
3659===================================================================
3660--- ../trunk-jpl/src/c/kml/KML_PolyStyle.h (revision 25506)
3661+++ ../trunk-jpl/src/c/kml/KML_PolyStyle.h (revision 25507)
3662@@ -31,7 +31,7 @@
3663 int Id(){_error_("Not implemented yet.");};
3664 int ObjectEnum(){_error_("Not implemented yet.");};
3665 Object* copy(){_error_("Not implemented yet.");};
3666- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!");};
3667+ void Marshall2(MarshallHandle* marshallhandle){ _error_("not implemented yet!");};
3668 /*}}}*/
3669
3670 };
3671Index: ../trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h
3672===================================================================
3673--- ../trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h (revision 25506)
3674+++ ../trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h (revision 25507)
3675@@ -118,59 +118,4 @@
3676 }
3677 }
3678
3679-#define MARSHALLING_ENUM(EN)\
3680- int type_enum=EN;\
3681- if(marshall_direction==MARSHALLING_WRITE){\
3682- memcpy(*pmarshalled_data,&type_enum,sizeof(int));\
3683- *pmarshalled_data+=sizeof(int);\
3684- }\
3685- else if(marshall_direction==MARSHALLING_SIZE){\
3686- *pmarshalled_data_size+=sizeof(int);\
3687- }\
3688- else if(marshall_direction==MARSHALLING_LOAD){\
3689- *pmarshalled_data+=sizeof(int);\
3690- }\
3691- else _error_("Wrong direction during the Marshall process");\
3692-
3693-
3694-#define MARSHALLING(FIELD)\
3695- \
3696- if(marshall_direction==MARSHALLING_WRITE){\
3697- memcpy(*pmarshalled_data,&FIELD,sizeof(FIELD));\
3698- *pmarshalled_data+=sizeof(FIELD);\
3699- }\
3700- else if(marshall_direction==MARSHALLING_SIZE){\
3701- *pmarshalled_data_size+=sizeof(FIELD);\
3702- }\
3703- else if(marshall_direction==MARSHALLING_LOAD){\
3704- memcpy(&FIELD,*pmarshalled_data,sizeof(FIELD));\
3705- *pmarshalled_data+=sizeof(FIELD);\
3706- }\
3707- else _error_("Wrong direction during the Marshall process");
3708-
3709-
3710-#define MARSHALLING_DYNAMIC(FIELD,TYPE,SIZE) \
3711- \
3712- {\
3713- bool field_null=true;\
3714- if (FIELD)field_null=false;\
3715- MARSHALLING(field_null);\
3716- \
3717- if(!field_null){\
3718- if(marshall_direction==MARSHALLING_WRITE){\
3719- memcpy(*pmarshalled_data,FIELD,SIZE*sizeof(TYPE));\
3720- *pmarshalled_data+=SIZE*sizeof(TYPE);\
3721- }\
3722- else if(marshall_direction==MARSHALLING_SIZE){\
3723- *pmarshalled_data_size+=SIZE*sizeof(TYPE);\
3724- }\
3725- else if(marshall_direction==MARSHALLING_LOAD){\
3726- FIELD=xNew<TYPE>(SIZE);\
3727- memcpy(FIELD,*pmarshalled_data,SIZE*sizeof(TYPE));\
3728- *pmarshalled_data+=SIZE*sizeof(TYPE);\
3729- }\
3730- else _error_("Wrong direction during the Marshall process");\
3731- }\
3732- }
3733-
3734 #endif
3735Index: ../trunk-jpl/src/c/toolkits/issm/Bucket.h
3736===================================================================
3737--- ../trunk-jpl/src/c/toolkits/issm/Bucket.h (revision 25506)
3738+++ ../trunk-jpl/src/c/toolkits/issm/Bucket.h (revision 25507)
3739@@ -128,10 +128,6 @@
3740 else if (this->type==VECTOR_BUCKET) return new Bucket(this->m,this->idxm,this->values,this->mode);
3741 else _error_("No Copy of Bucket because its type is invalid."); };
3742 /*}}}*/
3743- void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
3744- _error_("not implemented yet!");
3745- }
3746- /*}}}*/
3747 void Marshall2(MarshallHandle* marshallhandle){/*{{{*/
3748 _error_("not implemented yet!");
3749 }
Note: See TracBrowser for help on using the repository browser.