[cig-commits] r3898 - in long/3D/Gale/trunk/src/StGermain: . Base/Automation/src Base/Automation/tests Base/Container/src Base/Container/tests Base/Context/src Base/Context/tests Base/Extensibility/distributedtests Base/Extensibility/src Base/Foundation/src Base/IO/src Discretisation/Geometry/src Discretisation/Geometry/tests Discretisation/Mesh/src Discretisation/Mesh/tests Discretisation/Shape/src Discretisation/Swarm/src Discretisation/Swarm/tests Discretisation/Utils/src Discretisation/Utils/tests FD/tests libStGermain/src src

walter at geodynamics.org walter at geodynamics.org
Wed Jun 28 02:59:36 PDT 2006


Author: walter
Date: 2006-06-28 02:59:25 -0700 (Wed, 28 Jun 2006)
New Revision: 3898

Added:
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.h
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.sh
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.h
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.DictionaryCheck.txt.expected
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.sh
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.meta
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.meta
Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Automation.h
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Finalise.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/HierarchyTable.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Init.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.h
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.h
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentFactory.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentRegister.c
   long/3D/Gale/trunk/src/StGermain/Base/Automation/src/types.h
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testLiveComponentRegister.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.2of3.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Char.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Double.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Float.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Int.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Short.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Base/Container/src/HashTable.c
   long/3D/Gale/trunk/src/StGermain/Base/Container/tests/testHashTable.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.h
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/Context.h
   long/3D/Gale/trunk/src/StGermain/Base/Context/src/shortcuts.h
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noDtDefined.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noOptionsDefined.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext0.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext1.c
   long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContextCheckPoint.c
   long/3D/Gale/trunk/src/StGermain/Base/Extensibility/distributedtests/testPlugin.c
   long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/EntryPoint.c
   long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.c
   long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.h
   long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/Class.h
   long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/CommonRoutines.c
   long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/ObjectAdaptor.c
   long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/shortcuts.h
   long/3D/Gale/trunk/src/StGermain/Base/IO/src/Finalise.c
   long/3D/Gale/trunk/src/StGermain/Base/IO/src/Journal.c
   long/3D/Gale/trunk/src/StGermain/Base/IO/src/Stream.c
   long/3D/Gale/trunk/src/StGermain/Base/IO/src/XML_IO_Handler.c
   long/3D/Gale/trunk/src/StGermain/Base/IO/src/stgmessaging.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testDelaunay.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/Mesh.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/types.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.2of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.0of4.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.1of4.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.2of4.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.3of4.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.2of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Box.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Init.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Shape.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/types.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/FileParticleLayout.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Finalise.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GaussParticleLayout.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GlobalParticleLayout.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Init.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmDump.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmOutput.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testParticleCoords.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmOutput.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmParticleAdvection.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.h
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/SobolGenerator.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.2of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC-dictionary.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.2of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testFieldVariable_Register.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of2.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of3.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.2of3.expected
   long/3D/Gale/trunk/src/StGermain/FD/tests/testMeshContext0.c
   long/3D/Gale/trunk/src/StGermain/libStGermain/src/StGermain.h
   long/3D/Gale/trunk/src/StGermain/src/main.c
Log:
Update to latest from VPAC


Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2373
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3584
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2452
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3656

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Automation.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Automation.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Automation.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -61,6 +61,7 @@
 	#include "SetVC.h"
 	#include "VariableAllVC.h"
 	#include "HierarchyTable.h"
+	#include "CallGraph.h"
 	#include "Init.h"
 	#include "Finalise.h"
 	

Added: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,355 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: Stg_Component.c 3462 2006-02-19 06:53:24Z WalterLandry $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <stdarg.h>
+#include "Base/Foundation/Foundation.h"
+#include "Base/IO/IO.h"
+#include "Base/Container/Container.h"
+
+#include "types.h"
+#include "shortcuts.h"
+#include "CallGraph.h"
+
+#include <string.h>
+
+
+/* Textual name of this class */
+const Type Stg_CallGraph_Type = "Stg_CallGraph";
+
+static const Type _Stg_CallGraph_Stack_Type = "_Stg_CallGraph_Stack";
+static const Type _Stg_CallGraph_Entry_Type = "_Stg_CallGraph_Entry";
+static const Index _Stg_CallGraph_Table_Delta = 256; /* TODO: ascertain whether this is a good for an initial & delta size */
+
+/* Call graph singleton. The code in this file (this class) shouldn't use this global variable. It is a global variable ONLY
+    because adding it to the context and making the appropriate changes to EntryPoints and Components (and where ever else
+    push and pop may end up, is a big deal. */
+Stg_CallGraph* stgCallGraph = 0;
+
+
+Stg_CallGraph* Stg_CallGraph_New() {
+	return _Stg_CallGraph_New(
+		sizeof(Stg_CallGraph),
+		Stg_CallGraph_Type,
+		_Stg_CallGraph_Delete,
+		_Stg_CallGraph_Print,
+		_Stg_CallGraph_Copy );
+}
+
+void Stg_CallGraph_Init( void* callGraph ) {
+	Stg_CallGraph* self = (Stg_CallGraph*)callGraph;
+	
+	/* General info */
+	self->type = Stg_CallGraph_Type;
+	self->_sizeOfSelf = sizeof(Stg_CallGraph);
+	self->_deleteSelf = False;
+	
+	/* Virtual info */
+	self->_delete = _Stg_CallGraph_Delete;
+	self->_print = _Stg_CallGraph_Print;
+	self->_copy = _Stg_CallGraph_Copy;
+	_Stg_Class_Init( (Stg_Class*)self );
+	
+	/* Stg_CallGraph info */
+	_Stg_CallGraph_Init( self );
+};
+
+Stg_CallGraph* _Stg_CallGraph_New( 
+		SizeT						_sizeOfSelf, 
+		Type						type,
+		Stg_Class_DeleteFunction*			_delete,
+		Stg_Class_PrintFunction*			_print, 
+		Stg_Class_CopyFunction*				_copy )
+{
+	Stg_CallGraph* self;
+	
+	/* Allocate memory */
+	Journal_Firewall( 
+		_sizeOfSelf >= sizeof(Stg_CallGraph), 
+		Journal_Register( Error_Type, Stg_CallGraph_Type ), 
+		"Attempting to construct an object that is smaller than this class" );
+	self = (Stg_CallGraph*)_Stg_Class_New( _sizeOfSelf, type, _delete, _print, _copy );
+	
+	/* General info */
+	
+	/* Virtual functions */
+	
+	/* Stg_CallGraph info */
+	_Stg_CallGraph_Init( self );
+	
+	return self;
+}
+
+
+void _Stg_CallGraph_Init( Stg_CallGraph* self ) {
+	/* General and Virtual info should already be set */
+	
+	/* Stg_CallGraph info */
+	self->_stack = 0;
+	self->_tableSize = _Stg_CallGraph_Table_Delta; 
+	self->_tableCount = 0;
+	self->table = Memory_Alloc_Array( _Stg_CallGraph_Entry, self->_tableSize, _Stg_CallGraph_Entry_Type );
+}
+
+
+static void _Stg_CallGraph_Delete_Stack( _Stg_CallGraph_Stack* stack ) {
+	if( stack ) {
+		_Stg_CallGraph_Delete_Stack( stack->pop );
+		Memory_Free( stack );
+	}
+}
+
+void _Stg_CallGraph_Delete( void* callGraph ) {
+	Stg_CallGraph* self = (Stg_CallGraph*)callGraph;
+	
+	/* Stg_CallGraph info */
+	_Stg_CallGraph_Delete_Stack( self->_stack );
+	if( self->table ) {
+		Memory_Free( self->table );
+	}
+	self->_tableCount = self->_tableSize = 0;
+	
+	/* Delete parent class */
+	_Stg_Class_Delete( self );
+}
+
+
+static void _Stg_CallGraph_Print_Stack( _Stg_CallGraph_Stack* stack, Stream* stream ) {
+	if( stack ) {
+		Journal_Printf( (void*) stream, "\t\tfunction pointer (ptr): %p\n", stack->functionPtr );
+		Journal_Printf( (void*) stream, "\t\tfunction name: \"%s\"\n", stack->name );
+		Journal_Printf( (void*) stream, "\t\tfunction started timestamp: %g\n", stack->time );
+		Journal_Printf( (void*) stream, "\t\tfunction memory stamp at start: %u\n", stack->memory );
+		Journal_Printf( (void*) stream, "\t\tfunction table entry: %u\n", stack->entry_I );
+		_Stg_CallGraph_Print_Stack( stack->pop, stream );
+	}
+}
+
+void _Stg_CallGraph_Print( void* callGraph, Stream* stream ) {
+	Stg_CallGraph*	self = (Stg_CallGraph*)callGraph;
+	Index		i;
+	
+	/* General info */
+	Journal_Printf( (void*) stream, "Stg_CallGraph (ptr): %p\n", self );
+	
+	/* Print parent class */
+	_Stg_Class_Print( self, stream );
+	
+	/* Virtual info */
+	
+	/* Stg_CallGraph */
+	Journal_Printf( (void*) stream, "\t_stack (ptr): %p\n", self->_stack );
+	_Stg_CallGraph_Print_Stack( self->_stack, stream );
+	
+	Journal_Printf( (void*) stream, "\t_tableSize: %u\n", self->_tableSize );
+	Journal_Printf( (void*) stream, "\t_tableCount: %u\n", self->_tableCount );
+	Journal_Printf( (void*) stream, "\ttable (ptr): %p\n", self->table );
+	for( i = 0; i < self->_tableCount; i++ ) {
+		Journal_Printf( (void*) stream, 
+			"\t\tfunction (ptr): %p, parent (ptr): %p, name: \"%s\", parent name: \"%s\", time: %g, memory: %u, called: %u, returned: %u\n",
+			self->table[i].functionPtr, 
+			self->table[i].parentPtr, 
+			self->table[i].name,
+			self->table[i].parentName,
+			self->table[i].time, 
+			self->table[i].memory,
+			self->table[i].called,
+			self->table[i].returned );
+	}
+}
+
+
+static void _Stg_CallGraph_Copy_Table( _Stg_CallGraph_Entry* dst, _Stg_CallGraph_Entry* src, Index size, Index count ) {
+	memcpy( dst, src, sizeof(_Stg_CallGraph_Entry) * count );
+}
+
+static void _Stg_CallGraph_Copy_Stack_Deep( _Stg_CallGraph_Stack** dst, _Stg_CallGraph_Stack* src, PtrMap* map ) {
+	if( dst && !src ) {
+		*dst = src;
+	}
+	else if( dst && (*dst = PtrMap_Find( map, src )) == NULL ) {
+		*dst = Memory_Alloc( _Stg_CallGraph_Stack, "Stg_CallGraph->_stack" );
+		(*dst)->functionPtr = src->functionPtr;
+		(*dst)->name = src->name;
+		(*dst)->time = src->time;
+		(*dst)->memory = src->memory;
+		(*dst)->entry_I = src->entry_I;
+		(*dst)->pop = 0;
+		_Stg_CallGraph_Copy_Stack_Deep( &((*dst)->pop), src->pop, map );
+		PtrMap_Append( map, *dst, src );
+	}
+	
+}
+
+static void _Stg_CallGraph_Copy_Stack_ShallowIncr( _Stg_CallGraph_Stack* stack ) {
+	_Stg_CallGraph_Copy_Stack_ShallowIncr( stack->pop );
+	Memory_CountInc( stack );
+}
+
+static void _Stg_CallGraph_Copy_Stack_Shallow( _Stg_CallGraph_Stack** dst, _Stg_CallGraph_Stack* src ) {
+	*dst = src;
+	_Stg_CallGraph_Copy_Stack_ShallowIncr( *dst );
+}
+
+void* _Stg_CallGraph_Copy( void* callGraph, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+	Stg_CallGraph*	self = (Stg_CallGraph*)callGraph;
+	Stg_CallGraph*	newCallGraph;
+	PtrMap*		map = ptrMap;
+	Bool		ownMap= False;
+	
+	if( !map ) {
+		map = PtrMap_New( 10 );
+		ownMap = True;
+	}
+	
+	newCallGraph = _Stg_Class_Copy( callGraph, dest, deep, nameExt, ptrMap );
+	
+	/* Virtual methods */
+	newCallGraph->_tableSize = self->_tableSize;
+	newCallGraph->_tableCount = self->_tableCount;
+
+	if( deep ) {
+		if( self->table && (newCallGraph->table = PtrMap_Find( map, self->table )) == NULL ) {
+			newCallGraph->table = Memory_Alloc_Array( _Stg_CallGraph_Entry, newCallGraph->_tableSize, 
+				"Stg_CallGraph->table" );
+			_Stg_CallGraph_Copy_Table( newCallGraph->table, self->table, newCallGraph->_tableSize, 
+				newCallGraph->_tableCount );
+			PtrMap_Append( map, newCallGraph->table, self->table );
+		}
+		
+		_Stg_CallGraph_Copy_Stack_Deep( &newCallGraph->_stack, self->_stack, map );
+	}
+	else {
+		newCallGraph->table = self->table;
+		Memory_CountInc( newCallGraph->table );
+		_Stg_CallGraph_Copy_Stack_Shallow( &newCallGraph->_stack, self->_stack );
+	}
+	
+	if( ownMap ) {
+		Stg_Class_Delete( map );
+	}
+
+	return newCallGraph;
+}
+
+
+
+void Stg_CallGraph_Push( void* callGraph, void* functionPtr, Type name ) {
+	Stg_CallGraph*		self = (Stg_CallGraph*)callGraph;
+	_Stg_CallGraph_Stack*	newStack;
+	Bool			found;
+	void*			parentPtr;
+	Type			parentName;
+	
+	/* Push onto the stack */
+	parentPtr = self->_stack ? self->_stack->functionPtr : 0;
+	parentName = self->_stack ? self->_stack->name : 0;
+	newStack = Memory_Alloc( _Stg_CallGraph_Stack, _Stg_CallGraph_Stack_Type );
+	newStack->functionPtr = functionPtr;
+	newStack->name = name;
+	newStack->time = 0.0f; /* TODO: Actual time stamp */
+	newStack->memory = 0; /* TODO: Actual memory stamp */
+	newStack->pop = self->_stack;
+	self->_stack = newStack;
+	
+	/* Search for the function in the table */
+	found = False;
+	for( newStack->entry_I = 0; newStack->entry_I < self->_tableCount; newStack->entry_I++ ) {
+		/* Each function/parent-pointer - function/parent name, is treated as a distinct call graph entry. This way, if a
+		    function is called by more than one distinct function, we have that information (the user can combine this
+		    info if they see fit. And in the case of entry points, the same function pointer is used for all entry points,
+		    as the name is the distinquisher */
+		if( 
+			self->table[newStack->entry_I].functionPtr == functionPtr &&
+			self->table[newStack->entry_I].parentPtr == parentPtr &&
+			self->table[newStack->entry_I].name == name && 
+			self->table[newStack->entry_I].parentName == parentName ) 
+		{
+			found = True;
+			break;
+		}
+	}
+	
+	if( found ) {
+		self->table[newStack->entry_I].called += 1;
+	}
+	/* else, add to the table */
+	else {
+		/* We may need to allocate some more memory */
+		if( self->_tableCount >= self->_tableSize ) {
+			_Stg_CallGraph_Entry* newTable;
+			SizeT newSize;
+			
+			Journal_Firewall( 
+				self->_tableCount == self->_tableSize, 
+				Journal_Register( Error_Type, Stg_CallGraph_Type ), 
+				"Somehow the table entry counter is greater than the memory allocation" );
+
+			
+			newSize = self->_tableSize + _Stg_CallGraph_Table_Delta;
+			newTable = Memory_Alloc_Array( _Stg_CallGraph_Entry, newSize, _Stg_CallGrap_Entry_Type );
+			memcpy( newTable, self->table, self->_tableSize ); /* safe to do, we want to copy ptr values */
+			Memory_Free( self->table );
+			self->table = newTable;
+			self->_tableSize = newSize;
+		}
+		
+		newStack->entry_I = self->_tableCount;
+		self->_tableCount += 1;
+		
+		self->table[newStack->entry_I].functionPtr = functionPtr;
+		self->table[newStack->entry_I].name = name;
+		self->table[newStack->entry_I].parentPtr = parentPtr;
+		self->table[newStack->entry_I].parentName = parentName;
+		self->table[newStack->entry_I].time = 0.0f;
+		self->table[newStack->entry_I].memory = 0;
+		self->table[newStack->entry_I].called = 1;
+		self->table[newStack->entry_I].returned = 0;
+	}
+}
+
+void Stg_CallGraph_Pop( void* callGraph ) {
+	Stg_CallGraph*		self = (Stg_CallGraph*)callGraph;
+	_Stg_CallGraph_Stack*	oldStack;
+	
+	Journal_Firewall( 
+		self->_stack != 0, 
+		Journal_Register( Error_Type, Stg_CallGraph_Type ), 
+		"Attempting to pop and empty stack" );
+	
+	/* Record the accumulative delta time & memory */
+	self->table[self->_stack->entry_I].time += 0 /* TODO: Actual time stamp */ - self->_stack->time;
+	self->table[self->_stack->entry_I].memory += 0 /* TODO: Actual memory stamp */ - self->_stack->memory;
+	self->table[self->_stack->entry_I].returned += 1;
+	
+	/* Pop the stack */
+	oldStack = self->_stack;
+	self->_stack = oldStack->pop;
+	Memory_Free( oldStack );
+}

Added: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/CallGraph.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,129 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**
+** Comments:
+**
+** $Id$
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __Base_Automation_Stg_CallGraph_h__
+#define __Base_Automation_Stg_CallGraph_h__
+	
+	/* Templates of virtual functions */
+	typedef struct {
+		void*			functionPtr;
+		Type			name;			/* assume its a const char* (i.e. we just need to copy ptr */
+		void*			parentPtr;
+		Type			parentName;		/* assume its a const char* (i.e. we just need to copy ptr */
+		double			time;
+		SizeT			memory;
+		Index			called;
+		Index			returned;
+	} _Stg_CallGraph_Entry;
+	
+	typedef struct __Stg_CallGraph_Stack _Stg_CallGraph_Stack;
+	struct __Stg_CallGraph_Stack {
+		void*			functionPtr;
+		Type			name;			/* assume its a const char* (i.e. we just need to copy ptr */
+		double			time;
+		SizeT			memory;
+		Index			entry_I;
+		_Stg_CallGraph_Stack*	pop;
+	};
+	
+	/* Textual name of this class */
+	extern const Type Stg_CallGraph_Type;
+	
+	/* Stg_Component information */
+	#define __Stg_CallGraph \
+		/* General info */ \
+		__Stg_Class \
+		\
+		/* Virtual info */ \
+		\
+		/* Stg_CallGraph info */ \
+		_Stg_CallGraph_Stack*	_stack; \
+		_Stg_CallGraph_Entry*	table; \
+		Index			_tableSize; \
+		Index			_tableCount;
+	struct Stg_CallGraph { __Stg_CallGraph };
+	
+	
+	/** StGermain call graph singleton */
+	extern Stg_CallGraph* stgCallGraph;
+	
+	/** Create a new CallGraph */
+	Stg_CallGraph* Stg_CallGraph_New();
+	
+	/** Initialise an existing CallGraph */
+	void Stg_CallGraph_Init( void* callGraph );
+	
+	/* Creation implementation */
+	Stg_CallGraph* _Stg_CallGraph_New( 
+		SizeT						_sizeOfSelf, 
+		Type						type,
+		Stg_Class_DeleteFunction*			_delete,
+		Stg_Class_PrintFunction*			_print, 
+		Stg_Class_CopyFunction*				_copy );
+	
+	
+	/* Class Administration members ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+	
+	/* Initialisation implementation */
+	void _Stg_CallGraph_Init( Stg_CallGraph* self );
+	
+	/* Delete implementation */
+	void _Stg_CallGraph_Delete( void* callGraph );
+	
+	/* Print implementation */
+	void _Stg_CallGraph_Print( void* callGraph, Stream* stream );
+	
+	/* Copy implementation */
+	void* _Stg_CallGraph_Copy( void* callGraph, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	
+	
+	/* Public member functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+	
+	/* Copy the component */
+	#define Stg_CallGraph_Copy( self ) \
+		(Stg_CallGraph*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define Stg_CallGraph_DeepCopy(self) \
+		(Stg_CallGraph*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	
+	/** Push a new function call onto the stack, and lodge trace */
+	void Stg_CallGraph_Push( void* callGraph, void* functionPtr, Type name );
+	
+	/** Pop the function on the stack, and finalise trace */
+	void Stg_CallGraph_Pop( void* callGraph );
+	
+#endif /* __Base_Automation_Stg_CallGraph_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Finalise.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Finalise.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Finalise.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -40,6 +40,8 @@
 #include "VariableCondition_Register.h"
 #include "Stg_Component.h"
 #include "Stg_ComponentRegister.h"
+#include "HierarchyTable.h"
+#include "CallGraph.h"
 #include <stdio.h>
 
 Bool BaseAutomation_Finalise( void ) {
@@ -48,5 +50,7 @@
 	/* Clean up global variable */
 	Stg_Class_Delete( variableCondition_Register );
 	Stg_Class_Delete( stgComponentRegister );
+	Stg_Class_Delete( stgHierarchyTable );
+	Stg_Class_Delete( stgCallGraph );
 	return True;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/HierarchyTable.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/HierarchyTable.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/HierarchyTable.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -129,18 +129,34 @@
 
 Stg_Class* Stg_Class_CheckType( void* classPtr, Type possibleParentType ) {
 	Stg_Class* self = (Stg_Class*) classPtr;
-	if ( ! self ) {
-		Stream* stream = Journal_Register( Error_Type, HierarchyTable_Type );
-		Journal_Printf( stream, "Error doing type checking - pointer is NULL.\n");
-		abort();
-	}
+	/* Check if the pointer is null */
+	Journal_Firewall(
+		self != NULL,
+		Journal_Register( Error_Type, HierarchyTable_Type ),
+		"Error doing type checking against possibleParentType %s - pointer is NULL.\n",
+		possibleParentType );
+	
 	if ( ! Stg_Class_IsInstance( self, possibleParentType ) ) {
 		Stream* stream = Journal_Register( Error_Type, HierarchyTable_Type );
+		
+		Journal_Printf( stream, "Error doing type checking:\nTrying to cast " );
+
+		/* Give the user the name of the object if you can */
+		if ( Stg_Class_IsInstance( classPtr, Stg_Object_Type ) ) 
+			Journal_Printf( stream, "'%s' ", ((Stg_Object*)classPtr)->name );
+		else 		
+			Journal_Printf( stream, "pointer '%p' ", classPtr );
+
 		Journal_Printf( stream, 
-				"Error doing type checking - pointer '%p' is of type '%s' which isn't a child of '%s'.\n",
-				self, self->type, possibleParentType );
+				"as '%s' when it is actually of type '%s'.\n",
+				possibleParentType, self->type );
+		
 		PrintParents( possibleParentType, stream );
-		abort();
+		
+		Journal_Firewall( 
+			0,
+			stream, 
+			"Either the HierarchyTable for this class is incorrect or this object has been cast incorrectly.\n" );
 	}
 	return self;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Init.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Init.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -50,6 +50,7 @@
 #include "ConditionFunction.h"
 #include "VariableAllVC.h"
 #include "HierarchyTable.h"
+#include "CallGraph.h"
 
 #include "VariableDumpStream.h"
 
@@ -73,10 +74,17 @@
 	
 	Journal_RegisterTypedStream( typedStream );
 	
-	/** Initializing the CompolnentRegister singleton */
+	/** Initializing the Component Register singleton */
 	stgComponentRegister = Stg_ComponentRegister_New( );
+	
+	/** Initializing the Hierarchy Table singleton */
 	stgHierarchyTable = HierarchyTable_New();
 
+	/** Initializing the Call Graph singleton */
+	stgCallGraph = Stg_CallGraph_New();
+
+	/** Initializing the ComponentRegister singleton */
+	
 	/** Adding default constructors of various components to the Stg_ComponentRegister */
 	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), Variable_Type, "0", (void*)Variable_DefaultNew );
 	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), CompositeVC_Type, "0", (void*)CompositeVC_DefaultNew );
@@ -92,6 +100,7 @@
 	RegisterParent( ConditionFunction_Type,          Stg_Class_Type );
 	RegisterParent( ConditionFunction_Register_Type, Stg_Class_Type );
 	RegisterParent( HierarchyTable_Type,             HashTable_Type );
+	RegisterParent( Stg_CallGraph_Type,              Stg_Class_Type );
 	RegisterParent( Variable_Type,                   Stg_Component_Type );
 	RegisterParent( VariableAllVC_Type,              VariableCondition_Type );
 	RegisterParent( VariableCondition_Register_Type, Stg_Class_Type );

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -108,13 +108,16 @@
 
 	assert( self );
 
+	// TODO: add some debug printing about this...
+	LiveComponentRegister_DeleteAll( self );
+	Stg_Class_Delete( self->componentList );
+
+	/* Note: this has to come after the LCRegister delete all, in case any of the
+	components need to refer to it as part of their delete phase */
 	if ( stgLiveComponentRegister == self ) {
 		stgLiveComponentRegister = NULL;
 	}
 
-	Stg_ObjectList_DeleteAllObjects( self->componentList );
-
-	Stg_Class_Delete( self->componentList );
 	_Stg_Class_Delete( self );
 }
 
@@ -157,6 +160,17 @@
 
 	return ( Stg_Component* ) Stg_ObjectList_At( self->componentList, index );
 }
+
+
+Index LiveComponentRegister_RemoveOneComponentsEntry( void* liveComponentRegister, Name name ) {
+	LiveComponentRegister* self      = (LiveComponentRegister *) liveComponentRegister;
+	assert( self );
+
+	/* Note: as specified in the header, we don't want to actually delete the component, just
+	the entry */
+	return Stg_ObjectList_Remove( self->componentList, name, KEEP );
+}
+
 	
 unsigned int LiveComponentRegister_GetCount( LiveComponentRegister *self )
 {
@@ -191,6 +205,23 @@
 	}
 }
 
+
+void LiveComponentRegister_DeleteAll( void* liveComponentRegister ) {
+	LiveComponentRegister* self      = (LiveComponentRegister *) liveComponentRegister;
+	Stg_Component*             component;
+	Index                  index;
+	
+	/* Note: have to recompute count dynamically each loop in case a component deletes
+	some other components */
+	for ( index = 0 ; index < LiveComponentRegister_GetCount( self ) ; index++ ) {
+		component = LiveComponentRegister_At( self, index );
+		//printf( "Freeing component \"%s\" (type %s)\n", component->name, component->type );
+		Stg_Class_Delete( component );
+	}
+	self->componentList->count = 0;
+}
+
+
 LiveComponentRegister* LiveComponentRegister_GetLiveComponentRegister() {
 	return stgLiveComponentRegister;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/LiveComponentRegister.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -87,10 +87,16 @@
 	Stg_Component *LiveComponentRegister_Get( LiveComponentRegister *self, Name name );
 	Stg_Component *LiveComponentRegister_At( void* liveComponentRegister, Index index ) ;
 	
+	/** Delete's the entry referring to a component, but not the *component referred to*. This
+	is useful when another class needs to delete a component from the lcRegister before the 
+	lcRegister does it as part of DeleteAll - such as with Codelets which must be deleted
+	before the plugin dlls are closed. */
+	Index LiveComponentRegister_RemoveOneComponentsEntry( void* liveComponentRegister, Name name );
 	unsigned int LiveComponentRegister_GetCount( LiveComponentRegister *self );
 
 	void LiveComponentRegister_BuildAll( void* liveComponentRegister, void* data ) ;
 	void LiveComponentRegister_InitialiseAll( void* liveComponentRegister, void* data ) ;
+	void LiveComponentRegister_DeleteAll( void* liveComponentRegister ) ;
 
 	LiveComponentRegister* LiveComponentRegister_GetLiveComponentRegister();
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -39,6 +39,7 @@
 #include "Stg_ComponentMeta.h"
 #include "Stg_ComponentFactory.h"
 #include "LiveComponentRegister.h"
+#include "CallGraph.h"
 
 #include "Stg_ComponentRegister.h"
 
@@ -99,12 +100,23 @@
 	self->isInitialised = False;
 	self->hasExecuted = False;
 	self->isDestroyed = False;
+	self->constructType = Stg_Object_AppendSuffix( self, "Construct" );
+	self->buildType = Stg_Object_AppendSuffix( self, "Build" );
+	self->initialiseType = Stg_Object_AppendSuffix( self, "Initialise" );
+	self->executeType = Stg_Object_AppendSuffix( self, "Execute" );
+	self->destroyType = Stg_Object_AppendSuffix( self, "Destroy" );
 }
 
 
 void _Stg_Component_Delete( void* component ) {
 	Stg_Component* self = (Stg_Component*)component;
 	
+	Memory_Free( self->destroyType );
+	Memory_Free( self->executeType );
+	Memory_Free( self->initialiseType );
+	Memory_Free( self->buildType );
+	Memory_Free( self->constructType );
+	
 	/* Stg_Class_Delete parent class */
 	_Stg_Object_Delete( self );
 }
@@ -133,6 +145,12 @@
 	Journal_Printf( (void*) stream, "\tisInitialised: %s\n", self->isInitialised ? "True" : "False" );
 	Journal_Printf( (void*) stream, "\thasExecuted: %s\n", self->hasExecuted ? "True" : "False" );
 	Journal_Printf( (void*) stream, "\tisDestroyed: %s\n", self->isDestroyed ? "True" : "False" );
+
+	Journal_Printf( (void*) stream, "\tconstructor function name: %s\n", self->constructType );
+	Journal_Printf( (void*) stream, "\tbuild function name: %s\n", self->buildType );
+	Journal_Printf( (void*) stream, "\tinitialise function name: %s\n", self->initialiseType );
+	Journal_Printf( (void*) stream, "\texecute function name: %s\n", self->executeType );
+	Journal_Printf( (void*) stream, "\tdestroy function name: %s\n", self->destroyType );
 }
 
 void* _Stg_Component_Copy( void* component, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
@@ -154,6 +172,12 @@
 	newComponent->isInitialised = self->isInitialised;
 	newComponent->hasExecuted = self->hasExecuted;
 	newComponent->isDestroyed = self->isDestroyed;
+	
+	newComponent->constructType = StG_Strdup( self->constructType );
+	newComponent->buildType = StG_Strdup( self->buildType );
+	newComponent->initialiseType = StG_Strdup( self->initialiseType );
+	newComponent->executeType = StG_Strdup( self->executeType );
+	newComponent->destroyType = StG_Strdup( self->destroyType );
 
 	if ( LiveComponentRegister_GetLiveComponentRegister() ) {
 		LiveComponentRegister_Add( LiveComponentRegister_GetLiveComponentRegister(), newComponent );
@@ -170,22 +194,26 @@
 	assert( self );
 	
 	if( force || !self->isConstructed ) {
-		Stg_TimeMonitor* tm;
+		/*Stg_TimeMonitor* tm;
 		Stg_MemMonitor*  mm;
-		char*            buf;
+		char*            buf;*/
 		
 		Stream* stream = Journal_Register( Info_Type, "Stg_ComponentFactory" );
 
 		Journal_Printf( stream, "Constructing %s..\n", self->name );
 		Stream_Indent( stream );
 		
-		buf = Stg_Object_AppendSuffix( self, "Construct" );
+		/*buf = Stg_Object_AppendSuffix( self, "Construct" );
 		tm = Stg_TimeMonitor_New( buf, True, True, MPI_COMM_WORLD );
 		mm = Stg_MemMonitor_New( buf, True, True, MPI_COMM_WORLD );
 	
 		Stg_MemMonitor_Begin( mm );
-		Stg_TimeMonitor_Begin( tm );
-
+		Stg_TimeMonitor_Begin( tm );*/
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Push( stgCallGraph, self->_construct, self->constructType );
+		#endif
+		
 		if ( !self->isConstructed ) {
 			Stg_Component_SetupStreamFromDictionary( 
 				self, 
@@ -194,14 +222,18 @@
 		
 		self->isConstructed = True;
 		self->_construct( self, data );
-
-		Stg_TimeMonitor_End( tm );
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Pop( stgCallGraph );
+		#endif
+		
+		/*Stg_TimeMonitor_End( tm );
 		Stg_MemMonitor_End( mm );
 	
 		Stg_TimeMonitor_Delete( tm );
 		Stg_MemMonitor_Delete( mm );
 
-		Memory_Free( buf );
+		Memory_Free( buf );*/
 		
 		Stream_UnIndent( stream );
 	}
@@ -211,7 +243,7 @@
 	Stg_Component* self = (Stg_Component*)component;
 	
 	if( force || !self->isBuilt ) {
-		Stg_TimeMonitor* tm;
+		/*Stg_TimeMonitor* tm;
 		Stg_MemMonitor*  mm;
 		char*            buf;
 		
@@ -221,18 +253,26 @@
 		mm = Stg_MemMonitor_New( buf, True, True, MPI_COMM_WORLD );
 	
 		Stg_MemMonitor_Begin( mm );
-		Stg_TimeMonitor_Begin( tm );
-
+		Stg_TimeMonitor_Begin( tm );*/
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Push( stgCallGraph, self->_build, self->buildType );
+		#endif
+		
 		self->_build( self, data );
 		self->isBuilt = True;
-
-		Stg_TimeMonitor_End( tm );
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Pop( stgCallGraph );
+		#endif
+		
+		/*Stg_TimeMonitor_End( tm );
 		Stg_MemMonitor_End( mm );
 	
 		Stg_TimeMonitor_Delete( tm );
 		Stg_MemMonitor_Delete( mm );
 
-		Memory_Free( buf );
+		Memory_Free( buf );*/
 	}
 }
 
@@ -240,7 +280,7 @@
 	Stg_Component* self = (Stg_Component*)component;
 	
 	if( force || !self->isInitialised ) {
-		Stg_TimeMonitor* tm;
+		/*Stg_TimeMonitor* tm;
 		Stg_MemMonitor*  mm;
 		char*            buf;
 		
@@ -250,25 +290,34 @@
 		mm = Stg_MemMonitor_New( buf, True, True, MPI_COMM_WORLD );
 	
 		Stg_MemMonitor_Begin( mm );
-		Stg_TimeMonitor_Begin( tm );
-
+		Stg_TimeMonitor_Begin( tm );*/
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Push( stgCallGraph, self->_initialise, self->initialiseType );
+		#endif
+		
 		self->_initialise( self, data );
 		self->isInitialised = True;
-
-		Stg_TimeMonitor_End( tm );
+		
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Pop( stgCallGraph );
+		#endif
+		
+		/*Stg_TimeMonitor_End( tm );
 		Stg_MemMonitor_End( mm );
 	
 		Stg_TimeMonitor_Delete( tm );
 		Stg_MemMonitor_Delete( mm );
 		
-		Memory_Free( buf );
+		Memory_Free( buf );*/
 	}
 }
 
 void Stg_Component_Execute( void* component, void* data, Bool force ) {
 	Stg_Component* self = (Stg_Component*)component;
 	if( force || !self->hasExecuted ) {
-		Stg_TimeMonitor* tm;
+		/*Stg_TimeMonitor* tm;
 		Stg_MemMonitor*  mm;
 		char*            buf;
 		
@@ -278,25 +327,33 @@
 		mm = Stg_MemMonitor_New( buf, True, True, MPI_COMM_WORLD );
 	
 		Stg_MemMonitor_Begin( mm );
-		Stg_TimeMonitor_Begin( tm );
-
+		Stg_TimeMonitor_Begin( tm );*/
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Push( stgCallGraph, self->_execute, self->executeType );
+		#endif
+		
 		self->_execute( self, data );
 		self->hasExecuted = True;
-
-		Stg_TimeMonitor_End( tm );
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Pop( stgCallGraph );
+		#endif
+		
+		/*Stg_TimeMonitor_End( tm );
 		Stg_MemMonitor_End( mm );
 	
 		Stg_TimeMonitor_Delete( tm );
 		Stg_MemMonitor_Delete( mm );	
 		
-		Memory_Free( buf );
+		Memory_Free( buf );*/
 	}
 }
 
 void Stg_Component_Destroy( void* component, void* data, Bool force ) {
 	Stg_Component* self = (Stg_Component*)component;
 	if( force || !self->isDestroyed ) {
-		Stg_TimeMonitor* tm;
+		/*Stg_TimeMonitor* tm;
 		Stg_MemMonitor*  mm;
 		char*            buf;
 		
@@ -306,17 +363,25 @@
 		mm = Stg_MemMonitor_New( buf, True, True, MPI_COMM_WORLD );
 	
 		Stg_MemMonitor_Begin( mm );
-		Stg_TimeMonitor_Begin( tm );		
-
+		Stg_TimeMonitor_Begin( tm );*/
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Push( stgCallGraph, self->_destroy, self->destroyType );
+		#endif
+		
 		self->_destroy( self, data );
 		self->isDestroyed = True;
-
-		Stg_TimeMonitor_End( tm );
+		
+		#ifdef USE_PROFILE
+			Stg_CallGraph_Pop( stgCallGraph );
+		#endif
+		
+		/*Stg_TimeMonitor_End( tm );
 		Stg_MemMonitor_End( mm );
 	
 		Stg_TimeMonitor_Delete( tm );
 		Stg_MemMonitor_Delete( mm );
-		Memory_Free( buf );
+		Memory_Free( buf );*/
 	}
 }
 
@@ -569,7 +634,3 @@
 
 	return result;
 }
-		
-
-
-

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_Component.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -70,10 +70,30 @@
 		Bool					isBuilt; \
 		Bool					isInitialised; \
 		Bool					hasExecuted; \
-		Bool					isDestroyed;
+		Bool					isDestroyed; \
+		Type					constructType; \
+		Type					buildType; \
+		Type					initialiseType; \
+		Type					executeType; \
+		Type					destroyType;
 	struct Stg_Component { __Stg_Component };
+
+	#define STG_COMPONENT_DEFARGS							\
+		STG_CLASS_DEFARGS,							\
+		Stg_Component_DefaultConstructorFunction*	_defaultConstructor, 	\
+		Stg_Component_ConstructFunction*		_construct, 		\
+		Stg_Component_BuildFunction*			_build, 		\
+		Stg_Component_InitialiseFunction*		_initialise, 		\
+		Stg_Component_ExecuteFunction*			_execute, 		\
+		Stg_Component_DestroyFunction*			_destroy, 		\
+		Name						name, 			\
+		AllocationType					nameAllocationType
+
+	#define STG_COMPONENT_PASSARGS						\
+		STG_CLASS_PASSARGS, _defaultConstructor, _construct, 		\
+		_build, _initialise, _execute, _destroy, 			\
+		name, nameAllocationType
 	
-	
 	/* No Stg_Component_New or Stg_Component_Init as this is an abstract class */
 	
 	/* Creation implementation */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentFactory.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentFactory.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentFactory.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -414,9 +414,12 @@
 	return self->getUnsignedInt( cf, componentName, key, defaultVal );
 }
 unsigned int _Stg_ComponentFactory_GetUnsignedInt( void* cf, Name componentName, Dictionary_Entry_Key key, unsigned int defaultVal ) {
-	return Dictionary_Entry_Value_AsUnsignedInt( 
+	unsigned int retVal;
+	retVal = Dictionary_Entry_Value_AsUnsignedInt( 
 			_Stg_ComponentFactory_GetNumericalValue( cf, componentName, key, 
 				Dictionary_Entry_Value_FromUnsignedInt( defaultVal )));
+	// TODO : Possible memory leak if defaultVal not added to the dictionary
+	return retVal;
 }	
 Bool Stg_ComponentFactory_GetBool( void* cf, Name componentName, Dictionary_Entry_Key key, Bool defaultVal ) {
 	Stg_ComponentFactory* self = (Stg_ComponentFactory*)cf;
@@ -527,6 +530,11 @@
 
 		Stg_Class_CheckType( component, type );
 
+		/* Note: I think we should disable the line below here since this function is only providing a reference
+		to an existing object, not creating a brand new one, and it was thus stuffing up the count so the
+		original object never got deleted. If we are going to do reference counting we need to adapt it across
+		the board so whenever you request access to memory you delete your own reference.
+		-- Main.PatrickSunter 18 May 2006 */
 		Memory_CountInc( component );
 	}
 	else {

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentRegister.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentRegister.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/Stg_ComponentRegister.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -143,13 +143,12 @@
 	Stg_ComponentRegisterElement *element = NULL;
 
 	assert( self );
-	element = malloc( sizeof( Stg_ComponentRegisterElement ) );
-	memset( element, 0, sizeof( Stg_ComponentRegisterElement ) );
+	element = Memory_Alloc( Stg_ComponentRegisterElement, "Stg_ComponentRegisterElement" );
 
-	element->componentType = strdup( componentType );
+	element->componentType = StG_Strdup( componentType );
 	element->defaultConstructor = func;
 	element->metadata = metadata;
-	element->version = strdup( version );
+	element->version = StG_Strdup( version );
 
 	Journal_Firewall( BTree_InsertNode( self->constructors, (void*)element, sizeof( Stg_ComponentRegisterElement ) ),
 			Journal_Register( Error_Type, Stg_ComponentRegister_Type ), 
@@ -331,9 +330,9 @@
 	element = (Stg_ComponentRegisterElement*) nodeData;
 
 	if( element ){
-		free( element->componentType );
-		free( element->version );
-		free( element );
+		Memory_Free( element->componentType );
+		Memory_Free( element->version );
+		Memory_Free( element );
 	}
 }
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/src/types.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/src/types.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/src/types.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -52,6 +52,7 @@
 	typedef struct Stg_ComponentFactory		Stg_ComponentFactory;
 	typedef struct DocumentationComponentFactory    DocumentationComponentFactory;
 	typedef struct HierarchyTable                   HierarchyTable;
+	typedef struct Stg_CallGraph			Stg_CallGraph;
 	typedef struct _Variable			Variable;
 	typedef struct _Variable_Register		Variable_Register;
 	typedef struct VariableDumpStream		VariableDumpStream;


Property changes on: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests
___________________________________________________________________
Name: svn:ignore
   - 
profile.*

   + testVariable-Short
testHierarchyTable
testVariableDumpStream
testVariable-Double
testVariableCopy
testVariable
testLiveComponentRegister
testVariable-Int.0of1.out
testVariable_Register
testComponentCopy
testComponentMetadata
testSetVC
testVariable-Float
testVariable-Char
testConditionFunction_Register
testVariableAllVC
testVariable-Int
testVariableValueCompare
testConditionFunction
profile.*


Added: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,7 @@
+Passed test Construction: Can we use New()?
+Passed test One push: First push?
+Passed test One pop: Pop first push?
+Passed test New entries: Unique for function-parent-name?
+Passed test Table realloc: Does the table grow when needed?
+Passed test Copy: Copying
+Passed test Destruction: Deleting all allocated memory

Added: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.sh
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.sh	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.sh	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+TEST_SCRIPT="./VMake/executableTester.sh"
+until test -r "${TEST_SCRIPT}" ; do
+        TEST_SCRIPT="../${TEST_SCRIPT}"
+done
+. "${TEST_SCRIPT}"
+
+runAndHandleSystemTest "testCallGraph " "$0" "$@"


Property changes on: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.0of1.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testCallGraph.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,216 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: testNamedStg_ObjectList.c 2432 2005-08-08 23:01:59Z Raquibul Hassan $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include "Base/Foundation/Foundation.h"
+#include "Base/IO/IO.h"
+#include "Base/Container/Container.h"
+#include "Base/Automation/Automation.h"
+#include "Regresstor/libRegresstor/Regresstor.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <mpi.h>
+#include <string.h>
+
+
+const Type TestFunc1_Type = "TestFunc1";
+void TestFunc1( void ) {}
+
+const Type TestFunc2_Type = "TestFunc2";
+void TestFunc2( void ) {}
+
+int main( int argc, char *argv[] ) {
+	int			rank;
+	int			procCount;
+	int			procToWatch;
+	Stream*			stream;
+
+	/* Initialise MPI, get world info */
+	MPI_Init( &argc, &argv );
+	MPI_Comm_size( MPI_COMM_WORLD, &procCount );
+	MPI_Comm_rank( MPI_COMM_WORLD, &rank );
+
+	BaseFoundation_Init( &argc, &argv );
+	BaseIO_Init( &argc, &argv );
+	BaseContainer_Init( &argc, &argv );
+	BaseAutomation_Init( &argc, &argv );
+
+	RegressionTest_Init( "Base/Automation/CallGraph" );
+
+	stream = Journal_Register( "info", "myStream" );
+	
+	if( argc >= 2 ) {
+		procToWatch = atoi( argv[1] );
+	}
+	else {
+		procToWatch = 0;
+	}
+
+	if( rank == procToWatch ) {
+		Stg_CallGraph*	cg0;
+		Stg_CallGraph 	cg1;
+		Stg_CallGraph*	cg2;
+		Stg_CallGraph*	cg3;
+		Stg_CallGraph*	cg3deep;
+		Index		count;
+		Index		size;
+		Index		i;
+		
+		
+		/* Test 1: Construction */
+		cg0 = Stg_CallGraph_New();
+		Stg_CallGraph_Init( &cg1 );
+		cg2 = Stg_CallGraph_New();
+		cg3 = Stg_CallGraph_New();
+		RegressionTest_Check( cg0 && cg2 && cg3, stream, "Construction", "Can we use New()?" );
+		
+		
+		/* Test 2: Can we push the first call on the stack? */
+		Stg_CallGraph_Push( cg0, TestFunc1, TestFunc1_Type );
+		Stg_CallGraph_Push( &cg1, TestFunc1, TestFunc1_Type );
+		RegressionTest_Check( 
+			cg0->_stack && 
+			!cg0->_stack->pop && 
+			cg0->_stack->entry_I == 0 && 
+			cg0->_stack->functionPtr == TestFunc1 &&
+			cg0->_tableCount == 1 && 
+			cg0->table[0].name == TestFunc1_Type &&
+			cg0->table[0].functionPtr == TestFunc1 &&
+			cg0->table[0].parentPtr == 0 &&
+			cg0->table[0].returned == 0 &&
+			cg0->table[0].called == 1 &&
+			cg1._stack && 
+			!cg1._stack->pop && 
+			cg1._stack->entry_I == 0 && 
+			cg1._stack->functionPtr == TestFunc1 &&
+			cg1._tableCount == 1 && 
+			cg1.table[0].name == TestFunc1_Type &&
+			cg1.table[0].functionPtr == TestFunc1 &&
+			cg1.table[0].parentPtr == 0 &&
+			cg1.table[0].returned == 0 &&
+			cg1.table[0].called == 1, 
+			stream, "One push", "First push?" );
+		
+		
+		/* Test 3: Can we pop the first call on the stack? */
+		Stg_CallGraph_Pop( cg0 );
+		Stg_CallGraph_Pop( &cg1 );
+		RegressionTest_Check( 
+			!cg0->_stack && 
+			cg0->table[0].name == TestFunc1_Type &&
+			cg0->table[0].functionPtr == TestFunc1 &&
+			cg0->table[0].parentPtr == 0 &&
+			cg0->table[0].returned == 1 &&
+			cg0->table[0].called == 1 &&
+			!cg1._stack && 
+			cg1.table[0].name == TestFunc1_Type &&
+			cg1.table[0].functionPtr == TestFunc1 &&
+			cg1.table[0].parentPtr == 0 &&
+			cg1.table[0].returned == 1 &&
+			cg1.table[0].called == 1, 
+			stream, "One pop", "Pop first push?" );
+		
+		
+		/* Test 4: Ensure that each function pointer - parent pointer - name is a unique entry */
+		Stg_CallGraph_Push( cg2, TestFunc1, TestFunc1_Type ); /* p0: f:1 n:1  Should add */
+		Stg_CallGraph_Push( cg2, TestFunc2, TestFunc2_Type ); /* p1: f:2 n:2  Should add */
+		Stg_CallGraph_Pop( cg2 );
+		Stg_CallGraph_Push( cg2, TestFunc2, TestFunc2_Type ); /* p1: f:2 n:2  Should increment */
+		Stg_CallGraph_Pop( cg2 );
+		Stg_CallGraph_Push( cg2, TestFunc1, TestFunc2_Type ); /* p1: f:1 n:2  Should add (recursive case) */
+		Stg_CallGraph_Pop( cg2 );
+		Stg_CallGraph_Push( cg2, TestFunc2, TestFunc1_Type ); /* p1: f:2 n:1  Should add */
+		Stg_CallGraph_Push( cg2, TestFunc1, TestFunc1_Type ); /* p2: f:1 n:1  Should add */
+		Stg_CallGraph_Pop( cg2 );
+		Stg_CallGraph_Pop( cg2 );
+		Stg_CallGraph_Pop( cg2 );
+		RegressionTest_Check( 
+			!cg2->_stack && 
+			cg2->_tableCount == 5 && 
+			cg2->table[0].returned == 1 &&
+			cg2->table[0].called == 1 &&
+			cg2->table[1].returned == 2 &&
+			cg2->table[1].called == 2 &&
+			cg2->table[2].returned == 1 &&
+			cg2->table[2].called == 1 &&
+			cg2->table[3].returned == 1 &&
+			cg2->table[3].called == 1 &&
+			cg2->table[4].returned == 1 &&
+			cg2->table[4].called == 1,
+			stream, "New entries", "Unique for function-parent-name?" );
+		
+		
+		/* Test 5: Force a realloc of the table */
+		count = (Index)((double)1.5 * cg3->_tableSize);
+		size = cg3->_tableSize;
+		for( i = 0; i < count; i++ ) {
+			/* Use "i" as a unique string (unique pointer value)... don't try to print! */
+			Stg_CallGraph_Push( cg3, TestFunc1, (Name)i );
+		}
+		RegressionTest_Check( 
+			cg3->_tableCount == count && 
+			cg3->_tableSize == (size * 2),
+			stream, "Table realloc", "Does the table grow when needed?" );
+		
+		
+		/* Test 9: Copying */
+		/* Shallow copying not yet implemented */
+		cg3deep = Stg_Class_Copy( cg3, 0, True, 0, 0 );
+		RegressionTest_Check(
+			cg3->_tableCount == cg3deep->_tableCount &&
+			cg3->_tableSize == cg3deep->_tableSize &&
+			/* TODO: check not just the table, but the stack too */
+			memcmp( cg3->table, cg3deep->table, sizeof(_Stg_CallGraph_Entry) * cg3->_tableCount ) == 0,
+			stream,
+			"Copy",
+			"Copying" );
+		
+		/* Test 9: Destruction */
+		Stg_Class_Delete(  cg3deep );
+		Stg_Class_Delete(  cg3 );
+		Stg_Class_Delete(  cg2 );
+		Stg_Class_Delete( &cg1 );
+		Stg_Class_Delete(  cg0 );
+		RegressionTest_Check( 1, stream, "Destruction", "Deleting all allocated memory" );
+	}
+
+	RegressionTest_Finalise();
+
+	BaseAutomation_Finalise();
+	BaseContainer_Finalise();
+	BaseIO_Finalise();
+	BaseFoundation_Finalise();
+	
+	/* Close off MPI */
+	MPI_Finalize();
+	
+	return 0; /* success */
+}

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testLiveComponentRegister.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testLiveComponentRegister.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testLiveComponentRegister.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,244 +1,269 @@
 Inserting live components into the LiveComponentRegistry
-Printing the LiveComponentRegister:LiveComponentRegister (ptr): 0x80f4fd4
-Stg_Class (ptr): 0x80f4fd4
+Printing the LiveComponentRegister:LiveComponentRegister (ptr): 0x805c068
+Stg_Class (ptr): 0x805c068
 	sizeOfSelf: 28
 	_deleteSelf: Yes
 	type: LiveComponentRegister
-	_delete (func ptr): 0x8050567
-	_print (func ptr): 0x80505f5
+	_delete (func ptr): 0xb7f14e4b
+	_print (func ptr): 0xb7f14ed6
 	_copy (func ptr): (nil)
-componentList (ptr): 0x80f4ffc
-Stg_ObjectList (ptr):0x80f4ffc
-	Stg_Class (ptr): 0x80f4ffc
+componentList (ptr): 0x805c0f0
+Stg_ObjectList (ptr):0x805c0f0
+	Stg_Class (ptr): 0x805c0f0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x80643ca
-		_print (func ptr): 0x8064401
-		_copy (func ptr): 0x80646a3
-	_append(func ptr): 0x8065295
-	_prepend(func ptr): 0x806535b
-	_replaceAll(func ptr): 0x806541f
-	_replace(func ptr): 0x80654da
-	_insertBefore(func ptr): 0x806567b
-	_insertAfter(func ptr): 0x806583a
-	_remove(func ptr): 0x80659fb
-	_getIndex(func ptr): 0x8065aa1
-	_get(func ptr): 0x8065b53
-	_allocMoreMemory(func ptr): 0x8065d2b
-	_insertAtIndex(func ptr): 0x8065db1
-	_removeByIndex(func ptr): 0x8065e2f
-	_deleteAllObjects(func ptr): 0x8065caa
+		_delete (func ptr): 0xb7ed48ce
+		_print (func ptr): 0xb7ed4905
+		_copy (func ptr): 0xb7ed4ba7
+	_append(func ptr): 0xb7ed580b
+	_prepend(func ptr): 0xb7ed58d1
+	_replaceAll(func ptr): 0xb7ed5995
+	_replace(func ptr): 0xb7ed5a4e
+	_insertBefore(func ptr): 0xb7ed5beb
+	_insertAfter(func ptr): 0xb7ed5da6
+	_remove(func ptr): 0xb7ed5f63
+	_getIndex(func ptr): 0xb7ed6009
+	_get(func ptr): 0xb7ed60b7
+	_allocMoreMemory(func ptr): 0xb7ed628a
+	_insertAtIndex(func ptr): 0xb7ed6310
+	_removeByIndex(func ptr): 0xb7ed638e
+	_deleteAllObjects(func ptr): 0xb7ed620b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
 	count: 5
 	data[0-5]:
-	Component (ptr): 0x80f49ac
-	Stg_Object (ptr): 0x80f49ac
-		Stg_Class (ptr): 0x80f49ac
-			sizeOfSelf: 128
+	Stg_Component (ptr): 0x805aee8
+	Stg_Object (ptr): 0x805aee8
+		Stg_Class (ptr): 0x805aee8
+			sizeOfSelf: 152
 			_deleteSelf: Yes
 			type: Variable
-			_delete (func ptr): 0x804dfe1
-			_print (func ptr): 0x804e070
-			_copy (func ptr): 0x804e44a
+			_delete (func ptr): 0xb7f084a0
+			_print (func ptr): 0xb7f08538
+			_copy (func ptr): 0xb7f08921
 		name: Scalar
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0x804d4fe
-		_construct (func ptr): 0x804ee05
-		_build (func ptr): 0x804e920
-		_initialise (func ptr): 0x804edfb
-		_execute (func ptr): 0x804ee00
-		_destroy (func ptr): 0x804f34e
+		_defaultConstructor (func ptr): 0xb7f07986
+		_construct (func ptr): 0xb7f095c2
+		_build (func ptr): 0xb7f090a2
+		_initialise (func ptr): 0xb7f095b8
+		_execute (func ptr): 0xb7f095bd
+		_destroy (func ptr): 0xb7f09b1a
 		isConstructed: True
 		isBuilt: True
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Variable (ptr): (0x80f49ac)
+		constructor function name: Scalar-Construct
+		build function name: Scalar-Build
+		initialise function name: Scalar-Initialise
+		execute function name: Scalar-Execute
+		destroy function name: Scalar-Destroy
+	Variable (ptr): (0x805aee8)
 		offsetCount: 1
-		offsets (ptr): 0x80f4734
+		offsets (ptr): 0x805acd8
 			offsets[0]: 0
-		dataTypes (ptr): 0x80f4af4
+		dataTypes (ptr): 0x805ac50
 			dataTypes[0]: 4
-		dataTypeCounts (ptr): 0x80f4a6c
+		dataTypeCounts (ptr): 0x805b398
 			dataTypeCounts[0]: 1
-		dataSizes (ptr): 0x80f4f74
+		dataSizes (ptr): 0x805c090
 			dataSizes[0]: 4
-		components (ptr): 0x80f4be4
+		components (ptr): 0x805b3a8
 			components[0] (ptr): (nil)
 		structSize: 4
 		structSizePtr (ptr): (nil)
-		arrayPtr (ptr): 0x80f48a4
-		arrayPtrPtr (ptr): 0xbfffe89c
+		arrayPtr (ptr): 0x805a7a0
+		arrayPtrPtr (ptr): 0xbfc30e3c
 		arraySize: 10
-		arraySizePtr (ptr): 0xbfffe868
+		arraySizePtr (ptr): 0xbfc30e08
 		allocateSelf = False
-	Component (ptr): 0x80f4c0c
-	Stg_Object (ptr): 0x80f4c0c
-		Stg_Class (ptr): 0x80f4c0c
-			sizeOfSelf: 128
+	Stg_Component (ptr): 0x805b3b8
+	Stg_Object (ptr): 0x805b3b8
+		Stg_Class (ptr): 0x805b3b8
+			sizeOfSelf: 152
 			_deleteSelf: Yes
 			type: Variable
-			_delete (func ptr): 0x804dfe1
-			_print (func ptr): 0x804e070
-			_copy (func ptr): (nil)
+			_delete (func ptr): 0xb7f084a0
+			_print (func ptr): 0xb7f08538
+			_copy (func ptr): 0xb7f08921
 		name: Three
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0x804d4fe
-		_construct (func ptr): 0x804ee05
-		_build (func ptr): 0x804e920
-		_initialise (func ptr): 0x804edfb
-		_execute (func ptr): 0x804ee00
-		_destroy (func ptr): 0x804f34e
+		_defaultConstructor (func ptr): 0xb7f07986
+		_construct (func ptr): 0xb7f095c2
+		_build (func ptr): 0xb7f090a2
+		_initialise (func ptr): 0xb7f095b8
+		_execute (func ptr): 0xb7f095bd
+		_destroy (func ptr): 0xb7f09b1a
 		isConstructed: True
 		isBuilt: True
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Variable (ptr): (0x80f4c0c)
+		constructor function name: Three-Construct
+		build function name: Three-Build
+		initialise function name: Three-Initialise
+		execute function name: Three-Execute
+		destroy function name: Three-Destroy
+	Variable (ptr): (0x805b3b8)
 		offsetCount: 1
-		offsets (ptr): 0x80f4ca4
+		offsets (ptr): 0x805b6a8
 			offsets[0]: 0
-		dataTypes (ptr): 0x80f4cb4
+		dataTypes (ptr): 0x805b6b8
 			dataTypes[0]: 4
-		dataTypeCounts (ptr): 0x80f4cc4
+		dataTypeCounts (ptr): 0x805b6c8
 			dataTypeCounts[0]: 3
-		dataSizes (ptr): 0x80f4f84
+		dataSizes (ptr): 0x805c0a0
 			dataSizes[0]: 12
-		components (ptr): 0x80f4cd4
-			components[0] (ptr): 0x80f4cec
+		components (ptr): 0x805b6d8
+			components[0] (ptr): 0x805b6f0
 			components[0]: a
 		structSize: 12
 		structSizePtr (ptr): (nil)
-		arrayPtr (ptr): 0x80f48d4
-		arrayPtrPtr (ptr): 0xbfffe898
+		arrayPtr (ptr): 0x805adf8
+		arrayPtrPtr (ptr): 0xbfc30e38
 		arraySize: 10
-		arraySizePtr (ptr): 0xbfffe868
+		arraySizePtr (ptr): 0xbfc30e08
 		allocateSelf = False
-	Component (ptr): 0x80f4cec
-	Stg_Object (ptr): 0x80f4cec
-		Stg_Class (ptr): 0x80f4cec
-			sizeOfSelf: 128
+	Stg_Component (ptr): 0x805b6f0
+	Stg_Object (ptr): 0x805b6f0
+		Stg_Class (ptr): 0x805b6f0
+			sizeOfSelf: 152
 			_deleteSelf: Yes
 			type: Variable
-			_delete (func ptr): 0x804dfe1
-			_print (func ptr): 0x804e070
-			_copy (func ptr): 0x804e44a
+			_delete (func ptr): 0xb7f084a0
+			_print (func ptr): 0xb7f08538
+			_copy (func ptr): 0xb7f08921
 		name: a
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0x804d4fe
-		_construct (func ptr): 0x804ee05
-		_build (func ptr): 0x804e920
-		_initialise (func ptr): 0x804edfb
-		_execute (func ptr): 0x804ee00
-		_destroy (func ptr): 0x804f34e
+		_defaultConstructor (func ptr): 0xb7f07986
+		_construct (func ptr): 0xb7f095c2
+		_build (func ptr): 0xb7f090a2
+		_initialise (func ptr): 0xb7f095b8
+		_execute (func ptr): 0xb7f095bd
+		_destroy (func ptr): 0xb7f09b1a
 		isConstructed: True
 		isBuilt: True
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Variable (ptr): (0x80f4cec)
+		constructor function name: a-Construct
+		build function name: a-Build
+		initialise function name: a-Initialise
+		execute function name: a-Execute
+		destroy function name: a-Destroy
+	Variable (ptr): (0x805b6f0)
 		offsetCount: 1
-		offsets (ptr): 0x80f4d84
+		offsets (ptr): 0x805b9d8
 			offsets[0]: 0
-		dataTypes (ptr): 0x80f4d94
+		dataTypes (ptr): 0x805b9e8
 			dataTypes[0]: 4
-		dataTypeCounts (ptr): 0x80f4da4
+		dataTypeCounts (ptr): 0x805b9f8
 			dataTypeCounts[0]: 1
-		dataSizes (ptr): 0x80f4f94
+		dataSizes (ptr): 0x805c0b0
 			dataSizes[0]: 4
-		components (ptr): 0x80f4db4
+		components (ptr): 0x805ba08
 			components[0] (ptr): (nil)
 		structSize: 12
 		structSizePtr (ptr): (nil)
-		arrayPtr (ptr): 0x80f48d4
-		arrayPtrPtr (ptr): 0xbfffe898
+		arrayPtr (ptr): 0x805adf8
+		arrayPtrPtr (ptr): 0xbfc30e38
 		arraySize: 10
-		arraySizePtr (ptr): 0xbfffe868
+		arraySizePtr (ptr): 0xbfc30e08
 		allocateSelf = False
-	Component (ptr): 0x80f4dc4
-	Stg_Object (ptr): 0x80f4dc4
-		Stg_Class (ptr): 0x80f4dc4
-			sizeOfSelf: 128
+	Stg_Component (ptr): 0x805ba18
+	Stg_Object (ptr): 0x805ba18
+		Stg_Class (ptr): 0x805ba18
+			sizeOfSelf: 152
 			_deleteSelf: Yes
 			type: Variable
-			_delete (func ptr): 0x804dfe1
-			_print (func ptr): 0x804e070
-			_copy (func ptr): 0x804e44a
+			_delete (func ptr): 0xb7f084a0
+			_print (func ptr): 0xb7f08538
+			_copy (func ptr): 0xb7f08921
 		name: b
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0x804d4fe
-		_construct (func ptr): 0x804ee05
-		_build (func ptr): 0x804e920
-		_initialise (func ptr): 0x804edfb
-		_execute (func ptr): 0x804ee00
-		_destroy (func ptr): 0x804f34e
+		_defaultConstructor (func ptr): 0xb7f07986
+		_construct (func ptr): 0xb7f095c2
+		_build (func ptr): 0xb7f090a2
+		_initialise (func ptr): 0xb7f095b8
+		_execute (func ptr): 0xb7f095bd
+		_destroy (func ptr): 0xb7f09b1a
 		isConstructed: True
 		isBuilt: True
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Variable (ptr): (0x80f4dc4)
+		constructor function name: b-Construct
+		build function name: b-Build
+		initialise function name: b-Initialise
+		execute function name: b-Execute
+		destroy function name: b-Destroy
+	Variable (ptr): (0x805ba18)
 		offsetCount: 1
-		offsets (ptr): 0x80f4e5c
+		offsets (ptr): 0x805bd00
 			offsets[0]: 4
-		dataTypes (ptr): 0x80f4e6c
+		dataTypes (ptr): 0x805bd10
 			dataTypes[0]: 4
-		dataTypeCounts (ptr): 0x80f4e7c
+		dataTypeCounts (ptr): 0x805bd20
 			dataTypeCounts[0]: 1
-		dataSizes (ptr): 0x80f4fa4
+		dataSizes (ptr): 0x805c0c0
 			dataSizes[0]: 4
-		components (ptr): 0x80f4e8c
+		components (ptr): 0x805bd30
 			components[0] (ptr): (nil)
 		structSize: 12
 		structSizePtr (ptr): (nil)
-		arrayPtr (ptr): 0x80f48d4
-		arrayPtrPtr (ptr): 0xbfffe898
+		arrayPtr (ptr): 0x805adf8
+		arrayPtrPtr (ptr): 0xbfc30e38
 		arraySize: 10
-		arraySizePtr (ptr): 0xbfffe868
+		arraySizePtr (ptr): 0xbfc30e08
 		allocateSelf = False
-	Component (ptr): 0x80f4e9c
-	Stg_Object (ptr): 0x80f4e9c
-		Stg_Class (ptr): 0x80f4e9c
-			sizeOfSelf: 128
+	Stg_Component (ptr): 0x805bd40
+	Stg_Object (ptr): 0x805bd40
+		Stg_Class (ptr): 0x805bd40
+			sizeOfSelf: 152
 			_deleteSelf: Yes
 			type: Variable
-			_delete (func ptr): 0x804dfe1
-			_print (func ptr): 0x804e070
-			_copy (func ptr): 0x804e44a
+			_delete (func ptr): 0xb7f084a0
+			_print (func ptr): 0xb7f08538
+			_copy (func ptr): 0xb7f08921
 		name: c
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0x804d4fe
-		_construct (func ptr): 0x804ee05
-		_build (func ptr): 0x804e920
-		_initialise (func ptr): 0x804edfb
-		_execute (func ptr): 0x804ee00
-		_destroy (func ptr): 0x804f34e
+		_defaultConstructor (func ptr): 0xb7f07986
+		_construct (func ptr): 0xb7f095c2
+		_build (func ptr): 0xb7f090a2
+		_initialise (func ptr): 0xb7f095b8
+		_execute (func ptr): 0xb7f095bd
+		_destroy (func ptr): 0xb7f09b1a
 		isConstructed: True
 		isBuilt: True
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Variable (ptr): (0x80f4e9c)
+		constructor function name: c-Construct
+		build function name: c-Build
+		initialise function name: c-Initialise
+		execute function name: c-Execute
+		destroy function name: c-Destroy
+	Variable (ptr): (0x805bd40)
 		offsetCount: 1
-		offsets (ptr): 0x80f4f34
+		offsets (ptr): 0x805c028
 			offsets[0]: 8
-		dataTypes (ptr): 0x80f4f44
+		dataTypes (ptr): 0x805c038
 			dataTypes[0]: 4
-		dataTypeCounts (ptr): 0x80f4f54
+		dataTypeCounts (ptr): 0x805c048
 			dataTypeCounts[0]: 1
-		dataSizes (ptr): 0x80f4fb4
+		dataSizes (ptr): 0x805c0d0
 			dataSizes[0]: 4
-		components (ptr): 0x80f4f64
+		components (ptr): 0x805c058
 			components[0] (ptr): (nil)
 		structSize: 12
 		structSizePtr (ptr): (nil)
-		arrayPtr (ptr): 0x80f48d4
-		arrayPtrPtr (ptr): 0xbfffe898
+		arrayPtr (ptr): 0x805adf8
+		arrayPtrPtr (ptr): 0xbfc30e38
 		arraySize: 10
-		arraySizePtr (ptr): 0xbfffe868
+		arraySizePtr (ptr): 0xbfc30e08
 		allocateSelf = False
 Retrieving live component references from the LiveComponentRegistry
 Retrieval Successful

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x410294
-	dictionary (ptr): 0x406734
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x8064960
+	dictionary (ptr): 0x805b468
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x410f14
+	_entryTbl (ptr): 0x805c7d0
 		_entryTbl[0]:
-			varName (ptr): 0x40c954
+			varName (ptr): 0x805bb10
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d3c4
+			varName (ptr): 0x8064c48
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40de44
+			varName (ptr): 0x805bc00
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40cec4
+			varName (ptr): 0x805c088
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x40fae4
+				asDoubleArray (ptr): 0x805c328
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x410294
-Component (ptr): 0x410294
-Stg_Object (ptr): 0x410294
-	Stg_Class (ptr): 0x410294
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8064960
+Stg_Component (ptr): 0x8064960
+Stg_Object (ptr): 0x8064960
+	Stg_Class (ptr): 0x8064960
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7f9079d
+		_print (func ptr): 0xb7f907e3
+		_copy (func ptr): 0xb7f90ca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7f8fdb6
+	_construct (func ptr): 0xb7f8c58a
+	_build (func ptr): 0xb7f8c58f
+	_initialise (func ptr): 0xb7f8c906
+	_execute (func ptr): 0xb7f8c9ca
+	_destroy (func ptr): 0xb7f8c9fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x408374
-	conFunc_Register (ptr): 0x408034
-	_set (ptr): 0x4111d4
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7f90e62
+	_getVariableCount (func ptr): 0xb7f90e91
+	_getVariableIndex (func ptr): 0xb7f90ea8
+	_getValueIndex (func ptr): 0xb7f90eef
+	_getValueCount (func ptr): 0xb7f90ef7
+	_getValue (func ptr): 0xb7f90f0e
+	variable_Register (ptr): 0x8066248
+	conFunc_Register (ptr): 0x8065548
+	_set (ptr): 0x805c820
 	indexCount: 14
-	indexTbl (ptr): 0x4112f4
+	indexTbl (ptr): 0x805c860
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x411434
+	vcVarCountTbl (ptr): 0x805c8a8
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180cc04
+	vcTbl (ptr): 0x805c8f0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411764
+	valueTbl (ptr): 0x80650b8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x40fae4
+			asDoubleArray (ptr): 0x805c328
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x4107b4
-	dictionary (ptr): 0x406b64
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x80649f8
+	dictionary (ptr): 0x805b500
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x411424
+	_entryTbl (ptr): 0x805c890
 		_entryTbl[0]:
-			varName (ptr): 0x40ce04
+			varName (ptr): 0x8065150
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d874
+			varName (ptr): 0x805ba90
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40e2f4
+			varName (ptr): 0x805bcb8
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40d374
+			varName (ptr): 0x805c140
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x410004
+				asDoubleArray (ptr): 0x805c3e0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x4107b4
-Component (ptr): 0x4107b4
-Stg_Object (ptr): 0x4107b4
-	Stg_Class (ptr): 0x4107b4
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x80649f8
+Stg_Component (ptr): 0x80649f8
+Stg_Object (ptr): 0x80649f8
+	Stg_Class (ptr): 0x80649f8
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7fc179d
+		_print (func ptr): 0xb7fc17e3
+		_copy (func ptr): 0xb7fc1ca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7fc0db6
+	_construct (func ptr): 0xb7fbd58a
+	_build (func ptr): 0xb7fbd58f
+	_initialise (func ptr): 0xb7fbd906
+	_execute (func ptr): 0xb7fbd9ca
+	_destroy (func ptr): 0xb7fbd9fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x4088d4
-	conFunc_Register (ptr): 0x408554
-	_set (ptr): 0x4116e4
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7fc1e62
+	_getVariableCount (func ptr): 0xb7fc1e91
+	_getVariableIndex (func ptr): 0xb7fc1ea8
+	_getValueIndex (func ptr): 0xb7fc1eef
+	_getValueCount (func ptr): 0xb7fc1ef7
+	_getValue (func ptr): 0xb7fc1f0e
+	variable_Register (ptr): 0x80662f0
+	conFunc_Register (ptr): 0x80655f0
+	_set (ptr): 0x805c8e0
 	indexCount: 14
-	indexTbl (ptr): 0x411804
+	indexTbl (ptr): 0x805c920
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x411944
+	vcVarCountTbl (ptr): 0x805c968
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180cc04
+	vcTbl (ptr): 0x805c9b0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411c74
+	valueTbl (ptr): 0x8065160
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x410004
+			asDoubleArray (ptr): 0x805c3e0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x4106c4
-	dictionary (ptr): 0x406a74
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x8064a00
+	dictionary (ptr): 0x805b508
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x411334
+	_entryTbl (ptr): 0x805c898
 		_entryTbl[0]:
-			varName (ptr): 0x40cd14
+			varName (ptr): 0x8065158
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d784
+			varName (ptr): 0x805ba98
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40e204
+			varName (ptr): 0x805bcc0
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40d284
+			varName (ptr): 0x805c148
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x40ff14
+				asDoubleArray (ptr): 0x805c3e8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x4106c4
-Component (ptr): 0x4106c4
-Stg_Object (ptr): 0x4106c4
-	Stg_Class (ptr): 0x4106c4
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8064a00
+Stg_Component (ptr): 0x8064a00
+Stg_Object (ptr): 0x8064a00
+	Stg_Class (ptr): 0x8064a00
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7f0c79d
+		_print (func ptr): 0xb7f0c7e3
+		_copy (func ptr): 0xb7f0cca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7f0bdb6
+	_construct (func ptr): 0xb7f0858a
+	_build (func ptr): 0xb7f0858f
+	_initialise (func ptr): 0xb7f08906
+	_execute (func ptr): 0xb7f089ca
+	_destroy (func ptr): 0xb7f089fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x4087e4
-	conFunc_Register (ptr): 0x408464
-	_set (ptr): 0x4115f4
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7f0ce62
+	_getVariableCount (func ptr): 0xb7f0ce91
+	_getVariableIndex (func ptr): 0xb7f0cea8
+	_getValueIndex (func ptr): 0xb7f0ceef
+	_getValueCount (func ptr): 0xb7f0cef7
+	_getValue (func ptr): 0xb7f0cf0e
+	variable_Register (ptr): 0x80662f8
+	conFunc_Register (ptr): 0x80655f8
+	_set (ptr): 0x805c8e8
 	indexCount: 14
-	indexTbl (ptr): 0x411714
+	indexTbl (ptr): 0x805c928
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x411854
+	vcVarCountTbl (ptr): 0x805c970
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180d204
+	vcTbl (ptr): 0x805c9b8
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411b84
+	valueTbl (ptr): 0x8065168
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x40ff14
+			asDoubleArray (ptr): 0x805c3e8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x410764
-	dictionary (ptr): 0x406b84
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x80649d8
+	dictionary (ptr): 0x805b4e0
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x4113d4
+	_entryTbl (ptr): 0x805c870
 		_entryTbl[0]:
-			varName (ptr): 0x40ce24
+			varName (ptr): 0x8065130
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d894
+			varName (ptr): 0x805ba70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40e314
+			varName (ptr): 0x805bc98
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40d394
+			varName (ptr): 0x805c120
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x40ffb4
+				asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x410764
-Component (ptr): 0x410764
-Stg_Object (ptr): 0x410764
-	Stg_Class (ptr): 0x410764
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x80649d8
+Stg_Component (ptr): 0x80649d8
+Stg_Object (ptr): 0x80649d8
+	Stg_Class (ptr): 0x80649d8
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7f9079d
+		_print (func ptr): 0xb7f907e3
+		_copy (func ptr): 0xb7f90ca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7f8fdb6
+	_construct (func ptr): 0xb7f8c58a
+	_build (func ptr): 0xb7f8c58f
+	_initialise (func ptr): 0xb7f8c906
+	_execute (func ptr): 0xb7f8c9ca
+	_destroy (func ptr): 0xb7f8c9fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x408884
-	conFunc_Register (ptr): 0x4084f4
-	_set (ptr): 0x411694
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7f90e62
+	_getVariableCount (func ptr): 0xb7f90e91
+	_getVariableIndex (func ptr): 0xb7f90ea8
+	_getValueIndex (func ptr): 0xb7f90eef
+	_getValueCount (func ptr): 0xb7f90ef7
+	_getValue (func ptr): 0xb7f90f0e
+	variable_Register (ptr): 0x80662d0
+	conFunc_Register (ptr): 0x80655d0
+	_set (ptr): 0x805c8c0
 	indexCount: 14
-	indexTbl (ptr): 0x4117b4
+	indexTbl (ptr): 0x805c900
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x4118f4
+	vcVarCountTbl (ptr): 0x805c948
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180cc04
+	vcTbl (ptr): 0x805c990
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411c24
+	valueTbl (ptr): 0x8065140
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x40ffb4
+			asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x410794
-	dictionary (ptr): 0x406bb4
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x80649d8
+	dictionary (ptr): 0x805b4e0
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x411404
+	_entryTbl (ptr): 0x805c870
 		_entryTbl[0]:
-			varName (ptr): 0x40ce54
+			varName (ptr): 0x8065130
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d8c4
+			varName (ptr): 0x805ba70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40e344
+			varName (ptr): 0x805bc98
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40d3c4
+			varName (ptr): 0x805c120
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x40ffe4
+				asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x410794
-Component (ptr): 0x410794
-Stg_Object (ptr): 0x410794
-	Stg_Class (ptr): 0x410794
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x80649d8
+Stg_Component (ptr): 0x80649d8
+Stg_Object (ptr): 0x80649d8
+	Stg_Class (ptr): 0x80649d8
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7edd79d
+		_print (func ptr): 0xb7edd7e3
+		_copy (func ptr): 0xb7eddca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7edcdb6
+	_construct (func ptr): 0xb7ed958a
+	_build (func ptr): 0xb7ed958f
+	_initialise (func ptr): 0xb7ed9906
+	_execute (func ptr): 0xb7ed99ca
+	_destroy (func ptr): 0xb7ed99fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x4088b4
-	conFunc_Register (ptr): 0x408524
-	_set (ptr): 0x4116c4
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7edde62
+	_getVariableCount (func ptr): 0xb7edde91
+	_getVariableIndex (func ptr): 0xb7eddea8
+	_getValueIndex (func ptr): 0xb7eddeef
+	_getValueCount (func ptr): 0xb7eddef7
+	_getValue (func ptr): 0xb7eddf0e
+	variable_Register (ptr): 0x80662d0
+	conFunc_Register (ptr): 0x80655d0
+	_set (ptr): 0x805c8c0
 	indexCount: 14
-	indexTbl (ptr): 0x4117e4
+	indexTbl (ptr): 0x805c900
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x411924
+	vcVarCountTbl (ptr): 0x805c948
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180d204
+	vcTbl (ptr): 0x805c990
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411c54
+	valueTbl (ptr): 0x8065140
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x40ffe4
+			asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testSetVC.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,74 +1,79 @@
 Testing for SetVC
-SetVC (ptr): 0x410794
-	dictionary (ptr): 0x406bb4
-	_dictionaryEntryName (ptr): 0x37dec
+SetVC (ptr): 0x80649d8
+	dictionary (ptr): 0x805b4e0
+	_dictionaryEntryName (ptr): 0x80498a0
 		_dictionaryEntryName: SetVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x411404
+	_entryTbl (ptr): 0x805c870
 		_entryTbl[0]:
-			varName (ptr): 0x40ce54
+			varName (ptr): 0x8065130
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x40d8c4
+			varName (ptr): 0x805ba70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x40e344
+			varName (ptr): 0x805bc98
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x40d3c4
+			varName (ptr): 0x805c120
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x40ffe4
+				asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x410794
-Component (ptr): 0x410794
-Stg_Object (ptr): 0x410794
-	Stg_Class (ptr): 0x410794
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x80649d8
+Stg_Component (ptr): 0x80649d8
+Stg_Object (ptr): 0x80649d8
+	Stg_Class (ptr): 0x80649d8
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: SetVC
-		_delete (func ptr): 0x5470
-		_print (func ptr): 0x54d0
-		_copy (func ptr): 0x599c
+		_delete (func ptr): 0xb7f3679d
+		_print (func ptr): 0xb7f367e3
+		_copy (func ptr): 0xb7f36ca1
 	name: SetVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x48a4
-	_construct (func ptr): 0x6da4
-	_build (func ptr): 0x6ddc
-	_initialise (func ptr): 0x71fc
-	_execute (func ptr): 0x7300
-	_destroy (func ptr): 0x734c
+	_defaultConstructor (func ptr): 0xb7f35db6
+	_construct (func ptr): 0xb7f3258a
+	_build (func ptr): 0xb7f3258f
+	_initialise (func ptr): 0xb7f32906
+	_execute (func ptr): 0xb7f329ca
+	_destroy (func ptr): 0xb7f329fa
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x5b7c
-	_getVariableCount (func ptr): 0x5bcc
-	_getVariableIndex (func ptr): 0x5c18
-	_getValueIndex (func ptr): 0x5c88
-	_getValueCount (func ptr): 0x5ccc
-	_getValue (func ptr): 0x5d14
-	variable_Register (ptr): 0x4088b4
-	conFunc_Register (ptr): 0x408524
-	_set (ptr): 0x4116c4
+	constructor function name: SetVC-Construct
+	build function name: SetVC-Build
+	initialise function name: SetVC-Initialise
+	execute function name: SetVC-Execute
+	destroy function name: SetVC-Destroy
+	_getSet (func ptr): 0xb7f36e62
+	_getVariableCount (func ptr): 0xb7f36e91
+	_getVariableIndex (func ptr): 0xb7f36ea8
+	_getValueIndex (func ptr): 0xb7f36eef
+	_getValueCount (func ptr): 0xb7f36ef7
+	_getValue (func ptr): 0xb7f36f0e
+	variable_Register (ptr): 0x80662d0
+	conFunc_Register (ptr): 0x80655d0
+	_set (ptr): 0x805c8c0
 	indexCount: 14
-	indexTbl (ptr): 0x4117e4
+	indexTbl (ptr): 0x805c900
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -83,7 +88,7 @@
 		indexTbl[11]: 22
 		indexTbl[12]: 24
 		indexTbl[13]: 26
-	vcVarCountTbl (ptr): 0x411924
+	vcVarCountTbl (ptr): 0x805c948
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -98,7 +103,7 @@
 		vcVarCountTbl[11]: 4
 		vcVarCountTbl[12]: 4
 		vcVarCountTbl[13]: 4
-	vcTbl (ptr): 0x180d204
+	vcTbl (ptr): 0x805c990
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -268,7 +273,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x411c54
+	valueTbl (ptr): 0x8065140
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -281,7 +286,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x40ffe4
+			asDoubleArray (ptr): 0x805c3c0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Char.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Char.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Char.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,221 +1,246 @@
-Variable_Register (ptr): 0x80dd6d4
+Variable_Register (ptr): 0x805a7a0
 	count: 5
 	_size: 8
 	_delta: 8
-	_variable (ptr): 0x80dd704
-Component (ptr): 0x80dd72c
-Stg_Object (ptr): 0x80dd72c
-	Stg_Class (ptr): 0x80dd72c
-		sizeOfSelf: 128
+	_variable (ptr): 0x805ae18
+Stg_Component (ptr): 0x805ae48
+Stg_Object (ptr): 0x805ae48
+	Stg_Class (ptr): 0x805ae48
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ec31
-		_print (func ptr): 0x804ecc0
-		_copy (func ptr): 0x804f09a
+		_delete (func ptr): 0xb7ed84a0
+		_print (func ptr): 0xb7ed8538
+		_copy (func ptr): 0xb7ed8921
 	name: Scalar
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e14e
-	_construct (func ptr): 0x804f9db
-	_build (func ptr): 0x804f570
-	_initialise (func ptr): 0x804f9d1
-	_execute (func ptr): 0x804f9d6
-	_destroy (func ptr): 0x804fe00
+	_defaultConstructor (func ptr): 0xb7ed7986
+	_construct (func ptr): 0xb7ed95c2
+	_build (func ptr): 0xb7ed90a2
+	_initialise (func ptr): 0xb7ed95b8
+	_execute (func ptr): 0xb7ed95bd
+	_destroy (func ptr): 0xb7ed9b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd72c)
+	constructor function name: Scalar-Construct
+	build function name: Scalar-Build
+	initialise function name: Scalar-Initialise
+	execute function name: Scalar-Execute
+	destroy function name: Scalar-Destroy
+Variable (ptr): (0x805ae48)
 	offsetCount: 1
-	offsets (ptr): 0x80dd7b4
+	offsets (ptr): 0x805acd0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dd83c
+	dataTypes (ptr): 0x805ac48
 		dataTypes[0]: 1
-	dataTypeCounts (ptr): 0x80dd91c
+	dataTypeCounts (ptr): 0x805b318
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddcbc
+	dataSizes (ptr): 0x805c010
 		dataSizes[0]: 1
-	components (ptr): 0x80dd92c
+	components (ptr): 0x805b328
 		components[0] (ptr): (nil)
 	structSize: 1
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd51c
-	arrayPtrPtr (ptr): 0xbfffe6fc
+	arrayPtr (ptr): 0x805ac30
+	arrayPtrPtr (ptr): 0xbfb0149c
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfb01494
 	allocateSelf = False
-Component (ptr): 0x80dd954
-Stg_Object (ptr): 0x80dd954
-	Stg_Class (ptr): 0x80dd954
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b338
+Stg_Object (ptr): 0x805b338
+	Stg_Class (ptr): 0x805b338
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ec31
-		_print (func ptr): 0x804ecc0
-		_copy (func ptr): (nil)
+		_delete (func ptr): 0xb7ed84a0
+		_print (func ptr): 0xb7ed8538
+		_copy (func ptr): 0xb7ed8921
 	name: Three
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e14e
-	_construct (func ptr): 0x804f9db
-	_build (func ptr): 0x804f570
-	_initialise (func ptr): 0x804f9d1
-	_execute (func ptr): 0x804f9d6
-	_destroy (func ptr): 0x804fe00
+	_defaultConstructor (func ptr): 0xb7ed7986
+	_construct (func ptr): 0xb7ed95c2
+	_build (func ptr): 0xb7ed90a2
+	_initialise (func ptr): 0xb7ed95b8
+	_execute (func ptr): 0xb7ed95bd
+	_destroy (func ptr): 0xb7ed9b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd954)
+	constructor function name: Three-Construct
+	build function name: Three-Build
+	initialise function name: Three-Initialise
+	execute function name: Three-Execute
+	destroy function name: Three-Destroy
+Variable (ptr): (0x805b338)
 	offsetCount: 1
-	offsets (ptr): 0x80dd9ec
+	offsets (ptr): 0x805b628
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dd9fc
+	dataTypes (ptr): 0x805b638
 		dataTypes[0]: 1
-	dataTypeCounts (ptr): 0x80dda0c
+	dataTypeCounts (ptr): 0x805b648
 		dataTypeCounts[0]: 3
-	dataSizes (ptr): 0x80ddccc
+	dataSizes (ptr): 0x805c020
 		dataSizes[0]: 3
-	components (ptr): 0x80dda1c
-		components[0] (ptr): 0x80dda34
+	components (ptr): 0x805b658
+		components[0] (ptr): 0x805b670
 		components[0]: a
 	structSize: 3
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfb01498
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfb01494
 	allocateSelf = False
-Component (ptr): 0x80dda34
-Stg_Object (ptr): 0x80dda34
-	Stg_Class (ptr): 0x80dda34
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b670
+Stg_Object (ptr): 0x805b670
+	Stg_Class (ptr): 0x805b670
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ec31
-		_print (func ptr): 0x804ecc0
-		_copy (func ptr): 0x804f09a
+		_delete (func ptr): 0xb7ed84a0
+		_print (func ptr): 0xb7ed8538
+		_copy (func ptr): 0xb7ed8921
 	name: a
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e14e
-	_construct (func ptr): 0x804f9db
-	_build (func ptr): 0x804f570
-	_initialise (func ptr): 0x804f9d1
-	_execute (func ptr): 0x804f9d6
-	_destroy (func ptr): 0x804fe00
+	_defaultConstructor (func ptr): 0xb7ed7986
+	_construct (func ptr): 0xb7ed95c2
+	_build (func ptr): 0xb7ed90a2
+	_initialise (func ptr): 0xb7ed95b8
+	_execute (func ptr): 0xb7ed95bd
+	_destroy (func ptr): 0xb7ed9b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dda34)
+	constructor function name: a-Construct
+	build function name: a-Build
+	initialise function name: a-Initialise
+	execute function name: a-Execute
+	destroy function name: a-Destroy
+Variable (ptr): (0x805b670)
 	offsetCount: 1
-	offsets (ptr): 0x80ddacc
+	offsets (ptr): 0x805b958
 		offsets[0]: 0
-	dataTypes (ptr): 0x80ddadc
+	dataTypes (ptr): 0x805b968
 		dataTypes[0]: 1
-	dataTypeCounts (ptr): 0x80ddaec
+	dataTypeCounts (ptr): 0x805b978
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddcdc
+	dataSizes (ptr): 0x805c030
 		dataSizes[0]: 1
-	components (ptr): 0x80ddafc
+	components (ptr): 0x805b988
 		components[0] (ptr): (nil)
 	structSize: 3
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfb01498
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfb01494
 	allocateSelf = False
-Component (ptr): 0x80ddb0c
-Stg_Object (ptr): 0x80ddb0c
-	Stg_Class (ptr): 0x80ddb0c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b998
+Stg_Object (ptr): 0x805b998
+	Stg_Class (ptr): 0x805b998
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ec31
-		_print (func ptr): 0x804ecc0
-		_copy (func ptr): 0x804f09a
+		_delete (func ptr): 0xb7ed84a0
+		_print (func ptr): 0xb7ed8538
+		_copy (func ptr): 0xb7ed8921
 	name: b
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e14e
-	_construct (func ptr): 0x804f9db
-	_build (func ptr): 0x804f570
-	_initialise (func ptr): 0x804f9d1
-	_execute (func ptr): 0x804f9d6
-	_destroy (func ptr): 0x804fe00
+	_defaultConstructor (func ptr): 0xb7ed7986
+	_construct (func ptr): 0xb7ed95c2
+	_build (func ptr): 0xb7ed90a2
+	_initialise (func ptr): 0xb7ed95b8
+	_execute (func ptr): 0xb7ed95bd
+	_destroy (func ptr): 0xb7ed9b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddb0c)
+	constructor function name: b-Construct
+	build function name: b-Build
+	initialise function name: b-Initialise
+	execute function name: b-Execute
+	destroy function name: b-Destroy
+Variable (ptr): (0x805b998)
 	offsetCount: 1
-	offsets (ptr): 0x80ddba4
+	offsets (ptr): 0x805bc80
 		offsets[0]: 1
-	dataTypes (ptr): 0x80ddbb4
+	dataTypes (ptr): 0x805bc90
 		dataTypes[0]: 1
-	dataTypeCounts (ptr): 0x80ddbc4
+	dataTypeCounts (ptr): 0x805bca0
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddcec
+	dataSizes (ptr): 0x805c040
 		dataSizes[0]: 1
-	components (ptr): 0x80ddbd4
+	components (ptr): 0x805bcb0
 		components[0] (ptr): (nil)
 	structSize: 3
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfb01498
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfb01494
 	allocateSelf = False
-Component (ptr): 0x80ddbe4
-Stg_Object (ptr): 0x80ddbe4
-	Stg_Class (ptr): 0x80ddbe4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805bcc0
+Stg_Object (ptr): 0x805bcc0
+	Stg_Class (ptr): 0x805bcc0
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ec31
-		_print (func ptr): 0x804ecc0
-		_copy (func ptr): 0x804f09a
+		_delete (func ptr): 0xb7ed84a0
+		_print (func ptr): 0xb7ed8538
+		_copy (func ptr): 0xb7ed8921
 	name: c
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e14e
-	_construct (func ptr): 0x804f9db
-	_build (func ptr): 0x804f570
-	_initialise (func ptr): 0x804f9d1
-	_execute (func ptr): 0x804f9d6
-	_destroy (func ptr): 0x804fe00
+	_defaultConstructor (func ptr): 0xb7ed7986
+	_construct (func ptr): 0xb7ed95c2
+	_build (func ptr): 0xb7ed90a2
+	_initialise (func ptr): 0xb7ed95b8
+	_execute (func ptr): 0xb7ed95bd
+	_destroy (func ptr): 0xb7ed9b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddbe4)
+	constructor function name: c-Construct
+	build function name: c-Build
+	initialise function name: c-Initialise
+	execute function name: c-Execute
+	destroy function name: c-Destroy
+Variable (ptr): (0x805bcc0)
 	offsetCount: 1
-	offsets (ptr): 0x80ddc7c
+	offsets (ptr): 0x805bfa8
 		offsets[0]: 2
-	dataTypes (ptr): 0x80ddc8c
+	dataTypes (ptr): 0x805bfb8
 		dataTypes[0]: 1
-	dataTypeCounts (ptr): 0x80ddc9c
+	dataTypeCounts (ptr): 0x805bfc8
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddcfc
+	dataSizes (ptr): 0x805c050
 		dataSizes[0]: 1
-	components (ptr): 0x80ddcac
+	components (ptr): 0x805bfd8
 		components[0] (ptr): (nil)
 	structSize: 3
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfb01498
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfb01494
 	allocateSelf = False
-Stg_Class (ptr): 0x80dd6d4
+Stg_Class (ptr): 0x805a7a0
 	sizeOfSelf: 40
 	_deleteSelf: Yes
 	type: Variable_Register
-	_delete (func ptr): 0x8050465
-	_print (func ptr): 0x80504a5
-	_copy (func ptr): (nil)
+	_delete (func ptr): 0xb7eda561
+	_print (func ptr): 0xb7eda5a1
+	_copy (func ptr): 0xb7eda6ca
 Setting value 85
 ~~~Scalar~~~
 i=0: 1 1 1 1 1

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Double.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Double.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Double.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,221 +1,246 @@
-Variable_Register (ptr): 0x80de7fc
+Variable_Register (ptr): 0x805b7a0
 	count: 5
 	_size: 8
 	_delta: 8
-	_variable (ptr): 0x80de82c
-Component (ptr): 0x80de854
-Stg_Object (ptr): 0x80de854
-	Stg_Class (ptr): 0x80de854
-		sizeOfSelf: 128
+	_variable (ptr): 0x805bf48
+Stg_Component (ptr): 0x805bf78
+Stg_Object (ptr): 0x805bf78
+	Stg_Class (ptr): 0x805bf78
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804edf1
-		_print (func ptr): 0x804ee80
-		_copy (func ptr): 0x804f25a
+		_delete (func ptr): 0xb7fb44a0
+		_print (func ptr): 0xb7fb4538
+		_copy (func ptr): 0xb7fb4921
 	name: Scalar
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e30e
-	_construct (func ptr): 0x804fb9b
-	_build (func ptr): 0x804f730
-	_initialise (func ptr): 0x804fb91
-	_execute (func ptr): 0x804fb96
-	_destroy (func ptr): 0x804ffc0
+	_defaultConstructor (func ptr): 0xb7fb3986
+	_construct (func ptr): 0xb7fb55c2
+	_build (func ptr): 0xb7fb50a2
+	_initialise (func ptr): 0xb7fb55b8
+	_execute (func ptr): 0xb7fb55bd
+	_destroy (func ptr): 0xb7fb5b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80de854)
+	constructor function name: Scalar-Construct
+	build function name: Scalar-Build
+	initialise function name: Scalar-Initialise
+	execute function name: Scalar-Execute
+	destroy function name: Scalar-Destroy
+Variable (ptr): (0x805bf78)
 	offsetCount: 1
-	offsets (ptr): 0x80de8dc
+	offsets (ptr): 0x805bcd0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80de964
+	dataTypes (ptr): 0x805bc48
 		dataTypes[0]: 5
-	dataTypeCounts (ptr): 0x80dea2c
+	dataTypeCounts (ptr): 0x805c430
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80dedcc
+	dataSizes (ptr): 0x805d128
 		dataSizes[0]: 8
-	components (ptr): 0x80dea3c
+	components (ptr): 0x805c440
 		components[0] (ptr): (nil)
 	structSize: 8
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6ac
-	arrayPtrPtr (ptr): 0xbfffe6fc
+	arrayPtr (ptr): 0x805bde8
+	arrayPtrPtr (ptr): 0xbfcdcdec
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfcdcde4
 	allocateSelf = False
-Component (ptr): 0x80dea64
-Stg_Object (ptr): 0x80dea64
-	Stg_Class (ptr): 0x80dea64
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805c450
+Stg_Object (ptr): 0x805c450
+	Stg_Class (ptr): 0x805c450
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804edf1
-		_print (func ptr): 0x804ee80
-		_copy (func ptr): (nil)
+		_delete (func ptr): 0xb7fb44a0
+		_print (func ptr): 0xb7fb4538
+		_copy (func ptr): 0xb7fb4921
 	name: Three
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e30e
-	_construct (func ptr): 0x804fb9b
-	_build (func ptr): 0x804f730
-	_initialise (func ptr): 0x804fb91
-	_execute (func ptr): 0x804fb96
-	_destroy (func ptr): 0x804ffc0
+	_defaultConstructor (func ptr): 0xb7fb3986
+	_construct (func ptr): 0xb7fb55c2
+	_build (func ptr): 0xb7fb50a2
+	_initialise (func ptr): 0xb7fb55b8
+	_execute (func ptr): 0xb7fb55bd
+	_destroy (func ptr): 0xb7fb5b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dea64)
+	constructor function name: Three-Construct
+	build function name: Three-Build
+	initialise function name: Three-Initialise
+	execute function name: Three-Execute
+	destroy function name: Three-Destroy
+Variable (ptr): (0x805c450)
 	offsetCount: 1
-	offsets (ptr): 0x80deafc
+	offsets (ptr): 0x805c740
 		offsets[0]: 0
-	dataTypes (ptr): 0x80deb0c
+	dataTypes (ptr): 0x805c750
 		dataTypes[0]: 5
-	dataTypeCounts (ptr): 0x80deb1c
+	dataTypeCounts (ptr): 0x805c760
 		dataTypeCounts[0]: 3
-	dataSizes (ptr): 0x80deddc
+	dataSizes (ptr): 0x805d138
 		dataSizes[0]: 24
-	components (ptr): 0x80deb2c
-		components[0] (ptr): 0x80deb44
+	components (ptr): 0x805c770
+		components[0] (ptr): 0x805c788
 		components[0]: a
 	structSize: 24
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de704
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805be48
+	arrayPtrPtr (ptr): 0xbfcdcde8
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfcdcde4
 	allocateSelf = False
-Component (ptr): 0x80deb44
-Stg_Object (ptr): 0x80deb44
-	Stg_Class (ptr): 0x80deb44
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805c788
+Stg_Object (ptr): 0x805c788
+	Stg_Class (ptr): 0x805c788
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804edf1
-		_print (func ptr): 0x804ee80
-		_copy (func ptr): 0x804f25a
+		_delete (func ptr): 0xb7fb44a0
+		_print (func ptr): 0xb7fb4538
+		_copy (func ptr): 0xb7fb4921
 	name: a
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e30e
-	_construct (func ptr): 0x804fb9b
-	_build (func ptr): 0x804f730
-	_initialise (func ptr): 0x804fb91
-	_execute (func ptr): 0x804fb96
-	_destroy (func ptr): 0x804ffc0
+	_defaultConstructor (func ptr): 0xb7fb3986
+	_construct (func ptr): 0xb7fb55c2
+	_build (func ptr): 0xb7fb50a2
+	_initialise (func ptr): 0xb7fb55b8
+	_execute (func ptr): 0xb7fb55bd
+	_destroy (func ptr): 0xb7fb5b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80deb44)
+	constructor function name: a-Construct
+	build function name: a-Build
+	initialise function name: a-Initialise
+	execute function name: a-Execute
+	destroy function name: a-Destroy
+Variable (ptr): (0x805c788)
 	offsetCount: 1
-	offsets (ptr): 0x80debdc
+	offsets (ptr): 0x805ca70
 		offsets[0]: 0
-	dataTypes (ptr): 0x80debec
+	dataTypes (ptr): 0x805ca80
 		dataTypes[0]: 5
-	dataTypeCounts (ptr): 0x80debfc
+	dataTypeCounts (ptr): 0x805ca90
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80dedec
+	dataSizes (ptr): 0x805d148
 		dataSizes[0]: 8
-	components (ptr): 0x80dec0c
+	components (ptr): 0x805caa0
 		components[0] (ptr): (nil)
 	structSize: 24
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de704
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805be48
+	arrayPtrPtr (ptr): 0xbfcdcde8
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfcdcde4
 	allocateSelf = False
-Component (ptr): 0x80dec1c
-Stg_Object (ptr): 0x80dec1c
-	Stg_Class (ptr): 0x80dec1c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805cab0
+Stg_Object (ptr): 0x805cab0
+	Stg_Class (ptr): 0x805cab0
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804edf1
-		_print (func ptr): 0x804ee80
-		_copy (func ptr): 0x804f25a
+		_delete (func ptr): 0xb7fb44a0
+		_print (func ptr): 0xb7fb4538
+		_copy (func ptr): 0xb7fb4921
 	name: b
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e30e
-	_construct (func ptr): 0x804fb9b
-	_build (func ptr): 0x804f730
-	_initialise (func ptr): 0x804fb91
-	_execute (func ptr): 0x804fb96
-	_destroy (func ptr): 0x804ffc0
+	_defaultConstructor (func ptr): 0xb7fb3986
+	_construct (func ptr): 0xb7fb55c2
+	_build (func ptr): 0xb7fb50a2
+	_initialise (func ptr): 0xb7fb55b8
+	_execute (func ptr): 0xb7fb55bd
+	_destroy (func ptr): 0xb7fb5b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dec1c)
+	constructor function name: b-Construct
+	build function name: b-Build
+	initialise function name: b-Initialise
+	execute function name: b-Execute
+	destroy function name: b-Destroy
+Variable (ptr): (0x805cab0)
 	offsetCount: 1
-	offsets (ptr): 0x80decb4
+	offsets (ptr): 0x805cd98
 		offsets[0]: 8
-	dataTypes (ptr): 0x80decc4
+	dataTypes (ptr): 0x805cda8
 		dataTypes[0]: 5
-	dataTypeCounts (ptr): 0x80decd4
+	dataTypeCounts (ptr): 0x805cdb8
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80dedfc
+	dataSizes (ptr): 0x805d158
 		dataSizes[0]: 8
-	components (ptr): 0x80dece4
+	components (ptr): 0x805cdc8
 		components[0] (ptr): (nil)
 	structSize: 24
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de704
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805be48
+	arrayPtrPtr (ptr): 0xbfcdcde8
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfcdcde4
 	allocateSelf = False
-Component (ptr): 0x80decf4
-Stg_Object (ptr): 0x80decf4
-	Stg_Class (ptr): 0x80decf4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805cdd8
+Stg_Object (ptr): 0x805cdd8
+	Stg_Class (ptr): 0x805cdd8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804edf1
-		_print (func ptr): 0x804ee80
-		_copy (func ptr): 0x804f25a
+		_delete (func ptr): 0xb7fb44a0
+		_print (func ptr): 0xb7fb4538
+		_copy (func ptr): 0xb7fb4921
 	name: c
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e30e
-	_construct (func ptr): 0x804fb9b
-	_build (func ptr): 0x804f730
-	_initialise (func ptr): 0x804fb91
-	_execute (func ptr): 0x804fb96
-	_destroy (func ptr): 0x804ffc0
+	_defaultConstructor (func ptr): 0xb7fb3986
+	_construct (func ptr): 0xb7fb55c2
+	_build (func ptr): 0xb7fb50a2
+	_initialise (func ptr): 0xb7fb55b8
+	_execute (func ptr): 0xb7fb55bd
+	_destroy (func ptr): 0xb7fb5b1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80decf4)
+	constructor function name: c-Construct
+	build function name: c-Build
+	initialise function name: c-Initialise
+	execute function name: c-Execute
+	destroy function name: c-Destroy
+Variable (ptr): (0x805cdd8)
 	offsetCount: 1
-	offsets (ptr): 0x80ded8c
+	offsets (ptr): 0x805d0c0
 		offsets[0]: 16
-	dataTypes (ptr): 0x80ded9c
+	dataTypes (ptr): 0x805d0d0
 		dataTypes[0]: 5
-	dataTypeCounts (ptr): 0x80dedac
+	dataTypeCounts (ptr): 0x805d0e0
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80dee0c
+	dataSizes (ptr): 0x805d168
 		dataSizes[0]: 8
-	components (ptr): 0x80dedbc
+	components (ptr): 0x805d0f0
 		components[0] (ptr): (nil)
 	structSize: 24
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de704
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805be48
+	arrayPtrPtr (ptr): 0xbfcdcde8
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfcdcde4
 	allocateSelf = False
-Stg_Class (ptr): 0x80de7fc
+Stg_Class (ptr): 0x805b7a0
 	sizeOfSelf: 40
 	_deleteSelf: Yes
 	type: Variable_Register
-	_delete (func ptr): 0x8050625
-	_print (func ptr): 0x8050665
-	_copy (func ptr): (nil)
+	_delete (func ptr): 0xb7fb6561
+	_print (func ptr): 0xb7fb65a1
+	_copy (func ptr): 0xb7fb66ca
 Setting value 123456789.000000
 ~~~Scalar~~~
 i=0: 1 1 1 1 1 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Float.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Float.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Float.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,221 +1,246 @@
-Variable_Register (ptr): 0x80de75c
+Variable_Register (ptr): 0x805ae70
 	count: 5
 	_size: 8
 	_delta: 8
-	_variable (ptr): 0x80de78c
-Component (ptr): 0x80de7b4
-Stg_Object (ptr): 0x80de7b4
-	Stg_Class (ptr): 0x80de7b4
-		sizeOfSelf: 128
+	_variable (ptr): 0x805aea8
+Stg_Component (ptr): 0x805aed8
+Stg_Object (ptr): 0x805aed8
+	Stg_Class (ptr): 0x805aed8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eda1
-		_print (func ptr): 0x804ee30
-		_copy (func ptr): 0x804f20a
+		_delete (func ptr): 0xb7f1d4a0
+		_print (func ptr): 0xb7f1d538
+		_copy (func ptr): 0xb7f1d921
 	name: Scalar
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e2be
-	_construct (func ptr): 0x804fb4b
-	_build (func ptr): 0x804f6e0
-	_initialise (func ptr): 0x804fb41
-	_execute (func ptr): 0x804fb46
-	_destroy (func ptr): 0x804ff70
+	_defaultConstructor (func ptr): 0xb7f1c986
+	_construct (func ptr): 0xb7f1e5c2
+	_build (func ptr): 0xb7f1e0a2
+	_initialise (func ptr): 0xb7f1e5b8
+	_execute (func ptr): 0xb7f1e5bd
+	_destroy (func ptr): 0xb7f1eb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80de7b4)
+	constructor function name: Scalar-Construct
+	build function name: Scalar-Build
+	initialise function name: Scalar-Initialise
+	execute function name: Scalar-Execute
+	destroy function name: Scalar-Destroy
+Variable (ptr): (0x805aed8)
 	offsetCount: 1
-	offsets (ptr): 0x80de83c
+	offsets (ptr): 0x805acd0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80de8c4
+	dataTypes (ptr): 0x805ac48
 		dataTypes[0]: 4
-	dataTypeCounts (ptr): 0x80de98c
+	dataTypeCounts (ptr): 0x805b390
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ded2c
+	dataSizes (ptr): 0x805c088
 		dataSizes[0]: 4
-	components (ptr): 0x80de99c
+	components (ptr): 0x805b3a0
 		components[0] (ptr): (nil)
 	structSize: 4
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6ac
-	arrayPtrPtr (ptr): 0xbfffe6fc
+	arrayPtr (ptr): 0x805a7a0
+	arrayPtrPtr (ptr): 0xbfe4822c
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfe48224
 	allocateSelf = False
-Component (ptr): 0x80de9c4
-Stg_Object (ptr): 0x80de9c4
-	Stg_Class (ptr): 0x80de9c4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b3b0
+Stg_Object (ptr): 0x805b3b0
+	Stg_Class (ptr): 0x805b3b0
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eda1
-		_print (func ptr): 0x804ee30
-		_copy (func ptr): (nil)
+		_delete (func ptr): 0xb7f1d4a0
+		_print (func ptr): 0xb7f1d538
+		_copy (func ptr): 0xb7f1d921
 	name: Three
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e2be
-	_construct (func ptr): 0x804fb4b
-	_build (func ptr): 0x804f6e0
-	_initialise (func ptr): 0x804fb41
-	_execute (func ptr): 0x804fb46
-	_destroy (func ptr): 0x804ff70
+	_defaultConstructor (func ptr): 0xb7f1c986
+	_construct (func ptr): 0xb7f1e5c2
+	_build (func ptr): 0xb7f1e0a2
+	_initialise (func ptr): 0xb7f1e5b8
+	_execute (func ptr): 0xb7f1e5bd
+	_destroy (func ptr): 0xb7f1eb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80de9c4)
+	constructor function name: Three-Construct
+	build function name: Three-Build
+	initialise function name: Three-Initialise
+	execute function name: Three-Execute
+	destroy function name: Three-Destroy
+Variable (ptr): (0x805b3b0)
 	offsetCount: 1
-	offsets (ptr): 0x80dea5c
+	offsets (ptr): 0x805b6a0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dea6c
+	dataTypes (ptr): 0x805b6b0
 		dataTypes[0]: 4
-	dataTypeCounts (ptr): 0x80dea7c
+	dataTypeCounts (ptr): 0x805b6c0
 		dataTypeCounts[0]: 3
-	dataSizes (ptr): 0x80ded3c
+	dataSizes (ptr): 0x805c098
 		dataSizes[0]: 12
-	components (ptr): 0x80dea8c
-		components[0] (ptr): 0x80deaa4
+	components (ptr): 0x805b6d0
+		components[0] (ptr): 0x805b6e8
 		components[0]: a
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfe48228
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfe48224
 	allocateSelf = False
-Component (ptr): 0x80deaa4
-Stg_Object (ptr): 0x80deaa4
-	Stg_Class (ptr): 0x80deaa4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b6e8
+Stg_Object (ptr): 0x805b6e8
+	Stg_Class (ptr): 0x805b6e8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eda1
-		_print (func ptr): 0x804ee30
-		_copy (func ptr): 0x804f20a
+		_delete (func ptr): 0xb7f1d4a0
+		_print (func ptr): 0xb7f1d538
+		_copy (func ptr): 0xb7f1d921
 	name: a
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e2be
-	_construct (func ptr): 0x804fb4b
-	_build (func ptr): 0x804f6e0
-	_initialise (func ptr): 0x804fb41
-	_execute (func ptr): 0x804fb46
-	_destroy (func ptr): 0x804ff70
+	_defaultConstructor (func ptr): 0xb7f1c986
+	_construct (func ptr): 0xb7f1e5c2
+	_build (func ptr): 0xb7f1e0a2
+	_initialise (func ptr): 0xb7f1e5b8
+	_execute (func ptr): 0xb7f1e5bd
+	_destroy (func ptr): 0xb7f1eb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80deaa4)
+	constructor function name: a-Construct
+	build function name: a-Build
+	initialise function name: a-Initialise
+	execute function name: a-Execute
+	destroy function name: a-Destroy
+Variable (ptr): (0x805b6e8)
 	offsetCount: 1
-	offsets (ptr): 0x80deb3c
+	offsets (ptr): 0x805b9d0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80deb4c
+	dataTypes (ptr): 0x805b9e0
 		dataTypes[0]: 4
-	dataTypeCounts (ptr): 0x80deb5c
+	dataTypeCounts (ptr): 0x805b9f0
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ded4c
+	dataSizes (ptr): 0x805c0a8
 		dataSizes[0]: 4
-	components (ptr): 0x80deb6c
+	components (ptr): 0x805ba00
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfe48228
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfe48224
 	allocateSelf = False
-Component (ptr): 0x80deb7c
-Stg_Object (ptr): 0x80deb7c
-	Stg_Class (ptr): 0x80deb7c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805ba10
+Stg_Object (ptr): 0x805ba10
+	Stg_Class (ptr): 0x805ba10
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eda1
-		_print (func ptr): 0x804ee30
-		_copy (func ptr): 0x804f20a
+		_delete (func ptr): 0xb7f1d4a0
+		_print (func ptr): 0xb7f1d538
+		_copy (func ptr): 0xb7f1d921
 	name: b
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e2be
-	_construct (func ptr): 0x804fb4b
-	_build (func ptr): 0x804f6e0
-	_initialise (func ptr): 0x804fb41
-	_execute (func ptr): 0x804fb46
-	_destroy (func ptr): 0x804ff70
+	_defaultConstructor (func ptr): 0xb7f1c986
+	_construct (func ptr): 0xb7f1e5c2
+	_build (func ptr): 0xb7f1e0a2
+	_initialise (func ptr): 0xb7f1e5b8
+	_execute (func ptr): 0xb7f1e5bd
+	_destroy (func ptr): 0xb7f1eb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80deb7c)
+	constructor function name: b-Construct
+	build function name: b-Build
+	initialise function name: b-Initialise
+	execute function name: b-Execute
+	destroy function name: b-Destroy
+Variable (ptr): (0x805ba10)
 	offsetCount: 1
-	offsets (ptr): 0x80dec14
+	offsets (ptr): 0x805bcf8
 		offsets[0]: 4
-	dataTypes (ptr): 0x80dec24
+	dataTypes (ptr): 0x805bd08
 		dataTypes[0]: 4
-	dataTypeCounts (ptr): 0x80dec34
+	dataTypeCounts (ptr): 0x805bd18
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ded5c
+	dataSizes (ptr): 0x805c0b8
 		dataSizes[0]: 4
-	components (ptr): 0x80dec44
+	components (ptr): 0x805bd28
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfe48228
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfe48224
 	allocateSelf = False
-Component (ptr): 0x80dec54
-Stg_Object (ptr): 0x80dec54
-	Stg_Class (ptr): 0x80dec54
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805bd38
+Stg_Object (ptr): 0x805bd38
+	Stg_Class (ptr): 0x805bd38
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eda1
-		_print (func ptr): 0x804ee30
-		_copy (func ptr): 0x804f20a
+		_delete (func ptr): 0xb7f1d4a0
+		_print (func ptr): 0xb7f1d538
+		_copy (func ptr): 0xb7f1d921
 	name: c
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e2be
-	_construct (func ptr): 0x804fb4b
-	_build (func ptr): 0x804f6e0
-	_initialise (func ptr): 0x804fb41
-	_execute (func ptr): 0x804fb46
-	_destroy (func ptr): 0x804ff70
+	_defaultConstructor (func ptr): 0xb7f1c986
+	_construct (func ptr): 0xb7f1e5c2
+	_build (func ptr): 0xb7f1e0a2
+	_initialise (func ptr): 0xb7f1e5b8
+	_execute (func ptr): 0xb7f1e5bd
+	_destroy (func ptr): 0xb7f1eb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dec54)
+	constructor function name: c-Construct
+	build function name: c-Build
+	initialise function name: c-Initialise
+	execute function name: c-Execute
+	destroy function name: c-Destroy
+Variable (ptr): (0x805bd38)
 	offsetCount: 1
-	offsets (ptr): 0x80decec
+	offsets (ptr): 0x805c020
 		offsets[0]: 8
-	dataTypes (ptr): 0x80decfc
+	dataTypes (ptr): 0x805c030
 		dataTypes[0]: 4
-	dataTypeCounts (ptr): 0x80ded0c
+	dataTypeCounts (ptr): 0x805c040
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ded6c
+	dataSizes (ptr): 0x805c0c8
 		dataSizes[0]: 4
-	components (ptr): 0x80ded1c
+	components (ptr): 0x805c050
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80de6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfe48228
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfe48224
 	allocateSelf = False
-Stg_Class (ptr): 0x80de75c
+Stg_Class (ptr): 0x805ae70
 	sizeOfSelf: 40
 	_deleteSelf: Yes
 	type: Variable_Register
-	_delete (func ptr): 0x80505d5
-	_print (func ptr): 0x8050615
-	_copy (func ptr): (nil)
+	_delete (func ptr): 0xb7f1f561
+	_print (func ptr): 0xb7f1f5a1
+	_copy (func ptr): 0xb7f1f6ca
 Setting value 123456792.000000
 ~~~Scalar~~~
 i=0: 1 1 1 1 1 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Int.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Int.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Int.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,221 +1,246 @@
-Variable_Register (ptr): 0x80dd75c
+Variable_Register (ptr): 0x805ae70
 	count: 5
 	_size: 8
 	_delta: 8
-	_variable (ptr): 0x80dd78c
-Component (ptr): 0x80dd7b4
-Stg_Object (ptr): 0x80dd7b4
-	Stg_Class (ptr): 0x80dd7b4
-		sizeOfSelf: 128
+	_variable (ptr): 0x805aea8
+Stg_Component (ptr): 0x805aed8
+Stg_Object (ptr): 0x805aed8
+	Stg_Class (ptr): 0x805aed8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eba9
-		_print (func ptr): 0x804ec38
-		_copy (func ptr): 0x804f012
+		_delete (func ptr): 0xb7fae4a0
+		_print (func ptr): 0xb7fae538
+		_copy (func ptr): 0xb7fae921
 	name: Scalar
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0c6
-	_construct (func ptr): 0x804f953
-	_build (func ptr): 0x804f4e8
-	_initialise (func ptr): 0x804f949
-	_execute (func ptr): 0x804f94e
-	_destroy (func ptr): 0x804fd78
+	_defaultConstructor (func ptr): 0xb7fad986
+	_construct (func ptr): 0xb7faf5c2
+	_build (func ptr): 0xb7faf0a2
+	_initialise (func ptr): 0xb7faf5b8
+	_execute (func ptr): 0xb7faf5bd
+	_destroy (func ptr): 0xb7fafb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd7b4)
+	constructor function name: Scalar-Construct
+	build function name: Scalar-Build
+	initialise function name: Scalar-Initialise
+	execute function name: Scalar-Execute
+	destroy function name: Scalar-Destroy
+Variable (ptr): (0x805aed8)
 	offsetCount: 1
-	offsets (ptr): 0x80dd83c
+	offsets (ptr): 0x805acd0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dd8c4
+	dataTypes (ptr): 0x805ac48
 		dataTypes[0]: 3
-	dataTypeCounts (ptr): 0x80dd98c
+	dataTypeCounts (ptr): 0x805b390
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd2c
+	dataSizes (ptr): 0x805c088
 		dataSizes[0]: 4
-	components (ptr): 0x80dd99c
+	components (ptr): 0x805b3a0
 		components[0] (ptr): (nil)
 	structSize: 4
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6fc
+	arrayPtr (ptr): 0x805a7a0
+	arrayPtrPtr (ptr): 0xbffd684c
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbffd6844
 	allocateSelf = False
-Component (ptr): 0x80dd9c4
-Stg_Object (ptr): 0x80dd9c4
-	Stg_Class (ptr): 0x80dd9c4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b3b0
+Stg_Object (ptr): 0x805b3b0
+	Stg_Class (ptr): 0x805b3b0
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eba9
-		_print (func ptr): 0x804ec38
-		_copy (func ptr): (nil)
+		_delete (func ptr): 0xb7fae4a0
+		_print (func ptr): 0xb7fae538
+		_copy (func ptr): 0xb7fae921
 	name: Three
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0c6
-	_construct (func ptr): 0x804f953
-	_build (func ptr): 0x804f4e8
-	_initialise (func ptr): 0x804f949
-	_execute (func ptr): 0x804f94e
-	_destroy (func ptr): 0x804fd78
+	_defaultConstructor (func ptr): 0xb7fad986
+	_construct (func ptr): 0xb7faf5c2
+	_build (func ptr): 0xb7faf0a2
+	_initialise (func ptr): 0xb7faf5b8
+	_execute (func ptr): 0xb7faf5bd
+	_destroy (func ptr): 0xb7fafb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd9c4)
+	constructor function name: Three-Construct
+	build function name: Three-Build
+	initialise function name: Three-Initialise
+	execute function name: Three-Execute
+	destroy function name: Three-Destroy
+Variable (ptr): (0x805b3b0)
 	offsetCount: 1
-	offsets (ptr): 0x80dda5c
+	offsets (ptr): 0x805b6a0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dda6c
+	dataTypes (ptr): 0x805b6b0
 		dataTypes[0]: 3
-	dataTypeCounts (ptr): 0x80dda7c
+	dataTypeCounts (ptr): 0x805b6c0
 		dataTypeCounts[0]: 3
-	dataSizes (ptr): 0x80ddd3c
+	dataSizes (ptr): 0x805c098
 		dataSizes[0]: 12
-	components (ptr): 0x80dda8c
-		components[0] (ptr): 0x80ddaa4
+	components (ptr): 0x805b6d0
+		components[0] (ptr): 0x805b6e8
 		components[0]: a
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbffd6848
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbffd6844
 	allocateSelf = False
-Component (ptr): 0x80ddaa4
-Stg_Object (ptr): 0x80ddaa4
-	Stg_Class (ptr): 0x80ddaa4
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b6e8
+Stg_Object (ptr): 0x805b6e8
+	Stg_Class (ptr): 0x805b6e8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eba9
-		_print (func ptr): 0x804ec38
-		_copy (func ptr): 0x804f012
+		_delete (func ptr): 0xb7fae4a0
+		_print (func ptr): 0xb7fae538
+		_copy (func ptr): 0xb7fae921
 	name: a
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0c6
-	_construct (func ptr): 0x804f953
-	_build (func ptr): 0x804f4e8
-	_initialise (func ptr): 0x804f949
-	_execute (func ptr): 0x804f94e
-	_destroy (func ptr): 0x804fd78
+	_defaultConstructor (func ptr): 0xb7fad986
+	_construct (func ptr): 0xb7faf5c2
+	_build (func ptr): 0xb7faf0a2
+	_initialise (func ptr): 0xb7faf5b8
+	_execute (func ptr): 0xb7faf5bd
+	_destroy (func ptr): 0xb7fafb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddaa4)
+	constructor function name: a-Construct
+	build function name: a-Build
+	initialise function name: a-Initialise
+	execute function name: a-Execute
+	destroy function name: a-Destroy
+Variable (ptr): (0x805b6e8)
 	offsetCount: 1
-	offsets (ptr): 0x80ddb3c
+	offsets (ptr): 0x805b9d0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80ddb4c
+	dataTypes (ptr): 0x805b9e0
 		dataTypes[0]: 3
-	dataTypeCounts (ptr): 0x80ddb5c
+	dataTypeCounts (ptr): 0x805b9f0
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd4c
+	dataSizes (ptr): 0x805c0a8
 		dataSizes[0]: 4
-	components (ptr): 0x80ddb6c
+	components (ptr): 0x805ba00
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbffd6848
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbffd6844
 	allocateSelf = False
-Component (ptr): 0x80ddb7c
-Stg_Object (ptr): 0x80ddb7c
-	Stg_Class (ptr): 0x80ddb7c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805ba10
+Stg_Object (ptr): 0x805ba10
+	Stg_Class (ptr): 0x805ba10
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eba9
-		_print (func ptr): 0x804ec38
-		_copy (func ptr): 0x804f012
+		_delete (func ptr): 0xb7fae4a0
+		_print (func ptr): 0xb7fae538
+		_copy (func ptr): 0xb7fae921
 	name: b
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0c6
-	_construct (func ptr): 0x804f953
-	_build (func ptr): 0x804f4e8
-	_initialise (func ptr): 0x804f949
-	_execute (func ptr): 0x804f94e
-	_destroy (func ptr): 0x804fd78
+	_defaultConstructor (func ptr): 0xb7fad986
+	_construct (func ptr): 0xb7faf5c2
+	_build (func ptr): 0xb7faf0a2
+	_initialise (func ptr): 0xb7faf5b8
+	_execute (func ptr): 0xb7faf5bd
+	_destroy (func ptr): 0xb7fafb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddb7c)
+	constructor function name: b-Construct
+	build function name: b-Build
+	initialise function name: b-Initialise
+	execute function name: b-Execute
+	destroy function name: b-Destroy
+Variable (ptr): (0x805ba10)
 	offsetCount: 1
-	offsets (ptr): 0x80ddc14
+	offsets (ptr): 0x805bcf8
 		offsets[0]: 4
-	dataTypes (ptr): 0x80ddc24
+	dataTypes (ptr): 0x805bd08
 		dataTypes[0]: 3
-	dataTypeCounts (ptr): 0x80ddc34
+	dataTypeCounts (ptr): 0x805bd18
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd5c
+	dataSizes (ptr): 0x805c0b8
 		dataSizes[0]: 4
-	components (ptr): 0x80ddc44
+	components (ptr): 0x805bd28
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbffd6848
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbffd6844
 	allocateSelf = False
-Component (ptr): 0x80ddc54
-Stg_Object (ptr): 0x80ddc54
-	Stg_Class (ptr): 0x80ddc54
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805bd38
+Stg_Object (ptr): 0x805bd38
+	Stg_Class (ptr): 0x805bd38
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804eba9
-		_print (func ptr): 0x804ec38
-		_copy (func ptr): 0x804f012
+		_delete (func ptr): 0xb7fae4a0
+		_print (func ptr): 0xb7fae538
+		_copy (func ptr): 0xb7fae921
 	name: c
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0c6
-	_construct (func ptr): 0x804f953
-	_build (func ptr): 0x804f4e8
-	_initialise (func ptr): 0x804f949
-	_execute (func ptr): 0x804f94e
-	_destroy (func ptr): 0x804fd78
+	_defaultConstructor (func ptr): 0xb7fad986
+	_construct (func ptr): 0xb7faf5c2
+	_build (func ptr): 0xb7faf0a2
+	_initialise (func ptr): 0xb7faf5b8
+	_execute (func ptr): 0xb7faf5bd
+	_destroy (func ptr): 0xb7fafb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddc54)
+	constructor function name: c-Construct
+	build function name: c-Build
+	initialise function name: c-Initialise
+	execute function name: c-Execute
+	destroy function name: c-Destroy
+Variable (ptr): (0x805bd38)
 	offsetCount: 1
-	offsets (ptr): 0x80ddcec
+	offsets (ptr): 0x805c020
 		offsets[0]: 8
-	dataTypes (ptr): 0x80ddcfc
+	dataTypes (ptr): 0x805c030
 		dataTypes[0]: 3
-	dataTypeCounts (ptr): 0x80ddd0c
+	dataTypeCounts (ptr): 0x805c040
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd6c
+	dataSizes (ptr): 0x805c0c8
 		dataSizes[0]: 4
-	components (ptr): 0x80ddd1c
+	components (ptr): 0x805c050
 		components[0] (ptr): (nil)
 	structSize: 12
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6dc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbffd6848
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbffd6844
 	allocateSelf = False
-Stg_Class (ptr): 0x80dd75c
+Stg_Class (ptr): 0x805ae70
 	sizeOfSelf: 40
 	_deleteSelf: Yes
 	type: Variable_Register
-	_delete (func ptr): 0x80503dd
-	_print (func ptr): 0x805041d
-	_copy (func ptr): (nil)
+	_delete (func ptr): 0xb7fb0561
+	_print (func ptr): 0xb7fb05a1
+	_copy (func ptr): 0xb7fb06ca
 Setting value 1431655765
 ~~~Scalar~~~
 i=0: 1 1 1 1 1 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Short.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Short.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Automation/tests/testVariable-Short.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,221 +1,246 @@
-Variable_Register (ptr): 0x80dd714
+Variable_Register (ptr): 0x805a7a0
 	count: 5
 	_size: 8
 	_delta: 8
-	_variable (ptr): 0x80dd744
-Component (ptr): 0x80dd76c
-Stg_Object (ptr): 0x80dd76c
-	Stg_Class (ptr): 0x80dd76c
-		sizeOfSelf: 128
+	_variable (ptr): 0x805ae50
+Stg_Component (ptr): 0x805ae80
+Stg_Object (ptr): 0x805ae80
+	Stg_Class (ptr): 0x805ae80
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ebb1
-		_print (func ptr): 0x804ec40
-		_copy (func ptr): 0x804f01a
+		_delete (func ptr): 0xb7f3e4a0
+		_print (func ptr): 0xb7f3e538
+		_copy (func ptr): 0xb7f3e921
 	name: Scalar
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0ce
-	_construct (func ptr): 0x804f95b
-	_build (func ptr): 0x804f4f0
-	_initialise (func ptr): 0x804f951
-	_execute (func ptr): 0x804f956
-	_destroy (func ptr): 0x804fd80
+	_defaultConstructor (func ptr): 0xb7f3d986
+	_construct (func ptr): 0xb7f3f5c2
+	_build (func ptr): 0xb7f3f0a2
+	_initialise (func ptr): 0xb7f3f5b8
+	_execute (func ptr): 0xb7f3f5bd
+	_destroy (func ptr): 0xb7f3fb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd76c)
+	constructor function name: Scalar-Construct
+	build function name: Scalar-Build
+	initialise function name: Scalar-Initialise
+	execute function name: Scalar-Execute
+	destroy function name: Scalar-Destroy
+Variable (ptr): (0x805ae80)
 	offsetCount: 1
-	offsets (ptr): 0x80dd7f4
+	offsets (ptr): 0x805acd0
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dd87c
+	dataTypes (ptr): 0x805ac48
 		dataTypes[0]: 2
-	dataTypeCounts (ptr): 0x80dd944
+	dataTypeCounts (ptr): 0x805b338
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddce4
+	dataSizes (ptr): 0x805c030
 		dataSizes[0]: 2
-	components (ptr): 0x80dd954
+	components (ptr): 0x805b348
 		components[0] (ptr): (nil)
 	structSize: 2
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6ac
-	arrayPtrPtr (ptr): 0xbfffe6fc
+	arrayPtr (ptr): 0x805ade8
+	arrayPtrPtr (ptr): 0xbfd6753c
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfd67534
 	allocateSelf = False
-Component (ptr): 0x80dd97c
-Stg_Object (ptr): 0x80dd97c
-	Stg_Class (ptr): 0x80dd97c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b358
+Stg_Object (ptr): 0x805b358
+	Stg_Class (ptr): 0x805b358
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ebb1
-		_print (func ptr): 0x804ec40
-		_copy (func ptr): (nil)
+		_delete (func ptr): 0xb7f3e4a0
+		_print (func ptr): 0xb7f3e538
+		_copy (func ptr): 0xb7f3e921
 	name: Three
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0ce
-	_construct (func ptr): 0x804f95b
-	_build (func ptr): 0x804f4f0
-	_initialise (func ptr): 0x804f951
-	_execute (func ptr): 0x804f956
-	_destroy (func ptr): 0x804fd80
+	_defaultConstructor (func ptr): 0xb7f3d986
+	_construct (func ptr): 0xb7f3f5c2
+	_build (func ptr): 0xb7f3f0a2
+	_initialise (func ptr): 0xb7f3f5b8
+	_execute (func ptr): 0xb7f3f5bd
+	_destroy (func ptr): 0xb7f3fb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dd97c)
+	constructor function name: Three-Construct
+	build function name: Three-Build
+	initialise function name: Three-Initialise
+	execute function name: Three-Execute
+	destroy function name: Three-Destroy
+Variable (ptr): (0x805b358)
 	offsetCount: 1
-	offsets (ptr): 0x80dda14
+	offsets (ptr): 0x805b648
 		offsets[0]: 0
-	dataTypes (ptr): 0x80dda24
+	dataTypes (ptr): 0x805b658
 		dataTypes[0]: 2
-	dataTypeCounts (ptr): 0x80dda34
+	dataTypeCounts (ptr): 0x805b668
 		dataTypeCounts[0]: 3
-	dataSizes (ptr): 0x80ddcf4
+	dataSizes (ptr): 0x805c040
 		dataSizes[0]: 6
-	components (ptr): 0x80dda44
-		components[0] (ptr): 0x80dda5c
+	components (ptr): 0x805b678
+		components[0] (ptr): 0x805b690
 		components[0]: a
 	structSize: 6
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6cc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ae08
+	arrayPtrPtr (ptr): 0xbfd67538
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfd67534
 	allocateSelf = False
-Component (ptr): 0x80dda5c
-Stg_Object (ptr): 0x80dda5c
-	Stg_Class (ptr): 0x80dda5c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b690
+Stg_Object (ptr): 0x805b690
+	Stg_Class (ptr): 0x805b690
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ebb1
-		_print (func ptr): 0x804ec40
-		_copy (func ptr): 0x804f01a
+		_delete (func ptr): 0xb7f3e4a0
+		_print (func ptr): 0xb7f3e538
+		_copy (func ptr): 0xb7f3e921
 	name: a
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0ce
-	_construct (func ptr): 0x804f95b
-	_build (func ptr): 0x804f4f0
-	_initialise (func ptr): 0x804f951
-	_execute (func ptr): 0x804f956
-	_destroy (func ptr): 0x804fd80
+	_defaultConstructor (func ptr): 0xb7f3d986
+	_construct (func ptr): 0xb7f3f5c2
+	_build (func ptr): 0xb7f3f0a2
+	_initialise (func ptr): 0xb7f3f5b8
+	_execute (func ptr): 0xb7f3f5bd
+	_destroy (func ptr): 0xb7f3fb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80dda5c)
+	constructor function name: a-Construct
+	build function name: a-Build
+	initialise function name: a-Initialise
+	execute function name: a-Execute
+	destroy function name: a-Destroy
+Variable (ptr): (0x805b690)
 	offsetCount: 1
-	offsets (ptr): 0x80ddaf4
+	offsets (ptr): 0x805b978
 		offsets[0]: 0
-	dataTypes (ptr): 0x80ddb04
+	dataTypes (ptr): 0x805b988
 		dataTypes[0]: 2
-	dataTypeCounts (ptr): 0x80ddb14
+	dataTypeCounts (ptr): 0x805b998
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd04
+	dataSizes (ptr): 0x805c050
 		dataSizes[0]: 2
-	components (ptr): 0x80ddb24
+	components (ptr): 0x805b9a8
 		components[0] (ptr): (nil)
 	structSize: 6
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6cc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ae08
+	arrayPtrPtr (ptr): 0xbfd67538
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfd67534
 	allocateSelf = False
-Component (ptr): 0x80ddb34
-Stg_Object (ptr): 0x80ddb34
-	Stg_Class (ptr): 0x80ddb34
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805b9b8
+Stg_Object (ptr): 0x805b9b8
+	Stg_Class (ptr): 0x805b9b8
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ebb1
-		_print (func ptr): 0x804ec40
-		_copy (func ptr): 0x804f01a
+		_delete (func ptr): 0xb7f3e4a0
+		_print (func ptr): 0xb7f3e538
+		_copy (func ptr): 0xb7f3e921
 	name: b
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0ce
-	_construct (func ptr): 0x804f95b
-	_build (func ptr): 0x804f4f0
-	_initialise (func ptr): 0x804f951
-	_execute (func ptr): 0x804f956
-	_destroy (func ptr): 0x804fd80
+	_defaultConstructor (func ptr): 0xb7f3d986
+	_construct (func ptr): 0xb7f3f5c2
+	_build (func ptr): 0xb7f3f0a2
+	_initialise (func ptr): 0xb7f3f5b8
+	_execute (func ptr): 0xb7f3f5bd
+	_destroy (func ptr): 0xb7f3fb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddb34)
+	constructor function name: b-Construct
+	build function name: b-Build
+	initialise function name: b-Initialise
+	execute function name: b-Execute
+	destroy function name: b-Destroy
+Variable (ptr): (0x805b9b8)
 	offsetCount: 1
-	offsets (ptr): 0x80ddbcc
+	offsets (ptr): 0x805bca0
 		offsets[0]: 2
-	dataTypes (ptr): 0x80ddbdc
+	dataTypes (ptr): 0x805bcb0
 		dataTypes[0]: 2
-	dataTypeCounts (ptr): 0x80ddbec
+	dataTypeCounts (ptr): 0x805bcc0
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd14
+	dataSizes (ptr): 0x805c060
 		dataSizes[0]: 2
-	components (ptr): 0x80ddbfc
+	components (ptr): 0x805bcd0
 		components[0] (ptr): (nil)
 	structSize: 6
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6cc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ae08
+	arrayPtrPtr (ptr): 0xbfd67538
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfd67534
 	allocateSelf = False
-Component (ptr): 0x80ddc0c
-Stg_Object (ptr): 0x80ddc0c
-	Stg_Class (ptr): 0x80ddc0c
-		sizeOfSelf: 128
+Stg_Component (ptr): 0x805bce0
+Stg_Object (ptr): 0x805bce0
+	Stg_Class (ptr): 0x805bce0
+		sizeOfSelf: 152
 		_deleteSelf: Yes
 		type: Variable
-		_delete (func ptr): 0x804ebb1
-		_print (func ptr): 0x804ec40
-		_copy (func ptr): 0x804f01a
+		_delete (func ptr): 0xb7f3e4a0
+		_print (func ptr): 0xb7f3e538
+		_copy (func ptr): 0xb7f3e921
 	name: c
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x804e0ce
-	_construct (func ptr): 0x804f95b
-	_build (func ptr): 0x804f4f0
-	_initialise (func ptr): 0x804f951
-	_execute (func ptr): 0x804f956
-	_destroy (func ptr): 0x804fd80
+	_defaultConstructor (func ptr): 0xb7f3d986
+	_construct (func ptr): 0xb7f3f5c2
+	_build (func ptr): 0xb7f3f0a2
+	_initialise (func ptr): 0xb7f3f5b8
+	_execute (func ptr): 0xb7f3f5bd
+	_destroy (func ptr): 0xb7f3fb1a
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-Variable (ptr): (0x80ddc0c)
+	constructor function name: c-Construct
+	build function name: c-Build
+	initialise function name: c-Initialise
+	execute function name: c-Execute
+	destroy function name: c-Destroy
+Variable (ptr): (0x805bce0)
 	offsetCount: 1
-	offsets (ptr): 0x80ddca4
+	offsets (ptr): 0x805bfc8
 		offsets[0]: 4
-	dataTypes (ptr): 0x80ddcb4
+	dataTypes (ptr): 0x805bfd8
 		dataTypes[0]: 2
-	dataTypeCounts (ptr): 0x80ddcc4
+	dataTypeCounts (ptr): 0x805bfe8
 		dataTypeCounts[0]: 1
-	dataSizes (ptr): 0x80ddd24
+	dataSizes (ptr): 0x805c070
 		dataSizes[0]: 2
-	components (ptr): 0x80ddcd4
+	components (ptr): 0x805bff8
 		components[0] (ptr): (nil)
 	structSize: 6
 	structSizePtr (ptr): (nil)
-	arrayPtr (ptr): 0x80dd6cc
-	arrayPtrPtr (ptr): 0xbfffe6f8
+	arrayPtr (ptr): 0x805ae08
+	arrayPtrPtr (ptr): 0xbfd67538
 	arraySize: 10
-	arraySizePtr (ptr): 0xbfffe6f4
+	arraySizePtr (ptr): 0xbfd67534
 	allocateSelf = False
-Stg_Class (ptr): 0x80dd714
+Stg_Class (ptr): 0x805a7a0
 	sizeOfSelf: 40
 	_deleteSelf: Yes
 	type: Variable_Register
-	_delete (func ptr): 0x80503e5
-	_print (func ptr): 0x8050425
-	_copy (func ptr): (nil)
+	_delete (func ptr): 0xb7f40561
+	_print (func ptr): 0xb7f405a1
+	_copy (func ptr): 0xb7f406ca
 Setting value 21845
 ~~~Scalar~~~
 i=0: 1 1 1 1 1 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/src/HashTable.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/src/HashTable.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/src/HashTable.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -168,6 +168,12 @@
 				if( self->dataDeleteFunction ){
 					self->dataDeleteFunction( (void*) he->data );
 				}
+				if( self->keyType == HASHTABLE_POINTER_KEY){
+					/* TODO: anything to be freed here? */
+				}
+				else{
+					Memory_Free( (char*)he->key );
+				}
 				
 				heTemp = he->next;
 				free( he ); /** Freeing the Entry without calling the Class_Delete function, because HashTable_Entry does not inherit __Class */
@@ -411,7 +417,7 @@
 		he->key = (void*)key;
 	}
 	else{
-		he->key = strdup( (char *)key );
+		he->key = StG_Strdup( (char *)key );
 	}
 	
 	he->keyLength = keyLen;

Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/tests/testHashTable.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/tests/testHashTable.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/tests/testHashTable.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -106,7 +106,7 @@
 		dataFile = fopen( "dictionary.txt", "r+" );
 		memset( buffer, 0, sizeof( buffer ) );
 		while( (fgets( buffer, sizeof(buffer), dataFile ) != NULL) ){
-			data = strdup(buffer);
+			data = StG_Strdup(buffer);
 			result = HashTable_InsertEntry( table, (void*)data, strlen(buffer), (void*)data, strlen(buffer));
 			if( result > 1 ){
 				Journal_Printf( myStream, "Incurred %d collisions while inserting %s", result, buffer );
@@ -157,7 +157,7 @@
 		memset( buffer, 0, sizeof( buffer ) );
 		count = 0;
 		while( (fgets( buffer, sizeof(buffer), dataFile ) != NULL) ){
-			data = strdup(buffer);
+			data = StG_Strdup(buffer);
 			result = HashTable_InsertEntry( ptrTable, (void*)data, sizeof(void*), (void*)data, strlen(buffer));
 			if( result > 1 ){
 				Journal_Printf( myStream, "Incurred %d collisions while inserting (ptr)%p\n", result, data );

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -29,6 +29,7 @@
 **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
 #include <stdarg.h>
+#include <mpi.h>  /* subsequent files need this */
 #include "Base/Foundation/Foundation.h"
 #include "Base/IO/IO.h"
 #include "Base/Container/Container.h"
@@ -38,63 +39,69 @@
 #include "units.h"
 #include "types.h"
 #include "shortcuts.h"
+#include "AbstractContext.h"
 #include "ContextEntryPoint.h"
-#include <mpi.h>  /* subsequent files need this */
-#include "AbstractContext.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
 #include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
 
 /* AbstractContext entry point names */
-char AbstractContext_EP_Setup[] = "AbstractContext_EP_Setup";
-char AbstractContext_EP_ConstructExtensions[] = "AbstractContext_EP_ConstructExtensions";
-char AbstractContext_EP_Build[] = "AbstractContext_EP_Build";
-char AbstractContext_EP_IC[] = "AbstractContext_EP_IC";
-char AbstractContext_EP_Run[] = "AbstractContext_EP_Run";
-char AbstractContext_EP_Dt[] = "AbstractContext_EP_Dt";
-char AbstractContext_EP_Step[] = "AbstractContext_EP_Step";
-char AbstractContext_EP_UpdateClass[] = "AbstractContext_EP_UpdateClass";
-char AbstractContext_EP_BC[] = "AbstractContext_EP_BC";
-char AbstractContext_EP_Solve[] = "AbstractContext_EP_Solve";
-char AbstractContext_EP_Sync[] = "AbstractContext_EP_Sync";
-char AbstractContext_EP_DeleteExtensions[] = "AbstractContext_EP_DeleteExtensions";
-char AbstractContext_EP_FrequentOutput[] = "AbstractContext_EP_FrequentOutput";
-char AbstractContext_EP_Dump[] = "AbstractContext_EP_Dump";
-char AbstractContext_EP_DumpClass[] = "AbstractContext_EP_DumpClass";
-char AbstractContext_EP_Save[] = "AbstractContext_EP_Save";
-char AbstractContext_EP_SaveClass[] = "AbstractContext_EP_SaveClass";
+Type AbstractContext_EP_Setup =  "AbstractContext_EP_Setup";
+Type AbstractContext_EP_ConstructExtensions =  "AbstractContext_EP_ConstructExtensions";
+Type AbstractContext_EP_Build =  "AbstractContext_EP_Build";
+Type AbstractContext_EP_IC =  "AbstractContext_EP_IC";
+Type AbstractContext_EP_Run =  "AbstractContext_EP_Run";
+Type AbstractContext_EP_Dt =  "AbstractContext_EP_Dt";
+Type AbstractContext_EP_Step =  "AbstractContext_EP_Step";
+Type AbstractContext_EP_UpdateClass =  "AbstractContext_EP_UpdateClass";
+Type AbstractContext_EP_BC =  "AbstractContext_EP_BC";
+Type AbstractContext_EP_Solve =  "AbstractContext_EP_Solve";
+Type AbstractContext_EP_Sync =  "AbstractContext_EP_Sync";
+Type AbstractContext_EP_DeleteExtensions =  "AbstractContext_EP_DeleteExtensions";
+Type AbstractContext_EP_FrequentOutput =  "AbstractContext_EP_FrequentOutput";
+Type AbstractContext_EP_Dump =  "AbstractContext_EP_Dump";
+Type AbstractContext_EP_DumpClass =  "AbstractContext_EP_DumpClass";
+Type AbstractContext_EP_Save =  "AbstractContext_EP_Save";
+Type AbstractContext_EP_SaveClass =  "AbstractContext_EP_SaveClass";
 
+
+/* Class stuff ********************************************************************************************************************/
+
+
 /* Textual name of this class */
 const Type AbstractContext_Type = "AbstractContext";
 
 AbstractContext* _AbstractContext_New(
-		SizeT				_sizeOfSelf,
-		Type				type,
-		Stg_Class_DeleteFunction*		_delete,
-		Stg_Class_PrintFunction*		_print,
-		Stg_Class_CopyFunction*		_copy, 
+		SizeT						_sizeOfSelf,
+		Type						type,
+		Stg_Class_DeleteFunction*			_delete,
+		Stg_Class_PrintFunction*			_print,
+		Stg_Class_CopyFunction*				_copy, 
 		Stg_Component_DefaultConstructorFunction*	_defaultConstructor,
-		Stg_Component_ConstructFunction*			_construct,
-		Stg_Component_BuildFunction*		_build,
+		Stg_Component_ConstructFunction*		_construct,
+		Stg_Component_BuildFunction*			_build,
 		Stg_Component_InitialiseFunction*		_initialise,
-		Stg_Component_ExecuteFunction*		_execute,
-		Stg_Component_DestroyFunction*		_destroy,
-		Name							name,
+		Stg_Component_ExecuteFunction*			_execute,
+		Stg_Component_DestroyFunction*			_destroy,
+		Name						name,
 		Bool						initFlag,
-		AbstractContext_SetDt*		_setDt,
-		double				startTime,
-		double				stopTime,
-		MPI_Comm			communicator,
-		Dictionary*			dictionary )
+		AbstractContext_SetDt*				_setDt,
+		double						startTime,
+		double						stopTime,
+		MPI_Comm					communicator,
+		Dictionary*					dictionary )
 {
 	AbstractContext* self;
 	
 	/* Allocate memory */
 	assert( _sizeOfSelf >= sizeof(AbstractContext) );
-	self = (AbstractContext*)_Stg_Component_New( _sizeOfSelf, type, _delete, _print, _copy, _defaultConstructor, _construct, _build, 
-			_initialise, _execute, _destroy, name, NON_GLOBAL );
+	self = (AbstractContext*)_Stg_Component_New( _sizeOfSelf, type, _delete, _print, _copy, _defaultConstructor, _construct, 
+			_build, _initialise, _execute, _destroy, name, NON_GLOBAL );
 	
 	/* General info */
 	self->dictionary = dictionary;
@@ -254,7 +261,7 @@
 		double dtFromFile;
 		self->loadFromCheckPoint = True;
 		self->timeStep = self->restartTimestep;
-		_AbstractContext_LoadTimeInfoFromCheckPoint( self, &dtFromFile );
+		_AbstractContext_LoadTimeInfoFromCheckPoint( self, self->restartTimestep, &dtFromFile );
 	}
 	else {
 		self->loadFromCheckPoint = False;
@@ -429,6 +436,87 @@
 }
 
 
+/* Component stuff ****************************************************************************************************************/
+
+
+void _AbstractContext_Build( void* context, void* data ) {
+	AbstractContext* self = (AbstractContext*)context;
+	Bool			isBuilt;
+	
+	Journal_Printf( self->debug, "In: %s\n", __func__ );
+
+	#ifdef DEBUG
+		Context_WarnIfNoHooks( self, self->buildK, __func__  );
+	#endif
+	
+	/* Pre-mark the phase as complete as a default hook will attempt to build all live components (including this again) */
+	isBuilt = self->isBuilt;
+	self->isBuilt = True;
+	KeyCall( self, self->buildK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->buildK), self );
+	self->isBuilt = isBuilt;
+}
+
+
+void _AbstractContext_Initialise( void* context, void* data ) {
+	AbstractContext*	self = (AbstractContext*)context;
+	Bool			isInitialised;
+	
+	Journal_Printf( self->debug, "In: %s\n", __func__ );
+
+	#ifdef DEBUG
+		AbstractContext_WarnIfNoHooks( self, self->icK, __func__ );
+	#endif
+	
+	/* Pre-mark the phase as complete as a default hook will attempt to initialise all live components (including this again) */
+	isInitialised = self->isInitialised;
+	self->isInitialised = True;
+	KeyCall( self, self->icK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->icK), self );
+	self->isInitialised = isInitialised;
+}
+
+
+void _AbstractContext_Execute( void* context, void* data ) {
+	AbstractContext* 	self = (AbstractContext*)context;
+	Bool			hasExecuted;
+	
+	Journal_Printf( self->debug, "In: %s\n", __func__ );
+
+	#if DEBUG
+		AbstractContext_WarnIfNoHooks( self, self->runK, __func__ );
+	#endif
+	
+	/* Pre-mark the phase as complete as a default hook will attempt to initialise all live components (including this again) */
+	hasExecuted = self->hasExecuted;
+	self->hasExecuted = True;
+	KeyCall( self, self->runK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->runK), self );
+	// TODO... delay delete extensions until "destroy"
+	KeyCall( self, self->deleteExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->deleteExtensionsK), self );
+	self->hasExecuted = hasExecuted;
+}
+
+
+void _AbstractContext_Destroy( void* context, void* data ) {
+	AbstractContext*	self = (AbstractContext*)context;
+	Bool			isDestroyed;
+	
+	Journal_Printf( self->debug, "In: %s\n", __func__ );
+
+	#ifdef DEBUG
+		AbstractContext_WarnIfNoHooks( self, self->icK, __func__ );
+	#endif
+	
+	/* Pre-mark the phase as complete as a default hook will attempt to initialise all live components (including this again) */
+	isDestroyed = self->isDestroyed;
+	self->isDestroyed = True;
+	// TODO... DeleteExtensions?
+	//KeyCall( self, self->deleteExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->deleteExtensionsK), self );
+	self->isDestroyed = isDestroyed;
+}
+
+
+/* Context public stuff ***********************************************************************************************************/
+
+
 void AbstractContext_PrintConcise( void* abstractContext, Stream* stream ) {
 	AbstractContext* self = (AbstractContext*)abstractContext;
 	EntryPoint_Index entryPointIndex;
@@ -497,19 +585,6 @@
 	KeyCall( self, self->setupK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->setupK), self );
 }
 
-void AbstractContext_Run( void* context ) {
-	AbstractContext* self = (AbstractContext*)context;
-
-	Journal_Printf( self->debug, "In: %s\n", __func__ );
-
-	#if DEBUG
-		AbstractContext_WarnIfNoHooks( self, self->runK, __func__ );
-	#endif
-	
-	KeyCall( self, self->runK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->runK), self );
-	KeyCall( self, self->deleteExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->deleteExtensionsK), self );
-}
-
 double AbstractContext_Dt( void* context ) {
 	AbstractContext* self = (AbstractContext*)context;
 
@@ -528,47 +603,79 @@
 void AbstractContext_Main( void* context ) {
 	AbstractContext* self = (AbstractContext*)context;
 	AbstractContext_Setup( self );
-	AbstractContext_Run( self );
+	Stg_Component_Execute( self, 0 /* dummy */, False );
 }
 
 
-void _AbstractContext_Setup( Context* context ) {
+void AbstractContext_WarnIfNoHooks( void* context, EntryPoint_Index epIndex, const char* caller ) {
 	AbstractContext* self = (AbstractContext*)context;
-	
-	Journal_Printf( self->debug, "In: %s\n", __func__ );
-	
-	AbstractContext_Build( self );
-	AbstractContext_Initialise( self );
+	EntryPoint_WarnIfNoHooks( EntryPoint_Register_At( self->entryPoint_Register, epIndex ), caller );
 }
 
 
-void AbstractContext_Build( void* context ) {
+void AbstractContext_ErrorIfNoHooks( void* context, EntryPoint_Index epIndex, const char* caller ) {
 	AbstractContext* self = (AbstractContext*)context;
+	EntryPoint_ErrorIfNoHooks( EntryPoint_Register_At( self->entryPoint_Register, epIndex ), caller );
+}
+
+void AbstractContext_FrequentOutput( void* context ) {
+	AbstractContext* self = (AbstractContext*)context;
+
+	KeyCall( self, self->frequentOutputK, EntryPoint_Class_VoidPtr_CallCast* )( 
+			KeyHandle(self,self->frequentOutputK), self );
+}
+
+void AbstractContext_Dump( void* context ) {
+	AbstractContext* self = (AbstractContext*)context;
+
+	KeyCall( self, self->dumpK, EntryPoint_VoidPtr_CallCast* )(      
+			KeyHandle(self,self->dumpK), self );
+	KeyCall( self, self->dumpClassK, EntryPoint_Class_VoidPtr_CallCast* )(
+			KeyHandle(self,self->dumpClassK), self );
+}
+
+void AbstractContext_Save( void* context ) {
+	AbstractContext* self = (AbstractContext*)context;
+
+	KeyCall( self, self->saveK, EntryPoint_VoidPtr_CallCast* )(     
+			KeyHandle(self,self->saveK), self );
+	KeyCall( self, self->saveClassK, EntryPoint_Class_VoidPtr_CallCast* )(      
+			KeyHandle(self,self->saveClassK), self );
+}
+
+
+void AbstractContext_BuildAllLiveComponents( void* context ) {
+	AbstractContext*       self = (AbstractContext*) context;	
 	
-	Journal_Printf( self->debug, "In: %s\n", __func__ );
+	/* Build all on Live Stg_Component Register */
+	if ( self->CF && self->CF->LCRegister )
+		LiveComponentRegister_BuildAll( self->CF->LCRegister, self );
+}
 
-	#ifdef DEBUG
-		Context_WarnIfNoHooks( self, self->buildK, __func__  );
-	#endif
+
+void AbstractContext_InitialiseAllLiveComponents( void* context ) {
+	AbstractContext*       self = (AbstractContext*) context;	
 	
-	PluginsManager_Load( self->plugins, self, self->dictionary );
-	KeyCall( self, self->constructExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->constructExtensionsK), self );
-	Journal_ReadFromDictionary( self->dictionary );
-	
-	KeyCall( self, self->buildK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->buildK), self );
+	/* Build all on Live Stg_Component Register */
+	if ( self->CF && self->CF->LCRegister )
+		LiveComponentRegister_InitialiseAll( self->CF->LCRegister, self );
 }
 
 
-void AbstractContext_Initialise( void* context ) {
+/* Context public stuff ***********************************************************************************************************/
+
+
+void _AbstractContext_Setup( Context* context ) {
 	AbstractContext* self = (AbstractContext*)context;
 	
 	Journal_Printf( self->debug, "In: %s\n", __func__ );
-
-	#ifdef DEBUG
-		AbstractContext_WarnIfNoHooks( self, self->icK, __func__ );
-	#endif
 	
-	KeyCall( self, self->icK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->icK), self );
+	PluginsManager_Load( self->plugins, self, self->dictionary );
+	KeyCall( self, self->constructExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->constructExtensionsK), self );
+	Journal_ReadFromDictionary( self->dictionary );
+	
+	_AbstractContext_Build( self, 0 /* dummy */ );
+	_AbstractContext_Initialise( self, 0 /* dummy */ );
 }
 
 
@@ -602,20 +709,28 @@
 	
 	self->timeStepSinceJobRestart = 1;
 
+	/* Set timeStep to 0 if not restarting, so that incrementing timestep below affects both
+		regular and restart mode -- PatrickSunter - 18 June 2006 */
 	if ( False == self->loadFromCheckPoint ) {
-		self->timeStep = 1;
+		self->timeStep = 0;
 		self->currentTime = self->startTime;
 	}
+	
+	self->timeStep++;
 
 	while (1) {
 		if ( ( True == self->loadFromCheckPoint ) &&
 			( self->timeStep == self->restartTimestep + 1 ) )
 		{ 
-			_AbstractContext_LoadTimeInfoFromCheckPoint( self, &dtLoadedFromFile );
+			/* Note: when checkpointing time info, we called AbstractContext_Dt( self )
+			at the end of the step we were restarting from, which should be equivalent to the
+			call here - and that calculation may be dependent on the solver info for that step,
+			so we need to reload it here */
+			_AbstractContext_LoadTimeInfoFromCheckPoint( self, self->restartTimestep, &dtLoadedFromFile );
 			dt = dtLoadedFromFile;
 		}	
 		else {
-			dt = AbstractContext_Dt( context );
+			dt = AbstractContext_Dt( self );
 		}
 
 		AbstractContext_Step( self, dt );
@@ -652,7 +767,8 @@
 	 * have just synchronised while calculating timestep anyway. */
 	MPI_Barrier( self->communicator );
 	Journal_DPrintf( self->debug, "In: %s\n", __func__ );
-	Journal_Printf( self->info, "TimeStep = %d, Start time = %.6g + %.6g prev timeStep dt\n", self->timeStep, self->currentTime, dt );
+	Journal_Printf( self->info, "TimeStep = %d, Start time = %.6g + %.6g prev timeStep dt\n",
+		self->timeStep, self->currentTime, dt );
 
 	if (self->loadFromCheckPoint) {
 		Journal_Printf( self->info, "TimeStep since job restart = %d\n", self->timeStepSinceJobRestart );
@@ -670,101 +786,34 @@
 }
 
 
-void AbstractContext_WarnIfNoHooks( void* context, EntryPoint_Index epIndex, const char* caller ) {
-	AbstractContext* self = (AbstractContext*)context;
-	EntryPoint_WarnIfNoHooks( EntryPoint_Register_At( self->entryPoint_Register, epIndex ), caller );
-}
-
-
-void AbstractContext_ErrorIfNoHooks( void* context, EntryPoint_Index epIndex, const char* caller ) {
-	AbstractContext* self = (AbstractContext*)context;
-	EntryPoint_ErrorIfNoHooks( EntryPoint_Register_At( self->entryPoint_Register, epIndex ), caller );
-}
-
-void AbstractContext_FrequentOutput( void* context ) {
-	AbstractContext* self = (AbstractContext*)context;
-
-	KeyCall( self, self->frequentOutputK, EntryPoint_Class_VoidPtr_CallCast* )( 
-			KeyHandle(self,self->frequentOutputK), self );
-}
-
-void AbstractContext_Dump( void* context ) {
-	AbstractContext* self = (AbstractContext*)context;
-
-	KeyCall( self, self->dumpK, EntryPoint_VoidPtr_CallCast* )(      
-			KeyHandle(self,self->dumpK), self );
-	KeyCall( self, self->dumpClassK, EntryPoint_Class_VoidPtr_CallCast* )(
-			KeyHandle(self,self->dumpClassK), self );
-}
-
-void AbstractContext_Save( void* context ) {
-	AbstractContext* self = (AbstractContext*)context;
-
-	KeyCall( self, self->saveK, EntryPoint_VoidPtr_CallCast* )(     
-			KeyHandle(self,self->saveK), self );
-	KeyCall( self, self->saveClassK, EntryPoint_Class_VoidPtr_CallCast* )(      
-			KeyHandle(self,self->saveClassK), self );
-}
-
-
-void _AbstractContext_LoadTimeInfoFromCheckPoint( Context* self, double* dtLoadedFromFile ) {
+void _AbstractContext_LoadTimeInfoFromCheckPoint( Context* self, Index timeStep, double* dtLoadedFromFile ) {
 	char*                  timeInfoFileName = NULL;
-	Index                  inputStrLen = 0;
 	FILE*                  timeInfoFile;		
+	Stream*                errorStr = Journal_Register( Error_Type, self->type );
 
-	self->timeStep = self->restartTimestep + 1; 
-	inputStrLen = strlen(self->outputPath) + 1 + 8 + 1 + 5 + 1 + 3 + 1;
-	if ( strlen(self->checkPointPrefixString) > 0 ) {
-		inputStrLen += strlen(self->checkPointPrefixString) + 1;
-	}
-	timeInfoFileName = Memory_Alloc_Array( char, inputStrLen, "timeInfoFileName" );
-
-	if ( strlen(self->checkPointPrefixString) > 0 ) {
-		sprintf( timeInfoFileName, "%s/%s.", self->outputPath, self->checkPointPrefixString );
-	}
-	else {
-		sprintf( timeInfoFileName, "%s/", self->outputPath );
-	}
-	sprintf( timeInfoFileName, "%stimeInfo.%.5u.dat", timeInfoFileName, self->restartTimestep );
-
+	timeInfoFileName = AbstractContext_GetTimeInfoFileNameForGivenTimeStep( self, timeStep ); 
 	timeInfoFile = fopen( timeInfoFileName, "r" );
-
-	if ( False == timeInfoFile ) {
-		Stream*    errorStr = Journal_Register( Error_Type, self->type );
-		Journal_Printf( errorStr, "Error- in %s(), Couldn't find checkpoint time info file with "
+	Journal_Firewall( NULL != timeInfoFile, errorStr, "Error- in %s(), Couldn't find checkpoint time info file with "
 		"filename \"%s\" - aborting.\n", __func__, timeInfoFileName );
-		exit(EXIT_FAILURE);
-	}
 
 	/* set currentTime and Dt loaded from file */
 	fscanf( timeInfoFile, "%lg", &self->currentTime );
 	fscanf( timeInfoFile, "%lg", dtLoadedFromFile );
 	fclose( timeInfoFile );
+	Memory_Free( timeInfoFileName );
 }
 		
+
 void _AbstractContext_SaveTimeInfo( Context* context ) {
+	AbstractContext*       self = context;	
 	char*                  timeInfoFileName = NULL;
-	Index                  timeInfoStrLen = 0;
 	FILE*                  timeInfoFile;	
-	AbstractContext*       self = context;	
 
 	/* Only the master process needs to write this file */
 	if ( 0 != self->rank ) return;
 
-	timeInfoStrLen = strlen(self->outputPath) + 1 + 8 + 1 + 5 + 1 + 3 + 1;
-	if ( strlen(self->checkPointPrefixString) > 0 ) {
-		timeInfoStrLen += strlen(self->checkPointPrefixString) + 1;
-	}
-	timeInfoFileName = Memory_Alloc_Array( char, timeInfoStrLen, "timeInfoFileName" );
-
-	if ( strlen(self->checkPointPrefixString) > 0 ) {
-		sprintf( timeInfoFileName, "%s/%s.", self->outputPath, self->checkPointPrefixString );
-	}
-	else {
-		sprintf( timeInfoFileName, "%s/", self->outputPath );
-	}
-	sprintf( timeInfoFileName, "%stimeInfo.%.5u.dat", timeInfoFileName, self->timeStep );
-
+	timeInfoFileName = AbstractContext_GetTimeInfoFileNameForGivenTimeStep( self, self->timeStep ); 
+	
 	timeInfoFile = fopen( timeInfoFileName, "w" );
 
 	if ( False == timeInfoFile ) {
@@ -778,21 +827,46 @@
 	fprintf( timeInfoFile, "%lg ", context->currentTime );
 	fprintf( timeInfoFile, "%lg\n", AbstractContext_Dt( context ) );
 	fclose( timeInfoFile );
+	Memory_Free( timeInfoFileName );
 }
 
-void AbstractContext_BuildAllLiveComponents( void* context ) {
-	AbstractContext*       self = (AbstractContext*) context;	
-	
-	/* Build all on Live Stg_Component Register */
-	if ( self->CF && self->CF->LCRegister )
-		LiveComponentRegister_BuildAll( self->CF->LCRegister, self );
+
+Bool AbstractContext_CheckPointExists( void* context, Index timeStep ) {
+	AbstractContext*       self = context;	
+	char*                  timeInfoFileName = NULL;
+	struct stat            statInfo;
+	int                    statResult;
+
+	timeInfoFileName = AbstractContext_GetTimeInfoFileNameForGivenTimeStep( self, self->timeStep ); 
+	statResult = stat( timeInfoFileName, &statInfo );
+
+	if ( 0 == statResult ) {
+		return True;
+	}
+	else {
+		return False;
+	}
 }
 
 
-void AbstractContext_InitialiseAllLiveComponents( void* context ) {
-	AbstractContext*       self = (AbstractContext*) context;	
-	
-	/* Build all on Live Stg_Component Register */
-	if ( self->CF && self->CF->LCRegister )
-		LiveComponentRegister_InitialiseAll( self->CF->LCRegister, self );
+char* AbstractContext_GetTimeInfoFileNameForGivenTimeStep( void* context, Index timeStep ) {
+	AbstractContext*       self = context;	
+	char*                  timeInfoFileName = NULL;
+	Index                  timeInfoStrLen = 0;
+
+	timeInfoStrLen = strlen(self->outputPath) + 1 + 8 + 1 + 5 + 1 + 3 + 1;
+	if ( strlen(self->checkPointPrefixString) > 0 ) {
+		timeInfoStrLen += strlen(self->checkPointPrefixString) + 1;
+	}
+	timeInfoFileName = Memory_Alloc_Array( char, timeInfoStrLen, "timeInfoFileName" );
+
+	if ( strlen(self->checkPointPrefixString) > 0 ) {
+		sprintf( timeInfoFileName, "%s/%s.", self->outputPath, self->checkPointPrefixString );
+	}
+	else {
+		sprintf( timeInfoFileName, "%s/", self->outputPath );
+	}
+	sprintf( timeInfoFileName, "%stimeInfo.%.5u.dat", timeInfoFileName, timeStep );
+
+	return timeInfoFileName;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/AbstractContext.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -55,23 +55,23 @@
 	
 	
 	/* AbstractContext entry point names */
-	extern char AbstractContext_EP_Setup[];
-	extern char AbstractContext_EP_ConstructExtensions[];
-	extern char AbstractContext_EP_Build[];
-	extern char AbstractContext_EP_IC[];
-	extern char AbstractContext_EP_Run[];
-	extern char AbstractContext_EP_Dt[];
-	extern char AbstractContext_EP_Step[];
-	extern char AbstractContext_EP_UpdateClass[];
-	extern char AbstractContext_EP_BC[];
-	extern char AbstractContext_EP_Solve[];
-	extern char AbstractContext_EP_Sync[];
-	extern char AbstractContext_EP_FrequentOutput[];
-	extern char AbstractContext_EP_Dump[];
-	extern char AbstractContext_EP_DumpClass[];
-	extern char AbstractContext_EP_Save[];
-	extern char AbstractContext_EP_SaveClass[];
-	extern char AbstractContext_EP_DeleteExtensions[];
+	extern Type AbstractContext_EP_Setup;
+	extern Type AbstractContext_EP_ConstructExtensions;
+	extern Type AbstractContext_EP_Build;
+	extern Type AbstractContext_EP_IC;
+	extern Type AbstractContext_EP_Run;
+	extern Type AbstractContext_EP_Dt;
+	extern Type AbstractContext_EP_Step;
+	extern Type AbstractContext_EP_UpdateClass;
+	extern Type AbstractContext_EP_BC;
+	extern Type AbstractContext_EP_Solve;
+	extern Type AbstractContext_EP_Sync;
+	extern Type AbstractContext_EP_FrequentOutput;
+	extern Type AbstractContext_EP_Dump;
+	extern Type AbstractContext_EP_DumpClass;
+	extern Type AbstractContext_EP_Save;
+	extern Type AbstractContext_EP_SaveClass;
+	extern Type AbstractContext_EP_DeleteExtensions;
 	
 	/* Textual name of this class */
 	extern const Type AbstractContext_Type;
@@ -147,29 +147,30 @@
 		
 	struct AbstractContext { __AbstractContext };
 	
+	/* Class stuff ************************************************************************************************************/
 	
 	/* No "AbstractContext_New" and "AbstractContext_Init" as this is an abstract class */
 	
 	/* Creation implementation / Virtual constructor */
 	AbstractContext* _AbstractContext_New( 
-		SizeT				_sizeOfSelf,
-		Type				type,
-		Stg_Class_DeleteFunction*		_delete,
-		Stg_Class_PrintFunction*		_print,
-		Stg_Class_CopyFunction*		_copy, 
+		SizeT						_sizeOfSelf,
+		Type						type,
+		Stg_Class_DeleteFunction*			_delete,
+		Stg_Class_PrintFunction*			_print,
+		Stg_Class_CopyFunction*				_copy, 
 		Stg_Component_DefaultConstructorFunction*	_defaultConstructor,
-		Stg_Component_ConstructFunction*			_construct,
-		Stg_Component_BuildFunction*		_build,
+		Stg_Component_ConstructFunction*		_construct,
+		Stg_Component_BuildFunction*			_build,
 		Stg_Component_InitialiseFunction*		_initialise,
-		Stg_Component_ExecuteFunction*		_execute,
-		Stg_Component_DestroyFunction*		_destroy,
-		Name							name,
+		Stg_Component_ExecuteFunction*			_execute,
+		Stg_Component_DestroyFunction*			_destroy,
+		Name						name,
 		Bool						initFlag,
-		AbstractContext_SetDt*		_setDt,
-		double				startTime,
-		double				stopTime,
-		MPI_Comm			communicator,
-		Dictionary*			dictionary );
+		AbstractContext_SetDt*				_setDt,
+		double						startTime,
+		double						stopTime,
+		MPI_Comm					communicator,
+		Dictionary*					dictionary );
 	
 	/* Initialisation implementation */
 	void _AbstractContext_Init( 
@@ -185,18 +186,43 @@
 	/* Print implementation */
 	void _AbstractContext_Print( void* abstractContext, Stream* stream );
 	
+	
+	/* Component stuff ********************************************************************************************************/
+	
+	
+	/* Build the solver ... allocates memory (builds arrays) */
+	void _AbstractContext_Build( void* context, void* data );
+	
+	/* Initialise the solver ... initialises memory (fills arrays with initial values) */
+	void _AbstractContext_Initialise( void* context, void* data );
+	
+	/* Run the solver */
+	void _AbstractContext_Execute( void* context, void* data );
+	
+	/* Destroy the solver */
+	void _AbstractContext_Destroy( void* context, void* data );
+	
+	
+	/* Context public methods *************************************************************************************************/
+	
+	
 	/* Print entry points utility */
 	void AbstractContext_PrintConcise( void* abstractContext, Stream* stream );
 	
-	EntryPoint_Index AbstractContext_AddEntryPoint( 
-		void* 				abstractContext, 
-		void*				entryPoint );
+	EntryPoint_Index AbstractContext_AddEntryPoint( void* abstractContext, void* entryPoint );
 	
 	/* Add an entry point. "castType" is ignored unless this is a new entry point. Returns a key to the entry. */
-	EntryPoint* AbstractContext_GetEntryPoint( 
-		void* 				abstractContext, 
-		const Name 				entryPointName ); 
+	EntryPoint* AbstractContext_GetEntryPoint( void* abstractContext, const Name entryPointName ); 
 	
+	/* Runs the AbstractContext_EP_FrequentOutput Entry Point */
+	void AbstractContext_FrequentOutput( void* context ) ;
+	
+	/* Runs the AbstractContext_EP_Dump and AbstractContext_EP_DumpClass Entry Points */
+	void AbstractContext_Dump( void* context ) ;
+	
+	/* Runs the AbstractContext_EP_Save Entry Point */
+	void AbstractContext_Save( void* context ) ;
+
 	/* Run an entry point... resolving from name (slower) */
 	#define AbstractContext_Call( self, name, cast, handle )	((cast)_AbstractContext_Call( self, name, &handle ))
 	Func_Ptr _AbstractContext_Call( void* abstractContext, Name name, void** handle );
@@ -210,15 +236,6 @@
 	/* Setup the solver ... build and initialise */
 	void AbstractContext_Setup( void* context );
 	
-	/* Run the solver */
-	void AbstractContext_Run( void* context );
-	
-	/* Build the solver ... allocates memory (builds arrays) */
-	void AbstractContext_Build( void* context );
-	
-	/* Initialise the solver ... initialises memory (fills arrays with initial values) */
-	void AbstractContext_Initialise( void* context );
-	
 	/* Obtain the Dt */
 	double AbstractContext_Dt( void* context );
 	
@@ -233,6 +250,16 @@
 	
 	/* function to error if no hooks to an entrypoint defined */
 	void AbstractContext_ErrorIfNoHooks( void* context, EntryPoint_Index epIndex, const char* caller );
+	
+	void AbstractContext_BuildAllLiveComponents( void* context ) ;
+	void AbstractContext_InitialiseAllLiveComponents( void* context ) ;
+
+	Bool AbstractContext_CheckPointExists( void* context, Index timeStep );
+	char* AbstractContext_GetTimeInfoFileNameForGivenTimeStep( void* context, Index timeStep );
+	
+	/* Context prvate methods *************************************************************************************************/
+	
+	
 	/* Setup the solver implementation */
 	void _AbstractContext_Setup( Context* context );
 	
@@ -242,19 +269,7 @@
 	/* Step the solver implementation */
 	void _AbstractContext_Step( Context* context, double dt );
 	
-	/* Runs the AbstractContext_EP_FrequentOutput Entry Point */
-	void AbstractContext_FrequentOutput( void* context ) ;
-	
-	/* Runs the AbstractContext_EP_Dump and AbstractContext_EP_DumpClass Entry Points */
-	void AbstractContext_Dump( void* context ) ;
-	
-	/* Runs the AbstractContext_EP_Save Entry Point */
-	void AbstractContext_Save( void* context ) ;
-
-	void _AbstractContext_LoadTimeInfoFromCheckPoint( Context* context, double* dtLoadedFromFile );
+	void _AbstractContext_LoadTimeInfoFromCheckPoint( Context* self, Index timeStep, double* dtLoadedFromFile );
 	void _AbstractContext_SaveTimeInfo( Context* context );
 
-	void AbstractContext_BuildAllLiveComponents( void* context ) ;
-	void AbstractContext_InitialiseAllLiveComponents( void* context ) ;
-
 #endif /* __Base_Context_AbstractContext_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/src/Context.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/Context.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/Context.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -49,6 +49,6 @@
 	#include "AbstractContext.h"
 	#include "Init.h"
 	#include "Finalise.h"
+	#include "DictionaryCheck.h"
 	
 #endif /* __Base_Context_h__ */
-

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,111 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: AbstractContext.c 3562 2006-05-11 10:43:48Z PatrickSunter $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <stdarg.h>
+#include "Base/Foundation/Foundation.h"
+#include "Base/IO/IO.h"
+#include "Base/Container/Container.h"
+#include "Base/Automation/Automation.h"
+#include "Base/Extensibility/Extensibility.h"
+
+#include "units.h"
+#include "types.h"
+#include "shortcuts.h"
+#include "ContextEntryPoint.h"
+#include <mpi.h>  /* subsequent files need this */
+#include "DictionaryCheck.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+
+
+
+void CheckDictionaryKeys( Dictionary* dictionary, char* errorMessage)
+{
+	Dictionary_Index index_I, index_J;
+	/* Put in the Journal_Firewall stream */
+	Stream* errStream = Journal_Register( Error_Type, "DictionaryCheck");
+	int errCount;
+	int** keyIndexArray;
+
+
+	keyIndexArray = Memory_Alloc_2DArray( int, ((dictionary->count)*(dictionary->count - 1)), 
+					2, "Key Index Array" );
+	/* Iterate through the whole dictionary*/
+	errCount = 0;
+	for ( index_I = 0; index_I < dictionary->count; ++index_I )
+	{
+		/*For Each key, search through dictionary to see if there is another 
+		key the same*/
+		for (index_J = index_I+1; index_J < dictionary->count; ++index_J ) {
+			if (index_J != index_I)
+			{
+				/* If there are two keys with the same name */
+				if ( (0 == strcasecmp( dictionary->entryPtr[index_I]->key, 
+					dictionary->entryPtr[index_J]->key)) )
+				{
+
+					//preserve indexes index_I, index_J
+					keyIndexArray[errCount][0] = index_I;
+					keyIndexArray[errCount][1] = index_J;					
+					//increment counter
+					errCount++;
+					
+				}
+			}
+			
+		}
+	}
+	/*if keyIndexArray is not empty, then do a print to error stream 
+	for each problem then call Journal_Firewall */
+	
+
+	if (errCount > 0) {
+		Index errIndex;
+		Journal_Printf(errStream, errorMessage);
+		Journal_Printf(errStream,"Error found in dictionary (ptr) %p:\n",dictionary);
+		Journal_Printf(errStream,"The following keys were repeated:\n");
+		Stream_Indent(errStream);
+		for (errIndex = 0; errIndex < errCount; errIndex++) {
+
+			Journal_Printf(errStream, "\"%s\"\n",					 
+				dictionary->entryPtr[keyIndexArray[errIndex][1]]->key );
+		}
+		//Do I need this one here if Journal_Firewall exits prog?
+		Stream_UnIndent(errStream);
+		Journal_Firewall(errCount == 0, errStream, 
+					"Error in %s with %d entries in dictionary keys\n",
+					__func__, errCount);
+		
+	}
+	Memory_Free(keyIndexArray);
+}

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/DictionaryCheck.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,48 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**	
+**
+** Comments:
+**	None as yet.
+**
+** $Id: DictionaryCheck.h 3462 2006-02-19 06:53:24Z KHumble $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __Base_BaseContext_DictionaryCheck_h__
+#define __Base_BaseContext_DictionaryCheck_h__
+	
+	void BaseContext_DictionaryCheck( Dictionary* dictionary );
+	
+	void CheckDictionaryKeys(Dictionary* dictionary, char* errorMessage);
+	
+#endif /* __Base_BaseContext_DictionaryCheck_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/src/shortcuts.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/src/shortcuts.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/src/shortcuts.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -48,10 +48,6 @@
 	#define Context_Call			AbstractContext_Call
 	#define Context_KeyCall			AbstractContext_KeyCall
 	#define Context_KeyHandle		AbstractContext_KeyHandle
-	#define Context_Setup			AbstractContext_Setup
-	#define Context_Run			AbstractContext_Run
-	#define Context_Build			AbstractContext_Build
-	#define Context_Initialise		AbstractContext_Initialise
 	#define Context_Dt			AbstractContext_Dt
 	#define Context_Step			AbstractContext_Step
 	#define Context_Main			AbstractContext_Main

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noDtDefined.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noDtDefined.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noDtDefined.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -130,12 +130,20 @@
 	
 	/* Build the context */
 	abstractContext = _AbstractContext_New( sizeof(AbstractContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "Context", True, MySetDt, 0, 10, CommWorld, dictionary );
+			NULL, NULL,
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"Context", True, MySetDt, 0, 10, CommWorld, dictionary );
 
 	if( rank == procToWatch ) {
 		stream = Journal_Register( InfoStream_Type, AbstractContext_Type );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
 		Context_PrintConcise( abstractContext, stream );
-		Context_Run( abstractContext  );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noOptionsDefined.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noOptionsDefined.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext-noOptionsDefined.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -131,17 +131,36 @@
 	dictionary->add( dictionary, "numProcessors", Dictionary_Entry_Value_FromUnsignedInt( numProcessors ) );
 	
 	/* Build the context */
-	abstractContext = _AbstractContext_New( sizeof(AbstractContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "context", True, MySetDt, 0, 10, CommWorld, dictionary );
+	abstractContext = _AbstractContext_New( 
+		sizeof(AbstractContext), 
+		"TestContext", 
+		MyDelete, 
+		MyPrint, 
+		NULL,
+		NULL, 
+		NULL, 
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"context", 
+		True, 
+		MySetDt, 
+		0, 
+		10, 
+		CommWorld, 
+		dictionary );
 
 	/* add hooks to existing entry points */
 	ContextEP_Append( abstractContext, AbstractContext_EP_Dt, MyDt );
 
 	if( rank == procToWatch ) {
 		Stream* stream = Journal_Register( InfoStream_Type, AbstractContext_Type );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
 		Context_PrintConcise( abstractContext, stream );
-		Context_Setup( abstractContext );
-		Context_Run( abstractContext );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext0.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext0.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext0.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -134,10 +134,10 @@
 		NULL, 
 		NULL,
 		NULL,
-		NULL,
-		NULL,
-		NULL,
-		NULL,
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
 		"context",
 		True,
 		MySetDt, 
@@ -169,8 +169,10 @@
 	
 	/* Run the context */
 	if( rank == procToWatch ) {
-		Context_Setup( abstractContext );
-		Context_Run( abstractContext );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext1.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext1.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContext1.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -137,8 +137,25 @@
 	dictionary = Dictionary_New();
 	
 	/* Build the context */
-	abstractContext = _AbstractContext_New( sizeof(AbstractContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "context", True, MySetDt, 0, 10, CommWorld, dictionary );
+	abstractContext = _AbstractContext_New( 
+		sizeof(AbstractContext), 
+		"TestContext", 
+		MyDelete, 
+		MyPrint, 
+		NULL,
+		NULL, 
+		NULL, 
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"context", 
+		True, 
+		MySetDt, 
+		0, 
+		10, 
+		CommWorld, 
+		dictionary );
 
 	/* add hooks to existing entry points */
 	ContextEP_ReplaceAll( abstractContext, AbstractContext_EP_Build, MyBuild );
@@ -166,8 +183,10 @@
 
 	/* Run the context */
 	if( rank == procToWatch ) {
-		Context_Setup( abstractContext );
-		Context_Run( abstractContext );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContextCheckPoint.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContextCheckPoint.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testAbstractContextCheckPoint.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -141,8 +141,25 @@
 	Dictionary_Add( dictionary, "maxTimeSteps", Dictionary_Entry_Value_FromUnsignedInt( 10 ) );
 	
 	/* Build the context */
-	abstractContext = _AbstractContext_New( sizeof(AbstractContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "context", True, MySetDt, 0, 0, CommWorld, dictionary );
+	abstractContext = _AbstractContext_New( 
+		sizeof(AbstractContext), 
+		"TestContext", 
+		MyDelete, 
+		MyPrint, 
+		NULL,
+		NULL, 
+		NULL, 
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"context", 
+		True, 
+		MySetDt, 
+		0, 
+		0, 
+		CommWorld, 
+		dictionary );
 
 	/* add hooks to existing entry points */
 	ContextEP_ReplaceAll( abstractContext, AbstractContext_EP_Build, MyBuild );
@@ -153,8 +170,10 @@
 
 	/* Run the context for the first time */
 	if( rank == procToWatch ) {
-		Context_Setup( abstractContext );
-		Context_Run( abstractContext );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	Stg_Class_Delete( abstractContext );
 	
@@ -163,8 +182,25 @@
 	Dictionary_Set( dictionary, "restartTimestep", Dictionary_Entry_Value_FromUnsignedInt( 8 ) );
 
 	/* Build the context */
-	abstractContext = _AbstractContext_New( sizeof(AbstractContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "context", True, MySetDt, 0, 0, CommWorld, dictionary );
+	abstractContext = _AbstractContext_New( 
+		sizeof(AbstractContext), 
+		"TestContext", 
+		MyDelete, 
+		MyPrint, 
+		NULL,
+		NULL, 
+		NULL, 
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"context", 
+		True, 
+		MySetDt, 
+		0, 
+		0, 
+		CommWorld, 
+		dictionary );
 
 	/* add hooks to existing entry points */
 	ContextEP_ReplaceAll( abstractContext, AbstractContext_EP_Build, MyBuild );
@@ -175,8 +211,10 @@
 
 	/* Run the context for the second time */
 	if( rank == procToWatch ) {
-		Context_Setup( abstractContext );
-		Context_Run( abstractContext );
+		Stg_Component_Build( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Initialise( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Execute( abstractContext, 0 /* dummy */, False );
+		Stg_Component_Destroy( abstractContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.DictionaryCheck.txt.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.DictionaryCheck.txt.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.DictionaryCheck.txt.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,27 @@
+Dictionary:
+	size: 10
+	delta: 5
+	count: 5
+	entryPtr[0-5]: {
+		test_dict_string: "hello"
+		test_dict_double: 45.567
+		test_dict_string: "goodbye"
+		test_dict_string: "hello"
+		test_dict_string2: "hello"
+	}
+Dictionary 2:
+	size: 10
+	delta: 5
+	count: 3
+	entryPtr[0-3]: {
+		test_dict_string: "hello"
+		test_dict_double: 45.567
+		test_dict_stuff: "hello"
+	}
+Component dictionary must have unique names
+Error found in dictionary (ptr) 0x80580c8:
+The following keys were repeated:
+	"test_dict_string"
+	"test_dict_string"
+	"test_dict_string"
+Error in CheckDictionaryKeys with 3 entries in dictionary keys

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.expected
===================================================================

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.sh
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.sh	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.0of1.sh	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+TEST_SCRIPT=./VMake/executableTester.sh
+until test -r ${TEST_SCRIPT} ; do
+        TEST_SCRIPT=../${TEST_SCRIPT}
+done
+. ${TEST_SCRIPT}
+
+runAndHandleSystemTest "testDictionaryCheck " "$0" "$@"

Added: long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Context/tests/testDictionaryCheck.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,148 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** Role:
+**	Tests the dictionary functionality
+**
+** $Id: testDictionary.c 3462 2006-02-19 06:53:24Z WalterLandry $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+
+#include <stdarg.h>
+#include <mpi.h>
+#include "Base/Foundation/Foundation.h"
+#include "Base/IO/IO.h"
+#include "Base/Container/Container.h"
+#include "Base/Automation/Automation.h"
+#include "Base/Extensibility/Extensibility.h"
+#include "Base/Context/Context.h"
+#include "Base/Context/DictionaryCheck.h"
+
+#include "stdio.h"
+#include "stdlib.h"
+
+int main( int argc, char* argv[] ) {
+	MPI_Comm CommWorld;
+	int rank;
+	int numProcessors;
+	int procToWatch;
+	Stream* stream;
+	
+	
+	/* Initialise MPI, get world info */
+	MPI_Init( &argc, &argv );
+	MPI_Comm_dup( MPI_COMM_WORLD, &CommWorld );
+	MPI_Comm_size( CommWorld, &numProcessors );
+	MPI_Comm_rank( CommWorld, &rank );
+	
+	BaseFoundation_Init( &argc, &argv );
+	BaseIO_Init( &argc, &argv );
+	
+
+	stream = Journal_Register( Info_Type, Dictionary_Type );
+	stJournal->firewallProducesAssert = False;
+	Stream_RedirectFile(Journal_Register( Error_Type, "DictionaryCheck"), "DictionaryCheck.txt");
+	Stream_RedirectFile(stream, "DictionaryCheck.txt");
+
+	if( argc >= 2 ) {
+		procToWatch = atoi( argv[1] );
+	}
+	else {
+		procToWatch = 0;
+	}
+	if( rank == procToWatch ) {
+		Dictionary*			dictionary = Dictionary_New();
+		Dictionary*			dictionary2 = Dictionary_New();
+		
+		Dictionary_Index	index;
+		
+		/* Create a set of Dictionary entries */
+		/* For dictionary */
+		Dictionary_Add( dictionary, "test_dict_string",
+			Dictionary_Entry_Value_FromString( "hello" ) );
+		Dictionary_Add( dictionary, "test_dict_double",
+			Dictionary_Entry_Value_FromDouble( 45.567 ) );
+		Dictionary_Add( dictionary, "test_dict_string",
+			Dictionary_Entry_Value_FromString( "goodbye" ) );	
+		Dictionary_Add( dictionary, "test_dict_string",
+			Dictionary_Entry_Value_FromString( "hello" ) );
+		Dictionary_Add( dictionary, "test_dict_string2",
+			Dictionary_Entry_Value_FromString( "hello" ) );
+		
+		/* For dictionary2 */
+		Dictionary_Add( dictionary2, "test_dict_string",
+			Dictionary_Entry_Value_FromString( "hello" ) );
+		Dictionary_Add( dictionary2, "test_dict_double",
+			Dictionary_Entry_Value_FromDouble( 45.567 ) );
+		Dictionary_Add( dictionary2, "test_dict_stuff",
+			Dictionary_Entry_Value_FromString( "hello") );
+
+		/* Print out dictionary stats */
+		Journal_Printf(stream, "Dictionary:\n" );
+		Journal_Printf(stream, "\tsize: %u\n", dictionary->size );
+		Journal_Printf(stream, "\tdelta: %u\n", dictionary->delta );
+		Journal_Printf(stream, "\tcount: %u\n", dictionary->count );
+		Journal_Printf(stream, "\tentryPtr[0-%u]: {\n", dictionary->count );
+		for( index = 0; index < dictionary->count; index++ ) {
+			
+			Journal_Printf(stream,"\t\t" );
+			Dictionary_Entry_Print( dictionary->entryPtr[index], stream ); 
+			Journal_Printf(stream, "\n" );
+		}
+		Journal_Printf(stream, "\t}\n" );
+		
+		Journal_Printf(stream, "Dictionary 2:\n" );
+		Journal_Printf(stream, "\tsize: %u\n", dictionary2->size );
+		Journal_Printf(stream, "\tdelta: %u\n", dictionary2->delta );
+		Journal_Printf(stream, "\tcount: %u\n", dictionary2->count );
+		Journal_Printf(stream, "\tentryPtr[0-%u]: {\n", dictionary2->count );
+		for( index = 0; index < dictionary2->count; index++ ) {
+			
+			Journal_Printf(stream, "\t\t" );
+			Dictionary_Entry_Print( dictionary2->entryPtr[index], stream ); 
+			Journal_Printf(stream, "\n" );
+		}
+		Journal_Printf(stream, "\t}\n" );
+
+
+		/* Call DictionaryCheck function */
+		char* errMessage = "Component dictionary must have unique names\n";
+		CheckDictionaryKeys(dictionary2, errMessage);
+		CheckDictionaryKeys(dictionary,  errMessage);
+		
+		Stg_Class_Delete( dictionary );
+		Stg_Class_Delete( dictionary2 );
+	}
+	
+	BaseIO_Finalise();
+	BaseFoundation_Finalise();
+
+	/* Close off MPI */
+	MPI_Finalize();
+	
+	return EXIT_SUCCESS;
+}

Modified: long/3D/Gale/trunk/src/StGermain/Base/Extensibility/distributedtests/testPlugin.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Extensibility/distributedtests/testPlugin.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Extensibility/distributedtests/testPlugin.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -65,7 +65,7 @@
 	stream =  Journal_Register( Info_Type, __FILE__ );
 
 	directories = Stg_ObjectList_New();
-	Stg_ObjectList_PointerAppend( directories, strdup(LIB_DIR), "default dir", 0, 0, 0 );
+	Stg_ObjectList_PointerAppend( directories, StG_Strdup(LIB_DIR), "default dir", 0, 0, 0 );
 	
 	plugin = PluginLoader_NewLocal( "LocalPlugin", directories );
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/EntryPoint.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/EntryPoint.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/EntryPoint.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -54,6 +54,8 @@
 /* Textual name of this class */
 const Type EntryPoint_Type = "EntryPoint";
 
+static const Type _EntryPoint_Run_Type = "EntryPoint->Run";
+
 /* VIRTUAL FUNCTIONS */
 
 /** allocate and initialise a new EntryPoint.
@@ -132,6 +134,7 @@
 		assert( self );
 	#endif	
 	
+	Stg_ObjectList_DeleteAllObjects( self->hooks );
 	Stg_Class_Delete( self->hooks );
 	
 	/* Stg_Class_Delete parent */
@@ -296,36 +299,68 @@
 	EntryPoint* self = (EntryPoint*)entryPoint;
 	Hook_Index hookIndex;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		((EntryPoint_0_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)();
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 void _EntryPoint_Run_VoidPtr( void* entryPoint, void* data0 ) {
 	EntryPoint* self = (EntryPoint*)entryPoint;
 	Hook_Index hookIndex;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		((EntryPoint_VoidPtr_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0 );
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 void _EntryPoint_Run_2VoidPtr( void* entryPoint, void* data0, void* data1 ) {
 	EntryPoint* self = (EntryPoint*)entryPoint;
 	Hook_Index hookIndex;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_2VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		((EntryPoint_2VoidPtr_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0, data1 );
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 void _EntryPoint_Run_3VoidPtr( void* entryPoint, void* data0, void* data1, void* data2 ) {
 	EntryPoint* self      = (EntryPoint*)entryPoint;
 	Hook_Index  hookIndex;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_3VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0 ; hookIndex < self->hooks->count; hookIndex++ ) {
 		((EntryPoint_3VoidPtr_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0, data1, data2 );
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 double _EntryPoint_Run_Minimum_VoidPtr( void* entryPoint, void* data0 ) {
@@ -334,6 +369,10 @@
 	double      minValue   = HUGE_VAL;
 	double      value;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Minimum_VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		value = ((EntryPoint_Minimum_VoidPtr_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0 );
 		/* Get Minimum out of currently stored value and one from this hook */
@@ -341,6 +380,10 @@
 			minValue = value;
 	}
 
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 	return minValue;
 }
 
@@ -350,6 +393,10 @@
 	double      maxValue   = -HUGE_VAL;
 	double      value;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Maximum_VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		value = ((EntryPoint_Maximum_VoidPtr_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0 );
 		/* Get Maximum out of currently stored value and one from this hook */
@@ -357,6 +404,10 @@
 			maxValue = value;
 	}
 
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 	return maxValue;
 }
 
@@ -368,6 +419,10 @@
 	double      minValue   = HUGE_VAL;
 	double      value;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Class_Minimum_VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		hook  = (ClassHook*) self->hooks->data[hookIndex];
 		value = ((EntryPoint_Class_Minimum_VoidPtr_Cast*)(hook->funcPtr))( hook->reference, data0 );
@@ -377,6 +432,10 @@
 			minValue = value;
 	}
 
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 	return minValue;
 }
 
@@ -387,6 +446,10 @@
 	double      maxValue   = -HUGE_VAL;
 	double      value;
 	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Class_Maximum_VoidPtr, self->name );
+	#endif
+	
 	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		hook  = (ClassHook*) self->hooks->data[hookIndex];
 		value = ((EntryPoint_Class_Maximum_VoidPtr_Cast*)(hook->funcPtr))( hook->reference, data0 );
@@ -396,6 +459,10 @@
 			maxValue = value;
 	}
 
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 	return maxValue;
 }
 
@@ -404,10 +471,18 @@
 	ClassHook* hook;
 	Hook_Index hookIndex;
 
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Class, self->name );
+	#endif
+	
 	for ( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		hook = (ClassHook*)self->hooks->data[hookIndex];
 		((EntryPoint_Class_0_Cast*)(hook->funcPtr))( hook->reference );
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 void _EntryPoint_Run_Class_VoidPtr( void* entryPoint, void* data0 ) {
@@ -415,10 +490,18 @@
 	ClassHook* hook;
 	Hook_Index hookIndex;
 
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Push( stgCallGraph, _EntryPoint_Run_Class_VoidPtr, self->name );
+	#endif
+	
 	for ( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
 		hook = (ClassHook*)self->hooks->data[hookIndex];
 		((EntryPoint_Class_VoidPtr_Cast*)(hook->funcPtr))( hook->reference, data0 );
 	}
+	
+	#ifdef USE_PROFILE
+		Stg_CallGraph_Pop( stgCallGraph );
+	#endif
 }
 
 /* Functions for Adding hooks */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -146,10 +146,27 @@
 }
 
 void _PluginsManager_Delete( void* plugins ) {
-	PluginsManager* self = (PluginsManager*)plugins;
+	PluginsManager*         self = (PluginsManager*)plugins;
+	LiveComponentRegister*  lcRegister = NULL;
 
+	/* Note : We have to delete the codelets here rather than let the 
+		component factory do it as they refer to static data inside the
+		loaded plugin dlls, which are no longer available once we delete
+		all in self->plugins. -- Main.PatrickSunter 18 May 2006 */
+	if ( (lcRegister = LiveComponentRegister_GetLiveComponentRegister()) ) {
+		/* sweep through codelets list and delete each from the lcRegister */
+		Index codelet_I;
+		
+		for ( codelet_I = 0; codelet_I < self->codelets->count; ++codelet_I ) {
+			LiveComponentRegister_RemoveOneComponentsEntry( lcRegister,
+				((Stg_Object*)self->codelets->data[codelet_I])->name );
+		}
+	}
+	Stg_ObjectList_DeleteAllObjects( self->codelets );
+	Stg_Class_Delete( self->codelets );
+	Stg_ObjectList_DeleteAllObjects( self->plugins );
 	Stg_Class_Delete( self->plugins );
-	Stg_Class_Delete( self->codelets );
+	Stg_ObjectList_DeleteAllObjects( self->directories );
 	Stg_Class_Delete( self->directories );
 	
 	/* Stg_Class_Delete parent */
@@ -373,7 +390,7 @@
 	}
 	
 	if( !found ) {
-		Stg_ObjectList_PointerAppend( self->directories, strdup( directory ), name, 0, 0, 0 ); 
+		Stg_ObjectList_PointerAppend( self->directories, StG_Strdup( directory ), name, 0, 0, 0 ); 
 	}
 }
 
@@ -413,5 +430,21 @@
 	for ( i = 0; i < self->codelets->count; ++i ) {
 		Stg_Component_Construct( self->codelets->data[i], cf, False );// True );
 	}
-	
 }
+
+
+Bool PluginsManager_ConstructPlugin( void* plugins, Name pluginName, 
+						Stg_ComponentFactory* cf )
+{
+	PluginsManager* self = (PluginsManager*)plugins;
+
+	//Get the codelet for the plugin we're wanting to construct.
+	void* codelet = Stg_ObjectList_Get(self->codelets, pluginName);
+				
+	if(codelet == NULL)
+		return False;
+	else
+		Stg_Component_Construct(codelet, cf, False );
+
+	return True;
+}

Modified: long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Extensibility/src/PluginsManager.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -106,4 +106,6 @@
 
 	void PluginsManager_ConstructPlugins( void* plugins, Stg_ComponentFactory* cf );
 
+	Bool PluginsManager_ConstructPlugin( void* plugins, Name pluginName, Stg_ComponentFactory* cf );
+
 #endif /* __Base_Extensibility_PluginsManager_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/Class.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/Class.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/Class.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -69,8 +69,18 @@
 	
 	
 	/* Class Administration members ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+	#define STG_CLASS_DEFARGS					\
+		SizeT				sizeOfSelf,		\
+		Type				type,			\
+		Stg_Class_DeleteFunction*	deleteFunc,		\
+		Stg_Class_PrintFunction*	printFunc,		\
+		Stg_Class_CopyFunction*		copyFunc
+
+	#define STG_CLASS_PASSARGS					\
+		sizeOfSelf, type, deleteFunc, printFunc, copyFunc
+    
 	
-	
 	/** Constructor interface. */
 	Stg_Class* _Stg_Class_New( SizeT _sizeOfSelf, 
 			Type type, 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/CommonRoutines.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/CommonRoutines.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/CommonRoutines.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -169,6 +169,11 @@
 	if ( length == 0 ) 
 		return False;
 
+	/* The conversion of HUGE_VAL by printf is 'inf' which requires this line to 
+	 * pick up that this is actually a numerical string */
+	if ( strcmp( string, "-inf" ) == 0 || strcmp( string, "inf" ) == 0  )
+		return True;
+
 	for ( char_I = 0 ; char_I < length ; char_I++ ) {
 		ch = string[ char_I ];
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/ObjectAdaptor.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/ObjectAdaptor.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/ObjectAdaptor.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -79,7 +79,7 @@
 	self->_print = _Stg_ObjectAdaptor_Print;
 	self->_copy = _Stg_ObjectAdaptor_Copy;
 	_Stg_Class_Init( (Stg_Class*)self );
-	_Stg_Object_Init( (Stg_Object*)self, name, GLOBAL );
+	_Stg_Object_Init( (Stg_Object*)self, name, NON_GLOBAL );
 
 	/* Stg_ObjectAdaptor info */
 	_Stg_ObjectAdaptor_Init( self, dataPtr, iOwn, isGlobal, True, NULL, NULL, NULL );

Modified: long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/shortcuts.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/shortcuts.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/Foundation/src/shortcuts.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -25,69 +25,92 @@
 **  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 /** \file
-** <b>Role:</b>
-**	Basic framework types.
-**
-** <b>Assumptions:</b>
-**	None as yet.
-**
-** <b>Comments:</b>
-**	None as yet.
-**
-** $Id: shortcuts.h 2940 2005-05-15 00:53:19Z AlanLo $
-**
-**/
+ ** <b>Role:</b>
+ **	Basic framework types.
+ **
+ ** <b>Assumptions:</b>
+ **	None as yet.
+ **
+ ** <b>Comments:</b>
+ **	None as yet.
+ **
+ ** $Id: shortcuts.h 2940 2005-05-15 00:53:19Z AlanLo $
+ **
+ **/
 
 #ifndef __Base_Foundation_shortcuts_h__
 #define __Base_Foundation_shortcuts_h__
 
-	/* If the system does not have these macros, define it here */
-	#ifndef MAX
-		#define MAX( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
-	#endif
-	#ifndef MIN
-		#define MIN( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
-	#endif	
+/* If the system does not have these macros, define it here */
+#ifndef MAX
+#define MAX( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
+#endif
+#ifndef MIN
+#define MIN( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
+#endif	
 
-	#define FreeArray( ptr ) \
-		if( ptr ) \
-			Memory_Free( ptr )
+#define FreeArray( ptr )			\
+	if( ptr )				\
+		Memory_Free( ptr )
 	
 	
-	#define FreeArray2D( nBlocks, ptr ) \
-		do { \
-			if( ptr ) { \
-				unsigned	block_i; \
-				for( block_i = 0; block_i < nBlocks; block_i++ ) { \
-					if( (ptr)[block_i] ) { \
-						Memory_Free( (ptr)[block_i] ); \
-					} \
-				} \
-			} \
-		} while( 0 )
+#define FreeArray2D( nBlocks, ptr )					\
+	do {								\
+		if( ptr ) {						\
+			unsigned	block_i;			\
+			for( block_i = 0; block_i < nBlocks; block_i++ ) { \
+				if( (ptr)[block_i] ) {			\
+					Memory_Free( (ptr)[block_i] );	\
+				}					\
+			}						\
+		}							\
+	} while( 0 )
 	
 	
-	#define KillArray( ptr ) \
-		do { \
-			if( ptr ) { \
-				Memory_Free( ptr ); \
-				(ptr) = NULL; \
-			} \
-		} while( 0 )
+#define KillArray( ptr )			\
+	do {					\
+		if( ptr ) {			\
+			Memory_Free( ptr );	\
+			(ptr) = NULL;		\
+		}				\
+	} while( 0 )
 	
 	
-	#define KillArray2D( nBlocks, ptr ) \
-		do { \
-			if( ptr ) { \
-				unsigned	block_i; \
-				for( block_i = 0; block_i < nBlocks; block_i++ ) { \
-					if( (ptr)[block_i] ) { \
-						Memory_Free( (ptr)[block_i] ); \
-					} \
-				} \
-				(ptr) = NULL; \
-			} \
-		} while( 0 )
+#define KillArray2D( nBlocks, ptr )					\
+	do {								\
+		if( ptr ) {						\
+			unsigned	block_i;			\
+			for( block_i = 0; block_i < nBlocks; block_i++ ) { \
+				if( (ptr)[block_i] ) {			\
+					Memory_Free( (ptr)[block_i] );	\
+				}					\
+			}						\
+			(ptr) = NULL;					\
+		}							\
+	} while( 0 )
+
+#define DeleteArray( ptr, size )					\
+	do {								\
+		if( ptr ) {						\
+			unsigned	__class_i;			\
+			for( __class_i = 0; __class_i < size; __class_i++ ) \
+				if( ptr[__class_i] ) Stg_Delete_Class( ptr[__class_i] ); \
+			ptr = NULL;					\
+		}							\
+	} while( 0 )
+
+#define DeleteOwnArray( ptr, own, size )				\
+	do {								\
+		if( ptr ) {						\
+			unsigned	__class_i;			\
+			for( __class_i = 0; __class_i < size; __class_i++ ) \
+				if( ptr[__class_i] && own[__class_i] )	\
+					Stg_Delete_Class( ptr[__class_i] ); \
+			Memory_Free( ptr );				\
+			Memory_Free( own );				\
+			ptr = NULL;					\
+			own = NULL;					\
+		}							\
+	} while( 0 )
 	
-	
 #endif /* __Base_Foundation_shortcuts_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Base/IO/src/Finalise.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/IO/src/Finalise.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/IO/src/Finalise.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -43,10 +43,14 @@
 {
 	Stream* stream;
 	if ( stJournal->flushCount > 0 ) {
-		stream = Journal_Register( Debug_Type, __func__ );
+		stream = Journal_Register( Debug_Type, (char*)__func__ );
 		Journal_Printf( stream, "StGermain IO Report - File Flush called %d times.\n", stJournal->flushCount );
 	}
 	Journal_Delete();
+	/* Now clean up the special memory streams seeing as these aren't in the journal */
+	Stg_Class_Delete( stgMemory->infoStream );
+	Stg_Class_Delete( stgMemory->debugStream );
+	Stg_Class_Delete( stgMemory->errorStream );
 	StreamFormatter_Buffer_Delete( stgStreamFormatter_Buffer );
 	
 	return True;

Modified: long/3D/Gale/trunk/src/StGermain/Base/IO/src/Journal.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/IO/src/Journal.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/IO/src/Journal.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -126,6 +126,7 @@
 	Stg_Class_Delete( stJournal->stdOut );
 	Stg_Class_Delete( stJournal->stdErr );
 	
+	Stg_ObjectList_DeleteAllObjects( stJournal->_typedStreams );
 	Stg_Class_Delete( stJournal->_typedStreams );
 	
 	for ( i = 0; i < stJournal->_files->count; ++i )
@@ -135,6 +136,7 @@
 			/* TODO: warning can't close */
 		}
 	}
+	Stg_ObjectList_DeleteAllObjects( stJournal->_files );
 	Stg_Class_Delete( stJournal->_files );
 	
 	Memory_Free( stJournal );
@@ -410,7 +412,7 @@
 	char* token;
 	
 	currentStream = typedStream;
-	nameCopy = strdup( name );
+	nameCopy = StG_Strdup( name );
 	
 	
 	token = strtok( nameCopy, JOURNAL_DELIMITER );
@@ -420,7 +422,7 @@
 		token = strtok( NULL, JOURNAL_DELIMITER );
 	}
 	
-	free( nameCopy );
+	Memory_Free( nameCopy );
 	
 	if ( currentStream == typedStream )
 	{
@@ -566,6 +568,9 @@
 {
 	int result = 0;
 	Stream* stream = (Stream*)_stream;
+	int nProc = 0;
+
+	MPI_Comm_size( MPI_COMM_WORLD, &nProc );
 	
 	va_list ap;
 	
@@ -592,24 +597,21 @@
 		va_end(ap);
 	}
 	
-	#ifdef NDEBUG
-		MPI_Finalize();
-		
+	if ( stJournal->firewallProducesAssert == True ) {
+		assert( expression );
+	}
+	else {
 		/* TODO: Don't use FAILURE until Pat beef's up the test scripts to do .error checks
 			exit( EXIT_FAILURE );
 		*/
-		exit( EXIT_SUCCESS );
-	#else
-		if ( stJournal->firewallProducesAssert == True ) {
-			assert( expression );
+		if ( nProc == 1 ) {
+			exit(EXIT_SUCCESS);
 		}
 		else {
-			/* SEE TODO above */
-			exit( EXIT_SUCCESS );
+			MPI_Abort( MPI_COMM_WORLD, EXIT_SUCCESS );
 		}
-	#endif
+	}
 	
-	
 	return result;	
 }
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/IO/src/Stream.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/IO/src/Stream.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/IO/src/Stream.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -138,6 +138,7 @@
 		Memory_Free( self->_formatter );
 	}
 
+	Stg_ObjectList_DeleteAllObjects( self->_children );
 	Stg_Class_Delete( self->_children );
 
 	/* Stg_Class_Delete parent */

Modified: long/3D/Gale/trunk/src/StGermain/Base/IO/src/XML_IO_Handler.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/IO/src/XML_IO_Handler.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/IO/src/XML_IO_Handler.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -301,6 +301,7 @@
 
 	assert( self );
 	
+	Stg_ObjectList_DeleteAllObjects( self->typeKeywords );
 	Stg_Class_Delete( self->typeKeywords );
 
 	/* delete this level's memory */
@@ -315,7 +316,7 @@
 	}
 	
 	for ( ii = 0; ii < self->searchPathsSize; ++ii ) {
-		free( self->searchPaths[ii] );
+		Memory_Free( self->searchPaths[ii] );
 	}
 	if ( self->searchPaths ) {
 		Memory_Free( self->searchPaths );
@@ -433,7 +434,7 @@
 		self->searchPaths = Memory_Realloc_Array( self->searchPaths, char*, self->searchPathsSize );
 	}
 
-	self->searchPaths[ self->searchPathsSize - 1 ] = strdup( path );
+	self->searchPaths[ self->searchPathsSize - 1 ] = StG_Strdup( path );
 }
 
 
@@ -721,7 +722,8 @@
 			Memory_Free( tmp );
 		}
 		else if	( (0 == xmlStrcmp( cur->name, (const xmlChar *) INCLUDE_TAG ) ) &&
-			( cur->ns == self->currNameSpace ) ) {
+			( cur->ns == self->currNameSpace ) )
+		{
 			xmlChar* filename = xmlNodeListGetString( self->currDoc, cur->xmlChildrenNode, 1 );
 
 			if ( filename ) {
@@ -1332,14 +1334,14 @@
 		Dictionary_Entry_Value_Type* result;
 		
 		/* convert to lower case. put in string library one day if we make one or use one */
-		char* lowercaseType = strdup( type );
+		char* lowercaseType = StG_Strdup( type );
 		char* ptr = lowercaseType;
 		for ( ; *ptr != '\0'; ++ptr ) {
 			*ptr = tolower( *ptr );
 		}
 	
 		result = Stg_ObjectList_Get( self->typeKeywords, lowercaseType );
-		free( lowercaseType );
+		Memory_Free( lowercaseType );
 		
 		if ( result == NULL ) {
 			/* if unknown type, return string */
@@ -1470,7 +1472,8 @@
 	}
 	
 	/* Memory_Free memory */
-	/*xmlFreeDoc( self->currDoc );*/
+	xmlFreeDoc( self->currDoc );
+	//xmlCleanupParser();
 	/* TODO if updating, xmlCleanupParser(); */
 	self->currDoc = NULL;
 	self->currNameSpace = NULL;
@@ -1545,6 +1548,7 @@
 	}
 	
 	xmlFreeDoc( self->currDoc );
+	//xmlCleanupParser();
 	/* TODO if updating, xmlCleanupParser(); */
 	self->currDoc = NULL;
 	self->currNameSpace = NULL;

Modified: long/3D/Gale/trunk/src/StGermain/Base/IO/src/stgmessaging.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/IO/src/stgmessaging.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Base/IO/src/stgmessaging.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -54,20 +54,30 @@
 
 int Stg_MPI_Send( char* file, int line, void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm ) {
 	Stream* stream = Journal_Register( Info_Type, "mpi" );
-	Journal_Printf( stream, "%s %d, rank %d MPI_Send: count = %d, datatype = %d\n", file, line, Stg_Messaging_GetRank( comm ), count, datatype );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Send: tag = %d, count = %d, datatype = %d, dest = %d\n", file, line, Stg_Messaging_GetRank( comm ), tag, count, datatype, dest );
 	return MPI_Send( buf, count, datatype, dest, tag, comm );
 }
 
 int Stg_MPI_Ssend( char* file, int line, void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm ) {
 	Stream* stream = Journal_Register( Info_Type, "mpi" );
-	Journal_Printf( stream, "%s %d, rank %d MPI_Ssend: count = %d, datatype = %d\n", file, line, Stg_Messaging_GetRank( comm ), count, datatype );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Ssend: tag = %d, count = %d, datatype = %d, dest = %d\n", file, line, Stg_Messaging_GetRank( comm ), tag, count, datatype, dest );
 	return MPI_Ssend( buf, count, datatype, dest, tag, comm );
 }
 int Stg_MPI_Isend( char* file, int line, void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request ) {
 	Stream* stream = Journal_Register( Info_Type, "mpi" );
-	Journal_Printf( stream, "%s %d, rank %d MPI_Isend: count = %d, datatype = %d\n", file, line, Stg_Messaging_GetRank( comm ), count, datatype );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Isend: tag = %d, count = %d, datatype = %d, dest = %d\n", file, line, Stg_Messaging_GetRank( comm ), tag, count, datatype, dest );
 	return MPI_Isend( buf, count, datatype, dest, tag, comm, request );
 }
+int Stg_MPI_Recv( char* file, int line, void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status ) {
+	Stream* stream = Journal_Register( Info_Type, "mpi" );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Recv: tag = %d, count = %d, datatype = %d, source = %d\n", file, line, Stg_Messaging_GetRank( comm ), tag, count, datatype, source );
+	return MPI_Recv( buf, count, datatype, source, tag, comm, status );
+}
+int Stg_MPI_Irecv( char* file, int line, void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request ) {
+	Stream* stream = Journal_Register( Info_Type, "mpi" );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Irecv: tag = %d, count = %d, datatype = %d, source = %d\n", file, line, Stg_Messaging_GetRank( comm ), tag, count, datatype, source );
+	return MPI_Irecv( buf, count, datatype, source, tag, comm, request );
+}
 int Stg_MPI_Reduce ( char* file, int line, void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm ) {
 	Stream* stream = Journal_Register( Info_Type, "mpi" );
 	Journal_Printf( stream, "%s %d, rank %d MPI_Reduce: count = %d, datatype = %d\n", file, line, Stg_Messaging_GetRank( comm ), count, datatype );
@@ -89,5 +99,31 @@
 	return MPI_Allgather( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm );
 
 }
-       
 
+int Stg_MPI_Wait ( char* file, int line, MPI_Request *request, MPI_Status *status ) {
+	Stream* stream = Journal_Register( Info_Type, "mpi" );
+	int result =  MPI_Wait( request, status );
+	Journal_Printf( stream, "%s %d, rank %d MPI_Wait:",
+		file, line, Stg_Messaging_GetRank( MPI_COMM_WORLD ) );
+	if ( MPI_STATUS_IGNORE != (status) ) {
+		Journal_Printf( stream, " tag = %d, source = %d", status->MPI_TAG, status->MPI_SOURCE );
+	}
+	Journal_Printf( stream, "\n" );
+	return result;
+}
+
+
+int Stg_MPI_Test ( char* file, int line, MPI_Request *request, int *flag, MPI_Status *status ) {
+	Stream* stream = Journal_Register( Info_Type, "mpi" );
+	int result = MPI_Test( request, flag, status );
+	if ( *flag ) {
+		Journal_Printf( stream, "%s %d, rank %d MPI_Test: result = %d",
+			file, line, Stg_Messaging_GetRank( MPI_COMM_WORLD ), result );
+		if ( MPI_STATUS_IGNORE != (status) ) {
+			Journal_Printf( stream, ", tag = %d, source = %d", status->MPI_TAG, status->MPI_SOURCE );
+		}
+		Journal_Printf( stream, "\n" );
+	}
+
+	return result;
+}

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -131,6 +131,7 @@
 	int							numSites,
 	DelaunayAttributes			*attr )
 {
+	int i = 0;
 
 	self->type = Delaunay_Type;
 	self->_sizeOfSelf = sizeof( Delaunay );
@@ -147,10 +148,31 @@
 	self->_execute = _Delaunay_Execute;
 	self->_destroy = _Delaunay_Destroy;
 
-	self->sites = sites;
-	self->numSites = numSites;
 	self->attributes = attr;
+	self->dictionary = dictionary;
+	
+	if( self->attributes->BuildBoundingTriangle ){
+		self->numSites = numSites + 3;
+	}
+	else{
+		self->numSites = numSites;
+	}
+	
+	self->numInputSites = numSites;
+	
+	self->sites = Memory_Alloc_Array_Unnamed( Site, sizeof( Site ) * self->numSites );
+	memset( self->boundingTriangle, 0, sizeof( self->boundingTriangle ) );
 
+	for( i=0; i<self->numSites; i++ ){
+		if( i < self->numInputSites ){
+			self->sites[i].coord = &(sites[i]);
+		}
+		else{
+			self->sites[i].coord = &(self->boundingTriangle[i%3]);
+		}
+		self->sites[i].id = i;
+	}
+
 	_Stg_Class_Init( (Stg_Class*)self );
 	_Stg_Object_Init( (Stg_Object*)self, name, NON_GLOBAL );
 	_Stg_Component_Init( (Stg_Component*)self );
@@ -178,16 +200,38 @@
 	DelaunayAttributes			*attr )
 {
 	Delaunay *self = NULL;
+	int i = 0;
 	
 	assert( _sizeOfSelf >= sizeof(Delaunay) );
 	self = (Delaunay*)_Stg_Component_New( _sizeOfSelf, type, _delete, _print, _copy, _defaultConstructor,
 			_construct, _build, _initialise, _execute, _destroy, name, NON_GLOBAL );
-
+	
+	self->attributes = attr;
 	self->dictionary = dictionary;
-	self->sites = sites;
-	self->numSites = numSites;
-	self->attributes = attr;
+	
+	if( self->attributes->BuildBoundingTriangle ){
+		self->numSites = numSites + 3;
+	}
+	else{
+		self->numSites = numSites;
+	}
+	
+	self->numInputSites = numSites;
+	
+	self->sites = Memory_Alloc_Array_Unnamed( Site, sizeof( Site ) * self->numSites );
+	memset( self->boundingTriangle, 0, sizeof( self->boundingTriangle ) );
 
+	for( i=0; i<self->numSites; i++ ){
+		if( i < self->numInputSites ){
+			self->sites[i].coord = &(sites[i]);
+		}
+		else{
+			self->sites[i].coord = &(self->boundingTriangle[i%3]);
+		}
+		self->sites[i].id = i;
+	}
+
+
 	if( initFlag ){
 		_Delaunay_Init( self );
 	}
@@ -195,11 +239,51 @@
 	return self;
 }
 
+#define PI 3.1415926535897932384626
 void _Delaunay_Init( Delaunay* self )
 {
+	int i = 0;
+	float maxX, minX, maxY, minY;
+	float centreX, centreY;
+	float radius;
+	
 	assert( self );
 	
-	self->qp = QuadEdgePool_New( self->numSites * 3 );
+	centreX = 0; centreY = 0; 
+	maxX = -1e33;
+	minX = 1e33;
+	maxY = -1e33;
+	minY = 1e33;
+	
+	for( i=0; i<self->numSites; i++ ){
+		if ( maxX < (*(self->sites[i].coord))[0] ){
+			maxX = (*(self->sites[i].coord))[0];
+		}
+		if ( maxY < (*(self->sites[i].coord))[1] ){
+			maxY = (*(self->sites[i].coord))[1];
+		}
+		
+		if ( minX > (*(self->sites[i].coord))[0] ){
+			minX = (*(self->sites[i].coord))[0];
+		}
+		if ( minY > (*(self->sites[i].coord))[1] ){
+			minY = (*(self->sites[i].coord))[1];
+		}
+	}
+
+	radius = (sqrt((maxX - minX) * (maxX - minX) + (maxY - minY) * (maxY - minY)));
+			
+	centreX = minX + (maxX - minX) / 2.0f;
+	centreY = minY + (maxY - minY) / 2.0f;
+
+	self->boundingTriangle[0][0] = centreX - tan(PI/3.0f)*radius;
+	self->boundingTriangle[0][1] = centreY - radius;
+
+	self->boundingTriangle[1][0] = centreX + tan(PI/3.0f)*radius;
+	self->boundingTriangle[1][1] = centreY - radius;
+			
+	self->boundingTriangle[2][0] = centreX;
+	self->boundingTriangle[2][1] = centreY + radius/cos(PI/3.0f);
 }
 
 	/*--------------------------------------------------------------------------------------------------------------------------
@@ -213,6 +297,10 @@
 	
 	assert( self );
 
+	if( self->sites ){
+		Memory_Free( self->sites );
+	}
+	
 	if( self->qp ){
 		Release_QuadEdgePool( self->qp );
 	}
@@ -222,31 +310,33 @@
 	}
 
 	if( self->triangleIndices ){
-		free( self->triangleIndices[0] );
-		free( self->triangleIndices );
+		Memory_Free( self->triangleIndices[0] );
+		Memory_Free( self->triangleIndices );
 	}
 
 	if( self->numNeighbours ){
-		free( self->numNeighbours );
+		Memory_Free( self->numNeighbours );
 	}
 	
 	if( self->neighbours ){
-		free( self->neighbours[0] );
-		free( self->neighbours );
+		Memory_Free( self->neighbours[0] );
+		Memory_Free( self->neighbours );
 	}
 
 	if( self->voronoiSides ){
-		free( self->voronoiSides[0] );
-		free( self->voronoiSides );
+		Memory_Free( self->voronoiSides[0] );
+		Memory_Free( self->voronoiSides );
 	}
 
 	if( self->voronoiArea ){
-		free( self->voronoiArea );
+		Memory_Free( self->voronoiArea );
 	}
 
 	if( self->hull ){
-		free( self->hull );
+		Memory_Free( self->hull );
 	}
+
+	_Stg_Component_Delete( self );
 }
 
 /** Stg_Class_Print() implementation */
@@ -282,11 +372,16 @@
 	DelaunayAttributes *attr = NULL;
     
 	assert( self );
+	
+	self->qp = QuadEdgePool_New( self->numSites * 3 );
+	
 	Delaunay_SortSites(self->sites, self->numSites);
+
     Delaunay_Recurse(self, 0, self->numSites, &self->leftMost, &self->rightMost);
 
 	self->numEdges = self->qp->numQuadEdges - self->qp->numQuadEdgesFree;
-	self->numTriangles = self->numEdges - self->numSites + 1;
+	self->numFaces = self->numEdges - self->numSites + 2;
+	self->numTriangles = 0;
 
 	attr = self->attributes;
 
@@ -294,9 +389,7 @@
 		self->vp = VoronoiVertexPool_New( self->numSites * 2 );
 	}
 	
-	if( attr->FindHull ){
-		Delaunay_FindHull( self );
-	}
+	Delaunay_FindHull( self );
 	
 	if( attr->BuildTriangleIndices ){
 		Delaunay_BuildTriangleIndices( self );
@@ -330,51 +423,52 @@
 	*/
 
 /* Function for heap sorting the input points in ascending x-coordinate */
-void Delaunay_SortSites(CoordF *sites, int numSites )
+void Delaunay_SortSites(Site *sites, int numSites )
 {
    int gap, i, j;
-   CoordF temp;
+   Site temp;
 
 	for (gap = numSites/2; gap > 0; gap /= 2){
 		for (i = gap; i < numSites; i++){
 			for ( j = i-gap;
-				j >= 0 && ( sites[j][0] != sites[j+gap][0] ? (sites[j][0] > sites[j+gap][0]) : (sites[j][1] > sites[j+gap][1]));
+				j >= 0 && ( (*(sites[j].coord))[0] != (*(sites[j+gap].coord))[0] ?
+					((*(sites[j].coord))[0] > (*(sites[j+gap].coord))[0]) : ((*(sites[j].coord))[1] > (*(sites[j+gap].coord))[1]));
 				j -= gap) 
 			{
-				memcpy( &temp, sites+j, sizeof( CoordF ) );
-				memcpy( sites+j, sites+j+gap, sizeof( CoordF ) );
-				memcpy( sites+j+gap, &temp, sizeof( CoordF ) );
+				memcpy( &temp, sites+j, sizeof( Site ) );
+				memcpy( sites+j, sites+j+gap, sizeof( Site ) );
+				memcpy( sites+j+gap, &temp, sizeof( Site ) );
 			}
 		}
 	}
 }
 
 /* Function to check if a point is to the right of an edge */
-int RightOf(CoordF *s, QuadEdgeRef e)
+int RightOf(Site *s, QuadEdgeRef e)
 {
 	float result;
 
-	CCW((CoordF*)s, (CoordF*)DEST(e), (CoordF*)ORG(e), &result);
+	CCW(s->coord, ((Site*)DEST(e))->coord, ((Site*)ORG(e))->coord, &result);
 
 	return result > 0.0;
 }
 
 /* Function to check if a point is to the left of an edge */
-int LeftOf(CoordF *s, QuadEdgeRef e)
+int LeftOf(Site *s, QuadEdgeRef e)
 {
 	float result;
-	CCW((CoordF*)s, (CoordF*)ORG(e), (CoordF*)DEST(e), &result);
+	CCW(s->coord, ((Site*)ORG(e))->coord, ((Site*)DEST(e))->coord, &result);
 
 	return result > 0.0;
 }
 
 /* Function to check if a point is inside the circumcircle of three other points */
-int InCircle(CoordF *a, CoordF *b, CoordF *c, CoordF *d)
+int InCircle(Site *a, Site *b, Site *c, Site *d)
 {
-	double x1 = (*a)[0], y1 = (*a)[1];
-	double x2 = (*b)[0], y2 = (*b)[1];
-	double x3 = (*c)[0], y3 = (*c)[1];
-	double x4 = (*d)[0], y4 = (*d)[1];
+	double x1 = (*(a->coord))[0], y1 = (*(a->coord))[1];
+	double x2 = (*(b->coord))[0], y2 = (*(b->coord))[1];
+	double x3 = (*(c->coord))[0], y3 = (*(c->coord))[1];
+	double x4 = (*(d->coord))[0], y4 = (*(d->coord))[1];
 
 	return ((y4-y1)*(x2-x3)+(x4-x1)*(y2-y3))*((x4-x3)*(x2-x1)-(y4-y3)*(y2-y1)) >
 			((y4-y3)*(x2-x1)+(x4-x3)*(y2-y1))*((x4-x1)*(x2-x3)-(y4-y1)*(y2-y3));
@@ -384,7 +478,7 @@
  * paper. Refer to ACM Transcations on graphics, Vol. 4, No. 2, April 1985, Pages 74-123 */
 void Delaunay_Recurse( Delaunay *delaunay, int sl, int sh, QuadEdgeRef *le, QuadEdgeRef *re )
 {
-	CoordF *sites = delaunay->sites;
+	Site *sites = delaunay->sites;
 	
 	if (sh == sl+2) 
 	{
@@ -397,7 +491,7 @@
 		QuadEdgeRef a = MakeQuadEdge( delaunay->qp );
 		QuadEdgeRef b = MakeQuadEdge( delaunay->qp );
 		float ct;
-		CCW(&sites[sl], &sites[sl+1], &sites[sl+2], &ct);
+		CCW(sites[sl].coord, sites[sl+1].coord, sites[sl+2].coord, &ct);
 		SpliceQuadEdges(SYM(a), b);
 		ORG(a) = &sites[sl]; DEST(a) = &sites[sl+1];
 		ORG(b) = &sites[sl+1];  DEST(b) = &sites[sl+2];
@@ -477,12 +571,12 @@
 	
 	start = le = delaunay->leftMost;
 	
-	delaunay->hull = (int*)malloc( sizeof( int ) * delaunay->numSites );
+	delaunay->hull = Memory_Alloc_Array_Unnamed( int, sizeof( int ) * delaunay->numSites );
 	memset( delaunay->hull, 0, sizeof( int ) * delaunay->numSites );
 	
 	do{
-		delaunay->hull[((CoordF*)ORG(le))-delaunay->sites] = 1;
-		delaunay->hull[((CoordF*)DEST(le))-delaunay->sites] = 1;
+		delaunay->hull[((Site*)ORG(le))->id] = 1;
+		delaunay->hull[((Site*)DEST(le))->id] = 1;
 		le = RPREV(le);
 	}while(le != start);
 }
@@ -493,16 +587,17 @@
 	int i = 0, triCount;
 	QuadEdgeRef e = 0, eStart = 0, eOnext = 0, eLnext = 0;
 	QuadEdge *edges = NULL;
-	CoordF	*sites = NULL;
+	Site *sites = NULL;
 	int maxEdges = 0;
 	int **triIndices = NULL;
 
 	assert( delaunay );
 	
-	delaunay->triangleIndices = (int**)malloc( sizeof(int*) * delaunay->numTriangles );
-	delaunay->triangleIndices[0] = (int*)malloc( sizeof(int*) * delaunay->numTriangles * 3 );
+	delaunay->triangleIndices = Memory_Alloc_Array_Unnamed( int*, delaunay->numFaces );
+	delaunay->triangleIndices[0] = Memory_Alloc_Array_Unnamed( int, delaunay->numFaces * 3 );
+	memset( delaunay->triangleIndices[0] , 0, sizeof(int) * delaunay->numFaces * 3 );
 	
-	for( i=0; i<delaunay->numTriangles; i++ ){
+	for( i=0; i<delaunay->numFaces; i++ ){
 		delaunay->triangleIndices[i] = delaunay->triangleIndices[0]+i*3;
 	}
 		
@@ -521,29 +616,44 @@
 		
 		e = eStart = (QuadEdgeRef)((void*)&(edges[i]));
 		
-		if( ((QuadEdge*)e)->status == FREE )continue;
+		if( IS_FREE(e) )continue;
 		
 		do{
 			eOnext = ONEXT(e);
 			eLnext = LNEXT(e);
-
+			
 			if( (COUNT(e)<2) && (COUNT(LNEXT(e))<2) && (COUNT(eOnext)<2) ){
-					if( ((((CoordF*)ORG(eLnext)) == ((CoordF*)DEST(e)))) &&
-					 ((((CoordF*)DEST(eLnext)) == ((CoordF*)DEST(eOnext)))) ){
-						
-						triIndices[triCount][0] = (int)(((CoordF*)ORG(e))-sites);
-						triIndices[triCount][1] = (int)(((CoordF*)DEST(e))-sites);
-						triIndices[triCount][2] = (int)(((CoordF*)DEST(eOnext))-sites);
+					if( ((((Site*)ORG(eLnext)) == ((Site*)DEST(e)))) &&
+					 ((((Site*)DEST(eLnext)) == ((Site*)DEST(eOnext)))) ){
+		
+						if( delaunay->attributes->BuildBoundingTriangle ){
+							if( (!( delaunay->hull[(((Site*)ORG(e))->id)] )) &&
+								(!( delaunay->hull[(((Site*)DEST(e))->id)] )) && 
+								(!( delaunay->hull[(((Site*)DEST(eOnext))->id)] )) )
+							{
+								triIndices[triCount][0] = (((Site*)ORG(e))->id);
+								triIndices[triCount][1] = (((Site*)DEST(e))->id);
+								triIndices[triCount][2] = (((Site*)DEST(eOnext))->id);
+								triCount++;
+							}
+						}
+						else{
+							triIndices[triCount][0] = (((Site*)ORG(e))->id);
+							triIndices[triCount][1] = (((Site*)DEST(e))->id);
+							triIndices[triCount][2] = (((Site*)DEST(eOnext))->id);
+							triCount++;
+						}
 
 						COUNT(e)++;
 						COUNT(LNEXT(e))++;
 						COUNT(eOnext)++;
-						triCount++;
 					}
 				}
 			e = eOnext;
 		}while( e != eStart );
 	}
+	
+	delaunay->numTriangles = triCount;
 }
 
 /* Function for calculating voronoi vertices */
@@ -553,7 +663,7 @@
 	QuadEdgeRef e = 0, eStart = 0, eOnext = 0, eLnext = 0;
 	VoronoiVertex *new_voronoi_site = NULL;
 	QuadEdge *edges = NULL;
-	CoordF	*sites = NULL;
+	Site *sites = NULL;
 	int maxEdges = 0;
 
 	assert( delaunay );
@@ -570,7 +680,7 @@
 		
 		e = eStart = (QuadEdgeRef)((void*)&(edges[i]));
 		
-		if( ((QuadEdge*)e)->status == FREE )continue;
+		if( IS_FREE(e) )continue;
 		
 		new_voronoi_site = NULL;
 		do{
@@ -578,8 +688,8 @@
 			eLnext = LNEXT(e);
 
 			if( (COUNT(e)<2) && (COUNT(LNEXT(e))<2) && (COUNT(eOnext)<2) ){
-					if( ((((CoordF*)ORG(eLnext)) == ((CoordF*)DEST(e)))) &&
-					 ((((CoordF*)DEST(eLnext)) == ((CoordF*)DEST(eOnext)))) ){
+					if( ((((Site*)ORG(eLnext)) == ((Site*)DEST(e)))) &&
+					 ((((Site*)DEST(eLnext)) == ((Site*)DEST(eOnext)))) ){
 						
 						/* voronoi */
 							
@@ -587,7 +697,7 @@
 					
 						/* Fiding the center of the circumcircle defined by org(e), dest(eonext) and dest(e)
 						 * and retrieving the result via new_voronoi_site */
-						CIRCUM_CIRCLE( ((CoordF*)ORG(e)), ((CoordF*)DEST(eOnext)), ((CoordF*)DEST(e)), &(new_voronoi_site) );
+						CIRCUM_CIRCLE( ((Site*)ORG(e))->coord, ((Site*)DEST(eOnext))->coord, ((Site*)DEST(e))->coord, &(new_voronoi_site) );
 						
 						/* Assigning the new voronoi vertex to the associated edges */
 						VDEST( e ) = new_voronoi_site;
@@ -614,10 +724,10 @@
 	int current_pos = 0, i = 0, count = 0, count1 = 0, numNeighboursSum;
 	int *tempNumNeighbours = NULL;
 	int maxEdges = 0, numSites = 0;
-	CoordF *src, *dst;
+	Site *src, *dst;
 	VoronoiVertex *vsrc, *vdst;
 	float dist = 0.0f, diffx = 0.0f, diffy = 0.0f, voronoiAreaResult = 0.0;
-	CoordF *sites = NULL;
+	Site *sites = NULL;
 	QuadEdge *edges = NULL;
 	int *numNeighbours, *hull;
 	int **neighbours;
@@ -636,56 +746,55 @@
 		edges[i].count = 0;
 	}
 
-	delaunay->numNeighbours = malloc( sizeof( int ) * numSites );
+	delaunay->numNeighbours = Memory_Alloc_Array_Unnamed( int, numSites );
 	memset( delaunay->numNeighbours, 0, sizeof( int ) * numSites );
 	numNeighbours = delaunay->numNeighbours;
 	
 	hull = delaunay->hull;
 
-	if( ( (hull==(int*)NULL) && (attr->CalculateVoronoiSurfaceArea) ) ){
-		Delaunay_FindHull( delaunay );
-		hull = delaunay->hull;
-	}
-	
 	numNeighboursSum = 0;
 	for( i=0; i<maxEdges; i++ ){
-		if( edges[i].status == FREE ) continue;
+		if( IS_FREE( (QuadEdgeRef)&(edges[i]) ) ) continue;
 		
 		if( edges[i].count == 0 ){
-			src = (CoordF*)ORG((QuadEdgeRef)((void*)(&(edges[i]))));
-			dst = (CoordF*)DEST((QuadEdgeRef)((void*)(&(edges[i]))));
+			src = (Site*)ORG((QuadEdgeRef)((void*)(&(edges[i]))));
+			dst = (Site*)DEST((QuadEdgeRef)((void*)(&(edges[i]))));
 
-			/* Finding the number of neighbours that each point has */
-			numNeighbours[src-sites]++;
-			numNeighbours[dst-sites]++;
+			if( (src->id < delaunay->numInputSites) && (dst->id < delaunay->numInputSites) ){
+				
+				/* Finding the number of neighbours that each point has */
+				numNeighbours[src->id]++;
+				numNeighbours[dst->id]++;
 			
-			/* NumNeighboursSum is required for allocating just enough memory for storing the
-			 * actual neighbours and the sides of the voronoi celss */
-			numNeighboursSum += 2;
+				/* NumNeighboursSum is required for allocating just enough memory for storing the
+				 * actual neighbours and the sides of the voronoi celss */
+				numNeighboursSum += 2;
 
+			}
+
 			edges[i].count++;
 		}
 	}
 
 	/* allocating memory */
 	if( attr->CalculateVoronoiSurfaceArea ){
-		delaunay->voronoiArea = (float*)malloc( sizeof( float ) * numSites );
+		delaunay->voronoiArea = Memory_Alloc_Array_Unnamed( float, numSites );
 		memset( delaunay->voronoiArea, 0, sizeof( float ) * numSites );
 	}
 	
 	if( attr->FindNeighbours ){
-		delaunay->neighbours = (int**)malloc( sizeof(int*) * numSites );
-		delaunay->neighbours[0] = (int*)malloc( sizeof(int) * numNeighboursSum );
+		delaunay->neighbours = Memory_Alloc_Array_Unnamed( int*, numSites );
+		delaunay->neighbours[0] = Memory_Alloc_Array_Unnamed( int, numNeighboursSum );
 		memset( delaunay->neighbours[0], 0, sizeof( int ) * numNeighboursSum );
 	}
 	
 	if( attr->CalculateVoronoiSides ){
-		delaunay->voronoiSides = (float**)malloc( sizeof(float*) * numSites );
-		delaunay->voronoiSides[0] = (float*)malloc( sizeof(float) * numNeighboursSum );
+		delaunay->voronoiSides = Memory_Alloc_Array_Unnamed( float*, numSites );
+		delaunay->voronoiSides[0] = Memory_Alloc_Array_Unnamed( float, numNeighboursSum );
 		memset( delaunay->voronoiSides[0], 0, sizeof( float ) * numNeighboursSum );
 	}
 
-	tempNumNeighbours = (int*)malloc( sizeof( int ) * numSites );
+	tempNumNeighbours = Memory_Alloc_Array_Unnamed( int, numSites );
 	memcpy( tempNumNeighbours, numNeighbours, sizeof( int ) * numSites );
 
 	
@@ -703,66 +812,68 @@
 	}
 	
 	for( i=0; i<maxEdges; i++ ){
-		if( edges[i].status == FREE ) continue;
+		if( IS_FREE( (QuadEdgeRef)&(edges[i]) ) ) continue;
 
-		src = (CoordF*)ORG((QuadEdgeRef)((void*)(&(edges[i]))));
-		dst = (CoordF*)DEST((QuadEdgeRef)((void*)(&(edges[i]))));
+		src = (Site*)ORG((QuadEdgeRef)((void*)(&(edges[i]))));
+		dst = (Site*)DEST((QuadEdgeRef)((void*)(&(edges[i]))));
 
-		count = tempNumNeighbours[src-sites];
-		count1 = tempNumNeighbours[dst-sites];
+		count = tempNumNeighbours[src->id];
+		count1 = tempNumNeighbours[dst->id];
 		
 		if( edges[i].count == 1 ){
 
-			vsrc = (VoronoiVertex*)VORG((QuadEdgeRef)((void*)(&(edges[i]))));
-			vdst = (VoronoiVertex*)VDEST((QuadEdgeRef)((void*)(&(edges[i]))));
+			if( (src->id < delaunay->numInputSites) && (dst->id < delaunay->numInputSites) ){
+
+				vsrc = (VoronoiVertex*)VORG((QuadEdgeRef)((void*)(&(edges[i]))));
+				vdst = (VoronoiVertex*)VDEST((QuadEdgeRef)((void*)(&(edges[i]))));
 			
-			if( vsrc && vdst ){
+				if( vsrc && vdst ){
 				
-				/* calculating the length of the voronoi sides */
-				if( attr->CalculateVoronoiSides ){
+					/* calculating the length of the voronoi sides */
+					if( attr->CalculateVoronoiSides ){
 					
-					diffx = ( vsrc->point[0] - vdst->point[0] );
-					diffy = ( vsrc->point[1] - vdst->point[1] );
+						diffx = ( vsrc->point[0] - vdst->point[0] );
+						diffy = ( vsrc->point[1] - vdst->point[1] );
 				
-					dist = sqrt( diffx*diffx + diffy*diffy );
+						dist = sqrt( diffx*diffx + diffy*diffy );
 
-					sides[src-sites][--count] = dist;
-					sides[dst-sites][--count1] = dist;
-				}
+						sides[src->id][--count] = dist;
+						sides[dst->id][--count1] = dist;
+					}
 				
-				if( attr->CalculateVoronoiSurfaceArea ){
+					if( attr->CalculateVoronoiSurfaceArea ){
 					
-					/* calculating the voronoi surface area for each point, with the hull
-					 * nodes having an infinite unbounded area */
+						/* calculating the voronoi surface area for each point, with the hull
+						 * nodes having an infinite unbounded area */
 
-					if( !(hull[src-sites]) ){
-						CCW( src, &(vsrc->point), &(vdst->point), &voronoiAreaResult );
-						voronoiArea[src-sites] += FABS( voronoiAreaResult ) * 0.5;
-					}
-					else{
-						voronoiArea[src-sites] = INFINITY;
-					}
+						if( !(hull[src->id]) ){
+							CCW( src->coord, &(vsrc->point), &(vdst->point), &voronoiAreaResult );
+							voronoiArea[src->id] += FABS( voronoiAreaResult ) * 0.5;
+						}
+						else{
+							voronoiArea[src->id] = INFINITY;
+						}
 					
-					if( !(hull[dst-sites]) ){
-						CCW( dst, &(vsrc->point), &(vdst->point), &voronoiAreaResult );
-						voronoiArea[dst-sites] += FABS( voronoiAreaResult ) * 0.5;
+						if( !(hull[dst->id]) ){
+							CCW( dst->coord, &(vsrc->point), &(vdst->point), &voronoiAreaResult );
+							voronoiArea[dst->id] += FABS( voronoiAreaResult ) * 0.5;
+						}
+						else{
+							voronoiArea[dst->id] = INFINITY;
+						}
 					}
-					else{
-						voronoiArea[dst-sites] = INFINITY;
-					}
 				}
-			}
 
-			/* Storing the actual neighbours of each node */
-			if( attr->FindNeighbours ){
-				neighbours[src-sites][--tempNumNeighbours[src-sites]] = dst-sites;
-				neighbours[dst-sites][--tempNumNeighbours[dst-sites]] = src-sites;
+				/* Storing the actual neighbours of each node */
+				if( attr->FindNeighbours ){
+					neighbours[src->id][--tempNumNeighbours[src->id]] = dst->id;
+					neighbours[dst->id][--tempNumNeighbours[dst->id]] = src->id;
+				}
 			}
-	
 			edges[i].count++;
 		}
 	}
-	free(tempNumNeighbours);
+	Memory_Free(tempNumNeighbours);
 }
 
 /* Accessor functions below for accessing arrays inside the class */

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/Delaunay.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -46,14 +46,19 @@
 	extern const Type Delaunay_Type;
 
 	typedef struct DelaunayAttributes_t{
+		int	BuildBoundingTriangle;
 		int BuildTriangleIndices;
 		int CreateVoronoiVertices;
 		int CalculateVoronoiSides;
 		int CalculateVoronoiSurfaceArea;
-		int FindHull;
 		int FindNeighbours;
 	}DelaunayAttributes;
 
+	typedef struct Site_t{
+		CoordF *coord;
+		int id;
+	}Site;
+
 	/** Delaunay class contents (see Delaunay) */
 	#define __Delaunay \
 		__Stg_Component \
@@ -61,10 +66,13 @@
 		QuadEdgePool		*qp; \
 		VoronoiVertexPool 	*vp; \
 		int					numSites; \
-		CoordF				*sites; \
+		int					numInputSites; \
+		Site				*sites; \
+		CoordF				boundingTriangle[3]; \
 		int					numEdges; \
 		int					numVoronoiSites; \
 		int					numTriangles; \
+		int					numFaces; \
 		int					**triangleIndices; \
 		int					numVoronoiVertices; \
 		int					*numNeighbours; \
@@ -157,10 +165,10 @@
 	/*--------------------------------------------------------------------------------------------------------------------------
 	** Private Member functions
 	*/
-	void Delaunay_SortSites(CoordF *sites, int numSites );
-	int RightOf(CoordF *s, QuadEdgeRef e);
-	int LeftOf(CoordF *s, QuadEdgeRef e);
-	int InCircle(CoordF *a, CoordF *b, CoordF *c, CoordF *d);
+	void Delaunay_SortSites(Site *sites, int numSites );
+	int RightOf(Site *s, QuadEdgeRef e);
+	int LeftOf(Site *s, QuadEdgeRef e);
+	int InCircle(Site *a, Site *b, Site *c, Site *d);
 	void Delaunay_Recurse( Delaunay *delaunay, int sl, int sh, QuadEdgeRef *le, QuadEdgeRef *re );
 	void Delaunay_FindHull( Delaunay *delaunay );
 	void Delaunay_BuildTriangleIndices( Delaunay *delaunay );

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -62,23 +62,21 @@
 	QuadEdgePool *qp = NULL;
 	int i = 0;
 
-	qp = malloc( sizeof( QuadEdgePool ) );
-	memset( qp, 0, sizeof( qp ) );
+	qp = Memory_Alloc_Unnamed( QuadEdgePool );
+	memset( qp, 0, sizeof( QuadEdgePool ) );
 	
 	assert( numSites > 0 );
 
 	/* Allocating memory for the quadEdge pool */
-	qp->quadEdges = (QuadEdge*)malloc( sizeof( QuadEdge ) * numSites );
+	qp->quadEdges = (QuadEdge*)Memory_Alloc_Array_Unnamed( QuadEdge, numSites );
 	memset( qp->quadEdges, 0, sizeof( QuadEdge ) * numSites );
 	
-	qp->pool = (QuadEdge**)malloc( sizeof( QuadEdge* ) * numSites );
+	qp->pool = Memory_Alloc_Array_Unnamed( QuadEdge*, numSites );
 	
 	qp->numQuadEdges = numSites;
 	qp->numQuadEdgesFree = numSites;
 	
 	for( i=0; i<numSites; i++ ){
-		qp->quadEdges[i].status = FREE;
-
 		qp->pool[i] = &(qp->quadEdges[i]);
 	}
 
@@ -90,16 +88,16 @@
 	VoronoiVertexPool *vp = NULL;
 	int i = 0;
 
-	vp = malloc( sizeof( VoronoiVertexPool ) );
-	memset( vp, 0, sizeof( vp ) );
+	vp = Memory_Alloc_Unnamed( VoronoiVertexPool );
+	memset( vp, 0, sizeof( VoronoiVertexPool ) );
 	
 	assert( numSites > 0 );
 
 	/* Allocating memory for the voronoiVertices pool */
-	vp->voronoiVertices = (VoronoiVertex*)malloc( sizeof( VoronoiVertex ) * numSites );
+	vp->voronoiVertices = Memory_Alloc_Array_Unnamed( VoronoiVertex, numSites );
 	memset( vp->voronoiVertices, 0, sizeof( VoronoiVertex ) * numSites );
 	
-	vp->pool = (VoronoiVertex**)malloc( sizeof( VoronoiVertex* ) * numSites );
+	vp->pool = Memory_Alloc_Array_Unnamed( VoronoiVertex*, numSites );
 	
 	vp->numVoronoiVertices = numSites;
 	vp->numVoronoiVerticesFree = numSites;
@@ -116,7 +114,7 @@
 	QuadEdge *e = NULL;
 
 	e = qp->pool[--(qp->numQuadEdgesFree)];
-	e->status = IN_USE;
+	SET_IN_USE( (QuadEdgeRef)e );
 
 	return e;
 }
@@ -133,18 +131,18 @@
 void Release_QuadEdgePool( QuadEdgePool *qp )
 {
 	if( qp ){
-		free( qp->quadEdges );
-		free( qp->pool );
-		free( qp );
+		Memory_Free( qp->quadEdges );
+		Memory_Free( qp->pool );
+		Memory_Free( qp );
 	}
 }
 
 void Release_VoronoiVertexPool( VoronoiVertexPool *vp )
 {
 	if( vp ){
-		free( vp->voronoiVertices );
-		free( vp->pool );
-		free( vp );
+		Memory_Free( vp->voronoiVertices );
+		Memory_Free( vp->pool );
+		Memory_Free( vp );
 	}
 }
 
@@ -159,7 +157,7 @@
 {
 	memset( e, 0, sizeof( QuadEdge ) );
 
-	e->status = FREE;
+	SET_FREE( (QuadEdgeRef)e );
 	qp->pool[qp->numQuadEdgesFree++] = e;
 }
 	

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/QuadEdge.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -44,11 +44,9 @@
 	/** Textual name of this class */
 	extern const Type QuadEdge_Type;
 
-	typedef enum QuadEdge_Status_t{
-		FREE,
-		IN_USE
-	}QuadEdge_Status;
-
+	#define IN_USE 1
+	#define FOREIGN 1<<1
+	
 	typedef struct VoronoiVertex_t{
 		float point[2];
 	}VoronoiVertex;
@@ -58,7 +56,7 @@
 		QuadEdgeRef 	next[4];\
 		void			*data[4];\
 		unsigned		count;\
-		QuadEdge_Status	status;
+		unsigned		attributes;
 
 	struct QuadEdge { __QuadEdge };
 
@@ -85,6 +83,17 @@
 
 #define COUNT(e)  ((QuadEdge *)((e)&WORD))->count
 
+#define IS_IN_USE(e)	(((QuadEdge *)((e)&WORD))->attributes & IN_USE)
+#define IS_FREE(e)		(!(((QuadEdge *)((e)&WORD))->attributes & IN_USE))
+#define SET_IN_USE(e)	(((QuadEdge *)((e)&WORD))->attributes |= IN_USE)
+#define SET_FREE(e)		(((QuadEdge *)((e)&WORD))->attributes &= ~IN_USE)
+
+#define IS_FOREIGN(e)	(((QuadEdge *)((e)&WORD))->attributes & FOREIGN)
+#define IS_LOCAL(e)		(!(((QuadEdge *)((e)&WORD))->attributes & FOREIGN))
+
+#define SET_FOREIGN(e)	(((QuadEdge *)((e)&WORD))->attributes |= FOREIGN)
+#define SET_LOCAL(e)	(((QuadEdge *)((e)&WORD))->attributes &= ~FOREIGN)
+
 /* Edge orientation operators: */
 
 #define ROT(e) (((e)&WORD)+(((e)+1)&3u))

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testDelaunay.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testDelaunay.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testDelaunay.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -115,7 +115,6 @@
 		attr.CreateVoronoiVertices = 1;
 		attr.CalculateVoronoiSides = 1;
 		attr.CalculateVoronoiSurfaceArea = 1;
-		attr.FindHull = 1;
 		attr.FindNeighbours = 1;
 
 		/* Testing regular point-set */
@@ -149,8 +148,9 @@
 				
 				for( k=0; k<i; k++ ){
 					if( d->hull[k] ) continue;
-
-					if( FABS( area - d->voronoiArea[k] ) > epsilon ) pass = 0;
+					
+					if( (k > 0) && (k< sqrt((float)k)) )
+						if( FABS( area - d->voronoiArea[k] ) > epsilon ) pass = 0;
 				}
 
 				Stg_Class_Delete( d );
@@ -181,7 +181,7 @@
 		
 				Stg_Component_Build( d, NULL, True );
 
-				if( d->numTriangles !=  (d->numEdges - d->numSites+1) ){
+				if( d->numFaces !=  (d->numEdges - d->numSites+2) ){
 					pass = 0;
 				}
 
@@ -217,9 +217,9 @@
 				d = Delaunay_New( "Delaunay", dictionary, sites, i, &attr );
 		
 				Stg_Component_Build( d, NULL, True );
-
+				
 				for( j=0; j<i; j++ ){
-					if( (d->sites[j][0] == 0.0) && (d->sites[j][1] == 0.0) ){
+					if( (sites[j][0] == 0.0) && (sites[j][1] == 0.0) ){
 						side = d->voronoiSides[j][0];
 						voronoiArea = d->voronoiArea[j];
 						break;
@@ -240,6 +240,7 @@
 
 			printf( "Regular polygon triangulation test %s\n", pass?"passed..":"failed..!" );
 		}
+		Stg_Class_Delete( dictionary );
 	}
 	
 	DiscretisationGeometry_Finalise();

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,651 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: HMesh.c 3584 2006-05-16 11:11:07Z PatrickSunter $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+#include <mpi.h>
+#include "Base/Base.h"
+
+#include "Discretisation/Geometry/Geometry.h"
+#include "Discretisation/Shape/Shape.h"
+
+#include "types.h"
+#include "shortcuts.h"
+#include "MeshClass.h"
+#include "HMesh.h"
+
+
+#define HMESH_WELD_RESOLUTION	1e-5;
+
+
+/* Textual name of this class */
+const Type HMesh_Type = "HMesh";
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
+
+HMesh* HMesh_DefaultNew( Name name ) {
+	return _HMesh_New( sizeof(HMesh), 
+			   HMesh_Type, 
+			   _HMesh_Delete, 
+			   _HMesh_Print, 
+			   _HMesh_Copy, 
+			   (void*)HMesh_DefaultNew,
+			   _HMesh_Construct,
+			   _HMesh_Build, 
+			   _HMesh_Initialise, 
+			   _HMesh_Execute,
+			   _HMesh_Destroy,
+			   name,
+			   False,
+			   _Mesh_Node_IsLocal1D,
+			   _Mesh_Node_IsShadow1D,
+			   _Mesh_Element_IsLocal1D,
+			   _Mesh_Element_IsShadow1D,
+			   NULL, 
+			   0,
+			   0, 
+			   NULL, 
+			   NULL );
+}
+
+HMesh* HMesh_New( Name		name,
+		  void*		layout,
+		  SizeT		_nodeSize,
+		  SizeT		_elementSize,
+		  void*		extension_Register,
+		  Dictionary*	dictionary )
+{
+	return _HMesh_New( sizeof(HMesh), 
+			   HMesh_Type, 
+			   _HMesh_Delete, 
+			   _HMesh_Print, 
+			   _HMesh_Copy, 
+			   (void*)HMesh_DefaultNew,
+			   _HMesh_Construct,
+			   _HMesh_Build, 
+			   _HMesh_Initialise, 
+			   _HMesh_Execute,
+			   _HMesh_Destroy,
+			   name,
+			   True,
+			   _Mesh_Node_IsLocal1D,
+			   _Mesh_Node_IsShadow1D,
+			   _Mesh_Element_IsLocal1D,
+			   _Mesh_Element_IsShadow1D,
+			   layout, 
+			   _nodeSize,
+			   _elementSize, 
+			   extension_Register, 
+			   dictionary );
+}
+
+void HMesh_Init( HMesh*		self,
+		 Name		name,
+		 void*		layout,
+		 SizeT		_nodeSize,
+		 SizeT		_elementSize,
+		 void*		extensionMgr_Register,
+		 Dictionary*	dictionary )
+{
+	/* General info */
+	self->type = HMesh_Type;
+	self->_sizeOfSelf = sizeof(HMesh);
+	self->_deleteSelf = False;
+	self->dictionary = dictionary;
+	
+	/* Virtual info */
+	self->_delete = _HMesh_Delete;
+	self->_print = _HMesh_Print;
+	self->_copy = _HMesh_Copy;
+	self->_defaultConstructor = (void*)HMesh_DefaultNew;
+	self->_construct = _HMesh_Construct;
+	self->_build = _HMesh_Build;
+	self->_initialise = _HMesh_Initialise;
+	self->_execute = _HMesh_Execute;
+	self->_destroy = _HMesh_Destroy;
+	self->nodeIsLocal = _Mesh_Node_IsLocal1D;
+	self->nodeIsShadow = _Mesh_Node_IsShadow1D;
+	self->elementIsLocal = _Mesh_Element_IsLocal1D;
+	self->elementIsShadow = _Mesh_Element_IsShadow1D;
+	
+	_Stg_Class_Init( (Stg_Class*)self );
+	_Stg_Object_Init( (Stg_Object*)self, name, NON_GLOBAL );
+	_Stg_Component_Init( (Stg_Component*)self );
+	_Mesh_Init( (Mesh*)self, layout, _nodeSize, _elementSize, extensionMgr_Register );
+	_HMesh_Init( self );
+}
+
+HMesh* _HMesh_New( SizeT					_sizeOfSelf, 
+		   Type						type,
+		   Stg_Class_DeleteFunction*			_delete,
+		   Stg_Class_PrintFunction*			_print,
+		   Stg_Class_CopyFunction*			_copy, 
+		   Stg_Component_DefaultConstructorFunction*	_defaultConstructor,
+		   Stg_Component_ConstructFunction*		_construct,
+		   Stg_Component_BuildFunction*			_build,
+		   Stg_Component_InitialiseFunction*		_initialise,
+		   Stg_Component_ExecuteFunction*		_execute,
+		   Stg_Component_DestroyFunction*		_destroy,
+		   Name						name,
+		   Bool						initFlag,
+		   Mesh_Node_IsLocalFunction*			nodeIsLocal,
+		   Mesh_Node_IsShadowFunction*			nodeIsShadow,
+		   Mesh_Element_IsLocalFunction*		elementIsLocal,
+		   Mesh_Element_IsShadowFunction*		elementIsShadow,
+		   void*					layout,
+		   SizeT					_nodeSize,
+		   SizeT					_elementSize, 
+		   void*					extension_Register,
+		   Dictionary*					dictionary )
+{
+	HMesh* self;
+	
+	/* Allocate memory */
+	assert( _sizeOfSelf >= sizeof(HMesh) );
+	self = (HMesh*)_Mesh_New( _sizeOfSelf, type, _delete, _print, _copy, 
+				  _defaultConstructor, _construct, 
+				  _build, _initialise, _execute, _destroy, 
+				  name, NON_GLOBAL, 
+				  nodeIsLocal, nodeIsShadow, elementIsLocal, elementIsShadow, 
+				  layout, _nodeSize, _elementSize, 
+				  extension_Register, dictionary );
+	
+	/* Virtual info */
+	
+	/* HMesh info */
+	if( initFlag ) _HMesh_Init( self );
+
+	return self;
+}
+
+void _HMesh_Init( HMesh* self ) {
+	/* At this point, _Mesh_Init will have been called. */
+	self->nLevels = 0;
+	self->levels = NULL;
+}
+
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
+
+void _HMesh_Construct( void* mesh, Stg_ComponentFactory* cf ) {
+	HMesh*		self = (HMesh*)mesh;
+	Dictionary*	dict;
+	unsigned	nLevels;
+	char*		meshName;
+	Mesh*		baseMesh;
+	unsigned	baseLevel;
+
+	/* As far as I can tell, we don't really want to construct the super-class. */
+	/*_Mesh_Construct( mesh, cf );*/
+
+	/* Sort out my own initialisation. */
+	_HMesh_Init( (HMesh*)self );
+
+	/* Shortcuts. */
+	dict = cf->componentDict;
+
+	/* Read the base mesh from the dictionary. */
+	meshName = Stg_ComponentFactory_GetString( cf, self->name, "base-mesh", NULL );
+	if( meshName && strcmp( meshName, "" ) ) {
+		baseMesh = Stg_ComponentFactory_ConstructByName( cf, meshName, Mesh, True );
+	}
+	else
+		baseMesh = NULL;
+
+	/* Read the number of levels expected. */
+	nLevels = Stg_ComponentFactory_GetUnsignedInt( cf, self->name, "levels", 1 );
+
+	/* Read the base mesh's level. */
+	baseLevel = Stg_ComponentFactory_GetUnsignedInt( cf, self->name, "base-level", 0 );
+	assert( baseLevel < nLevels );
+
+	/* Set everything up. */
+	HMesh_SetNLevels( self, nLevels, baseLevel );
+	if( baseMesh )
+		HMesh_SetMesh( self, baseLevel, baseMesh, False );
+}
+
+void _HMesh_Destroy( void* mesh, void* data ) {
+	/* What the hell is supposed to go in here anyway? I was under the impression that *_Delete takes
+	   care of all the destruction around here... anyway, destroy the super-class. */
+	_Mesh_Destroy( mesh, data );
+}
+
+void _HMesh_Delete( void* mesh ) {
+	HMesh*	self = (HMesh*)mesh;
+
+	/* Delete the parent. */
+	_Mesh_Delete( self );
+}
+
+void _HMesh_Print( void* mesh, Stream* stream ) {
+	HMesh*	self = (HMesh*)mesh;
+	
+	/* Set the Journal for printing informations */
+	Stream* meshStream;
+	meshStream = Journal_Register( InfoStream_Type, "HMeshStream" );
+
+	/* Print parent */
+	Journal_Printf( stream, "HMesh (ptr): (%p)\n", self );
+	_Mesh_Print( self, stream );
+}
+
+void* _HMesh_Copy( void* mesh, void* destProc_I, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+	HMesh*	self = (HMesh*)mesh;
+	HMesh*	newHMesh;
+	PtrMap*	map = ptrMap;
+	Bool	ownMap = False;
+
+	/* Damn me for making copying so difficult... what was I thinking? */
+	
+	/* We need to create a map if it doesn't already exist. */
+	if( !map ) {
+		map = PtrMap_New( 10 );
+		ownMap = True;
+	}
+	
+	newHMesh = (HMesh*)_Mesh_Copy( self, destProc_I, deep, nameExt, map );
+	
+	/* Copy the virtual methods here. */
+
+	/* Deep or shallow? */
+	if( deep ) {
+	}
+	else {
+	}
+	
+	/* If we own the map, get rid of it here. */
+	if( ownMap ) Stg_Class_Delete( map );
+	
+	return (void*)newHMesh;
+}
+
+void _HMesh_Build( void* mesh, void* data ) {
+	HMesh*		self = (HMesh*)mesh;
+	unsigned	l_i;
+
+	assert( self );
+
+	/* Build parent mesh. */
+	_Mesh_Build( mesh, data );
+
+	/* Build each level. */
+	for( l_i = 0; l_i < self->nLevels; l_i++ )
+		Build( self->levels[l_i].mesh, data, False );
+}
+
+void _HMesh_Initialise( void* mesh, void* data ) {
+	HMesh*		self = (HMesh*)mesh;
+	unsigned	l_i;
+
+	assert( self );
+
+	/* Initalise the parent mesh. */
+	_Mesh_Initialise( mesh, data );
+
+	/* Initialise all levels, we'll need each mesh's data. */
+	for( l_i = 0; l_i < self->nLevels; l_i++ )
+		Initialise( self->levels[l_i].mesh, data, False );
+
+	/* Here is where we construct our topographical mesh, the composite of all levels. 
+	   These routines also take care of building the mappings bewtween levels and to the
+	   topographical mesh. Essentially, this is where the bulk of the work is done. */
+	HMesh_BuildNodes( self );
+	HMesh_BuildElements( self );
+}
+
+void _HMesh_Execute( void* mesh, void* data ) {
+	/* Execute parent mesh. */
+	_Mesh_Execute( mesh, data );
+}
+
+/*--------------------------------------------------------------------------------------------------------------------------
+** Public Functions
+*/
+
+void HMesh_SetNLevels( HMesh* self, unsigned nLevels, unsigned baseLevel ) {
+	assert( self );
+	assert( !nLevels || baseLevel < nLevels );
+
+	/* If this is being set after a previous construction, kill everything. */
+	if( self->nLevels ) {
+		unsigned	l_i;
+
+		for( l_i = 0; l_i < self->nLevels; l_i++ )
+			HMesh_DeleteLevel( self->levels + l_i );
+		KillArray( self->levels );
+	}
+
+	/* Set the levels and resize everything. */
+	self->nLevels = nLevels;
+	self->baseLevel = baseLevel;
+	if( self->nLevels ) {
+		self->levels = Memory_Alloc_Array( HMesh_Level, self->nLevels, "HMesh::levels" );
+		memset( self->levels, 0, self->nLevels * sizeof(HMesh_Level) );
+	}
+}
+
+void HMesh_SetMesh( HMesh* self, unsigned level, Mesh* mesh, Bool own ) {
+	assert( self );
+	assert( level < self->nLevels );
+
+	/* Make sure the level we're looking at is empty. */
+	HMesh_DeleteLevel( self->levels + level );
+
+	/* Store the new mesh. */
+	self->levels[level].mesh = mesh;
+	self->levels[level].ownMesh = own;
+}
+
+Mesh* HMesh_GenMesh( HMesh* self, unsigned level ) {
+	char*	name;
+
+	assert( self );
+	assert( level < self->nLevels );
+
+	/* Make sure the level we're looking at is empty. */
+	HMesh_DeleteLevel( self->levels + level );
+
+	/* Create a new mesh for this level. */
+	name = HMesh_GenName( self, level );
+	self->levels[level].mesh = Mesh_DefaultNew( name );
+	self->levels[level].ownMesh = True;
+	Memory_Free( name );
+
+	return self->levels[level].mesh;
+}
+
+Mesh* HMesh_GetMesh( HMesh* self, unsigned level ) {
+	assert( self );
+	assert( level < self->nLevels );
+	assert( self->levels );
+
+	return self->levels[level].mesh;
+}
+
+Mesh* HMesh_GetBaseMesh( HMesh* self ) {
+	assert( self );
+	assert( self->levels );
+
+	return self->levels[self->baseLevel].mesh;
+}
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Private Functions
+*/
+
+char* HMesh_GenName( HMesh* self, unsigned level ) {
+	unsigned	len;
+	unsigned	width;
+	char*		name;
+
+	assert( self );
+	assert( level < self->nLevels );
+
+	/* Calculate the length of the new name. */
+	len = self->name ? strlen(self->name) : 0;
+	width = self->nLevels ? log(self->nLevels) + 1 : 0;
+	len += width + 2;
+
+	/* Construct the new name. */
+	name = Memory_Alloc_Array( char, len, "HMesh::<mesh name>" );
+	sprintf( name, "%s_%0*d", self->name ? self->name : "", width, level );
+
+	return name;
+}
+
+void HMesh_BuildNodes( HMesh* self ) {
+	unsigned	l_i;
+
+	assert( self );
+
+	/* Make sure nodes aren't already set, if they are kill'em. */
+	/* TODO */
+
+	/* Higher levels require some additional crap to allow node welding. */
+	for( l_i = 0; l_i < self->nLevels; l_i++ ) {
+		HMesh_Level*	level = self->levels + l_i;
+		HMesh_Level*	prevLevel = self->levels + l_i - 1;
+		Mesh*		mesh = level->mesh;
+		Mesh*		prevMesh = prevLevel->mesh;
+		unsigned	n_i;
+
+		/* The coarsest level is a bit of an exception, we can just copy his 
+		   nodal values directly, no messing about. */
+		if( l_i == 0 ) {
+			self->nodeLocalCount = mesh->nodeLocalCount;
+			self->nodeShadowCount = mesh->nodeShadowCount;
+			self->nodeDomainCount = mesh->nodeDomainCount;
+			self->nodeCoord = Memory_Alloc_Array( Coord, self->nodeDomainCount, "HMesh::nodeCoord" );
+			memcpy( self->nodeCoord, mesh->nodeCoord, self->nodeDomainCount * sizeof(Coord) );
+			level->nodeUp = Memory_Alloc_Array( unsigned, mesh->nodeDomainCount, "HMesh_InterMap::upToLow" );
+			level->nodeGlobals = Memory_Alloc_Array( unsigned, mesh->nodeDomainCount, "HMesh_Level::nodeGlobals" );
+			for( n_i = 0; n_i < prevMesh->nodeDomainCount; n_i++ ) {
+				level->nodeUp[n_i] = -1;
+				level->nodeGlobals[n_i] = n_i;
+			}
+			continue;
+		}
+
+		/* Allocate space on this level for the mappings. */
+		level->nodeUp = Memory_Alloc_Array( unsigned, mesh->nodeDomainCount, "HMesh_Level::nodeUp" );
+		level->nodeDown = Memory_Alloc_Array( unsigned, mesh->nodeDomainCount, "HMesh_Level::nodeDown" );
+		level->nodeGlobals = Memory_Alloc_Array( unsigned, mesh->nodeDomainCount, "HMesh_Level::nodeGlobals" );
+
+		/* Initialise the up map to invalid values. */
+		for( n_i = 0; n_i < prevMesh->nodeDomainCount; n_i++ )
+			level->nodeUp[n_i] = -1;
+
+		/* Search the previous level for overlapping nodes (i.e. nodes that 
+		   are within a certain radius) and use their storage instead of creating new space. */
+		for( n_i = 0; n_i < mesh->nodeDomainCount; n_i++ ) {
+			unsigned	weld;
+
+			if( HMesh_FindWeld( self, l_i, mesh->nodeCoord[n_i], &weld ) ) {
+				/* If we found a node to weld to, do it. */
+				level->nodeDown[n_i] = weld;
+				prevLevel->nodeUp[weld] = n_i;
+				level->nodeGlobals[n_i] = prevLevel->nodeGlobals[weld];
+			}
+			else {
+				/* If we didn't find one, add a new node. */
+				self->nodeDomainCount++;
+				self->nodeCoord = Memory_Realloc_Array( self->nodeCoord, Coord, self->nodeDomainCount );
+				memcpy( self->nodeCoord + self->nodeDomainCount - 1, 
+					mesh->nodeCoord + n_i, 
+					sizeof(Coord) );
+				level->nodeDown[n_i] = -1;
+				level->nodeGlobals[n_i] = self->nodeDomainCount - 1;
+			}
+		}
+	}
+}
+
+void HMesh_BuildElements( HMesh* self ) {
+	unsigned	l_i;
+
+	assert( self );
+
+	/* To construct this level's down elements we can check which down element each of 
+	   this element's nodes falls in. If there are more than one, this element spans 
+	   many lower elements, meaning something sinister is afoot. */
+	for( l_i = 0; l_i < self->nLevels; l_i++ ) {
+		HMesh_Level*	level = self->levels + l_i;
+		HMesh_Level*	prevLevel;
+		Mesh*		mesh = level->mesh;
+		Mesh*		prevMesh;
+		unsigned	e_i;
+
+		/* We can skip the coarsest level, as it has no down map. */
+		if( l_i == 0 ) continue;
+
+		/* Shortcuts. */
+		prevLevel = self->levels + l_i - 1;
+		prevMesh = prevLevel->mesh;
+
+		/* Allocate space on this level for the mappings. */
+		level->elDown = Memory_Alloc_Array( unsigned, mesh->elementDomainCount, "HMesh_Level::elDown" );
+
+		/* Search all the elements. */
+		for( e_i = 0; e_i < mesh->elementDomainCount; e_i++ ) {
+			unsigned	elInd;
+			unsigned	en_i;
+
+			/* Search all the elements' nodes. */
+			for( en_i = 0; en_i < mesh->elementNodeCountTbl[e_i]; en_i++ ) {
+				unsigned	nInd = mesh->elementNodeTbl[e_i][en_i];
+				unsigned	curElInd;
+
+				/* They all have to be in the same coarser element. */
+				curElInd = Mesh_ElementWithPoint( prevMesh, mesh->nodeCoord[nInd], 
+								  INCLUSIVE_UPPER_BOUNDARY );
+				if( en_i == 0 ) elInd = curElInd;
+				else if( curElInd != elInd ) {
+					fprintf( stderr, "*** ERROR: Overlapping element.\n" );
+					abort();
+				}
+			}
+
+			/* Success! */
+			level->elDown[e_i] = elInd;
+		}
+	}
+
+	/* Now that we have the down mapping, we can construct the up mapping... */
+	for( l_i = 0; l_i < self->nLevels; l_i++ ) {
+		HMesh_Level*	level = self->levels + l_i;
+		HMesh_Level*	nextLevel;
+		Mesh*		mesh = level->mesh;
+		Mesh*		nextMesh;
+		unsigned	e_i;
+
+		/* We can skip the finest level, as it has no up map. */
+		if( l_i == self->nLevels - 1 ) continue;
+
+		/* Shortcuts. */
+		nextLevel = self->levels + l_i + 1;
+		nextMesh = nextLevel->mesh;
+
+		/* Allocate space on this level for the mappings. */
+		level->nElsUp = Memory_Alloc_Array( unsigned, mesh->elementDomainCount, "HMesh_Level::nElsUp" );
+		level->elUp = Memory_Alloc_Array( unsigned*, mesh->elementDomainCount, "HMesh_Level::elUp" );
+
+		/* Search the upper mesh's elements. */
+		for( e_i = 0; e_i < nextMesh->elementDomainCount; e_i++ ) {
+			unsigned	elInd = nextLevel->elDown[e_i];
+
+			/* Resize our element list. */
+			level->nElsUp[elInd]++;
+			if( level->elUp[elInd] ) {
+				level->elUp[elInd] = Memory_Realloc_Array( level->elUp[elInd], unsigned, level->nElsUp[elInd] );
+			}
+			else {
+				level->elUp[elInd] = Memory_Alloc_Array( unsigned, 1, "HMesh_Level::elUp[]" );
+			}
+
+			/* Add the up element. */
+			level->elUp[elInd][level->nElsUp[elInd] - 1] = e_i;
+		}
+
+		/* Use the up mapping to determine how many elements we have left unrefined on this level. */
+		for( e_i = 0; e_i < mesh->elementDomainCount; e_i++ )
+			if( !level->elUp[e_i] ) self->elementDomainCount++;
+	}
+}
+
+Bool HMesh_FindWeld( HMesh* self, unsigned level, Coord crd, unsigned* weld ) {
+	unsigned	node;
+	Mesh*		mesh;
+	Coord		tmp;
+
+	assert( self );
+	assert( level > 0 && level < self->nLevels );
+
+	/* If there is no lower mesh, then what the hell are we doing here? */
+	mesh = self->levels[level - 1].mesh;
+	assert( mesh );
+
+	/* Find the closest node from lower mesh, check if it's close enough */
+	node = Mesh_ClosestNode( mesh, crd );
+	Vector_Sub( tmp, crd, mesh->nodeCoord[node] );
+	if( Vector_Mag( tmp ) < self->levels[level].weldEpsilon ) {
+		*weld = node;
+		return True;
+	}
+
+	return False;
+}
+
+void HMesh_CalcWeldEpsilons( HMesh* self ) {
+	unsigned	l_i;
+	double		lsep, sep;
+
+	assert( self );
+
+	/* If we don't have enough levels, skip the lot. */
+	if( self->nLevels <= 1 ) return;
+
+	/* Calculate the nodal separation for the coarsest mesh before
+	   entering the loop; kind of an optimisation. */
+	lsep = Mesh_NodeSeparation( self->levels[0].mesh );
+	for( l_i = 1; l_i < self->nLevels; l_i++ ) {
+		Mesh*	upper = self->levels[l_i].mesh;
+		double	usep;
+
+		/* Get the minimum distance between any two nodes of each mesh. */
+		usep = Mesh_NodeSeparation( upper );
+		sep = usep < lsep ? usep : lsep;
+
+		/* Factor in the weld resolution. */
+		self->levels[l_i].weldEpsilon = sep * HMESH_WELD_RESOLUTION;
+
+		/* Flip the separations. */
+		lsep = usep;
+	}
+}
+
+void HMesh_DeleteLevel( HMesh_Level* level ) {
+	assert( level );
+
+	if( level->mesh && level->ownMesh ) Stg_Class_Delete( level->mesh );
+	else level->mesh = NULL;
+	KillArray( level->nodeUp );
+	KillArray( level->nodeDown );
+	KillArray( level->nodeGlobals );
+	KillArray2D( level->mesh->elementDomainCount, level->elUp );
+	KillArray( level->elDown );
+}

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HMesh.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,170 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**
+** Invariants:
+**
+** Comments:
+**
+** $Id: HMesh.h 3584 2006-05-16 11:11:07Z PatrickSunter $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __Discretisaton_Mesh_HMesh_h__
+#define __Discretisaton_Mesh_HMesh_h__
+
+	/** Textual name of this class */
+	extern const Type HMesh_Type;
+
+	/** Virtual function types */
+
+	/** Mesh class contents */
+	typedef struct {
+		Mesh*		mesh;
+		Bool		ownMesh;
+		unsigned*	nodeUp;
+		unsigned*	nodeDown;
+		unsigned*	nodeGlobals;
+		unsigned*	nElsUp;
+		unsigned**	elUp;
+		unsigned*	elDown;
+		double		weldEpsilon;
+	} HMesh_Level;
+
+	#define __HMesh \
+		/* General info */ \
+		__Mesh \
+		\
+		/* Virtual info */ \
+		\
+		/* HMesh info */ \
+		unsigned	nLevels; \
+		unsigned	baseLevel; \
+		HMesh_Level*	levels; \
+
+	struct _HMesh { __HMesh };
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Constructors
+	*/
+
+	/* Create a HMesh */
+	HMesh* HMesh_DefaultNew( Name name );
+
+	HMesh* HMesh_New( Name		name,
+			  void*		layout,
+			  SizeT		_nodeSize,
+			  SizeT		_elementSize,
+			  void*		extension_Register,
+			  Dictionary*	dictionary );
+
+	/* Initialise a Mesh */
+	void HMesh_Init( HMesh*		self,
+			 Name		name,
+			 void*		layout,
+			 SizeT		_nodeSize,
+			 SizeT		_elementSize,
+			 void*		extension_Register,
+			 Dictionary*	dictionary );
+	
+	/* Creation implementation */
+	HMesh* _HMesh_New( SizeT					_sizeOfSelf, 
+			   Type						type,
+			   Stg_Class_DeleteFunction*			_delete,
+			   Stg_Class_PrintFunction*			_print,
+			   Stg_Class_CopyFunction*			_copy, 
+			   Stg_Component_DefaultConstructorFunction*	_defaultConstructor,
+			   Stg_Component_ConstructFunction*		_construct,
+			   Stg_Component_BuildFunction*			_build,
+			   Stg_Component_InitialiseFunction*		_initialise,
+			   Stg_Component_ExecuteFunction*		_execute,
+			   Stg_Component_DestroyFunction*		_destroy,
+			   Name						name,
+			   Bool						initFlag,
+			   Mesh_Node_IsLocalFunction*			nodeIsLocal,
+			   Mesh_Node_IsShadowFunction*			nodeIsShadow,
+			   Mesh_Element_IsLocalFunction*		elementIsLocal,
+			   Mesh_Element_IsShadowFunction*		elementIsShadow,
+			   void*					layout,
+			   SizeT					_nodeSize,
+			   SizeT					_elementSize, 
+			   void*					extension_Register,
+			   Dictionary*					dictionary );
+
+	void _HMesh_LoadFromDict( void*			mesh, 
+				  Dictionary*		subDict, 
+				  Dictionary*		dictionary, 
+				  Stg_ObjectList*	objList);
+
+	/* Initialisation implementation functions */
+	void _HMesh_Init( HMesh* self );
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Virtual functions
+	*/
+
+	void _HMesh_Delete( void* mesh );
+	void _HMesh_Print( void* mesh, Stream* stream );
+
+	#define HMesh_Copy( self ) \
+		(Mesh*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define HMesh_DeepCopy( self ) \
+		(Mesh*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	void* _HMesh_Copy( void* mesh, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+
+	void _HMesh_Build( void* mesh, void* data );
+	void _HMesh_Construct( void* mesh, Stg_ComponentFactory* cf );
+	void _HMesh_Initialise( void* mesh, void* data );
+	void _HMesh_Execute( void* mesh, void* data );
+	void _HMesh_Destroy( void* mesh, void* data );
+	
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Public functions
+	*/
+
+	void HMesh_SetNLevels( HMesh* self, unsigned nLevels, unsigned baseLevel );
+	void HMesh_SetMesh( HMesh* self, unsigned level, Mesh* mesh, Bool own );
+	Mesh* HMesh_GenMesh( HMesh* self, unsigned level );
+	Mesh* HMesh_GetMesh( HMesh* self, unsigned level );
+	Mesh* HMesh_GetBaseMesh( HMesh* self );
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Private Member functions
+	*/
+
+	char* HMesh_GenName( HMesh* self, unsigned level );
+	void HMesh_BuildNodes( HMesh* self );
+	void HMesh_BuildElements( HMesh* self );
+	Bool HMesh_FindWeld( HMesh* self, unsigned level, Coord crd, unsigned* weld );
+	void HMesh_CalcWeldEpsilons( HMesh* self );
+	void HMesh_DeleteLevel( HMesh_Level* level );
+
+#endif /* __Discretisaton_Mesh_HMesh_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -162,6 +162,7 @@
 	_Stg_Object_Init( (Stg_Object*)self, name, NON_GLOBAL );
 	_Stg_Component_Init( (Stg_Component*)self );
 	_ElementLayout_Init( (ElementLayout*)self, geometry, (Topology*)IJK26Topology_New( defaultHexaEL_IJK26TopologyName, dictionary ) );
+	self->topologyWasCreatedInternally = True;
 	
 	/* HexaEL info */
 	_HexaEL_Init( self, dim, NULL, NULL );
@@ -236,6 +237,7 @@
 	/* HexaEL info */
 	if( initFlag ){
 		_HexaEL_Init( self, dim, NULL, NULL );
+		self->topologyWasCreatedInternally = True;
 	}
 	
 	return self;
@@ -295,7 +297,11 @@
 void _HexaEL_Delete( void* hexaEL ) {
 	HexaEL* self = (HexaEL*)hexaEL;
 	
-	if( self->topology ) {
+
+	/* modified by Patrick Sunter 18 May 2006 : in this component's construct it now grabs a topology from
+	the component factory : thus we shouldn't delete it as it may be shared. Only delete if its using
+	the default name and was thus constructed the old way */
+	if ( self->topologyWasCreatedInternally == True ) {
 		Stg_Class_Delete( self->topology );
 		self->topology = NULL;
 	}
@@ -342,19 +348,19 @@
 
 void _HexaEL_Construct( void* hexaEL, Stg_ComponentFactory* cf ) {
 	HexaEL*   self = (HexaEL*) hexaEL;
-	Topology *topology = NULL;
+	IJK26Topology *topology = NULL;
 	Geometry *geometry = NULL;
 	Dimension_Index dim;
 
 	self->dictionary = cf->rootDict;
 	
-	topology =  Stg_ComponentFactory_ConstructByKey(  cf,  self->name,  Topology_Type, Topology,  True  ) ;
+	topology =  Stg_ComponentFactory_ConstructByKey(  cf,  self->name,  Topology_Type, IJK26Topology,  True  ) ;
 	geometry =  Stg_ComponentFactory_ConstructByKey(  cf,  self->name,  Geometry_Type, Geometry,  True  ) ;
 
 	dim = Dictionary_GetUnsignedInt( self->dictionary, "dim" );
 	
-	_ElementLayout_Init( (ElementLayout*)self, geometry, topology );
-	_HexaEL_Init( (HexaEL*)self, dim, ((BlockGeometry*) geometry)->size, ((IJKTopology*) topology)->size );
+	_ElementLayout_Init( (ElementLayout*)self, geometry, (Topology*)topology );
+	_HexaEL_Init( (HexaEL*)self, dim, ((BlockGeometry*) geometry)->size, topology->size );
 }
 	
 void _HexaEL_Build( void* hexaEL, void* data )
@@ -611,7 +617,7 @@
 
 void _HexaEL_BuildEdgeElements( void* hexaEL, Index edge, Element_GlobalIndex* elements ) {
 	/*HexaEL*		self = (HexaEL*)hexaEL; */
-	/* ToDo */
+	/* TODO */
 	assert( 0 );
 }
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/HexaEL.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -54,7 +54,9 @@
 		/* HexaEL info ... */ \
 		Dimension_Index dim;       \
 		IJK				pointSize; \
-		IJK				elementSize;
+		IJK				elementSize; \
+		Bool                            topologyWasCreatedInternally;
+		
 	struct _HexaEL { __HexaEL };
 	
 	

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/Mesh.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/Mesh.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/Mesh.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -58,6 +58,7 @@
 	#include "MeshGeometry.h"
 	#include "MeshLayout.h"
 	#include "MeshClass.h"
+	#include "HMesh.h"
 	#include "ShadowInfo.h"
 	#include "Init.h"
 	#include "Finalise.h"

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -48,6 +48,8 @@
 #include "MeshLayout.h"
 #include "ShadowInfo.h"
 #include "MeshGeometry.h"
+#include "HexaEL.h"
+#include "ParallelPipedHexaEL.h"
 
 /* Textual name of this class */
 const Type Mesh_Type = "Mesh";
@@ -360,6 +362,8 @@
 	elementSize = Dictionary_GetUnsignedInt_WithDefault( thisComponentDict, "ElementSize", 8 );
 	nodeSize = Dictionary_GetUnsignedInt_WithDefault( thisComponentDict, "NodeSize", 0 );
 
+	self->nSpaceDims = Stg_ComponentFactory_GetRootDictUnsignedInt( cf, "dim", 0 );
+
 	_Mesh_Init( (Mesh*)self, meshLayout, nodeSize, elementSize, extensionManager_Register );
 }
 
@@ -1616,6 +1620,116 @@
 	Memory_Free( coordPtrs );
 }
 
+
+unsigned Mesh_ClosestNode( void* _self, Coord crd ) {
+	Mesh*		self = (Mesh*)_self;
+	Bool		done;
+	Coord*		nodeCrds = self->nodeCoord;
+	unsigned	curNode;
+	unsigned	nDims = self->nSpaceDims;
+
+	/* Must have neighbours enabled. */
+	assert( self->buildNodeNeighbourTbl && self->nodeNeighbourTbl );
+
+	/* Begin somewhere in the middle. */
+	curNode = self->nodeLocalCount / 2;
+
+	/* Loop until we've found closest local node. */
+	do {
+		unsigned	nNbrs = self->nodeNeighbourCountTbl[curNode];
+		unsigned*	nbrs = self->nodeNeighbourTbl[curNode];
+		double		dist;
+		double		tmp;
+		unsigned	nbr_i, d_i;
+
+		/* Assume we'll be done after this loop. */
+		done = True;
+
+		/* Calc distance squared to current node. */
+		tmp = nodeCrds[curNode][0] - crd[0];
+		dist = tmp * tmp;
+		for( d_i = 1; d_i < nDims; d_i++ ) {
+			tmp = nodeCrds[curNode][d_i] - crd[d_i];
+			dist += tmp * tmp;
+		}
+
+		/* Compare to neighbours. */
+		for( nbr_i = 0; nbr_i < nNbrs; nbr_i++ ) {
+			double	nbrDist;
+
+			/* Skip invalid neighbours. */
+			if( nbrs[nbr_i] >= self->nodeLocalCount )
+				continue;
+
+			tmp = nodeCrds[nbrs[nbr_i]][0] - crd[0];
+			nbrDist = tmp * tmp;
+			for( d_i = 1; d_i < nDims; d_i++ ) {
+				tmp = nodeCrds[nbrs[nbr_i]][d_i] - crd[d_i];
+				nbrDist += tmp * tmp;
+			}
+
+			if( nbrDist < dist ) {
+				curNode = nbrs[nbr_i];
+				dist = nbrDist;
+				done = False;
+			}
+		}
+	}
+	while( !done );
+
+	return curNode;
+}
+
+
+double Mesh_NodeSeparation( Mesh* self ) {
+	double		sep = HUGE_VAL;
+	unsigned	e_i;
+
+	assert( self );
+
+	for( e_i = 0; e_i < self->elementDomainCount; e_i++ ) {
+		unsigned	en_i;
+
+		for( en_i = 0; en_i < self->elementNodeCountTbl[e_i]; en_i++ ) {
+			unsigned	nIndI = self->elementNodeTbl[e_i][en_i];
+			unsigned	en_j;
+
+			for( en_j = en_i + 1; en_j < self->elementNodeCountTbl[e_i]; en_j++ ) {
+				unsigned	nIndJ = self->elementNodeTbl[e_i][en_j];
+				Coord		tmp;
+				double		curSep;
+
+				Vector_Sub( tmp, self->nodeCoord[nIndI], self->nodeCoord[nIndJ] );
+				curSep = Vector_Mag( tmp );
+				if( curSep < sep ) sep = curSep;
+			}
+		}
+	}
+
+	return sep;
+}
+
+
+unsigned Mesh_ElementWithPoint( void* mesh, Coord pnt, PartitionBoundaryStatus bndStat ) {
+	Mesh*		self = (Mesh*)mesh;
+	ElementLayout*	eLyt = self->layout->elementLayout;
+
+	/* If using ParallelPipedHexaEL, just run it as it's bloody quick. */
+	if( eLyt->type == ParallelPipedHexaEL_Type )
+		return eLyt->elementWithPoint( eLyt, self->layout->decomp, pnt, bndStat, 0, NULL );
+	else if( self->nodeNeighbourTbl ) {
+		unsigned	closeNode;
+
+		/* If node neighbour table is built, use it to speed things up. */
+		closeNode = Mesh_ClosestNode( self, pnt );
+		return eLyt->elementWithPoint( eLyt, self->layout->decomp, pnt, bndStat, 
+					       self->nodeElementCountTbl[closeNode], self->nodeElementTbl[closeNode] );
+	}
+	else
+		return eLyt->elementWithPoint( eLyt, self->layout->decomp, pnt, bndStat, 0, NULL );
+}
+
+
 #define tagElementExt	300
 #define tagNodeCoord	301
 #define tagNodeExt	302

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -109,6 +109,7 @@
 		/* Node */ \
 		Node_List				node; \
 		Coord*					nodeCoord; \
+		unsigned				nSpaceDims; \
 		/* counts */ \
 		Node_LocalIndex				nodeLocalCount; \
 		Node_DomainIndex			nodeDomainCount; \
@@ -381,6 +382,12 @@
 
 	/** Prints the coordinates of every node in the current element */
 	void Mesh_PrintNodeCoordsOfElement( void* mesh, Element_DomainIndex element_dI, Stream* stream );
+
+	unsigned Mesh_ClosestNode( void* _self, Coord crd );
+
+	double Mesh_NodeSeparation( Mesh* self );
+
+	unsigned Mesh_ElementWithPoint( void* mesh, Coord pnt, PartitionBoundaryStatus bndStat );
 	
 	void Mesh_Sync( void* mesh );
 	

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,363 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: MeshTopology.c 3584 2006-05-16 11:11:07Z PatrickSunter $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+#include <mpi.h>
+#include "Base/Base.h"
+
+#include "Discretisation/Geometry/Geometry.h"
+#include "Discretisation/Shape/Shape.h"
+
+#include "types.h"
+#include "shortcuts.h"
+#include "MeshTopology.h"
+
+
+/* Textual name of this class */
+const Type MeshTopology_Type = "MeshTopology";
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
+
+MeshTopology* MeshTopology_New( Name name ) {
+	return _MeshTopology_New( sizeof(MeshTopology), 
+				  MeshTopology_Type, 
+				  _MeshTopology_Delete, 
+				  _MeshTopology_Print, 
+				  _MeshTopology_Copy, 
+				  (void* (*)(Name))_MeshTopology_New, 
+				  _MeshTopology_Construct, 
+				  _MeshTopology_Build, 
+				  _MeshTopology_Initialise, 
+				  _MeshTopology_Execute, 
+				  _MeshTopology_Destroy, 
+				  name, 
+				  NON_GLOBAL );
+}
+
+MeshTopology* _MeshTopology_New( MESHTOPOLOGY_DEFARGS ) {
+	MeshTopology* self;
+	
+	/* Allocate memory */
+	assert( sizeOfSelf >= sizeof(MeshTopology) );
+	self = (MeshTopology*)_Stg_Component_New( STG_COMPONENT_PASSARGS );
+
+	/* Virtual info */
+
+	/* MeshTopology info */
+	_MeshTopology_Init( self );
+
+	return self;
+}
+
+void _MeshTopology_Init( MeshTopology* self ) {
+	self->nDims = 0;
+	self->nEls = NULL;
+	self->nIncEls = NULL;
+	self->incEls = NULL;
+}
+
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
+
+void _MeshTopology_Delete( void* topo ) {
+	MeshTopology*	self = (MeshTopology*)topo;
+
+	/* Delete the parent. */
+	_Stg_Component_Delete( self );
+}
+
+void _MeshTopology_Print( void* topo, Stream* stream ) {
+	MeshTopology*	self = (MeshTopology*)topo;
+	
+	/* Set the Journal for printing informations */
+	Stream* topoStream;
+	topoStream = Journal_Register( InfoStream_Type, "MeshTopologyStream" );
+
+	/* Print parent */
+	Journal_Printf( stream, "MeshTopology (ptr): (%p)\n", self );
+	_Stg_Component_Print( self, stream );
+}
+
+void* _MeshTopology_Copy( void* topo, void* destProc_I, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+#if 0
+	MeshTopology*	self = (MeshTopology*)topo;
+	MeshTopology*	newMeshTopology;
+	PtrMap*	map = ptrMap;
+	Bool	ownMap = False;
+
+	/* Damn me for making copying so difficult... what was I thinking? */
+	
+	/* We need to create a map if it doesn't already exist. */
+	if( !map ) {
+		map = PtrMap_New( 10 );
+		ownMap = True;
+	}
+	
+	newMeshTopology = (MeshTopology*)_Mesh_Copy( self, destProc_I, deep, nameExt, map );
+	
+	/* Copy the virtual methods here. */
+
+	/* Deep or shallow? */
+	if( deep ) {
+	}
+	else {
+	}
+	
+	/* If we own the map, get rid of it here. */
+	if( ownMap ) Stg_Class_Delete( map );
+	
+	return (void*)newMeshTopology;
+#endif
+
+	return NULL;
+}
+
+void _MeshTopology_Construct( void* topo, Stg_ComponentFactory* cf ) {
+}
+
+void _MeshTopology_Build( void* topo, void* data ) {
+}
+
+void _MeshTopology_Initialise( void* topo, void* data ) {
+}
+
+void _MeshTopology_Execute( void* topo, void* data ) {
+}
+
+void _MeshTopology_Destroy( void* topo, void* data ) {
+}
+
+/*--------------------------------------------------------------------------------------------------------------------------
+** Public Functions
+*/
+
+void MeshTopology_SetNDims( void* topo, unsigned nDims ) {
+	MeshTopology*	self = (MeshTopology*)topo;
+
+	assert( self );
+
+	/* If we're changing dimensions, kill everything and begin again. */
+	MeshTopology_Destruct( self );
+
+	/* Set and allocate. */
+	self->nDims = nDims;
+	if( nDims ) {
+		self->nEls = Memory_Alloc_Array( unsigned, nDims, "MeshTopology::nEls" );
+		self->nIncEls = Memory_Alloc_2DArray( unsigned*, nDims, nDims, "MeshTopology::nIncEls" );
+		self->incEls = Memory_Alloc_2DArray( unsigned**, nDims, nDims, "MeshTopology::incEls" );
+	}
+}
+
+void MeshTopology_SetNElements( void* topo, MeshTopology_ElementDim dim, unsigned nEls ) {
+	MeshTopology*	self = (MeshTopology*)topo;
+	unsigned	d_i;
+
+	assert( self );
+	assert( dim < self->nDims );
+
+	/* Clear existing incidence relating to or from this dimension. */
+	for( d_i = 0; d_i < self->nDims; d_i++ ) {
+		KillArray( self->nIncEls[dim][d_i] );
+		KillArray( self->incEls[dim][d_i] );
+		KillArray( self->incEls[d_i][dim] );
+	}
+
+	/* Set size. */
+	self->nEls[dim] = nEls;
+}
+
+void MeshTopology_SetIncidence( void* topo, 
+				MeshTopology_ElementDim fromDim, unsigned elInd, 
+				MeshTopology_ElementDim toDim, 
+				unsigned* nIncEls, unsigned** incEls )
+{
+	MeshTopology*	self = (MeshTopology*)topo;
+	unsigned	e_i;
+
+	assert( self );
+	assert( fromDim < self->nDims );
+	assert( elInd < self->nEls[fromDim] );
+	assert( toDim < self->nDims );
+	assert( nIncEls );
+	assert( incEls );
+
+	/* Clear existing incidence. */
+	KillArray( self->incEls[fromDim][toDim] );
+	KillArray( self->nIncEls[fromDim][toDim] );
+
+	/* Allocate for incoming data. */
+	self->nIncEls[fromDim][toDim] = Memory_Alloc_Array( unsigned, self->nEls[fromDim], 
+							    "MeshTopology::nIncEls[][]" );
+	self->incEls[fromDim][toDim] = Memory_Alloc_2DComplex( unsigned, self->nEls[fromDim], nIncEls, 
+							       "MeshTopology::incEls[][]" );
+
+	/* Copy the lot. */
+	memcpy( self->nIncEls[fromDim][toDim], nIncEls, self->nEls[fromDim] * sizeof(unsigned) );
+	for( e_i = 0; e_i < self->nEls[fromDim]; e_i++ ) {
+		memcpy( self->incEls[fromDim][toDim][e_i], incEls[e_i], 
+			self->nIncEls[fromDim][toDim][e_i] * sizeof(unsigned) );
+	}
+}
+
+void MeshTopology_Complete( void* topo, MeshTopology_ElementDim fromDim, MeshTopology_ElementDim toDim ) {
+	static const unsigned	maxEls[4][4][4] = {{{-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}}, 
+						   {{2, 2, -1, -1}, {-1, 2, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}}, 
+						   {{4, 4, 4, -1}, {-1, 6, 2, -1}, {-1, -1, 8, -1}, {-1, -1, -1, -1}}, 
+						   {{6, 6, 12, 8}, {-1, 10, 4, 4}, {-1, -1, 24, 2}, {-1, -1, -1, 6}}};
+	MeshTopology*		self = (MeshTopology*)topo;
+
+	assert( self );
+
+	/* Neighbours are a little different; treat them separately. */
+	if( fromDim == toDim ) {
+		MeshTopology_CompleteNbrs( self, fromDim, maxEls[self->nDims][fromDim][fromDim] );
+	}
+	else {
+		unsigned*	invNIncEls;
+		unsigned**	invIncEls;
+		unsigned*	nIncEls;
+		unsigned**	incEls;
+		unsigned	max = maxEls[self->nDims][fromDim][toDim];
+		unsigned	e_i;
+
+		assert( fromDim < self->nDims );
+		assert( toDim < self->nDims );
+		assert( self->nEls[fromDim] );
+		assert( self->nEls[toDim] );
+		assert( !self->nIncEls[fromDim][toDim] && !self->incEls[fromDim][toDim] );
+		assert( self->nIncEls[toDim][fromDim] && self->incEls[toDim][fromDim] );
+
+		/* Shortcuts. */
+		invNIncEls = self->nIncEls[toDim][fromDim];
+		invIncEls = self->incEls[toDim][fromDim];
+
+		/* Allocate some tables. */
+		nIncEls = Memory_Alloc_Array( unsigned, self->nEls[fromDim], "MeshTopology::nIncEls[][]" );
+		incEls = Memory_Alloc_2DArray( unsigned, self->nEls[fromDim], max, "" );
+
+		/* Build up the tables. */
+		for( e_i = 0; e_i < self->nEls[toDim]; e_i++ ) {
+			unsigned	inc_i;
+
+			/* For each element incident on this 'toDim' element, add to table. */
+			for( inc_i = 0; inc_i < 4; inc_i++ ) {
+				unsigned	elInd = self->incEls[toDim][e_i][fromDim][inc_i];
+
+				incEls[elInd][nIncEls[elInd]++] = e_i;
+			}
+		}
+
+		/* Transfer to permanent storage. */
+		self->nIncEls[fromDim][toDim] = nIncEls;
+		self->incEls[fromDim][toDim] = Memory_Alloc_2DComplex( unsigned, self->nEls[fromDim], nIncEls, 
+								       "MeshTopology::incEls[][]" );
+		for( e_i = 0; e_i < self->nEls[fromDim]; e_i++ )
+			memcpy( self->incEls[fromDim][toDim][e_i], incEls[e_i], nIncEls[e_i] * sizeof(unsigned) );
+		Memory_Free( incEls );
+	}
+}
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Private Functions
+*/
+
+void MeshTopology_CompleteNbrs( MeshTopology* self, MeshTopology_ElementDim dim, unsigned maxNbrs ) {
+	MeshTopology_ElementDim	toDim;
+	unsigned*		nNbrs;
+	unsigned**		nbrs;
+	unsigned		e_i;
+
+	assert( self );
+	assert( dim < self->nDims );
+	assert( maxNbrs != -1 );
+
+	/* Vertex neighbours search upwards, all others search downwards. */
+	toDim = (dim == vertex) ? edge : vertex;
+
+	/* Allocate some space. */
+	nNbrs = Memory_Alloc_Array( unsigned, self->nEls[dim], "MeshTopology::nIncEls[][]" );
+	nbrs = Memory_Alloc_2DArray( unsigned, self->nEls[dim], maxNbrs, "" );
+	memset( nNbrs, 0, self->nEls[dim] * sizeof(unsigned) );
+
+	/* Build neighbours for each element of dimension 'dim'. */
+	for( e_i = 0; e_i < self->nEls[dim]; e_i++ ) {
+		unsigned	nNodes = self->nIncEls[dim][toDim][e_i];
+		unsigned*	nodes = self->incEls[dim][toDim][e_i];
+		unsigned	n_i;
+
+		/* Build a set of unique element nodes' elements. */
+		for( n_i = 0; n_i < nNodes; n_i++ ) {
+			unsigned	nbr_i;
+
+			/* Don't add current element. */
+			if( nodes[n_i] == e_i ) continue;
+
+			/* Ensure is unique. */
+			for( nbr_i = 0; nbr_i < nNbrs[e_i]; nbr_i++ )
+				if( nbrs[e_i][nbr_i] == nodes[n_i] ) break;
+			if( nbr_i < nNbrs[e_i] )
+				nbrs[e_i][nNbrs[e_i]++] = nodes[n_i];
+		}
+	}
+
+	/* Transfer. */
+	self->nIncEls[dim][dim] = nNbrs;
+	self->incEls[dim][dim] = Memory_Alloc_2DComplex( unsigned, self->nEls[dim], nNbrs, 
+							 "MeshTopology::incEls[][]" );
+	for( e_i = 0; e_i < self->nEls[dim]; e_i++ )
+		memcpy( self->incEls[dim][dim][e_i], nbrs[e_i], nNbrs[e_i] * sizeof(unsigned) );
+	Memory_Free( nbrs );
+}
+
+void MeshTopology_Destruct( MeshTopology* self ) {
+	unsigned	d_i;
+
+	assert( self );
+
+	for( d_i = 0; d_i < self->nDims; d_i++ ) {
+		unsigned	d_j;
+
+		for( d_j = 0; d_j < self->nDims; d_j++ ) {
+			KillArray( self->incEls[d_i][d_j] );
+			KillArray( self->nIncEls[d_i][d_j] );
+		}
+	}
+	KillArray( self->incEls );
+	KillArray( self->nIncEls );
+	KillArray( self->nEls );
+}

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshTopology.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,116 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**
+** Invariants:
+**
+** Comments:
+**
+** $Id: MeshTopology.h 3584 2006-05-16 11:11:07Z PatrickSunter $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __Discretisaton_Mesh_MeshTopology_h__
+#define __Discretisaton_Mesh_MeshTopology_h__
+
+	/** Textual name of this class */
+	extern const Type MeshTopology_Type;
+
+	/** Virtual function types */
+
+	/** Mesh class contents */
+	#define __MeshTopology \
+		/* General info */ \
+		__Stg_Component \
+		\
+		/* Virtual info */ \
+		\
+		/* MeshTopology info */ \
+		unsigned	nDims; \
+		unsigned*	nEls; \
+		unsigned***	nIncEls; \
+		unsigned****	incEls; \
+
+	struct MeshTopology { __MeshTopology };
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Constructors
+	*/
+
+	#define MESHTOPOLOGY_DEFARGS		\
+		STG_COMPONENT_DEFARGS
+
+	#define MESHTOPOLOGY_PASSARGS		\
+		STG_COMPONENT_PASSARGS
+
+	MeshTopology* MeshTopology_New( Name name );
+	MeshTopology* _MeshTopology_New( MESHTOPOLOGY_DEFARGS );
+	void _MeshTopology_Init( MeshTopology* self );
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Virtual functions
+	*/
+
+	void _MeshTopology_Delete( void* topo );
+	void _MeshTopology_Print( void* topo, Stream* stream );
+
+	#define MeshTopology_Copy( self ) \
+		(Mesh*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define MeshTopology_DeepCopy( self ) \
+		(Mesh*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	void* _MeshTopology_Copy( void* topo, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+
+	void _MeshTopology_Build( void* topo, void* data );
+	void _MeshTopology_Construct( void* topo, Stg_ComponentFactory* cf );
+	void _MeshTopology_Initialise( void* topo, void* data );
+	void _MeshTopology_Execute( void* topo, void* data );
+	void _MeshTopology_Destroy( void* topo, void* data );
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Public functions
+	*/
+
+	void MeshTopology_SetNDims( void* topo, unsigned nDims );
+	void MeshTopology_SetNElements( void* topo, MeshTopology_ElementDim dim, unsigned nEls );
+	void MeshTopology_SetIncidence( void* topo, 
+					MeshTopology_ElementDim fromDim, unsigned elInd, 
+					MeshTopology_ElementDim toDim, 
+					unsigned* nIncEls, unsigned** incEls );
+	void MeshTopology_Complete( void* topo, MeshTopology_ElementDim fromDim, MeshTopology_ElementDim toDim );
+
+	/*--------------------------------------------------------------------------------------------------------------------------
+	** Private Member functions
+	*/
+
+	void MeshTopology_CompleteNbrs( MeshTopology* self, MeshTopology_ElementDim dim, unsigned maxNbrs );
+	void MeshTopology_Destruct( MeshTopology* self );
+
+#endif /* __Discretisaton_Mesh_MeshTopology_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -164,6 +164,8 @@
 		(ElementLayout*)self,
 		(Geometry*)BlockGeometry_New( PPHexaEL_BlockGeometryName, dictionary ),
 		(Topology*)IJK26Topology_New( PPHexaEL_IJK26TopologyName, dictionary ) );
+	self->topologyWasCreatedInternally = True;
+	self->geometryWasCreatedInternally = True;
 	_HexaEL_Init( (HexaEL*)self, dim, NULL, NULL );
 	
 	/* ParallelPipedHexaEL info */
@@ -237,6 +239,8 @@
 	
 	/* ParallelPipedHexaEL info */
 	if( initFlag ){
+		
+		self->geometryWasCreatedInternally = True;
 		_ParallelPipedHexaEL_Init( self );
 	}
 	
@@ -245,10 +249,35 @@
 
 void _ParallelPipedHexaEL_Init( ParallelPipedHexaEL* self )
 {
-	Dimension_Index	dim_I = 0;
+	Dimension_Index	  dim_I = 0;
+	Index             topSizeInDim = 0;
+	double            geomSizeInDim = 0;
 
 	/* General and Virtual info should already be set */
 	
+	/* Since we are using a block geometry, check that the width's are sane for
+	the given dimensionality of the Topology */
+	for ( dim_I = 0; dim_I < 3 ; dim_I++ ) {
+		topSizeInDim = ((IJK26Topology*)self->topology)->size[dim_I];
+		geomSizeInDim = ((BlockGeometry*)self->geometry)->max[dim_I] - ((BlockGeometry*)self->geometry)->min[dim_I]; 
+
+		/* for 2D we don't need to check the 3rd axis, which by convention is K */
+		if ( (dim_I == K_AXIS) && (self->dim == 2) ) continue;
+		
+		if ( (geomSizeInDim < 1e-99) ) {
+			Stream*      errorStream = Journal_Register( Error_Type, self->type );
+			Journal_Printf( errorStream, "Error - in %s(), for %s \"%s\": number of elements requested "
+				"in %c direction using IJK26Topology \"%s\" is %u, but the width of "
+				"that dimension in provided BlockGeometry \"%s\" is %.2f - %.2f = 0, "
+				"thus the element search & location functions will fail.",
+				__func__, self->type, self->name,
+				IJKTopology_DimNumToDimLetter[dim_I], self->topology->name, topSizeInDim,
+				self->geometry->name, ((BlockGeometry*)self->geometry)->max[dim_I],
+				((BlockGeometry*)self->geometry)->min[dim_I] );
+			Journal_Firewall( 0, errorStream, "Exiting.\n" );	
+		}
+	}
+	
 	/* ParallelPipedHexaEL info */
 	self->isConstructed = True;
 
@@ -270,11 +299,15 @@
 void _ParallelPipedHexaEL_Delete( void* parallelPipedHexaEL ) {
 	ParallelPipedHexaEL* self = (ParallelPipedHexaEL*)parallelPipedHexaEL;
 	
-	if( self->geometry ) {
+	/* Only delete our geometry ptr if it's a default one created using the old init method,
+		not the XML componentFactory way : otherwise we may double-delete memory */
+	if( ( True == self->geometryWasCreatedInternally ) ) {
 		Stg_Class_Delete( self->geometry );
 		self->geometry = NULL;
 	}
 	
+	/* The parent will check about deleting the topology */
+	
 	/* Stg_Class_Delete parent */
 	_HexaEL_Delete( self );
 }
@@ -320,9 +353,22 @@
 
 void _ParallelPipedHexaEL_Construct( void* ppHexaEL, Stg_ComponentFactory* cf ){
 	ParallelPipedHexaEL *self = (ParallelPipedHexaEL*)ppHexaEL;
+	IJK26Topology *topology = NULL;
+	BlockGeometry *geometry = NULL;
+	Dimension_Index dim;
 
-	_HexaEL_Construct( self, cf );
+	/* Note: we can't just use the HexaEL parent construct since we want to assert that the input geometry
+	is a block geometry this time */
+
+	self->dictionary = cf->rootDict;
 	
+	topology =  Stg_ComponentFactory_ConstructByKey(  cf,  self->name, Topology_Type, IJK26Topology,  True  ) ;
+	geometry =  Stg_ComponentFactory_ConstructByKey(  cf,  self->name, Geometry_Type, BlockGeometry,  True  ) ;
+
+	dim = Dictionary_GetUnsignedInt( self->dictionary, "dim" );
+	
+	_ElementLayout_Init( (ElementLayout*)self, (Geometry*)geometry, (Topology*)topology );
+	_HexaEL_Init( (HexaEL*)self, dim, geometry->size, topology->size );
 	_ParallelPipedHexaEL_Init( self );
 }
 	
@@ -343,6 +389,11 @@
 }
 
 void _ParallelPipedHexaEL_Build( void* parallelPipedHexaEL, void* decomp ) {
+	ParallelPipedHexaEL_UpdateGeometryPartitionInfo( parallelPipedHexaEL, decomp );
+}
+
+
+void ParallelPipedHexaEL_UpdateGeometryPartitionInfo( void* parallelPipedHexaEL, void* decomp ) {
 	ParallelPipedHexaEL*	self = (ParallelPipedHexaEL*)parallelPipedHexaEL;
 	BlockGeometry*		geometry = (BlockGeometry*)self->geometry;
 	HexaMD*			hexaDecomp = (HexaMD*) decomp;

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/ParallelPipedHexaEL.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -63,6 +63,7 @@
 		Coord			minDomainThisPartition; /** Bottom corner of domain (inc shadow) nodes */\
 		Coord			maxDomainThisPartition; /** Top corner of domain (inc shadow) nodes */\
 		double			elementLengthEachDim[3]; /** Dimensions (l*w*h) of any given element */\
+		Bool                    geometryWasCreatedInternally; /** Necessary due to component register */
 		
 	struct _ParallelPipedHexaEL { __ParallelPipedHexaEL };
 	
@@ -161,6 +162,7 @@
 	** Public member functions
 	*/
 	
+	void ParallelPipedHexaEL_UpdateGeometryPartitionInfo( void* parallelPipedHexaEL, void* decomp );
 	
 	/*--------------------------------------------------------------------------------------------------------------------------
 	** Private Member functions

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/types.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/types.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/types.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -142,6 +142,7 @@
 	typedef struct MeshGeometry			MeshGeometry;
 	typedef struct _MeshLayout			MeshLayout;
 	typedef struct _Mesh				Mesh;
+	typedef struct _HMesh				HMesh;
 	typedef struct _MeshCoarsener_Hexa		MeshCoarsener_Hexa;
 
 	/* Streams */

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x81199d4)
-Component (ptr): 0x81199d4
-Stg_Object (ptr): 0x81199d4
-	Stg_Class (ptr): 0x81199d4
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f0f0)
+Stg_Component (ptr): 0x805f0f0
+Stg_Object (ptr): 0x805f0f0
+	Stg_Class (ptr): 0x805f0f0
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7f881dd
+		_print (func ptr): 0xb7f88a6a
+		_copy (func ptr): 0xb7f89c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7f8751c
+	_construct (func ptr): 0xb7f8800e
+	_build (func ptr): 0xb7f8a322
+	_initialise (func ptr): 0xb7f8b214
+	_execute (func ptr): 0xb7f8b219
+	_destroy (func ptr): 0xb7f881d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81183ac
-	layout (ptr): 0x8119904
-Extension (ptr):0x8119b5c
-Stg_Object (ptr): 0x8119b5c
-	Stg_Class (ptr): 0x8119b5c
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c4b8
+	layout (ptr): 0x805ee18
+Extension (ptr):0x805f4c0
+Stg_Object (ptr): 0x805f4c0
+	Stg_Class (ptr): 0x805f4c0
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f00018
+		_print (func ptr): 0xb7f00066
+		_copy (func ptr): 0xb7f00200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119bac
-Stg_ObjectList (ptr):0x8119bac
-	Stg_Class (ptr): 0x8119bac
+	extInfos (ptr): 0x805f520
+Stg_ObjectList (ptr):0x805f520
+	Stg_Class (ptr): 0x805f520
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f31f3e
+		_print (func ptr): 0xb7f31f75
+		_copy (func ptr): 0xb7f32217
+	_append(func ptr): 0xb7f32e7b
+	_prepend(func ptr): 0xb7f32f41
+	_replaceAll(func ptr): 0xb7f33005
+	_replace(func ptr): 0xb7f330be
+	_insertBefore(func ptr): 0xb7f3325b
+	_insertAfter(func ptr): 0xb7f33416
+	_remove(func ptr): 0xb7f335d3
+	_getIndex(func ptr): 0xb7f33679
+	_get(func ptr): 0xb7f33727
+	_allocMoreMemory(func ptr): 0xb7f338fa
+	_insertAtIndex(func ptr): 0xb7f33980
+	_removeByIndex(func ptr): 0xb7f339fe
+	_deleteAllObjects(func ptr): 0xb7f3387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119c14
-Stg_Object (ptr): 0x8119c14
-	Stg_Class (ptr): 0x8119c14
-		sizeOfSelf: 72
+Extension (ptr):0x805f5c0
+Stg_Object (ptr): 0x805f5c0
+	Stg_Class (ptr): 0x805f5c0
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f00018
+		_print (func ptr): 0xb7f00066
+		_copy (func ptr): 0xb7f00200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119c64
-Stg_ObjectList (ptr):0x8119c64
-	Stg_Class (ptr): 0x8119c64
+	extInfos (ptr): 0x805f638
+Stg_ObjectList (ptr):0x805f638
+	Stg_Class (ptr): 0x805f638
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f31f3e
+		_print (func ptr): 0xb7f31f75
+		_copy (func ptr): 0xb7f32217
+	_append(func ptr): 0xb7f32e7b
+	_prepend(func ptr): 0xb7f32f41
+	_replaceAll(func ptr): 0xb7f33005
+	_replace(func ptr): 0xb7f330be
+	_insertBefore(func ptr): 0xb7f3325b
+	_insertAfter(func ptr): 0xb7f33416
+	_remove(func ptr): 0xb7f335d3
+	_getIndex(func ptr): 0xb7f33679
+	_get(func ptr): 0xb7f33727
+	_allocMoreMemory(func ptr): 0xb7f338fa
+	_insertAtIndex(func ptr): 0xb7f33980
+	_removeByIndex(func ptr): 0xb7f339fe
+	_deleteAllObjects(func ptr): 0xb7f3387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811a0c4
+	node (ptr): 0x805fe68
 	nodeLocalCount: 64
 	nodeDomainCount: 64
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x811a2cc
+	nodeCoord (ptr): 0x8060078
 	nodeCoord[0-64]:   (0.00,0.00,0.00), (0.33,0.00,0.00), (0.67,0.00,0.00), (1.00,0.00,0.00), (0.00,0.33,0.00), (0.33,0.33,0.00), (0.67,0.33,0.00), (1.00,0.33,0.00), (0.00,0.67,0.00), (0.33,0.67,0.00), (0.67,0.67,0.00), (1.00,0.67,0.00), (0.00,1.00,0.00), (0.33,1.00,0.00), (0.67,1.00,0.00), (1.00,1.00,0.00), (0.00,0.00,0.33), (0.33,0.00,0.33), (0.67,0.00,0.33), (1.00,0.00,0.33), (0.00,0.33,0.33), (0.33,0.33,0.33), (0.67,0.33,0.33), (1.00,0.33,0.33), (0.00,0.67,0.33), (0.33,0.67,0.33), (0.67,0.67,0.33), (1.00,0.67,0.33), (0.00,1.00,0.33), (0.33,1.00,0.33), (0.67,1.00,0.33), (1.00,1.00,0.33), (0.00,0.00,0.67), (0.33,0.00,0.67), (0.67,0.00,0.67), (1.00,0.00,0.67), (0.00,0.33,0.67), (0.33,0.33,0.67), (0.67,0.33,0.67), (1.00,0.33,0.67), (0.00,0.67,0.67), (0.33,0.67,0.67), (0.67,0.67,0.67), (1.00,0.67,0.67), (0.00,1.00,0.67), (0.33,1.00,0.67), (0.67,1.00,0.67), (1.00,1.00,0.67), (0.00,0.00,1.00), (0.33,0.00,1.00), (0.67,0.00,1.00), (1.00,0.00,1.00), (0.00,0.33,1.00), (0.33,0.33,1.00), (0.67,0.33,1.00), (1.00,0.33,1.00), (0.00,0.67,1.00), (0.33,0.67,1.00), (0.67,0.67,1.00), (1.00,0.67,1.00), (0.00,1.00,1.00), (0.33,1.00,1.00), (0.67,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a8d4
+	nodeL2G (ptr): 0x8060688
 	nodeL2G[0-64]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a8d4
+	nodeD2G (ptr): 0x8060688
 	nodeD2G[0-64]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a9dc
+	nodeG2L (ptr): 0x8060798
 	nodeG2L[0-64]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a9dc
+	nodeG2D (ptr): 0x8060798
 	nodeG2D[0-64]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811aae4
+	nodeNeighbourCountTbl (ptr): 0x80608a8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811abec
+	nodeNeighbourTbl (ptr): 0x80609b8
 	nodeNeighbourTbl[0-64]:
 		nodeNeighbourTbl[0][0-6]: 001 004 016 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 002 005 017 000 064 064 
@@ -207,9 +212,9 @@
 		nodeNeighbourTbl[62][0-6]: 063 064 064 061 058 046 
 		nodeNeighbourTbl[63][0-6]: 064 064 064 062 059 047 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811b36c
+	nodeElementCountTbl (ptr): 0x80610c8
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811b474
+	nodeElementTbl (ptr): 0x80611d8
 	nodeElementTbl[0-64]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 001 
@@ -275,27 +280,27 @@
 		nodeElementTbl[61][0-8]: 024 025 027 027 027 027 027 027 
 		nodeElementTbl[62][0-8]: 025 026 027 027 027 027 027 027 
 		nodeElementTbl[63][0-8]: 026 027 027 027 027 027 027 027 
-	element (ptr): 0x811bd7c
+	element (ptr): 0x8061ae8
 	elementLocalCount: 27
 	elementDomainCount: 27
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x811b2f4
+	elementL2G (ptr): 0x805fc48
 	elementL2G[0-27]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x811b2f4
+	elementD2G (ptr): 0x805fc48
 	elementD2G[0-27]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811be5c
+	elementG2L (ptr): 0x8061bd0
 	elementG2L[0-27]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811be5c
+	elementG2D (ptr): 0x8061bd0
 	elementG2D[0-27]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811bed4
+	elementNeighbourCountTbl (ptr): 0x8061c48
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811bf4c
+	elementNeighbourTbl (ptr): 0x8061cc0
 	elementNeighbourTbl[0-27]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 003 004 027 027 027 027 009 010 027 012 013 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 000 002 003 004 005 027 027 027 009 010 011 012 013 014 
@@ -325,9 +330,9 @@
 		elementNeighbourTbl[25][0-26]: 012 013 014 015 016 017 027 027 027 021 022 023 024 026 027 027 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[26][0-26]: 013 014 027 016 017 027 027 027 027 022 023 027 025 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811cabc
+	elementNodeCountTbl (ptr): 0x8062830
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811cb34
+	elementNodeTbl (ptr): 0x80628a8
 	elementNodeTbl[0-27]:
 		elementNodeTbl[0][0-8]: 000 001 005 004 016 017 021 020 
 		elementNodeTbl[1][0-8]: 001 002 006 005 017 018 022 021 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x8119d34)
-Component (ptr): 0x8119d34
-Stg_Object (ptr): 0x8119d34
-	Stg_Class (ptr): 0x8119d34
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f370)
+Stg_Component (ptr): 0x805f370
+Stg_Object (ptr): 0x805f370
+	Stg_Class (ptr): 0x805f370
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7ee61dd
+		_print (func ptr): 0xb7ee6a6a
+		_copy (func ptr): 0xb7ee7c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7ee551c
+	_construct (func ptr): 0xb7ee600e
+	_build (func ptr): 0xb7ee8322
+	_initialise (func ptr): 0xb7ee9214
+	_execute (func ptr): 0xb7ee9219
+	_destroy (func ptr): 0xb7ee61d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81185d4
-	layout (ptr): 0x8119c3c
-Extension (ptr):0x8119ebc
-Stg_Object (ptr): 0x8119ebc
-	Stg_Class (ptr): 0x8119ebc
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c560
+	layout (ptr): 0x805f028
+Extension (ptr):0x805f740
+Stg_Object (ptr): 0x805f740
+	Stg_Class (ptr): 0x805f740
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7e5e018
+		_print (func ptr): 0xb7e5e066
+		_copy (func ptr): 0xb7e5e200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119f0c
-Stg_ObjectList (ptr):0x8119f0c
-	Stg_Class (ptr): 0x8119f0c
+	extInfos (ptr): 0x805f7a0
+Stg_ObjectList (ptr):0x805f7a0
+	Stg_Class (ptr): 0x805f7a0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7e8ff3e
+		_print (func ptr): 0xb7e8ff75
+		_copy (func ptr): 0xb7e90217
+	_append(func ptr): 0xb7e90e7b
+	_prepend(func ptr): 0xb7e90f41
+	_replaceAll(func ptr): 0xb7e91005
+	_replace(func ptr): 0xb7e910be
+	_insertBefore(func ptr): 0xb7e9125b
+	_insertAfter(func ptr): 0xb7e91416
+	_remove(func ptr): 0xb7e915d3
+	_getIndex(func ptr): 0xb7e91679
+	_get(func ptr): 0xb7e91727
+	_allocMoreMemory(func ptr): 0xb7e918fa
+	_insertAtIndex(func ptr): 0xb7e91980
+	_removeByIndex(func ptr): 0xb7e919fe
+	_deleteAllObjects(func ptr): 0xb7e9187b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119f9c
-Stg_Object (ptr): 0x8119f9c
-	Stg_Class (ptr): 0x8119f9c
-		sizeOfSelf: 72
+Extension (ptr):0x805f810
+Stg_Object (ptr): 0x805f810
+	Stg_Class (ptr): 0x805f810
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7e5e018
+		_print (func ptr): 0xb7e5e066
+		_copy (func ptr): 0xb7e5e200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119fec
-Stg_ObjectList (ptr):0x8119fec
-	Stg_Class (ptr): 0x8119fec
+	extInfos (ptr): 0x805f870
+Stg_ObjectList (ptr):0x805f870
+	Stg_Class (ptr): 0x805f870
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7e8ff3e
+		_print (func ptr): 0xb7e8ff75
+		_copy (func ptr): 0xb7e90217
+	_append(func ptr): 0xb7e90e7b
+	_prepend(func ptr): 0xb7e90f41
+	_replaceAll(func ptr): 0xb7e91005
+	_replace(func ptr): 0xb7e910be
+	_insertBefore(func ptr): 0xb7e9125b
+	_insertAfter(func ptr): 0xb7e91416
+	_remove(func ptr): 0xb7e915d3
+	_getIndex(func ptr): 0xb7e91679
+	_get(func ptr): 0xb7e91727
+	_allocMoreMemory(func ptr): 0xb7e918fa
+	_insertAtIndex(func ptr): 0xb7e91980
+	_removeByIndex(func ptr): 0xb7e919fe
+	_deleteAllObjects(func ptr): 0xb7e9187b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811a48c
+	node (ptr): 0x8060070
 	nodeLocalCount: 32
 	nodeDomainCount: 32
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x811a594
+	nodeCoord (ptr): 0x8060180
 	nodeCoord[0-32]:   (0.00,0.00,0.00), (0.33,0.00,0.00), (0.00,0.33,0.00), (0.33,0.33,0.00), (0.00,0.67,0.00), (0.33,0.67,0.00), (0.00,1.00,0.00), (0.33,1.00,0.00), (0.00,0.00,0.33), (0.33,0.00,0.33), (0.00,0.33,0.33), (0.33,0.33,0.33), (0.00,0.67,0.33), (0.33,0.67,0.33), (0.00,1.00,0.33), (0.33,1.00,0.33), (0.00,0.00,0.67), (0.33,0.00,0.67), (0.00,0.33,0.67), (0.33,0.33,0.67), (0.00,0.67,0.67), (0.33,0.67,0.67), (0.00,1.00,0.67), (0.33,1.00,0.67), (0.00,0.00,1.00), (0.33,0.00,1.00), (0.00,0.33,1.00), (0.33,0.33,1.00), (0.00,0.67,1.00), (0.33,0.67,1.00), (0.00,1.00,1.00), (0.33,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a89c
+	nodeL2G (ptr): 0x805fe50
 	nodeL2G[0-32]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a89c
+	nodeD2G (ptr): 0x805fe50
 	nodeD2G[0-32]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a924
+	nodeG2L (ptr): 0x8060490
 	nodeG2L[0-64]:   000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 064 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a924
+	nodeG2D (ptr): 0x8060490
 	nodeG2D[0-64]:   000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 064 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811aa2c
+	nodeNeighbourCountTbl (ptr): 0x80605a0
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811aab4
+	nodeNeighbourTbl (ptr): 0x8060630
 	nodeNeighbourTbl[0-32]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -175,9 +180,9 @@
 		nodeNeighbourTbl[30][0-6]: 031 064 064 064 028 022 
 		nodeNeighbourTbl[31][0-6]: 064 064 064 030 029 023 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811aeb4
+	nodeElementCountTbl (ptr): 0x8060a38
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811af3c
+	nodeElementTbl (ptr): 0x8060ac8
 	nodeElementTbl[0-32]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -211,27 +216,27 @@
 		nodeElementTbl[29][0-8]: 007 027 008 027 027 027 027 027 
 		nodeElementTbl[30][0-8]: 027 008 027 027 027 027 027 027 
 		nodeElementTbl[31][0-8]: 008 027 027 027 027 027 027 027 
-	element (ptr): 0x811ae3c
+	element (ptr): 0x80609c0
 	elementLocalCount: 9
 	elementDomainCount: 9
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x81198d4
+	elementL2G (ptr): 0x805aa18
 	elementL2G[0-9]:   000 003 006 009 012 015 018 021 024 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x81198d4
+	elementD2G (ptr): 0x805aa18
 	elementD2G[0-9]:   000 003 006 009 012 015 018 021 024 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811b3c4
+	elementG2L (ptr): 0x8060f58
 	elementG2L[0-27]:   000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 027 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811b3c4
+	elementG2D (ptr): 0x8060f58
 	elementG2D[0-27]:   000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 027 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8119b1c
+	elementNeighbourCountTbl (ptr): 0x805e730
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811b43c
+	elementNeighbourTbl (ptr): 0x8060fd0
 	elementNeighbourTbl[0-9]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 027 027 027 027 003 027 027 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 027 027 027 027 002 027 027 003 027 027 004 027 027 005 027 
@@ -243,9 +248,9 @@
 		elementNeighbourTbl[7][0-26]: 027 003 027 027 004 027 027 005 027 027 006 027 027 027 027 008 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[8][0-26]: 027 004 027 027 005 027 027 027 027 027 007 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811969c
+	elementNodeCountTbl (ptr): 0x805efd0
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811b814
+	elementNodeTbl (ptr): 0x80613a8
 	elementNodeTbl[0-9]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811a0b4)
-Component (ptr): 0x811a0b4
-Stg_Object (ptr): 0x811a0b4
-	Stg_Class (ptr): 0x811a0b4
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f388)
+Stg_Component (ptr): 0x805f388
+Stg_Object (ptr): 0x805f388
+	Stg_Class (ptr): 0x805f388
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7f881dd
+		_print (func ptr): 0xb7f88a6a
+		_copy (func ptr): 0xb7f89c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7f8751c
+	_construct (func ptr): 0xb7f8800e
+	_build (func ptr): 0xb7f8a322
+	_initialise (func ptr): 0xb7f8b214
+	_execute (func ptr): 0xb7f8b219
+	_destroy (func ptr): 0xb7f881d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x811890c
-	layout (ptr): 0x8119fbc
-Extension (ptr):0x811a23c
-Stg_Object (ptr): 0x811a23c
-	Stg_Class (ptr): 0x811a23c
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c568
+	layout (ptr): 0x805f040
+Extension (ptr):0x805f758
+Stg_Object (ptr): 0x805f758
+	Stg_Class (ptr): 0x805f758
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f00018
+		_print (func ptr): 0xb7f00066
+		_copy (func ptr): 0xb7f00200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811a28c
-Stg_ObjectList (ptr):0x811a28c
-	Stg_Class (ptr): 0x811a28c
+	extInfos (ptr): 0x805f7b8
+Stg_ObjectList (ptr):0x805f7b8
+	Stg_Class (ptr): 0x805f7b8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f31f3e
+		_print (func ptr): 0xb7f31f75
+		_copy (func ptr): 0xb7f32217
+	_append(func ptr): 0xb7f32e7b
+	_prepend(func ptr): 0xb7f32f41
+	_replaceAll(func ptr): 0xb7f33005
+	_replace(func ptr): 0xb7f330be
+	_insertBefore(func ptr): 0xb7f3325b
+	_insertAfter(func ptr): 0xb7f33416
+	_remove(func ptr): 0xb7f335d3
+	_getIndex(func ptr): 0xb7f33679
+	_get(func ptr): 0xb7f33727
+	_allocMoreMemory(func ptr): 0xb7f338fa
+	_insertAtIndex(func ptr): 0xb7f33980
+	_removeByIndex(func ptr): 0xb7f339fe
+	_deleteAllObjects(func ptr): 0xb7f3387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811a31c
-Stg_Object (ptr): 0x811a31c
-	Stg_Class (ptr): 0x811a31c
-		sizeOfSelf: 72
+Extension (ptr):0x805f828
+Stg_Object (ptr): 0x805f828
+	Stg_Class (ptr): 0x805f828
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f00018
+		_print (func ptr): 0xb7f00066
+		_copy (func ptr): 0xb7f00200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811a36c
-Stg_ObjectList (ptr):0x811a36c
-	Stg_Class (ptr): 0x811a36c
+	extInfos (ptr): 0x805f888
+Stg_ObjectList (ptr):0x805f888
+	Stg_Class (ptr): 0x805f888
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f31f3e
+		_print (func ptr): 0xb7f31f75
+		_copy (func ptr): 0xb7f32217
+	_append(func ptr): 0xb7f32e7b
+	_prepend(func ptr): 0xb7f32f41
+	_replaceAll(func ptr): 0xb7f33005
+	_replace(func ptr): 0xb7f330be
+	_insertBefore(func ptr): 0xb7f3325b
+	_insertAfter(func ptr): 0xb7f33416
+	_remove(func ptr): 0xb7f335d3
+	_getIndex(func ptr): 0xb7f33679
+	_get(func ptr): 0xb7f33727
+	_allocMoreMemory(func ptr): 0xb7f338fa
+	_insertAtIndex(func ptr): 0xb7f33980
+	_removeByIndex(func ptr): 0xb7f339fe
+	_deleteAllObjects(func ptr): 0xb7f3387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811a80c
+	node (ptr): 0x8060058
 	nodeLocalCount: 32
 	nodeDomainCount: 32
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x811a914
+	nodeCoord (ptr): 0x8060168
 	nodeCoord[0-32]:   (0.00,0.00,0.00), (0.33,0.00,0.00), (0.00,0.33,0.00), (0.33,0.33,0.00), (0.00,0.67,0.00), (0.33,0.67,0.00), (0.00,1.00,0.00), (0.33,1.00,0.00), (0.00,0.00,0.33), (0.33,0.00,0.33), (0.00,0.33,0.33), (0.33,0.33,0.33), (0.00,0.67,0.33), (0.33,0.67,0.33), (0.00,1.00,0.33), (0.33,1.00,0.33), (0.00,0.00,0.67), (0.33,0.00,0.67), (0.00,0.33,0.67), (0.33,0.33,0.67), (0.00,0.67,0.67), (0.33,0.67,0.67), (0.00,1.00,0.67), (0.33,1.00,0.67), (0.00,0.00,1.00), (0.33,0.00,1.00), (0.00,0.33,1.00), (0.33,0.33,1.00), (0.00,0.67,1.00), (0.33,0.67,1.00), (0.00,1.00,1.00), (0.33,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811ac1c
+	nodeL2G (ptr): 0x805fe38
 	nodeL2G[0-32]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811ac1c
+	nodeD2G (ptr): 0x805fe38
 	nodeD2G[0-32]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811aca4
+	nodeG2L (ptr): 0x8060478
 	nodeG2L[0-64]:   000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 064 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811aca4
+	nodeG2D (ptr): 0x8060478
 	nodeG2D[0-64]:   000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 064 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811adac
+	nodeNeighbourCountTbl (ptr): 0x8060588
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811ae34
+	nodeNeighbourTbl (ptr): 0x8060618
 	nodeNeighbourTbl[0-32]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -175,9 +180,9 @@
 		nodeNeighbourTbl[30][0-6]: 031 064 064 064 028 022 
 		nodeNeighbourTbl[31][0-6]: 064 064 064 030 029 023 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811b234
+	nodeElementCountTbl (ptr): 0x8060a20
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811b2bc
+	nodeElementTbl (ptr): 0x8060ab0
 	nodeElementTbl[0-32]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -211,27 +216,27 @@
 		nodeElementTbl[29][0-8]: 007 027 008 027 027 027 027 027 
 		nodeElementTbl[30][0-8]: 027 008 027 027 027 027 027 027 
 		nodeElementTbl[31][0-8]: 008 027 027 027 027 027 027 027 
-	element (ptr): 0x811b1bc
+	element (ptr): 0x80609a8
 	elementLocalCount: 9
 	elementDomainCount: 9
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x81199d4
+	elementL2G (ptr): 0x805aa20
 	elementL2G[0-9]:   000 003 006 009 012 015 018 021 024 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x81199d4
+	elementD2G (ptr): 0x805aa20
 	elementD2G[0-9]:   000 003 006 009 012 015 018 021 024 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811b744
+	elementG2L (ptr): 0x8060f40
 	elementG2L[0-27]:   000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 027 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811b744
+	elementG2D (ptr): 0x8060f40
 	elementG2D[0-27]:   000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 027 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8119c04
+	elementNeighbourCountTbl (ptr): 0x805efe8
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811b7bc
+	elementNeighbourTbl (ptr): 0x8060fb8
 	elementNeighbourTbl[0-9]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 027 027 027 027 003 027 027 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 027 027 027 027 002 027 027 003 027 027 004 027 027 005 027 
@@ -243,9 +248,9 @@
 		elementNeighbourTbl[7][0-26]: 027 003 027 027 004 027 027 005 027 027 006 027 027 027 027 008 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[8][0-26]: 027 004 027 027 005 027 027 027 027 027 007 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8119ebc
+	elementNodeCountTbl (ptr): 0x805d008
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811bb94
+	elementNodeTbl (ptr): 0x8061390
 	elementNodeTbl[0-9]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x8118e24)
-Component (ptr): 0x8118e24
-Stg_Object (ptr): 0x8118e24
-	Stg_Class (ptr): 0x8118e24
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f350)
+Stg_Component (ptr): 0x805f350
+Stg_Object (ptr): 0x805f350
+	Stg_Class (ptr): 0x805f350
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7eee1dd
+		_print (func ptr): 0xb7eeea6a
+		_copy (func ptr): 0xb7eefc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7eed51c
+	_construct (func ptr): 0xb7eee00e
+	_build (func ptr): 0xb7ef0322
+	_initialise (func ptr): 0xb7ef1214
+	_execute (func ptr): 0xb7ef1219
+	_destroy (func ptr): 0xb7eee1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81176c4
-	layout (ptr): 0x8118d2c
-Extension (ptr):0x8118fac
-Stg_Object (ptr): 0x8118fac
-	Stg_Class (ptr): 0x8118fac
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805f008
+Extension (ptr):0x805f720
+Stg_Object (ptr): 0x805f720
+	Stg_Class (ptr): 0x805f720
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7e66018
+		_print (func ptr): 0xb7e66066
+		_copy (func ptr): 0xb7e66200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8118ffc
-Stg_ObjectList (ptr):0x8118ffc
-	Stg_Class (ptr): 0x8118ffc
+	extInfos (ptr): 0x805f780
+Stg_ObjectList (ptr):0x805f780
+	Stg_Class (ptr): 0x805f780
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7e97f3e
+		_print (func ptr): 0xb7e97f75
+		_copy (func ptr): 0xb7e98217
+	_append(func ptr): 0xb7e98e7b
+	_prepend(func ptr): 0xb7e98f41
+	_replaceAll(func ptr): 0xb7e99005
+	_replace(func ptr): 0xb7e990be
+	_insertBefore(func ptr): 0xb7e9925b
+	_insertAfter(func ptr): 0xb7e99416
+	_remove(func ptr): 0xb7e995d3
+	_getIndex(func ptr): 0xb7e99679
+	_get(func ptr): 0xb7e99727
+	_allocMoreMemory(func ptr): 0xb7e998fa
+	_insertAtIndex(func ptr): 0xb7e99980
+	_removeByIndex(func ptr): 0xb7e999fe
+	_deleteAllObjects(func ptr): 0xb7e9987b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811908c
-Stg_Object (ptr): 0x811908c
-	Stg_Class (ptr): 0x811908c
-		sizeOfSelf: 72
+Extension (ptr):0x805f7f0
+Stg_Object (ptr): 0x805f7f0
+	Stg_Class (ptr): 0x805f7f0
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7e66018
+		_print (func ptr): 0xb7e66066
+		_copy (func ptr): 0xb7e66200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x81190dc
-Stg_ObjectList (ptr):0x81190dc
-	Stg_Class (ptr): 0x81190dc
+	extInfos (ptr): 0x805f850
+Stg_ObjectList (ptr):0x805f850
+	Stg_Class (ptr): 0x805f850
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7e97f3e
+		_print (func ptr): 0xb7e97f75
+		_copy (func ptr): 0xb7e98217
+	_append(func ptr): 0xb7e98e7b
+	_prepend(func ptr): 0xb7e98f41
+	_replaceAll(func ptr): 0xb7e99005
+	_replace(func ptr): 0xb7e990be
+	_insertBefore(func ptr): 0xb7e9925b
+	_insertAfter(func ptr): 0xb7e99416
+	_remove(func ptr): 0xb7e995d3
+	_getIndex(func ptr): 0xb7e99679
+	_get(func ptr): 0xb7e99727
+	_allocMoreMemory(func ptr): 0xb7e998fa
+	_insertAtIndex(func ptr): 0xb7e99980
+	_removeByIndex(func ptr): 0xb7e999fe
+	_deleteAllObjects(func ptr): 0xb7e9987b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811957c
+	node (ptr): 0x8060050
 	nodeLocalCount: 32
 	nodeDomainCount: 32
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x8119684
+	nodeCoord (ptr): 0x8060160
 	nodeCoord[0-32]:   (0.67,0.00,0.00), (1.00,0.00,0.00), (0.67,0.33,0.00), (1.00,0.33,0.00), (0.67,0.67,0.00), (1.00,0.67,0.00), (0.67,1.00,0.00), (1.00,1.00,0.00), (0.67,0.00,0.33), (1.00,0.00,0.33), (0.67,0.33,0.33), (1.00,0.33,0.33), (0.67,0.67,0.33), (1.00,0.67,0.33), (0.67,1.00,0.33), (1.00,1.00,0.33), (0.67,0.00,0.67), (1.00,0.00,0.67), (0.67,0.33,0.67), (1.00,0.33,0.67), (0.67,0.67,0.67), (1.00,0.67,0.67), (0.67,1.00,0.67), (1.00,1.00,0.67), (0.67,0.00,1.00), (1.00,0.00,1.00), (0.67,0.33,1.00), (1.00,0.33,1.00), (0.67,0.67,1.00), (1.00,0.67,1.00), (0.67,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811998c
+	nodeL2G (ptr): 0x805fe30
 	nodeL2G[0-32]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811998c
+	nodeD2G (ptr): 0x805fe30
 	nodeD2G[0-32]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x8119a14
+	nodeG2L (ptr): 0x8060470
 	nodeG2L[0-64]:   064 064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x8119a14
+	nodeG2D (ptr): 0x8060470
 	nodeG2D[0-64]:   064 064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x8119b1c
+	nodeNeighbourCountTbl (ptr): 0x8060580
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x8119ba4
+	nodeNeighbourTbl (ptr): 0x8060610
 	nodeNeighbourTbl[0-32]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -175,9 +180,9 @@
 		nodeNeighbourTbl[30][0-6]: 031 064 064 064 028 022 
 		nodeNeighbourTbl[31][0-6]: 064 064 064 030 029 023 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x8119fa4
+	nodeElementCountTbl (ptr): 0x8060a18
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a02c
+	nodeElementTbl (ptr): 0x8060aa8
 	nodeElementTbl[0-32]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -211,27 +216,27 @@
 		nodeElementTbl[29][0-8]: 007 027 008 027 027 027 027 027 
 		nodeElementTbl[30][0-8]: 027 008 027 027 027 027 027 027 
 		nodeElementTbl[31][0-8]: 008 027 027 027 027 027 027 027 
-	element (ptr): 0x8119f2c
+	element (ptr): 0x80609a0
 	elementLocalCount: 9
 	elementDomainCount: 9
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x81189c4
+	elementL2G (ptr): 0x805a9f8
 	elementL2G[0-9]:   002 005 008 011 014 017 020 023 026 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x81189c4
+	elementD2G (ptr): 0x805a9f8
 	elementD2G[0-9]:   002 005 008 011 014 017 020 023 026 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a4b4
+	elementG2L (ptr): 0x8060f38
 	elementG2L[0-27]:   027 027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811a4b4
+	elementG2D (ptr): 0x8060f38
 	elementG2D[0-27]:   027 027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8118c0c
+	elementNeighbourCountTbl (ptr): 0x805e710
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811a52c
+	elementNeighbourTbl (ptr): 0x8060fb0
 	elementNeighbourTbl[0-9]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 027 027 027 027 003 027 027 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 027 027 027 027 002 027 027 003 027 027 004 027 027 005 027 
@@ -243,9 +248,9 @@
 		elementNeighbourTbl[7][0-26]: 027 003 027 027 004 027 027 005 027 027 006 027 027 027 027 008 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[8][0-26]: 027 004 027 027 005 027 027 027 027 027 007 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811878c
+	elementNodeCountTbl (ptr): 0x805efb0
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811a904
+	elementNodeTbl (ptr): 0x8061388
 	elementNodeTbl[0-9]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x8119224)
-Component (ptr): 0x8119224
-Stg_Object (ptr): 0x8119224
-	Stg_Class (ptr): 0x8119224
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f3f8)
+Stg_Component (ptr): 0x805f3f8
+Stg_Object (ptr): 0x805f3f8
+	Stg_Class (ptr): 0x805f3f8
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7fdb1dd
+		_print (func ptr): 0xb7fdba6a
+		_copy (func ptr): 0xb7fdcc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7fda51c
+	_construct (func ptr): 0xb7fdb00e
+	_build (func ptr): 0xb7fdd322
+	_initialise (func ptr): 0xb7fde214
+	_execute (func ptr): 0xb7fde219
+	_destroy (func ptr): 0xb7fdb1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81179f4
-	layout (ptr): 0x811912c
-Extension (ptr):0x81193ac
-Stg_Object (ptr): 0x81193ac
-	Stg_Class (ptr): 0x81193ac
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805f0b0
+Extension (ptr):0x805f7c8
+Stg_Object (ptr): 0x805f7c8
+	Stg_Class (ptr): 0x805f7c8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f53018
+		_print (func ptr): 0xb7f53066
+		_copy (func ptr): 0xb7f53200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x81193fc
-Stg_ObjectList (ptr):0x81193fc
-	Stg_Class (ptr): 0x81193fc
+	extInfos (ptr): 0x805f828
+Stg_ObjectList (ptr):0x805f828
+	Stg_Class (ptr): 0x805f828
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f84f3e
+		_print (func ptr): 0xb7f84f75
+		_copy (func ptr): 0xb7f85217
+	_append(func ptr): 0xb7f85e7b
+	_prepend(func ptr): 0xb7f85f41
+	_replaceAll(func ptr): 0xb7f86005
+	_replace(func ptr): 0xb7f860be
+	_insertBefore(func ptr): 0xb7f8625b
+	_insertAfter(func ptr): 0xb7f86416
+	_remove(func ptr): 0xb7f865d3
+	_getIndex(func ptr): 0xb7f86679
+	_get(func ptr): 0xb7f86727
+	_allocMoreMemory(func ptr): 0xb7f868fa
+	_insertAtIndex(func ptr): 0xb7f86980
+	_removeByIndex(func ptr): 0xb7f869fe
+	_deleteAllObjects(func ptr): 0xb7f8687b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811948c
-Stg_Object (ptr): 0x811948c
-	Stg_Class (ptr): 0x811948c
-		sizeOfSelf: 72
+Extension (ptr):0x805f898
+Stg_Object (ptr): 0x805f898
+	Stg_Class (ptr): 0x805f898
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7f53018
+		_print (func ptr): 0xb7f53066
+		_copy (func ptr): 0xb7f53200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x81194dc
-Stg_ObjectList (ptr):0x81194dc
-	Stg_Class (ptr): 0x81194dc
+	extInfos (ptr): 0x805f8f8
+Stg_ObjectList (ptr):0x805f8f8
+	Stg_Class (ptr): 0x805f8f8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7f84f3e
+		_print (func ptr): 0xb7f84f75
+		_copy (func ptr): 0xb7f85217
+	_append(func ptr): 0xb7f85e7b
+	_prepend(func ptr): 0xb7f85f41
+	_replaceAll(func ptr): 0xb7f86005
+	_replace(func ptr): 0xb7f860be
+	_insertBefore(func ptr): 0xb7f8625b
+	_insertAfter(func ptr): 0xb7f86416
+	_remove(func ptr): 0xb7f865d3
+	_getIndex(func ptr): 0xb7f86679
+	_get(func ptr): 0xb7f86727
+	_allocMoreMemory(func ptr): 0xb7f868fa
+	_insertAtIndex(func ptr): 0xb7f86980
+	_removeByIndex(func ptr): 0xb7f869fe
+	_deleteAllObjects(func ptr): 0xb7f8687b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119984
+	node (ptr): 0x80600c8
 	nodeLocalCount: 32
 	nodeDomainCount: 32
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x8119a8c
+	nodeCoord (ptr): 0x80601d8
 	nodeCoord[0-32]:   (0.33,0.00,0.00), (0.67,0.00,0.00), (0.33,0.33,0.00), (0.67,0.33,0.00), (0.33,0.67,0.00), (0.67,0.67,0.00), (0.33,1.00,0.00), (0.67,1.00,0.00), (0.33,0.00,0.33), (0.67,0.00,0.33), (0.33,0.33,0.33), (0.67,0.33,0.33), (0.33,0.67,0.33), (0.67,0.67,0.33), (0.33,1.00,0.33), (0.67,1.00,0.33), (0.33,0.00,0.67), (0.67,0.00,0.67), (0.33,0.33,0.67), (0.67,0.33,0.67), (0.33,0.67,0.67), (0.67,0.67,0.67), (0.33,1.00,0.67), (0.67,1.00,0.67), (0.33,0.00,1.00), (0.67,0.00,1.00), (0.33,0.33,1.00), (0.67,0.33,1.00), (0.33,0.67,1.00), (0.67,0.67,1.00), (0.33,1.00,1.00), (0.67,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x8119d94
+	nodeL2G (ptr): 0x805fea8
 	nodeL2G[0-32]:   001 002 005 006 009 010 013 014 017 018 021 022 025 026 029 030 033 034 037 038 041 042 045 046 049 050 053 054 057 058 061 062 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x8119d94
+	nodeD2G (ptr): 0x805fea8
 	nodeD2G[0-32]:   001 002 005 006 009 010 013 014 017 018 021 022 025 026 029 030 033 034 037 038 041 042 045 046 049 050 053 054 057 058 061 062 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x8119e1c
+	nodeG2L (ptr): 0x80604e8
 	nodeG2L[0-64]:   064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x8119e1c
+	nodeG2D (ptr): 0x80604e8
 	nodeG2D[0-64]:   064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x8119f24
+	nodeNeighbourCountTbl (ptr): 0x80605f8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x8119fac
+	nodeNeighbourTbl (ptr): 0x8060688
 	nodeNeighbourTbl[0-32]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -175,9 +180,9 @@
 		nodeNeighbourTbl[30][0-6]: 031 064 064 064 028 022 
 		nodeNeighbourTbl[31][0-6]: 064 064 064 030 029 023 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811a3ac
+	nodeElementCountTbl (ptr): 0x8060a90
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a434
+	nodeElementTbl (ptr): 0x8060b20
 	nodeElementTbl[0-32]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -211,27 +216,27 @@
 		nodeElementTbl[29][0-8]: 007 027 008 027 027 027 027 027 
 		nodeElementTbl[30][0-8]: 027 008 027 027 027 027 027 027 
 		nodeElementTbl[31][0-8]: 008 027 027 027 027 027 027 027 
-	element (ptr): 0x811a334
+	element (ptr): 0x8060a18
 	elementLocalCount: 9
 	elementDomainCount: 9
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8118abc
+	elementL2G (ptr): 0x805a9f8
 	elementL2G[0-9]:   001 004 007 010 013 016 019 022 025 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8118abc
+	elementD2G (ptr): 0x805a9f8
 	elementD2G[0-9]:   001 004 007 010 013 016 019 022 025 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a8bc
+	elementG2L (ptr): 0x8060fb0
 	elementG2L[0-27]:   027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811a8bc
+	elementG2D (ptr): 0x8060fb0
 	elementG2D[0-27]:   027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8118cec
+	elementNeighbourCountTbl (ptr): 0x805f058
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811a934
+	elementNeighbourTbl (ptr): 0x8061028
 	elementNeighbourTbl[0-9]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 027 027 027 027 003 027 027 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 027 027 027 027 002 027 027 003 027 027 004 027 027 005 027 
@@ -243,9 +248,9 @@
 		elementNeighbourTbl[7][0-26]: 027 003 027 027 004 027 027 005 027 027 006 027 027 027 027 008 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[8][0-26]: 027 004 027 027 005 027 027 027 027 027 007 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8118ffc
+	elementNodeCountTbl (ptr): 0x805cfe0
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811ad0c
+	elementNodeTbl (ptr): 0x8061400
 	elementNodeTbl[0-9]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMesh.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811919c)
-Component (ptr): 0x811919c
-Stg_Object (ptr): 0x811919c
-	Stg_Class (ptr): 0x811919c
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f360)
+Stg_Component (ptr): 0x805f360
+Stg_Object (ptr): 0x805f360
+	Stg_Class (ptr): 0x805f360
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8056e18
-		_print (func ptr): 0x80576a9
-		_copy (func ptr): 0x8058895
+		_delete (func ptr): 0xb7f381dd
+		_print (func ptr): 0xb7f38a6a
+		_copy (func ptr): 0xb7f39c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x8056348
-	_construct (func ptr): 0x8056e0e
-	_build (func ptr): 0x8058f51
-	_initialise (func ptr): 0x8059e7d
-	_execute (func ptr): 0x8059ea6
-	_destroy (func ptr): 0x8056e13
+	_defaultConstructor (func ptr): 0xb7f3751c
+	_construct (func ptr): 0xb7f3800e
+	_build (func ptr): 0xb7f3a322
+	_initialise (func ptr): 0xb7f3b214
+	_execute (func ptr): 0xb7f3b219
+	_destroy (func ptr): 0xb7f381d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81179f4
-	layout (ptr): 0x81190a4
-Extension (ptr):0x8119324
-Stg_Object (ptr): 0x8119324
-	Stg_Class (ptr): 0x8119324
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805f018
+Extension (ptr):0x805f730
+Stg_Object (ptr): 0x805f730
+	Stg_Class (ptr): 0x805f730
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7eb0018
+		_print (func ptr): 0xb7eb0066
+		_copy (func ptr): 0xb7eb0200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119374
-Stg_ObjectList (ptr):0x8119374
-	Stg_Class (ptr): 0x8119374
+	extInfos (ptr): 0x805f790
+Stg_ObjectList (ptr):0x805f790
+	Stg_Class (ptr): 0x805f790
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7ee1f3e
+		_print (func ptr): 0xb7ee1f75
+		_copy (func ptr): 0xb7ee2217
+	_append(func ptr): 0xb7ee2e7b
+	_prepend(func ptr): 0xb7ee2f41
+	_replaceAll(func ptr): 0xb7ee3005
+	_replace(func ptr): 0xb7ee30be
+	_insertBefore(func ptr): 0xb7ee325b
+	_insertAfter(func ptr): 0xb7ee3416
+	_remove(func ptr): 0xb7ee35d3
+	_getIndex(func ptr): 0xb7ee3679
+	_get(func ptr): 0xb7ee3727
+	_allocMoreMemory(func ptr): 0xb7ee38fa
+	_insertAtIndex(func ptr): 0xb7ee3980
+	_removeByIndex(func ptr): 0xb7ee39fe
+	_deleteAllObjects(func ptr): 0xb7ee387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119404
-Stg_Object (ptr): 0x8119404
-	Stg_Class (ptr): 0x8119404
-		sizeOfSelf: 72
+Extension (ptr):0x805f800
+Stg_Object (ptr): 0x805f800
+	Stg_Class (ptr): 0x805f800
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806a794
-		_print (func ptr): 0x806a7e2
-		_copy (func ptr): 0x806a975
+		_delete (func ptr): 0xb7eb0018
+		_print (func ptr): 0xb7eb0066
+		_copy (func ptr): 0xb7eb0200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119454
-Stg_ObjectList (ptr):0x8119454
-	Stg_Class (ptr): 0x8119454
+	extInfos (ptr): 0x805f860
+Stg_ObjectList (ptr):0x805f860
+	Stg_Class (ptr): 0x805f860
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b36e
-		_print (func ptr): 0x807b3a5
-		_copy (func ptr): 0x807b647
-	_append(func ptr): 0x807c239
-	_prepend(func ptr): 0x807c2ff
-	_replaceAll(func ptr): 0x807c3c3
-	_replace(func ptr): 0x807c47e
-	_insertBefore(func ptr): 0x807c61f
-	_insertAfter(func ptr): 0x807c7de
-	_remove(func ptr): 0x807c99f
-	_getIndex(func ptr): 0x807ca45
-	_get(func ptr): 0x807caf7
-	_allocMoreMemory(func ptr): 0x807cccf
-	_insertAtIndex(func ptr): 0x807cd55
-	_removeByIndex(func ptr): 0x807cdd3
-	_deleteAllObjects(func ptr): 0x807cc4e
+		_delete (func ptr): 0xb7ee1f3e
+		_print (func ptr): 0xb7ee1f75
+		_copy (func ptr): 0xb7ee2217
+	_append(func ptr): 0xb7ee2e7b
+	_prepend(func ptr): 0xb7ee2f41
+	_replaceAll(func ptr): 0xb7ee3005
+	_replace(func ptr): 0xb7ee30be
+	_insertBefore(func ptr): 0xb7ee325b
+	_insertAfter(func ptr): 0xb7ee3416
+	_remove(func ptr): 0xb7ee35d3
+	_getIndex(func ptr): 0xb7ee3679
+	_get(func ptr): 0xb7ee3727
+	_allocMoreMemory(func ptr): 0xb7ee38fa
+	_insertAtIndex(func ptr): 0xb7ee3980
+	_removeByIndex(func ptr): 0xb7ee39fe
+	_deleteAllObjects(func ptr): 0xb7ee387b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x81198f4
+	node (ptr): 0x8060030
 	nodeLocalCount: 32
 	nodeDomainCount: 32
 	nodeShadowCount: 0
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x81199fc
+	nodeCoord (ptr): 0x8060140
 	nodeCoord[0-32]:   (0.67,0.00,0.00), (1.00,0.00,0.00), (0.67,0.33,0.00), (1.00,0.33,0.00), (0.67,0.67,0.00), (1.00,0.67,0.00), (0.67,1.00,0.00), (1.00,1.00,0.00), (0.67,0.00,0.33), (1.00,0.00,0.33), (0.67,0.33,0.33), (1.00,0.33,0.33), (0.67,0.67,0.33), (1.00,0.67,0.33), (0.67,1.00,0.33), (1.00,1.00,0.33), (0.67,0.00,0.67), (1.00,0.00,0.67), (0.67,0.33,0.67), (1.00,0.33,0.67), (0.67,0.67,0.67), (1.00,0.67,0.67), (0.67,1.00,0.67), (1.00,1.00,0.67), (0.67,0.00,1.00), (1.00,0.00,1.00), (0.67,0.33,1.00), (1.00,0.33,1.00), (0.67,0.67,1.00), (1.00,0.67,1.00), (0.67,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x8119d04
+	nodeL2G (ptr): 0x805fe10
 	nodeL2G[0-32]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x8119d04
+	nodeD2G (ptr): 0x805fe10
 	nodeD2G[0-32]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x8119d8c
+	nodeG2L (ptr): 0x8060450
 	nodeG2L[0-64]:   064 064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x8119d8c
+	nodeG2D (ptr): 0x8060450
 	nodeG2D[0-64]:   064 064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x8119e94
+	nodeNeighbourCountTbl (ptr): 0x8060560
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x8119f1c
+	nodeNeighbourTbl (ptr): 0x80605f0
 	nodeNeighbourTbl[0-32]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -175,9 +180,9 @@
 		nodeNeighbourTbl[30][0-6]: 031 064 064 064 028 022 
 		nodeNeighbourTbl[31][0-6]: 064 064 064 030 029 023 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811a31c
+	nodeElementCountTbl (ptr): 0x80609f8
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a3a4
+	nodeElementTbl (ptr): 0x8060a88
 	nodeElementTbl[0-32]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -211,27 +216,27 @@
 		nodeElementTbl[29][0-8]: 007 027 008 027 027 027 027 027 
 		nodeElementTbl[30][0-8]: 027 008 027 027 027 027 027 027 
 		nodeElementTbl[31][0-8]: 008 027 027 027 027 027 027 027 
-	element (ptr): 0x811a2a4
+	element (ptr): 0x8060980
 	elementLocalCount: 9
 	elementDomainCount: 9
 	elementShadowCount: 0
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8118abc
+	elementL2G (ptr): 0x805a9f8
 	elementL2G[0-9]:   002 005 008 011 014 017 020 023 026 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8118abc
+	elementD2G (ptr): 0x805a9f8
 	elementD2G[0-9]:   002 005 008 011 014 017 020 023 026 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a82c
+	elementG2L (ptr): 0x8060f18
 	elementG2L[0-27]:   027 027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811a82c
+	elementG2D (ptr): 0x8060f18
 	elementG2D[0-27]:   027 027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8118cec
+	elementNeighbourCountTbl (ptr): 0x805efc0
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811a8a4
+	elementNeighbourTbl (ptr): 0x8060f90
 	elementNeighbourTbl[0-9]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 001 027 027 027 027 027 003 027 027 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 027 027 027 027 002 027 027 003 027 027 004 027 027 005 027 
@@ -243,9 +248,9 @@
 		elementNeighbourTbl[7][0-26]: 027 003 027 027 004 027 027 005 027 027 006 027 027 027 027 008 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[8][0-26]: 027 004 027 027 005 027 027 027 027 027 007 027 027 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8118fa4
+	elementNodeCountTbl (ptr): 0x805cfe0
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811ac7c
+	elementNodeTbl (ptr): 0x8061368
 	elementNodeTbl[0-9]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.0of4.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.0of4.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.0of4.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811a8ec)
-Component (ptr): 0x811a8ec
-Stg_Object (ptr): 0x811a8ec
-	Stg_Class (ptr): 0x811a8ec
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f770)
+Stg_Component (ptr): 0x805f770
+Stg_Object (ptr): 0x805f770
+	Stg_Class (ptr): 0x805f770
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7efe1dd
+		_print (func ptr): 0xb7efea6a
+		_copy (func ptr): 0xb7effc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7efd51c
+	_construct (func ptr): 0xb7efe00e
+	_build (func ptr): 0xb7f00322
+	_initialise (func ptr): 0xb7f01214
+	_execute (func ptr): 0xb7f01219
+	_destroy (func ptr): 0xb7efe1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8118d8c
-	layout (ptr): 0x8119e54
-Extension (ptr):0x811aa74
-Stg_Object (ptr): 0x811aa74
-	Stg_Class (ptr): 0x811aa74
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c5a8
+	layout (ptr): 0x805f4c0
+Extension (ptr):0x805fb40
+Stg_Object (ptr): 0x805fb40
+	Stg_Class (ptr): 0x805fb40
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7e76018
+		_print (func ptr): 0xb7e76066
+		_copy (func ptr): 0xb7e76200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811aac4
-Stg_ObjectList (ptr):0x811aac4
-	Stg_Class (ptr): 0x811aac4
+	extInfos (ptr): 0x805fba0
+Stg_ObjectList (ptr):0x805fba0
+	Stg_Class (ptr): 0x805fba0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7ea7f3e
+		_print (func ptr): 0xb7ea7f75
+		_copy (func ptr): 0xb7ea8217
+	_append(func ptr): 0xb7ea8e7b
+	_prepend(func ptr): 0xb7ea8f41
+	_replaceAll(func ptr): 0xb7ea9005
+	_replace(func ptr): 0xb7ea90be
+	_insertBefore(func ptr): 0xb7ea925b
+	_insertAfter(func ptr): 0xb7ea9416
+	_remove(func ptr): 0xb7ea95d3
+	_getIndex(func ptr): 0xb7ea9679
+	_get(func ptr): 0xb7ea9727
+	_allocMoreMemory(func ptr): 0xb7ea98fa
+	_insertAtIndex(func ptr): 0xb7ea9980
+	_removeByIndex(func ptr): 0xb7ea99fe
+	_deleteAllObjects(func ptr): 0xb7ea987b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811ab2c
-Stg_Object (ptr): 0x811ab2c
-	Stg_Class (ptr): 0x811ab2c
-		sizeOfSelf: 72
+Extension (ptr):0x805fc10
+Stg_Object (ptr): 0x805fc10
+	Stg_Class (ptr): 0x805fc10
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7e76018
+		_print (func ptr): 0xb7e76066
+		_copy (func ptr): 0xb7e76200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811ab7c
-Stg_ObjectList (ptr):0x811ab7c
-	Stg_Class (ptr): 0x811ab7c
+	extInfos (ptr): 0x805fc70
+Stg_ObjectList (ptr):0x805fc70
+	Stg_Class (ptr): 0x805fc70
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7ea7f3e
+		_print (func ptr): 0xb7ea7f75
+		_copy (func ptr): 0xb7ea8217
+	_append(func ptr): 0xb7ea8e7b
+	_prepend(func ptr): 0xb7ea8f41
+	_replaceAll(func ptr): 0xb7ea9005
+	_replace(func ptr): 0xb7ea90be
+	_insertBefore(func ptr): 0xb7ea925b
+	_insertAfter(func ptr): 0xb7ea9416
+	_remove(func ptr): 0xb7ea95d3
+	_getIndex(func ptr): 0xb7ea9679
+	_get(func ptr): 0xb7ea9727
+	_allocMoreMemory(func ptr): 0xb7ea98fa
+	_insertAtIndex(func ptr): 0xb7ea9980
+	_removeByIndex(func ptr): 0xb7ea99fe
+	_deleteAllObjects(func ptr): 0xb7ea987b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811b02c
+	node (ptr): 0x80604a0
 	nodeLocalCount: 12
 	nodeDomainCount: 27
 	nodeShadowCount: 15
 	nodeGlobalCount: 27
-	nodeCoord (ptr): 0x811b10c
+	nodeCoord (ptr): 0x8060588
 	nodeCoord[0-27]:   (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811b39c
+	nodeL2G (ptr): 0x8060280
 	nodeL2G[0-12]:   000 001 003 004 009 010 012 013 018 019 021 022 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811b39c
+	nodeD2G (ptr): 0x8060280
 	nodeD2G[0-27]:   000 001 003 004 009 010 012 013 018 019 021 022 002 005 006 007 008 011 014 015 016 017 020 023 024 025 026 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811b48c
+	nodeG2L (ptr): 0x8060898
 	nodeG2L[0-27]:   000 001 027 002 003 027 027 027 027 004 005 027 006 007 027 027 027 027 008 009 027 010 011 027 027 027 027 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811b414
+	nodeG2D (ptr): 0x8060820
 	nodeG2D[0-27]:   000 001 012 002 003 013 014 015 016 004 005 017 006 007 018 019 020 021 008 009 022 010 011 023 024 025 026 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811b504
+	nodeNeighbourCountTbl (ptr): 0x8060910
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811b57c
+	nodeNeighbourTbl (ptr): 0x8060988
 	nodeNeighbourTbl[0-27]:
 		nodeNeighbourTbl[0][0-6]: 001 002 004 027 027 027 
 		nodeNeighbourTbl[1][0-6]: 012 003 005 000 027 027 
@@ -170,9 +175,9 @@
 		nodeNeighbourTbl[25][0-6]: 026 027 027 024 011 020 
 		nodeNeighbourTbl[26][0-6]: 027 027 027 025 023 021 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811b87c
+	nodeElementCountTbl (ptr): 0x8060c88
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811b8f4
+	nodeElementTbl (ptr): 0x8060d00
 	nodeElementTbl[0-27]:
 		nodeElementTbl[0][0-8]: 008 008 008 008 008 008 008 000 
 		nodeElementTbl[1][0-8]: 008 008 008 008 008 008 000 002 
@@ -201,27 +206,27 @@
 		nodeElementTbl[24][0-8]: 008 006 008 008 008 008 008 008 
 		nodeElementTbl[25][0-8]: 006 007 008 008 008 008 008 008 
 		nodeElementTbl[26][0-8]: 007 008 008 008 008 008 008 008 
-	element (ptr): 0x8119564
+	element (ptr): 0x80610d8
 	elementLocalCount: 2
 	elementDomainCount: 8
 	elementShadowCount: 6
 	elementGlobalCount: 8
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8119ecc
+	elementL2G (ptr): 0x805d048
 	elementL2G[0-2]:   000 004 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8119ecc
+	elementD2G (ptr): 0x805d048
 	elementD2G[0-8]:   000 004 001 002 003 005 006 007 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811bccc
+	elementG2L (ptr): 0x8061158
 	elementG2L[0-8]:   000 008 008 008 001 008 008 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x8117fe4
+	elementG2D (ptr): 0x8061128
 	elementG2D[0-8]:   000 002 003 004 001 005 006 007 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811bcf4
+	elementNeighbourCountTbl (ptr): 0x8061188
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811bd1c
+	elementNeighbourTbl (ptr): 0x80611b8
 	elementNeighbourTbl[0-8]:
 		elementNeighbourTbl[0][0-26]: 008 008 008 008 008 008 008 008 008 008 008 008 008 002 008 003 004 008 008 008 008 001 005 008 006 007 
 		elementNeighbourTbl[1][0-26]: 008 008 008 008 000 002 008 003 004 008 008 008 008 005 008 006 007 008 008 008 008 008 008 008 008 008 
@@ -232,9 +237,9 @@
 		elementNeighbourTbl[6][0-26]: 008 000 002 008 003 004 008 008 008 008 001 005 008 007 008 008 008 008 008 008 008 008 008 008 008 008 
 		elementNeighbourTbl[7][0-26]: 000 002 008 003 004 008 008 008 008 001 005 008 006 008 008 008 008 008 008 008 008 008 008 008 008 008 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811a83c
+	elementNodeCountTbl (ptr): 0x805aa50
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811c084
+	elementNodeTbl (ptr): 0x8061528
 	elementNodeTbl[0-8]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 004 005 007 006 
 		elementNodeTbl[1][0-8]: 004 005 007 006 008 009 011 010 
@@ -245,58 +250,58 @@
 		elementNodeTbl[6][0-8]: 006 007 020 019 010 011 025 024 
 		elementNodeTbl[7][0-8]: 007 018 021 020 011 023 026 025 
 	procNbrCnt: 3
-	procNbrTbl (ptr): 0x811c1ac
+	procNbrTbl (ptr): 0x80602f8
 		procNbrTbl[0]: 1
 		procNbrTbl[1]: 2
 		procNbrTbl[2]: 3
-	elementShadowInfo->procShadowedCnt (ptr): 0x811c1e4
+	elementShadowInfo->procShadowedCnt (ptr): 0x8060468
 		elementShadowInfo->procShadowedCnt[0]: 2
 		elementShadowInfo->procShadowedCnt[1]: 2
 		elementShadowInfo->procShadowedCnt[2]: 2
-	elementShadowInfo->procShadowedTbl (ptr): 0x811c1fc
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x811a864
+	elementShadowInfo->procShadowedTbl (ptr): 0x805d078
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8060388
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
-		elementShadowInfo->procShadowedTbl[1] (ptr): 0x811c424
+		elementShadowInfo->procShadowedTbl[1] (ptr): 0x8061750
 			elementShadowInfo->procShadowedTbl[1][0]: 0
 			elementShadowInfo->procShadowedTbl[1][1]: 1
-		elementShadowInfo->procShadowedTbl[2] (ptr): 0x811c47c
+		elementShadowInfo->procShadowedTbl[2] (ptr): 0x80617a8
 			elementShadowInfo->procShadowedTbl[2][0]: 0
 			elementShadowInfo->procShadowedTbl[2][1]: 1
-	elementShadowInfo->procShadowCnt (ptr): 0x811c48c
+	elementShadowInfo->procShadowCnt (ptr): 0x80617c0
 		elementShadowInfo->procShadowCnt[0]: 2
 		elementShadowInfo->procShadowCnt[1]: 2
 		elementShadowInfo->procShadowCnt[2]: 2
-	elementShadowInfo->procShadowTbl (ptr): 0x811c4a4
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811c4bc
+	elementShadowInfo->procShadowTbl (ptr): 0x80617d8
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80617f0
 			elementShadowInfo->procShadowTbl[0][0]: 2
 			elementShadowInfo->procShadowTbl[0][1]: 5
-		elementShadowInfo->procShadowTbl[1] (ptr): 0x811c4cc
+		elementShadowInfo->procShadowTbl[1] (ptr): 0x8061808
 			elementShadowInfo->procShadowTbl[1][0]: 3
 			elementShadowInfo->procShadowTbl[1][1]: 6
-		elementShadowInfo->procShadowTbl[2] (ptr): 0x811c4dc
+		elementShadowInfo->procShadowTbl[2] (ptr): 0x8061820
 			elementShadowInfo->procShadowTbl[2][0]: 4
 			elementShadowInfo->procShadowTbl[2][1]: 7
-	nodeShadowInfo->procShadowedCnt (ptr): 0x811c53c
+	nodeShadowInfo->procShadowedCnt (ptr): 0x8061878
 		nodeShadowInfo->procShadowedCnt[0]: 6
 		nodeShadowInfo->procShadowedCnt[1]: 6
 		nodeShadowInfo->procShadowedCnt[2]: 9
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811c554
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811c254
+	nodeShadowInfo->procShadowedTbl (ptr): 0x8061890
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x80616a8
 			nodeShadowInfo->procShadowedTbl[0][0]: 0
 			nodeShadowInfo->procShadowedTbl[0][1]: 2
 			nodeShadowInfo->procShadowedTbl[0][2]: 4
 			nodeShadowInfo->procShadowedTbl[0][3]: 6
 			nodeShadowInfo->procShadowedTbl[0][4]: 8
 			nodeShadowInfo->procShadowedTbl[0][5]: 10
-		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x811c234
+		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x8061680
 			nodeShadowInfo->procShadowedTbl[1][0]: 0
 			nodeShadowInfo->procShadowedTbl[1][1]: 1
 			nodeShadowInfo->procShadowedTbl[1][2]: 4
 			nodeShadowInfo->procShadowedTbl[1][3]: 5
 			nodeShadowInfo->procShadowedTbl[1][4]: 8
 			nodeShadowInfo->procShadowedTbl[1][5]: 9
-		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x811c71c
+		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x8061a70
 			nodeShadowInfo->procShadowedTbl[2][0]: 0
 			nodeShadowInfo->procShadowedTbl[2][1]: 1
 			nodeShadowInfo->procShadowedTbl[2][2]: 2
@@ -306,26 +311,26 @@
 			nodeShadowInfo->procShadowedTbl[2][6]: 8
 			nodeShadowInfo->procShadowedTbl[2][7]: 9
 			nodeShadowInfo->procShadowedTbl[2][8]: 10
-	nodeShadowInfo->procShadowCnt (ptr): 0x811c74c
+	nodeShadowInfo->procShadowCnt (ptr): 0x8061aa0
 		nodeShadowInfo->procShadowCnt[0]: 6
 		nodeShadowInfo->procShadowCnt[1]: 6
 		nodeShadowInfo->procShadowCnt[2]: 9
-	nodeShadowInfo->procShadowTbl (ptr): 0x811c764
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811c214
+	nodeShadowInfo->procShadowTbl (ptr): 0x8061ab8
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8061658
 			nodeShadowInfo->procShadowTbl[0][0]: 12
 			nodeShadowInfo->procShadowTbl[0][1]: 13
 			nodeShadowInfo->procShadowTbl[0][2]: 17
 			nodeShadowInfo->procShadowTbl[0][3]: 18
 			nodeShadowInfo->procShadowTbl[0][4]: 22
 			nodeShadowInfo->procShadowTbl[0][5]: 23
-		nodeShadowInfo->procShadowTbl[1] (ptr): 0x811c77c
+		nodeShadowInfo->procShadowTbl[1] (ptr): 0x8061ad0
 			nodeShadowInfo->procShadowTbl[1][0]: 14
 			nodeShadowInfo->procShadowTbl[1][1]: 15
 			nodeShadowInfo->procShadowTbl[1][2]: 19
 			nodeShadowInfo->procShadowTbl[1][3]: 20
 			nodeShadowInfo->procShadowTbl[1][4]: 24
 			nodeShadowInfo->procShadowTbl[1][5]: 25
-		nodeShadowInfo->procShadowTbl[2] (ptr): 0x811c79c
+		nodeShadowInfo->procShadowTbl[2] (ptr): 0x8061af8
 			nodeShadowInfo->procShadowTbl[2][0]: 13
 			nodeShadowInfo->procShadowTbl[2][1]: 15
 			nodeShadowInfo->procShadowTbl[2][2]: 16

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.1of4.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.1of4.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.1of4.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x81195e4)
-Component (ptr): 0x81195e4
-Stg_Object (ptr): 0x81195e4
-	Stg_Class (ptr): 0x81195e4
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f728)
+Stg_Component (ptr): 0x805f728
+Stg_Object (ptr): 0x805f728
+	Stg_Class (ptr): 0x805f728
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7fd91dd
+		_print (func ptr): 0xb7fd9a6a
+		_copy (func ptr): 0xb7fdac4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7fd851c
+	_construct (func ptr): 0xb7fd900e
+	_build (func ptr): 0xb7fdb322
+	_initialise (func ptr): 0xb7fdc214
+	_execute (func ptr): 0xb7fdc219
+	_destroy (func ptr): 0xb7fd91d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8117a84
-	layout (ptr): 0x8118b4c
-Extension (ptr):0x811976c
-Stg_Object (ptr): 0x811976c
-	Stg_Class (ptr): 0x811976c
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c560
+	layout (ptr): 0x805f478
+Extension (ptr):0x805faf8
+Stg_Object (ptr): 0x805faf8
+	Stg_Class (ptr): 0x805faf8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f51018
+		_print (func ptr): 0xb7f51066
+		_copy (func ptr): 0xb7f51200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x81197bc
-Stg_ObjectList (ptr):0x81197bc
-	Stg_Class (ptr): 0x81197bc
+	extInfos (ptr): 0x805fb58
+Stg_ObjectList (ptr):0x805fb58
+	Stg_Class (ptr): 0x805fb58
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f82f3e
+		_print (func ptr): 0xb7f82f75
+		_copy (func ptr): 0xb7f83217
+	_append(func ptr): 0xb7f83e7b
+	_prepend(func ptr): 0xb7f83f41
+	_replaceAll(func ptr): 0xb7f84005
+	_replace(func ptr): 0xb7f840be
+	_insertBefore(func ptr): 0xb7f8425b
+	_insertAfter(func ptr): 0xb7f84416
+	_remove(func ptr): 0xb7f845d3
+	_getIndex(func ptr): 0xb7f84679
+	_get(func ptr): 0xb7f84727
+	_allocMoreMemory(func ptr): 0xb7f848fa
+	_insertAtIndex(func ptr): 0xb7f84980
+	_removeByIndex(func ptr): 0xb7f849fe
+	_deleteAllObjects(func ptr): 0xb7f8487b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119824
-Stg_Object (ptr): 0x8119824
-	Stg_Class (ptr): 0x8119824
-		sizeOfSelf: 72
+Extension (ptr):0x805fbc8
+Stg_Object (ptr): 0x805fbc8
+	Stg_Class (ptr): 0x805fbc8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f51018
+		_print (func ptr): 0xb7f51066
+		_copy (func ptr): 0xb7f51200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119874
-Stg_ObjectList (ptr):0x8119874
-	Stg_Class (ptr): 0x8119874
+	extInfos (ptr): 0x805fc28
+Stg_ObjectList (ptr):0x805fc28
+	Stg_Class (ptr): 0x805fc28
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f82f3e
+		_print (func ptr): 0xb7f82f75
+		_copy (func ptr): 0xb7f83217
+	_append(func ptr): 0xb7f83e7b
+	_prepend(func ptr): 0xb7f83f41
+	_replaceAll(func ptr): 0xb7f84005
+	_replace(func ptr): 0xb7f840be
+	_insertBefore(func ptr): 0xb7f8425b
+	_insertAfter(func ptr): 0xb7f84416
+	_remove(func ptr): 0xb7f845d3
+	_getIndex(func ptr): 0xb7f84679
+	_get(func ptr): 0xb7f84727
+	_allocMoreMemory(func ptr): 0xb7f848fa
+	_insertAtIndex(func ptr): 0xb7f84980
+	_removeByIndex(func ptr): 0xb7f849fe
+	_deleteAllObjects(func ptr): 0xb7f8487b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119d24
+	node (ptr): 0x8060458
 	nodeLocalCount: 12
 	nodeDomainCount: 27
 	nodeShadowCount: 15
 	nodeGlobalCount: 27
-	nodeCoord (ptr): 0x8119e04
+	nodeCoord (ptr): 0x8060540
 	nodeCoord[0-27]:   (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a094
+	nodeL2G (ptr): 0x8060238
 	nodeL2G[0-12]:   001 002 004 005 010 011 013 014 019 020 022 023 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a094
+	nodeD2G (ptr): 0x8060238
 	nodeD2G[0-27]:   001 002 004 005 010 011 013 014 019 020 022 023 000 003 006 007 008 009 012 015 016 017 018 021 024 025 026 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a184
+	nodeG2L (ptr): 0x8060850
 	nodeG2L[0-27]:   027 000 001 027 002 003 027 027 027 027 004 005 027 006 007 027 027 027 027 008 009 027 010 011 027 027 027 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a10c
+	nodeG2D (ptr): 0x80607d8
 	nodeG2D[0-27]:   012 000 001 013 002 003 014 015 016 017 004 005 018 006 007 019 020 021 022 008 009 023 010 011 024 025 026 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811a1fc
+	nodeNeighbourCountTbl (ptr): 0x80608c8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811a274
+	nodeNeighbourTbl (ptr): 0x8060940
 	nodeNeighbourTbl[0-27]:
 		nodeNeighbourTbl[0][0-6]: 001 002 004 012 027 027 
 		nodeNeighbourTbl[1][0-6]: 027 003 005 000 027 027 
@@ -170,9 +175,9 @@
 		nodeNeighbourTbl[25][0-6]: 026 027 027 024 010 020 
 		nodeNeighbourTbl[26][0-6]: 027 027 027 025 011 021 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811a574
+	nodeElementCountTbl (ptr): 0x8060c40
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a5ec
+	nodeElementTbl (ptr): 0x8060cb8
 	nodeElementTbl[0-27]:
 		nodeElementTbl[0][0-8]: 008 008 008 008 008 008 002 000 
 		nodeElementTbl[1][0-8]: 008 008 008 008 008 008 000 008 
@@ -201,27 +206,27 @@
 		nodeElementTbl[24][0-8]: 008 006 008 008 008 008 008 008 
 		nodeElementTbl[25][0-8]: 006 007 008 008 008 008 008 008 
 		nodeElementTbl[26][0-8]: 007 008 008 008 008 008 008 008 
-	element (ptr): 0x811825c
+	element (ptr): 0x8061090
 	elementLocalCount: 2
 	elementDomainCount: 8
 	elementShadowCount: 6
 	elementGlobalCount: 8
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8118bc4
+	elementL2G (ptr): 0x805d000
 	elementL2G[0-2]:   001 005 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8118bc4
+	elementD2G (ptr): 0x805d000
 	elementD2G[0-8]:   001 005 000 002 003 004 006 007 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a9c4
+	elementG2L (ptr): 0x8061110
 	elementG2L[0-8]:   008 000 008 008 008 001 008 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x8116cbc
+	elementG2D (ptr): 0x80610e0
 	elementG2D[0-8]:   002 000 003 004 005 001 006 007 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811a9ec
+	elementNeighbourCountTbl (ptr): 0x8061140
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811aa14
+	elementNeighbourTbl (ptr): 0x8061170
 	elementNeighbourTbl[0-8]:
 		elementNeighbourTbl[0][0-26]: 008 008 008 008 008 008 008 008 008 008 008 008 002 008 003 004 008 008 008 008 005 001 008 006 007 008 
 		elementNeighbourTbl[1][0-26]: 008 008 008 002 000 008 003 004 008 008 008 008 005 008 006 007 008 008 008 008 008 008 008 008 008 008 
@@ -232,9 +237,9 @@
 		elementNeighbourTbl[6][0-26]: 008 002 000 008 003 004 008 008 008 008 005 001 008 007 008 008 008 008 008 008 008 008 008 008 008 008 
 		elementNeighbourTbl[7][0-26]: 002 000 008 003 004 008 008 008 008 005 001 008 006 008 008 008 008 008 008 008 008 008 008 008 008 008 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8119534
+	elementNodeCountTbl (ptr): 0x805aa18
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811ad7c
+	elementNodeTbl (ptr): 0x80614e0
 	elementNodeTbl[0-8]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 004 005 007 006 
 		elementNodeTbl[1][0-8]: 004 005 007 006 008 009 011 010 
@@ -245,51 +250,51 @@
 		elementNodeTbl[6][0-8]: 018 006 020 019 023 010 025 024 
 		elementNodeTbl[7][0-8]: 006 007 021 020 010 011 026 025 
 	procNbrCnt: 3
-	procNbrTbl (ptr): 0x811aea4
+	procNbrTbl (ptr): 0x80602b0
 		procNbrTbl[0]: 0
 		procNbrTbl[1]: 2
 		procNbrTbl[2]: 3
-	elementShadowInfo->procShadowedCnt (ptr): 0x811aedc
+	elementShadowInfo->procShadowedCnt (ptr): 0x8060420
 		elementShadowInfo->procShadowedCnt[0]: 2
 		elementShadowInfo->procShadowedCnt[1]: 2
 		elementShadowInfo->procShadowedCnt[2]: 2
-	elementShadowInfo->procShadowedTbl (ptr): 0x811aef4
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8117904
+	elementShadowInfo->procShadowedTbl (ptr): 0x805d030
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8060340
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
-		elementShadowInfo->procShadowedTbl[1] (ptr): 0x811955c
+		elementShadowInfo->procShadowedTbl[1] (ptr): 0x8061708
 			elementShadowInfo->procShadowedTbl[1][0]: 0
 			elementShadowInfo->procShadowedTbl[1][1]: 1
-		elementShadowInfo->procShadowedTbl[2] (ptr): 0x811b184
+		elementShadowInfo->procShadowedTbl[2] (ptr): 0x8061770
 			elementShadowInfo->procShadowedTbl[2][0]: 0
 			elementShadowInfo->procShadowedTbl[2][1]: 1
-	elementShadowInfo->procShadowCnt (ptr): 0x811b194
+	elementShadowInfo->procShadowCnt (ptr): 0x8061788
 		elementShadowInfo->procShadowCnt[0]: 2
 		elementShadowInfo->procShadowCnt[1]: 2
 		elementShadowInfo->procShadowCnt[2]: 2
-	elementShadowInfo->procShadowTbl (ptr): 0x811b1ac
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811b12c
+	elementShadowInfo->procShadowTbl (ptr): 0x80617a0
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80617b8
 			elementShadowInfo->procShadowTbl[0][0]: 2
 			elementShadowInfo->procShadowTbl[0][1]: 5
-		elementShadowInfo->procShadowTbl[1] (ptr): 0x811b1c4
+		elementShadowInfo->procShadowTbl[1] (ptr): 0x80617d0
 			elementShadowInfo->procShadowTbl[1][0]: 3
 			elementShadowInfo->procShadowTbl[1][1]: 6
-		elementShadowInfo->procShadowTbl[2] (ptr): 0x811b1e4
+		elementShadowInfo->procShadowTbl[2] (ptr): 0x80617e8
 			elementShadowInfo->procShadowTbl[2][0]: 4
 			elementShadowInfo->procShadowTbl[2][1]: 7
-	nodeShadowInfo->procShadowedCnt (ptr): 0x811b234
+	nodeShadowInfo->procShadowedCnt (ptr): 0x8061840
 		nodeShadowInfo->procShadowedCnt[0]: 6
 		nodeShadowInfo->procShadowedCnt[1]: 9
 		nodeShadowInfo->procShadowedCnt[2]: 6
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811b24c
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811b09c
+	nodeShadowInfo->procShadowedTbl (ptr): 0x8061858
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x8061660
 			nodeShadowInfo->procShadowedTbl[0][0]: 1
 			nodeShadowInfo->procShadowedTbl[0][1]: 3
 			nodeShadowInfo->procShadowedTbl[0][2]: 5
 			nodeShadowInfo->procShadowedTbl[0][3]: 7
 			nodeShadowInfo->procShadowedTbl[0][4]: 9
 			nodeShadowInfo->procShadowedTbl[0][5]: 11
-		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x811b40c
+		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x80619e8
 			nodeShadowInfo->procShadowedTbl[1][0]: 0
 			nodeShadowInfo->procShadowedTbl[1][1]: 1
 			nodeShadowInfo->procShadowedTbl[1][2]: 3
@@ -299,26 +304,26 @@
 			nodeShadowInfo->procShadowedTbl[1][6]: 8
 			nodeShadowInfo->procShadowedTbl[1][7]: 9
 			nodeShadowInfo->procShadowedTbl[1][8]: 11
-		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x811af2c
+		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x8061638
 			nodeShadowInfo->procShadowedTbl[2][0]: 0
 			nodeShadowInfo->procShadowedTbl[2][1]: 1
 			nodeShadowInfo->procShadowedTbl[2][2]: 4
 			nodeShadowInfo->procShadowedTbl[2][3]: 5
 			nodeShadowInfo->procShadowedTbl[2][4]: 8
 			nodeShadowInfo->procShadowedTbl[2][5]: 9
-	nodeShadowInfo->procShadowCnt (ptr): 0x811b494
+	nodeShadowInfo->procShadowCnt (ptr): 0x8061a68
 		nodeShadowInfo->procShadowCnt[0]: 6
 		nodeShadowInfo->procShadowCnt[1]: 9
 		nodeShadowInfo->procShadowCnt[2]: 6
-	nodeShadowInfo->procShadowTbl (ptr): 0x811b4ac
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811af0c
+	nodeShadowInfo->procShadowTbl (ptr): 0x8061a80
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8061610
 			nodeShadowInfo->procShadowTbl[0][0]: 12
 			nodeShadowInfo->procShadowTbl[0][1]: 13
 			nodeShadowInfo->procShadowTbl[0][2]: 17
 			nodeShadowInfo->procShadowTbl[0][3]: 18
 			nodeShadowInfo->procShadowTbl[0][4]: 22
 			nodeShadowInfo->procShadowTbl[0][5]: 23
-		nodeShadowInfo->procShadowTbl[1] (ptr): 0x811b4c4
+		nodeShadowInfo->procShadowTbl[1] (ptr): 0x8061a98
 			nodeShadowInfo->procShadowTbl[1][0]: 13
 			nodeShadowInfo->procShadowTbl[1][1]: 14
 			nodeShadowInfo->procShadowTbl[1][2]: 15
@@ -328,7 +333,7 @@
 			nodeShadowInfo->procShadowTbl[1][6]: 23
 			nodeShadowInfo->procShadowTbl[1][7]: 24
 			nodeShadowInfo->procShadowTbl[1][8]: 25
-		nodeShadowInfo->procShadowTbl[2] (ptr): 0x811b4f4
+		nodeShadowInfo->procShadowTbl[2] (ptr): 0x8061ac8
 			nodeShadowInfo->procShadowTbl[2][0]: 15
 			nodeShadowInfo->procShadowTbl[2][1]: 16
 			nodeShadowInfo->procShadowTbl[2][2]: 20

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.2of4.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.2of4.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.2of4.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x81195c4)
-Component (ptr): 0x81195c4
-Stg_Object (ptr): 0x81195c4
-	Stg_Class (ptr): 0x81195c4
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f728)
+Stg_Component (ptr): 0x805f728
+Stg_Object (ptr): 0x805f728
+	Stg_Class (ptr): 0x805f728
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7fcd1dd
+		_print (func ptr): 0xb7fcda6a
+		_copy (func ptr): 0xb7fcec4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7fcc51c
+	_construct (func ptr): 0xb7fcd00e
+	_build (func ptr): 0xb7fcf322
+	_initialise (func ptr): 0xb7fd0214
+	_execute (func ptr): 0xb7fd0219
+	_destroy (func ptr): 0xb7fcd1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8117a64
-	layout (ptr): 0x8118b2c
-Extension (ptr):0x811974c
-Stg_Object (ptr): 0x811974c
-	Stg_Class (ptr): 0x811974c
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c560
+	layout (ptr): 0x805f478
+Extension (ptr):0x805faf8
+Stg_Object (ptr): 0x805faf8
+	Stg_Class (ptr): 0x805faf8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f45018
+		_print (func ptr): 0xb7f45066
+		_copy (func ptr): 0xb7f45200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811979c
-Stg_ObjectList (ptr):0x811979c
-	Stg_Class (ptr): 0x811979c
+	extInfos (ptr): 0x805fb58
+Stg_ObjectList (ptr):0x805fb58
+	Stg_Class (ptr): 0x805fb58
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f76f3e
+		_print (func ptr): 0xb7f76f75
+		_copy (func ptr): 0xb7f77217
+	_append(func ptr): 0xb7f77e7b
+	_prepend(func ptr): 0xb7f77f41
+	_replaceAll(func ptr): 0xb7f78005
+	_replace(func ptr): 0xb7f780be
+	_insertBefore(func ptr): 0xb7f7825b
+	_insertAfter(func ptr): 0xb7f78416
+	_remove(func ptr): 0xb7f785d3
+	_getIndex(func ptr): 0xb7f78679
+	_get(func ptr): 0xb7f78727
+	_allocMoreMemory(func ptr): 0xb7f788fa
+	_insertAtIndex(func ptr): 0xb7f78980
+	_removeByIndex(func ptr): 0xb7f789fe
+	_deleteAllObjects(func ptr): 0xb7f7887b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119804
-Stg_Object (ptr): 0x8119804
-	Stg_Class (ptr): 0x8119804
-		sizeOfSelf: 72
+Extension (ptr):0x805fbc8
+Stg_Object (ptr): 0x805fbc8
+	Stg_Class (ptr): 0x805fbc8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f45018
+		_print (func ptr): 0xb7f45066
+		_copy (func ptr): 0xb7f45200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119854
-Stg_ObjectList (ptr):0x8119854
-	Stg_Class (ptr): 0x8119854
+	extInfos (ptr): 0x805fc28
+Stg_ObjectList (ptr):0x805fc28
+	Stg_Class (ptr): 0x805fc28
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f76f3e
+		_print (func ptr): 0xb7f76f75
+		_copy (func ptr): 0xb7f77217
+	_append(func ptr): 0xb7f77e7b
+	_prepend(func ptr): 0xb7f77f41
+	_replaceAll(func ptr): 0xb7f78005
+	_replace(func ptr): 0xb7f780be
+	_insertBefore(func ptr): 0xb7f7825b
+	_insertAfter(func ptr): 0xb7f78416
+	_remove(func ptr): 0xb7f785d3
+	_getIndex(func ptr): 0xb7f78679
+	_get(func ptr): 0xb7f78727
+	_allocMoreMemory(func ptr): 0xb7f788fa
+	_insertAtIndex(func ptr): 0xb7f78980
+	_removeByIndex(func ptr): 0xb7f789fe
+	_deleteAllObjects(func ptr): 0xb7f7887b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119d04
+	node (ptr): 0x8060458
 	nodeLocalCount: 12
 	nodeDomainCount: 27
 	nodeShadowCount: 15
 	nodeGlobalCount: 27
-	nodeCoord (ptr): 0x8119de4
+	nodeCoord (ptr): 0x8060540
 	nodeCoord[0-27]:   (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a074
+	nodeL2G (ptr): 0x8060238
 	nodeL2G[0-12]:   003 004 006 007 012 013 015 016 021 022 024 025 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a074
+	nodeD2G (ptr): 0x8060238
 	nodeD2G[0-27]:   003 004 006 007 012 013 015 016 021 022 024 025 000 001 002 005 008 009 010 011 014 017 018 019 020 023 026 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a164
+	nodeG2L (ptr): 0x8060850
 	nodeG2L[0-27]:   027 027 027 000 001 027 002 003 027 027 027 027 004 005 027 006 007 027 027 027 027 008 009 027 010 011 027 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a0ec
+	nodeG2D (ptr): 0x80607d8
 	nodeG2D[0-27]:   012 013 014 000 001 015 002 003 016 017 018 019 004 005 020 006 007 021 022 023 024 008 009 025 010 011 026 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811a1dc
+	nodeNeighbourCountTbl (ptr): 0x80608c8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811a254
+	nodeNeighbourTbl (ptr): 0x8060940
 	nodeNeighbourTbl[0-27]:
 		nodeNeighbourTbl[0][0-6]: 001 002 004 027 012 027 
 		nodeNeighbourTbl[1][0-6]: 015 003 005 000 013 027 
@@ -170,9 +175,9 @@
 		nodeNeighbourTbl[25][0-6]: 027 026 027 009 024 020 
 		nodeNeighbourTbl[26][0-6]: 027 027 027 011 025 021 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811a554
+	nodeElementCountTbl (ptr): 0x8060c40
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a5cc
+	nodeElementTbl (ptr): 0x8060cb8
 	nodeElementTbl[0-27]:
 		nodeElementTbl[0][0-8]: 008 008 008 008 008 002 008 000 
 		nodeElementTbl[1][0-8]: 008 008 008 008 002 003 000 004 
@@ -201,27 +206,27 @@
 		nodeElementTbl[24][0-8]: 008 008 006 008 008 008 008 008 
 		nodeElementTbl[25][0-8]: 006 008 007 008 008 008 008 008 
 		nodeElementTbl[26][0-8]: 007 008 008 008 008 008 008 008 
-	element (ptr): 0x811823c
+	element (ptr): 0x8061090
 	elementLocalCount: 2
 	elementDomainCount: 8
 	elementShadowCount: 6
 	elementGlobalCount: 8
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8118ba4
+	elementL2G (ptr): 0x805d000
 	elementL2G[0-2]:   002 006 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8118ba4
+	elementD2G (ptr): 0x805d000
 	elementD2G[0-8]:   002 006 000 001 003 004 005 007 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a9a4
+	elementG2L (ptr): 0x8061110
 	elementG2L[0-8]:   008 008 000 008 008 008 001 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x8116cbc
+	elementG2D (ptr): 0x80610e0
 	elementG2D[0-8]:   002 003 000 004 005 006 001 007 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811a9cc
+	elementNeighbourCountTbl (ptr): 0x8061140
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811a9f4
+	elementNeighbourTbl (ptr): 0x8061170
 	elementNeighbourTbl[0-8]:
 		elementNeighbourTbl[0][0-26]: 008 008 008 008 008 008 008 008 008 008 002 003 008 004 008 008 008 008 005 006 008 001 007 008 008 008 
 		elementNeighbourTbl[1][0-26]: 008 002 003 008 000 004 008 008 008 008 005 006 008 007 008 008 008 008 008 008 008 008 008 008 008 008 
@@ -232,9 +237,9 @@
 		elementNeighbourTbl[6][0-26]: 008 008 008 002 003 008 000 004 008 008 008 008 005 008 001 007 008 008 008 008 008 008 008 008 008 008 
 		elementNeighbourTbl[7][0-26]: 002 003 008 000 004 008 008 008 008 005 006 008 001 008 008 008 008 008 008 008 008 008 008 008 008 008 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8119514
+	elementNodeCountTbl (ptr): 0x805aa18
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811ad5c
+	elementNodeTbl (ptr): 0x80614e0
 	elementNodeTbl[0-8]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 004 005 007 006 
 		elementNodeTbl[1][0-8]: 004 005 007 006 008 009 011 010 
@@ -245,51 +250,51 @@
 		elementNodeTbl[6][0-8]: 018 019 020 005 023 024 025 009 
 		elementNodeTbl[7][0-8]: 005 020 021 007 009 025 026 011 
 	procNbrCnt: 3
-	procNbrTbl (ptr): 0x811ae84
+	procNbrTbl (ptr): 0x80602b0
 		procNbrTbl[0]: 0
 		procNbrTbl[1]: 1
 		procNbrTbl[2]: 3
-	elementShadowInfo->procShadowedCnt (ptr): 0x811aebc
+	elementShadowInfo->procShadowedCnt (ptr): 0x8060420
 		elementShadowInfo->procShadowedCnt[0]: 2
 		elementShadowInfo->procShadowedCnt[1]: 2
 		elementShadowInfo->procShadowedCnt[2]: 2
-	elementShadowInfo->procShadowedTbl (ptr): 0x811aed4
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x811953c
+	elementShadowInfo->procShadowedTbl (ptr): 0x805d030
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8060340
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
-		elementShadowInfo->procShadowedTbl[1] (ptr): 0x811b13c
+		elementShadowInfo->procShadowedTbl[1] (ptr): 0x8061708
 			elementShadowInfo->procShadowedTbl[1][0]: 0
 			elementShadowInfo->procShadowedTbl[1][1]: 1
-		elementShadowInfo->procShadowedTbl[2] (ptr): 0x811b1b4
+		elementShadowInfo->procShadowedTbl[2] (ptr): 0x8061770
 			elementShadowInfo->procShadowedTbl[2][0]: 0
 			elementShadowInfo->procShadowedTbl[2][1]: 1
-	elementShadowInfo->procShadowCnt (ptr): 0x811b1c4
+	elementShadowInfo->procShadowCnt (ptr): 0x8061788
 		elementShadowInfo->procShadowCnt[0]: 2
 		elementShadowInfo->procShadowCnt[1]: 2
 		elementShadowInfo->procShadowCnt[2]: 2
-	elementShadowInfo->procShadowTbl (ptr): 0x811b1dc
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811b15c
+	elementShadowInfo->procShadowTbl (ptr): 0x80617a0
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80617b8
 			elementShadowInfo->procShadowTbl[0][0]: 2
 			elementShadowInfo->procShadowTbl[0][1]: 5
-		elementShadowInfo->procShadowTbl[1] (ptr): 0x811b14c
+		elementShadowInfo->procShadowTbl[1] (ptr): 0x80617d0
 			elementShadowInfo->procShadowTbl[1][0]: 3
 			elementShadowInfo->procShadowTbl[1][1]: 6
-		elementShadowInfo->procShadowTbl[2] (ptr): 0x811b214
+		elementShadowInfo->procShadowTbl[2] (ptr): 0x80617e8
 			elementShadowInfo->procShadowTbl[2][0]: 4
 			elementShadowInfo->procShadowTbl[2][1]: 7
-	nodeShadowInfo->procShadowedCnt (ptr): 0x811b264
+	nodeShadowInfo->procShadowedCnt (ptr): 0x8061840
 		nodeShadowInfo->procShadowedCnt[0]: 6
 		nodeShadowInfo->procShadowedCnt[1]: 9
 		nodeShadowInfo->procShadowedCnt[2]: 6
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811b27c
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811b09c
+	nodeShadowInfo->procShadowedTbl (ptr): 0x8061858
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x8061660
 			nodeShadowInfo->procShadowedTbl[0][0]: 2
 			nodeShadowInfo->procShadowedTbl[0][1]: 3
 			nodeShadowInfo->procShadowedTbl[0][2]: 6
 			nodeShadowInfo->procShadowedTbl[0][3]: 7
 			nodeShadowInfo->procShadowedTbl[0][4]: 10
 			nodeShadowInfo->procShadowedTbl[0][5]: 11
-		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x811b46c
+		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x80619e8
 			nodeShadowInfo->procShadowedTbl[1][0]: 0
 			nodeShadowInfo->procShadowedTbl[1][1]: 2
 			nodeShadowInfo->procShadowedTbl[1][2]: 3
@@ -299,26 +304,26 @@
 			nodeShadowInfo->procShadowedTbl[1][6]: 8
 			nodeShadowInfo->procShadowedTbl[1][7]: 10
 			nodeShadowInfo->procShadowedTbl[1][8]: 11
-		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x811af0c
+		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x8061638
 			nodeShadowInfo->procShadowedTbl[2][0]: 0
 			nodeShadowInfo->procShadowedTbl[2][1]: 2
 			nodeShadowInfo->procShadowedTbl[2][2]: 4
 			nodeShadowInfo->procShadowedTbl[2][3]: 6
 			nodeShadowInfo->procShadowedTbl[2][4]: 8
 			nodeShadowInfo->procShadowedTbl[2][5]: 10
-	nodeShadowInfo->procShadowCnt (ptr): 0x811b504
+	nodeShadowInfo->procShadowCnt (ptr): 0x8061a68
 		nodeShadowInfo->procShadowCnt[0]: 6
 		nodeShadowInfo->procShadowCnt[1]: 9
 		nodeShadowInfo->procShadowCnt[2]: 6
-	nodeShadowInfo->procShadowTbl (ptr): 0x811b51c
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811aeec
+	nodeShadowInfo->procShadowTbl (ptr): 0x8061a80
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8061610
 			nodeShadowInfo->procShadowTbl[0][0]: 12
 			nodeShadowInfo->procShadowTbl[0][1]: 13
 			nodeShadowInfo->procShadowTbl[0][2]: 17
 			nodeShadowInfo->procShadowTbl[0][3]: 18
 			nodeShadowInfo->procShadowTbl[0][4]: 22
 			nodeShadowInfo->procShadowTbl[0][5]: 23
-		nodeShadowInfo->procShadowTbl[1] (ptr): 0x811b534
+		nodeShadowInfo->procShadowTbl[1] (ptr): 0x8061a98
 			nodeShadowInfo->procShadowTbl[1][0]: 13
 			nodeShadowInfo->procShadowTbl[1][1]: 14
 			nodeShadowInfo->procShadowTbl[1][2]: 15
@@ -328,7 +333,7 @@
 			nodeShadowInfo->procShadowTbl[1][6]: 23
 			nodeShadowInfo->procShadowTbl[1][7]: 24
 			nodeShadowInfo->procShadowTbl[1][8]: 25
-		nodeShadowInfo->procShadowTbl[2] (ptr): 0x811b05c
+		nodeShadowInfo->procShadowTbl[2] (ptr): 0x8061ac8
 			nodeShadowInfo->procShadowTbl[2][0]: 15
 			nodeShadowInfo->procShadowTbl[2][1]: 16
 			nodeShadowInfo->procShadowTbl[2][2]: 20

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.3of4.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.3of4.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync-2D.3of4.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x81195d4)
-Component (ptr): 0x81195d4
-Stg_Object (ptr): 0x81195d4
-	Stg_Class (ptr): 0x81195d4
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f728)
+Stg_Component (ptr): 0x805f728
+Stg_Object (ptr): 0x805f728
+	Stg_Class (ptr): 0x805f728
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7f811dd
+		_print (func ptr): 0xb7f81a6a
+		_copy (func ptr): 0xb7f82c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7f8051c
+	_construct (func ptr): 0xb7f8100e
+	_build (func ptr): 0xb7f83322
+	_initialise (func ptr): 0xb7f84214
+	_execute (func ptr): 0xb7f84219
+	_destroy (func ptr): 0xb7f811d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8117a74
-	layout (ptr): 0x8118b3c
-Extension (ptr):0x811975c
-Stg_Object (ptr): 0x811975c
-	Stg_Class (ptr): 0x811975c
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c560
+	layout (ptr): 0x805f478
+Extension (ptr):0x805faf8
+Stg_Object (ptr): 0x805faf8
+	Stg_Class (ptr): 0x805faf8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7ef9018
+		_print (func ptr): 0xb7ef9066
+		_copy (func ptr): 0xb7ef9200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x81197ac
-Stg_ObjectList (ptr):0x81197ac
-	Stg_Class (ptr): 0x81197ac
+	extInfos (ptr): 0x805fb58
+Stg_ObjectList (ptr):0x805fb58
+	Stg_Class (ptr): 0x805fb58
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f2af3e
+		_print (func ptr): 0xb7f2af75
+		_copy (func ptr): 0xb7f2b217
+	_append(func ptr): 0xb7f2be7b
+	_prepend(func ptr): 0xb7f2bf41
+	_replaceAll(func ptr): 0xb7f2c005
+	_replace(func ptr): 0xb7f2c0be
+	_insertBefore(func ptr): 0xb7f2c25b
+	_insertAfter(func ptr): 0xb7f2c416
+	_remove(func ptr): 0xb7f2c5d3
+	_getIndex(func ptr): 0xb7f2c679
+	_get(func ptr): 0xb7f2c727
+	_allocMoreMemory(func ptr): 0xb7f2c8fa
+	_insertAtIndex(func ptr): 0xb7f2c980
+	_removeByIndex(func ptr): 0xb7f2c9fe
+	_deleteAllObjects(func ptr): 0xb7f2c87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119814
-Stg_Object (ptr): 0x8119814
-	Stg_Class (ptr): 0x8119814
-		sizeOfSelf: 72
+Extension (ptr):0x805fbc8
+Stg_Object (ptr): 0x805fbc8
+	Stg_Class (ptr): 0x805fbc8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7ef9018
+		_print (func ptr): 0xb7ef9066
+		_copy (func ptr): 0xb7ef9200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119864
-Stg_ObjectList (ptr):0x8119864
-	Stg_Class (ptr): 0x8119864
+	extInfos (ptr): 0x805fc28
+Stg_ObjectList (ptr):0x805fc28
+	Stg_Class (ptr): 0x805fc28
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f2af3e
+		_print (func ptr): 0xb7f2af75
+		_copy (func ptr): 0xb7f2b217
+	_append(func ptr): 0xb7f2be7b
+	_prepend(func ptr): 0xb7f2bf41
+	_replaceAll(func ptr): 0xb7f2c005
+	_replace(func ptr): 0xb7f2c0be
+	_insertBefore(func ptr): 0xb7f2c25b
+	_insertAfter(func ptr): 0xb7f2c416
+	_remove(func ptr): 0xb7f2c5d3
+	_getIndex(func ptr): 0xb7f2c679
+	_get(func ptr): 0xb7f2c727
+	_allocMoreMemory(func ptr): 0xb7f2c8fa
+	_insertAtIndex(func ptr): 0xb7f2c980
+	_removeByIndex(func ptr): 0xb7f2c9fe
+	_deleteAllObjects(func ptr): 0xb7f2c87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119d14
+	node (ptr): 0x8060458
 	nodeLocalCount: 12
 	nodeDomainCount: 27
 	nodeShadowCount: 15
 	nodeGlobalCount: 27
-	nodeCoord (ptr): 0x8119df4
+	nodeCoord (ptr): 0x8060540
 	nodeCoord[0-27]:   (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), (3.00,3.00,3.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a084
+	nodeL2G (ptr): 0x8060238
 	nodeL2G[0-12]:   004 005 007 008 013 014 016 017 022 023 025 026 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a084
+	nodeD2G (ptr): 0x8060238
 	nodeD2G[0-27]:   004 005 007 008 013 014 016 017 022 023 025 026 000 001 002 003 006 009 010 011 012 015 018 019 020 021 024 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a174
+	nodeG2L (ptr): 0x8060850
 	nodeG2L[0-27]:   027 027 027 027 000 001 027 002 003 027 027 027 027 004 005 027 006 007 027 027 027 027 008 009 027 010 011 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a0fc
+	nodeG2D (ptr): 0x80607d8
 	nodeG2D[0-27]:   012 013 014 015 000 001 016 002 003 017 018 019 020 004 005 021 006 007 022 023 024 025 008 009 026 010 011 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811a1ec
+	nodeNeighbourCountTbl (ptr): 0x80608c8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811a264
+	nodeNeighbourTbl (ptr): 0x8060940
 	nodeNeighbourTbl[0-27]:
 		nodeNeighbourTbl[0][0-6]: 001 002 004 015 013 027 
 		nodeNeighbourTbl[1][0-6]: 027 003 005 000 014 027 
@@ -170,9 +175,9 @@
 		nodeNeighbourTbl[25][0-6]: 008 026 027 027 022 020 
 		nodeNeighbourTbl[26][0-6]: 010 027 027 027 025 021 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811a564
+	nodeElementCountTbl (ptr): 0x8060c40
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811a5dc
+	nodeElementTbl (ptr): 0x8060cb8
 	nodeElementTbl[0-27]:
 		nodeElementTbl[0][0-8]: 008 008 008 008 002 003 004 000 
 		nodeElementTbl[1][0-8]: 008 008 008 008 003 008 000 008 
@@ -201,27 +206,27 @@
 		nodeElementTbl[24][0-8]: 008 008 006 008 008 008 008 008 
 		nodeElementTbl[25][0-8]: 008 005 008 007 008 008 008 008 
 		nodeElementTbl[26][0-8]: 008 007 008 008 008 008 008 008 
-	element (ptr): 0x811824c
+	element (ptr): 0x8061090
 	elementLocalCount: 2
 	elementDomainCount: 8
 	elementShadowCount: 6
 	elementGlobalCount: 8
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8118bb4
+	elementL2G (ptr): 0x805d000
 	elementL2G[0-2]:   003 007 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8118bb4
+	elementD2G (ptr): 0x805d000
 	elementD2G[0-8]:   003 007 000 001 002 004 005 006 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811a9b4
+	elementG2L (ptr): 0x8061110
 	elementG2L[0-8]:   008 008 008 000 008 008 008 001 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x8116cbc
+	elementG2D (ptr): 0x80610e0
 	elementG2D[0-8]:   002 003 004 000 005 006 007 001 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811a9dc
+	elementNeighbourCountTbl (ptr): 0x8061140
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811aa04
+	elementNeighbourTbl (ptr): 0x8061170
 	elementNeighbourTbl[0-8]:
 		elementNeighbourTbl[0][0-26]: 008 008 008 008 008 008 008 008 008 002 003 008 004 008 008 008 008 005 006 008 007 001 008 008 008 008 
 		elementNeighbourTbl[1][0-26]: 002 003 008 004 000 008 008 008 008 005 006 008 007 008 008 008 008 008 008 008 008 008 008 008 008 008 
@@ -232,9 +237,9 @@
 		elementNeighbourTbl[6][0-26]: 008 008 008 002 003 008 004 000 008 008 008 008 005 008 007 001 008 008 008 008 008 008 008 008 008 008 
 		elementNeighbourTbl[7][0-26]: 008 002 003 008 004 000 008 008 008 008 005 006 008 001 008 008 008 008 008 008 008 008 008 008 008 008 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8119524
+	elementNodeCountTbl (ptr): 0x805aa18
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811ad6c
+	elementNodeTbl (ptr): 0x80614e0
 	elementNodeTbl[0-8]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 004 005 007 006 
 		elementNodeTbl[1][0-8]: 004 005 007 006 008 009 011 010 
@@ -245,44 +250,44 @@
 		elementNodeTbl[6][0-8]: 018 019 005 004 023 024 009 008 
 		elementNodeTbl[7][0-8]: 020 004 006 021 025 008 010 026 
 	procNbrCnt: 3
-	procNbrTbl (ptr): 0x811ae94
+	procNbrTbl (ptr): 0x80602b0
 		procNbrTbl[0]: 0
 		procNbrTbl[1]: 1
 		procNbrTbl[2]: 2
-	elementShadowInfo->procShadowedCnt (ptr): 0x811aecc
+	elementShadowInfo->procShadowedCnt (ptr): 0x8060420
 		elementShadowInfo->procShadowedCnt[0]: 2
 		elementShadowInfo->procShadowedCnt[1]: 2
 		elementShadowInfo->procShadowedCnt[2]: 2
-	elementShadowInfo->procShadowedTbl (ptr): 0x811aee4
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8118bdc
+	elementShadowInfo->procShadowedTbl (ptr): 0x805d030
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8060340
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
-		elementShadowInfo->procShadowedTbl[1] (ptr): 0x811b13c
+		elementShadowInfo->procShadowedTbl[1] (ptr): 0x8061708
 			elementShadowInfo->procShadowedTbl[1][0]: 0
 			elementShadowInfo->procShadowedTbl[1][1]: 1
-		elementShadowInfo->procShadowedTbl[2] (ptr): 0x811b1b4
+		elementShadowInfo->procShadowedTbl[2] (ptr): 0x8061770
 			elementShadowInfo->procShadowedTbl[2][0]: 0
 			elementShadowInfo->procShadowedTbl[2][1]: 1
-	elementShadowInfo->procShadowCnt (ptr): 0x811b1c4
+	elementShadowInfo->procShadowCnt (ptr): 0x8061788
 		elementShadowInfo->procShadowCnt[0]: 2
 		elementShadowInfo->procShadowCnt[1]: 2
 		elementShadowInfo->procShadowCnt[2]: 2
-	elementShadowInfo->procShadowTbl (ptr): 0x811b1dc
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811b15c
+	elementShadowInfo->procShadowTbl (ptr): 0x80617a0
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80617b8
 			elementShadowInfo->procShadowTbl[0][0]: 2
 			elementShadowInfo->procShadowTbl[0][1]: 5
-		elementShadowInfo->procShadowTbl[1] (ptr): 0x811b14c
+		elementShadowInfo->procShadowTbl[1] (ptr): 0x80617d0
 			elementShadowInfo->procShadowTbl[1][0]: 3
 			elementShadowInfo->procShadowTbl[1][1]: 6
-		elementShadowInfo->procShadowTbl[2] (ptr): 0x811b214
+		elementShadowInfo->procShadowTbl[2] (ptr): 0x80617e8
 			elementShadowInfo->procShadowTbl[2][0]: 4
 			elementShadowInfo->procShadowTbl[2][1]: 7
-	nodeShadowInfo->procShadowedCnt (ptr): 0x811b264
+	nodeShadowInfo->procShadowedCnt (ptr): 0x8061840
 		nodeShadowInfo->procShadowedCnt[0]: 9
 		nodeShadowInfo->procShadowedCnt[1]: 6
 		nodeShadowInfo->procShadowedCnt[2]: 6
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811b27c
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811b424
+	nodeShadowInfo->procShadowedTbl (ptr): 0x8061858
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x8061998
 			nodeShadowInfo->procShadowedTbl[0][0]: 1
 			nodeShadowInfo->procShadowedTbl[0][1]: 2
 			nodeShadowInfo->procShadowedTbl[0][2]: 3
@@ -292,26 +297,26 @@
 			nodeShadowInfo->procShadowedTbl[0][6]: 9
 			nodeShadowInfo->procShadowedTbl[0][7]: 10
 			nodeShadowInfo->procShadowedTbl[0][8]: 11
-		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x811b0ac
+		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x8061660
 			nodeShadowInfo->procShadowedTbl[1][0]: 2
 			nodeShadowInfo->procShadowedTbl[1][1]: 3
 			nodeShadowInfo->procShadowedTbl[1][2]: 6
 			nodeShadowInfo->procShadowedTbl[1][3]: 7
 			nodeShadowInfo->procShadowedTbl[1][4]: 10
 			nodeShadowInfo->procShadowedTbl[1][5]: 11
-		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x811b06c
+		nodeShadowInfo->procShadowedTbl[2] (ptr): 0x8061638
 			nodeShadowInfo->procShadowedTbl[2][0]: 1
 			nodeShadowInfo->procShadowedTbl[2][1]: 3
 			nodeShadowInfo->procShadowedTbl[2][2]: 5
 			nodeShadowInfo->procShadowedTbl[2][3]: 7
 			nodeShadowInfo->procShadowedTbl[2][4]: 9
 			nodeShadowInfo->procShadowedTbl[2][5]: 11
-	nodeShadowInfo->procShadowCnt (ptr): 0x811b504
+	nodeShadowInfo->procShadowCnt (ptr): 0x8061a68
 		nodeShadowInfo->procShadowCnt[0]: 9
 		nodeShadowInfo->procShadowCnt[1]: 6
 		nodeShadowInfo->procShadowCnt[2]: 6
-	nodeShadowInfo->procShadowTbl (ptr): 0x811b51c
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811b534
+	nodeShadowInfo->procShadowTbl (ptr): 0x8061a80
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8061a98
 			nodeShadowInfo->procShadowTbl[0][0]: 12
 			nodeShadowInfo->procShadowTbl[0][1]: 13
 			nodeShadowInfo->procShadowTbl[0][2]: 15
@@ -321,14 +326,14 @@
 			nodeShadowInfo->procShadowTbl[0][6]: 22
 			nodeShadowInfo->procShadowTbl[0][7]: 23
 			nodeShadowInfo->procShadowTbl[0][8]: 25
-		nodeShadowInfo->procShadowTbl[1] (ptr): 0x811aefc
+		nodeShadowInfo->procShadowTbl[1] (ptr): 0x8061610
 			nodeShadowInfo->procShadowTbl[1][0]: 13
 			nodeShadowInfo->procShadowTbl[1][1]: 14
 			nodeShadowInfo->procShadowTbl[1][2]: 18
 			nodeShadowInfo->procShadowTbl[1][3]: 19
 			nodeShadowInfo->procShadowTbl[1][4]: 23
 			nodeShadowInfo->procShadowTbl[1][5]: 24
-		nodeShadowInfo->procShadowTbl[2] (ptr): 0x811b04c
+		nodeShadowInfo->procShadowTbl[2] (ptr): 0x8061ac8
 			nodeShadowInfo->procShadowTbl[2][0]: 15
 			nodeShadowInfo->procShadowTbl[2][1]: 16
 			nodeShadowInfo->procShadowTbl[2][2]: 20

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811a25c)
-Component (ptr): 0x811a25c
-Stg_Object (ptr): 0x811a25c
-	Stg_Class (ptr): 0x811a25c
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f498)
+Stg_Component (ptr): 0x805f498
+Stg_Object (ptr): 0x805f498
+	Stg_Class (ptr): 0x805f498
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7fda1dd
+		_print (func ptr): 0xb7fdaa6a
+		_copy (func ptr): 0xb7fdbc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7fd951c
+	_construct (func ptr): 0xb7fda00e
+	_build (func ptr): 0xb7fdc322
+	_initialise (func ptr): 0xb7fdd214
+	_execute (func ptr): 0xb7fdd219
+	_destroy (func ptr): 0xb7fda1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x811890c
-	layout (ptr): 0x811a164
-Extension (ptr):0x811a3e4
-Stg_Object (ptr): 0x811a3e4
-	Stg_Class (ptr): 0x811a3e4
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c568
+	layout (ptr): 0x805f150
+Extension (ptr):0x805f868
+Stg_Object (ptr): 0x805f868
+	Stg_Class (ptr): 0x805f868
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f52018
+		_print (func ptr): 0xb7f52066
+		_copy (func ptr): 0xb7f52200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811a434
-Stg_ObjectList (ptr):0x811a434
-	Stg_Class (ptr): 0x811a434
+	extInfos (ptr): 0x805f8e0
+Stg_ObjectList (ptr):0x805f8e0
+	Stg_Class (ptr): 0x805f8e0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f83f3e
+		_print (func ptr): 0xb7f83f75
+		_copy (func ptr): 0xb7f84217
+	_append(func ptr): 0xb7f84e7b
+	_prepend(func ptr): 0xb7f84f41
+	_replaceAll(func ptr): 0xb7f85005
+	_replace(func ptr): 0xb7f850be
+	_insertBefore(func ptr): 0xb7f8525b
+	_insertAfter(func ptr): 0xb7f85416
+	_remove(func ptr): 0xb7f855d3
+	_getIndex(func ptr): 0xb7f85679
+	_get(func ptr): 0xb7f85727
+	_allocMoreMemory(func ptr): 0xb7f858fa
+	_insertAtIndex(func ptr): 0xb7f85980
+	_removeByIndex(func ptr): 0xb7f859fe
+	_deleteAllObjects(func ptr): 0xb7f8587b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811a4c4
-Stg_Object (ptr): 0x811a4c4
-	Stg_Class (ptr): 0x811a4c4
-		sizeOfSelf: 72
+Extension (ptr):0x805f950
+Stg_Object (ptr): 0x805f950
+	Stg_Class (ptr): 0x805f950
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7f52018
+		_print (func ptr): 0xb7f52066
+		_copy (func ptr): 0xb7f52200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811a514
-Stg_ObjectList (ptr):0x811a514
-	Stg_Class (ptr): 0x811a514
+	extInfos (ptr): 0x805f9c8
+Stg_ObjectList (ptr):0x805f9c8
+	Stg_Class (ptr): 0x805f9c8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7f83f3e
+		_print (func ptr): 0xb7f83f75
+		_copy (func ptr): 0xb7f84217
+	_append(func ptr): 0xb7f84e7b
+	_prepend(func ptr): 0xb7f84f41
+	_replaceAll(func ptr): 0xb7f85005
+	_replace(func ptr): 0xb7f850be
+	_insertBefore(func ptr): 0xb7f8525b
+	_insertAfter(func ptr): 0xb7f85416
+	_remove(func ptr): 0xb7f855d3
+	_getIndex(func ptr): 0xb7f85679
+	_get(func ptr): 0xb7f85727
+	_allocMoreMemory(func ptr): 0xb7f858fa
+	_insertAtIndex(func ptr): 0xb7f85980
+	_removeByIndex(func ptr): 0xb7f859fe
+	_deleteAllObjects(func ptr): 0xb7f8587b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811a9dc
+	node (ptr): 0x8060198
 	nodeLocalCount: 32
 	nodeDomainCount: 48
 	nodeShadowCount: 16
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x811ab64
+	nodeCoord (ptr): 0x8060328
 	nodeCoord[0-48]:   (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), (0.00,0.00,0.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811afec
+	nodeL2G (ptr): 0x8060808
 	nodeL2G[0-32]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811afec
+	nodeD2G (ptr): 0x8060808
 	nodeD2G[0-48]:   000 001 004 005 008 009 012 013 016 017 020 021 024 025 028 029 032 033 036 037 040 041 044 045 048 049 052 053 056 057 060 061 002 006 010 014 018 022 026 030 034 038 042 046 050 054 058 062 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811b1bc
+	nodeG2L (ptr): 0x80609e8
 	nodeG2L[0-64]:   000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 064 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811b0b4
+	nodeG2D (ptr): 0x80608d8
 	nodeG2D[0-64]:   000 001 032 064 002 003 033 064 004 005 034 064 006 007 035 064 008 009 036 064 010 011 037 064 012 013 038 064 014 015 039 064 016 017 040 064 018 019 041 064 020 021 042 064 022 023 043 064 024 025 044 064 026 027 045 064 028 029 046 064 030 031 047 064 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811b2c4
+	nodeNeighbourCountTbl (ptr): 0x8060af8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811b38c
+	nodeNeighbourTbl (ptr): 0x8060bc8
 	nodeNeighbourTbl[0-48]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 064 064 064 
 		nodeNeighbourTbl[1][0-6]: 032 003 009 000 064 064 
@@ -191,9 +196,9 @@
 		nodeNeighbourTbl[46][0-6]: 064 047 064 029 045 042 
 		nodeNeighbourTbl[47][0-6]: 064 064 064 031 046 043 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811b94c
+	nodeElementCountTbl (ptr): 0x8061118
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811ba14
+	nodeElementTbl (ptr): 0x80611e8
 	nodeElementTbl[0-48]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 027 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 009 
@@ -243,27 +248,27 @@
 		nodeElementTbl[45][0-8]: 015 027 016 027 027 027 027 027 
 		nodeElementTbl[46][0-8]: 016 027 017 027 027 027 027 027 
 		nodeElementTbl[47][0-8]: 017 027 027 027 027 027 027 027 
-	element (ptr): 0x811c0dc
+	element (ptr): 0x80618b8
 	elementLocalCount: 9
 	elementDomainCount: 18
 	elementShadowCount: 9
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x811b8d4
+	elementL2G (ptr): 0x805ff78
 	elementL2G[0-9]:   000 003 006 009 012 015 018 021 024 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x811b8d4
+	elementD2G (ptr): 0x805ff78
 	elementD2G[0-18]:   000 003 006 009 012 015 018 021 024 001 004 007 010 013 016 019 022 025 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811c1ec
+	elementG2L (ptr): 0x80619d0
 	elementG2L[0-27]:   000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 027 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811c174
+	elementG2D (ptr): 0x8061958
 	elementG2D[0-27]:   000 009 027 001 010 027 002 011 027 003 012 027 004 013 027 005 014 027 006 015 027 007 016 027 008 017 027 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811c264
+	elementNeighbourCountTbl (ptr): 0x8061a48
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811c2b4
+	elementNeighbourTbl (ptr): 0x8061aa0
 	elementNeighbourTbl[0-18]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 027 009 027 001 010 027 027 027 027 003 012 027 004 013 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 027 000 009 027 010 027 002 011 027 003 012 027 004 013 027 005 014 
@@ -284,9 +289,9 @@
 		elementNeighbourTbl[16][0-26]: 003 012 027 004 013 027 005 014 027 006 015 027 007 027 008 017 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[17][0-26]: 004 013 027 005 014 027 027 027 027 007 016 027 008 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811ca54
+	elementNodeCountTbl (ptr): 0x8062248
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811caa4
+	elementNodeTbl (ptr): 0x80622a0
 	elementNodeTbl[0-18]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 
@@ -307,12 +312,12 @@
 		elementNodeTbl[16][0-8]: 019 041 042 021 027 045 046 029 
 		elementNodeTbl[17][0-8]: 021 042 043 023 029 046 047 031 
 	procNbrCnt: 1
-	procNbrTbl (ptr): 0x811b934
+	procNbrTbl (ptr): 0x8060080
 		procNbrTbl[0]: 1
-	elementShadowInfo->procShadowedCnt (ptr): 0x8119c04
+	elementShadowInfo->procShadowedCnt (ptr): 0x805fff8
 		elementShadowInfo->procShadowedCnt[0]: 9
-	elementShadowInfo->procShadowedTbl (ptr): 0x8119c14
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8119a14
+	elementShadowInfo->procShadowedTbl (ptr): 0x8060160
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x805d008
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
 			elementShadowInfo->procShadowedTbl[0][2]: 2
@@ -322,10 +327,10 @@
 			elementShadowInfo->procShadowedTbl[0][6]: 6
 			elementShadowInfo->procShadowedTbl[0][7]: 7
 			elementShadowInfo->procShadowedTbl[0][8]: 8
-	elementShadowInfo->procShadowCnt (ptr): 0x81199d4
+	elementShadowInfo->procShadowCnt (ptr): 0x805aa30
 		elementShadowInfo->procShadowCnt[0]: 9
-	elementShadowInfo->procShadowTbl (ptr): 0x81199e4
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811a11c
+	elementShadowInfo->procShadowTbl (ptr): 0x805aa40
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80607b8
 			elementShadowInfo->procShadowTbl[0][0]: 9
 			elementShadowInfo->procShadowTbl[0][1]: 10
 			elementShadowInfo->procShadowTbl[0][2]: 11
@@ -335,10 +340,10 @@
 			elementShadowInfo->procShadowTbl[0][6]: 15
 			elementShadowInfo->procShadowTbl[0][7]: 16
 			elementShadowInfo->procShadowTbl[0][8]: 17
-	nodeShadowInfo->procShadowedCnt (ptr): 0x81199f4
+	nodeShadowInfo->procShadowedCnt (ptr): 0x805d038
 		nodeShadowInfo->procShadowedCnt[0]: 16
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811910c
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811ceb4
+	nodeShadowInfo->procShadowedTbl (ptr): 0x80607e8
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x80625a8
 			nodeShadowInfo->procShadowedTbl[0][0]: 0
 			nodeShadowInfo->procShadowedTbl[0][1]: 2
 			nodeShadowInfo->procShadowedTbl[0][2]: 4
@@ -355,10 +360,10 @@
 			nodeShadowInfo->procShadowedTbl[0][13]: 26
 			nodeShadowInfo->procShadowedTbl[0][14]: 28
 			nodeShadowInfo->procShadowedTbl[0][15]: 30
-	nodeShadowInfo->procShadowCnt (ptr): 0x811cf74
+	nodeShadowInfo->procShadowCnt (ptr): 0x8062678
 		nodeShadowInfo->procShadowCnt[0]: 16
-	nodeShadowInfo->procShadowTbl (ptr): 0x811cefc
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811cf84
+	nodeShadowInfo->procShadowTbl (ptr): 0x80625f8
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8062688
 			nodeShadowInfo->procShadowTbl[0][0]: 32
 			nodeShadowInfo->procShadowTbl[0][1]: 33
 			nodeShadowInfo->procShadowTbl[0][2]: 34

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x81194ac)
-Component (ptr): 0x81194ac
-Stg_Object (ptr): 0x81194ac
-	Stg_Class (ptr): 0x81194ac
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f5c0)
+Stg_Component (ptr): 0x805f5c0
+Stg_Object (ptr): 0x805f5c0
+	Stg_Class (ptr): 0x805f5c0
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7f331dd
+		_print (func ptr): 0xb7f33a6a
+		_copy (func ptr): 0xb7f34c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7f3251c
+	_construct (func ptr): 0xb7f3300e
+	_build (func ptr): 0xb7f35322
+	_initialise (func ptr): 0xb7f36214
+	_execute (func ptr): 0xb7f36219
+	_destroy (func ptr): 0xb7f331d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8117a04
-	layout (ptr): 0x81193b4
-Extension (ptr):0x8119634
-Stg_Object (ptr): 0x8119634
-	Stg_Class (ptr): 0x8119634
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805f278
+Extension (ptr):0x805f990
+Stg_Object (ptr): 0x805f990
+	Stg_Class (ptr): 0x805f990
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7eab018
+		_print (func ptr): 0xb7eab066
+		_copy (func ptr): 0xb7eab200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119684
-Stg_ObjectList (ptr):0x8119684
-	Stg_Class (ptr): 0x8119684
+	extInfos (ptr): 0x805fa08
+Stg_ObjectList (ptr):0x805fa08
+	Stg_Class (ptr): 0x805fa08
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7edcf3e
+		_print (func ptr): 0xb7edcf75
+		_copy (func ptr): 0xb7edd217
+	_append(func ptr): 0xb7edde7b
+	_prepend(func ptr): 0xb7eddf41
+	_replaceAll(func ptr): 0xb7ede005
+	_replace(func ptr): 0xb7ede0be
+	_insertBefore(func ptr): 0xb7ede25b
+	_insertAfter(func ptr): 0xb7ede416
+	_remove(func ptr): 0xb7ede5d3
+	_getIndex(func ptr): 0xb7ede679
+	_get(func ptr): 0xb7ede727
+	_allocMoreMemory(func ptr): 0xb7ede8fa
+	_insertAtIndex(func ptr): 0xb7ede980
+	_removeByIndex(func ptr): 0xb7ede9fe
+	_deleteAllObjects(func ptr): 0xb7ede87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x8119714
-Stg_Object (ptr): 0x8119714
-	Stg_Class (ptr): 0x8119714
-		sizeOfSelf: 72
+Extension (ptr):0x805fa78
+Stg_Object (ptr): 0x805fa78
+	Stg_Class (ptr): 0x805fa78
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7eab018
+		_print (func ptr): 0xb7eab066
+		_copy (func ptr): 0xb7eab200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x8119764
-Stg_ObjectList (ptr):0x8119764
-	Stg_Class (ptr): 0x8119764
+	extInfos (ptr): 0x805faf0
+Stg_ObjectList (ptr):0x805faf0
+	Stg_Class (ptr): 0x805faf0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7edcf3e
+		_print (func ptr): 0xb7edcf75
+		_copy (func ptr): 0xb7edd217
+	_append(func ptr): 0xb7edde7b
+	_prepend(func ptr): 0xb7eddf41
+	_replaceAll(func ptr): 0xb7ede005
+	_replace(func ptr): 0xb7ede0be
+	_insertBefore(func ptr): 0xb7ede25b
+	_insertAfter(func ptr): 0xb7ede416
+	_remove(func ptr): 0xb7ede5d3
+	_getIndex(func ptr): 0xb7ede679
+	_get(func ptr): 0xb7ede727
+	_allocMoreMemory(func ptr): 0xb7ede8fa
+	_insertAtIndex(func ptr): 0xb7ede980
+	_removeByIndex(func ptr): 0xb7ede9fe
+	_deleteAllObjects(func ptr): 0xb7ede87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119c24
+	node (ptr): 0x80602c0
 	nodeLocalCount: 32
 	nodeDomainCount: 64
 	nodeShadowCount: 32
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x8119e2c
+	nodeCoord (ptr): 0x80604d0
 	nodeCoord[0-64]:   (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a544
+	nodeL2G (ptr): 0x8060b70
 	nodeL2G[0-32]:   001 002 005 006 009 010 013 014 017 018 021 022 025 026 029 030 033 034 037 038 041 042 045 046 049 050 053 054 057 058 061 062 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a544
+	nodeD2G (ptr): 0x8060b70
 	nodeD2G[0-64]:   001 002 005 006 009 010 013 014 017 018 021 022 025 026 029 030 033 034 037 038 041 042 045 046 049 050 053 054 057 058 061 062 000 003 004 007 008 011 012 015 016 019 020 023 024 027 028 031 032 035 036 039 040 043 044 047 048 051 052 055 056 059 060 063 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a64c
+	nodeG2L (ptr): 0x8060d90
 	nodeG2L[0-64]:   064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 064 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a434
+	nodeG2D (ptr): 0x8060c80
 	nodeG2D[0-64]:   032 000 001 033 034 002 003 035 036 004 005 037 038 006 007 039 040 008 009 041 042 010 011 043 044 012 013 045 046 014 015 047 048 016 017 049 050 018 019 051 052 020 021 053 054 022 023 055 056 024 025 057 058 026 027 059 060 028 029 061 062 030 031 063 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811a754
+	nodeNeighbourCountTbl (ptr): 0x8060ea0
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811a85c
+	nodeNeighbourTbl (ptr): 0x8060fb0
 	nodeNeighbourTbl[0-64]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 032 064 064 
 		nodeNeighbourTbl[1][0-6]: 033 003 009 000 064 064 
@@ -207,9 +212,9 @@
 		nodeNeighbourTbl[62][0-6]: 030 064 064 064 060 054 
 		nodeNeighbourTbl[63][0-6]: 064 064 064 031 061 055 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811afdc
+	nodeElementCountTbl (ptr): 0x80616c0
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811b0e4
+	nodeElementTbl (ptr): 0x80617d0
 	nodeElementTbl[0-64]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 009 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 010 
@@ -275,27 +280,27 @@
 		nodeElementTbl[61][0-8]: 024 027 026 027 027 027 027 027 
 		nodeElementTbl[62][0-8]: 027 025 027 027 027 027 027 027 
 		nodeElementTbl[63][0-8]: 026 027 027 027 027 027 027 027 
-	element (ptr): 0x811b9ec
+	element (ptr): 0x80620e0
 	elementLocalCount: 9
 	elementDomainCount: 27
 	elementShadowCount: 18
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x811bacc
+	elementL2G (ptr): 0x80600a0
 	elementL2G[0-9]:   001 004 007 010 013 016 019 022 025 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x811bacc
+	elementD2G (ptr): 0x80600a0
 	elementD2G[0-27]:   001 004 007 010 013 016 019 022 025 000 002 003 005 006 008 009 011 012 014 015 017 018 020 021 023 024 026 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811bb44
+	elementG2L (ptr): 0x80621c8
 	elementG2L[0-27]:   027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 027 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811af64
+	elementG2D (ptr): 0x8060ae0
 	elementG2D[0-27]:   009 000 010 011 001 012 013 002 014 015 003 016 017 004 018 019 005 020 021 006 022 023 007 024 025 008 026 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811bbbc
+	elementNeighbourCountTbl (ptr): 0x8062240
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811bc34
+	elementNeighbourTbl (ptr): 0x80622b8
 	elementNeighbourTbl[0-27]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 009 010 011 001 012 027 027 027 015 003 016 017 004 018 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 009 000 010 011 012 013 002 014 015 003 016 017 004 018 019 005 020 
@@ -325,9 +330,9 @@
 		elementNeighbourTbl[25][0-26]: 027 017 004 027 019 005 027 027 027 027 023 007 027 008 027 027 027 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[26][0-26]: 004 018 027 005 020 027 027 027 027 007 024 027 008 027 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811c7a4
+	elementNodeCountTbl (ptr): 0x8062e28
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811c81c
+	elementNodeTbl (ptr): 0x8062ea0
 	elementNodeTbl[0-27]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 
@@ -357,14 +362,14 @@
 		elementNodeTbl[25][0-8]: 052 020 022 054 060 028 030 062 
 		elementNodeTbl[26][0-8]: 021 053 055 023 029 061 063 031 
 	procNbrCnt: 2
-	procNbrTbl (ptr): 0x8118d0c
+	procNbrTbl (ptr): 0x8060288
 		procNbrTbl[0]: 0
 		procNbrTbl[1]: 2
-	elementShadowInfo->procShadowedCnt (ptr): 0x8118d1c
+	elementShadowInfo->procShadowedCnt (ptr): 0x80601a8
 		elementShadowInfo->procShadowedCnt[0]: 9
 		elementShadowInfo->procShadowedCnt[1]: 9
-	elementShadowInfo->procShadowedTbl (ptr): 0x811900c
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8118acc
+	elementShadowInfo->procShadowedTbl (ptr): 0x8060b58
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x80632c8
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
 			elementShadowInfo->procShadowedTbl[0][2]: 2
@@ -374,7 +379,7 @@
 			elementShadowInfo->procShadowedTbl[0][6]: 6
 			elementShadowInfo->procShadowedTbl[0][7]: 7
 			elementShadowInfo->procShadowedTbl[0][8]: 8
-		elementShadowInfo->procShadowedTbl[1] (ptr): 0x811cd74
+		elementShadowInfo->procShadowedTbl[1] (ptr): 0x805cfe0
 			elementShadowInfo->procShadowedTbl[1][0]: 0
 			elementShadowInfo->procShadowedTbl[1][1]: 1
 			elementShadowInfo->procShadowedTbl[1][2]: 2
@@ -384,11 +389,11 @@
 			elementShadowInfo->procShadowedTbl[1][6]: 6
 			elementShadowInfo->procShadowedTbl[1][7]: 7
 			elementShadowInfo->procShadowedTbl[1][8]: 8
-	elementShadowInfo->procShadowCnt (ptr): 0x8118214
+	elementShadowInfo->procShadowCnt (ptr): 0x8063348
 		elementShadowInfo->procShadowCnt[0]: 9
 		elementShadowInfo->procShadowCnt[1]: 9
-	elementShadowInfo->procShadowTbl (ptr): 0x811cda4
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x811cdb4
+	elementShadowInfo->procShadowTbl (ptr): 0x8063360
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x80633a0
 			elementShadowInfo->procShadowTbl[0][0]: 9
 			elementShadowInfo->procShadowTbl[0][1]: 11
 			elementShadowInfo->procShadowTbl[0][2]: 13
@@ -398,7 +403,7 @@
 			elementShadowInfo->procShadowTbl[0][6]: 21
 			elementShadowInfo->procShadowTbl[0][7]: 23
 			elementShadowInfo->procShadowTbl[0][8]: 25
-		elementShadowInfo->procShadowTbl[1] (ptr): 0x811cde4
+		elementShadowInfo->procShadowTbl[1] (ptr): 0x80633d0
 			elementShadowInfo->procShadowTbl[1][0]: 10
 			elementShadowInfo->procShadowTbl[1][1]: 12
 			elementShadowInfo->procShadowTbl[1][2]: 14
@@ -408,11 +413,11 @@
 			elementShadowInfo->procShadowTbl[1][6]: 22
 			elementShadowInfo->procShadowTbl[1][7]: 24
 			elementShadowInfo->procShadowTbl[1][8]: 26
-	nodeShadowInfo->procShadowedCnt (ptr): 0x811ce9c
+	nodeShadowInfo->procShadowedCnt (ptr): 0x8063488
 		nodeShadowInfo->procShadowedCnt[0]: 16
 		nodeShadowInfo->procShadowedCnt[1]: 16
-	nodeShadowInfo->procShadowedTbl (ptr): 0x811ceac
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811cebc
+	nodeShadowInfo->procShadowedTbl (ptr): 0x80634a0
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x8063500
 			nodeShadowInfo->procShadowedTbl[0][0]: 1
 			nodeShadowInfo->procShadowedTbl[0][1]: 3
 			nodeShadowInfo->procShadowedTbl[0][2]: 5
@@ -429,7 +434,7 @@
 			nodeShadowInfo->procShadowedTbl[0][13]: 27
 			nodeShadowInfo->procShadowedTbl[0][14]: 29
 			nodeShadowInfo->procShadowedTbl[0][15]: 31
-		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x811cf4c
+		nodeShadowInfo->procShadowedTbl[1] (ptr): 0x8063550
 			nodeShadowInfo->procShadowedTbl[1][0]: 0
 			nodeShadowInfo->procShadowedTbl[1][1]: 2
 			nodeShadowInfo->procShadowedTbl[1][2]: 4
@@ -446,11 +451,11 @@
 			nodeShadowInfo->procShadowedTbl[1][13]: 26
 			nodeShadowInfo->procShadowedTbl[1][14]: 28
 			nodeShadowInfo->procShadowedTbl[1][15]: 30
-	nodeShadowInfo->procShadowCnt (ptr): 0x811cfec
+	nodeShadowInfo->procShadowCnt (ptr): 0x8063640
 		nodeShadowInfo->procShadowCnt[0]: 16
 		nodeShadowInfo->procShadowCnt[1]: 16
-	nodeShadowInfo->procShadowTbl (ptr): 0x811cffc
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811cf04
+	nodeShadowInfo->procShadowTbl (ptr): 0x8063658
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8063670
 			nodeShadowInfo->procShadowTbl[0][0]: 32
 			nodeShadowInfo->procShadowTbl[0][1]: 34
 			nodeShadowInfo->procShadowTbl[0][2]: 36
@@ -467,7 +472,7 @@
 			nodeShadowInfo->procShadowTbl[0][13]: 58
 			nodeShadowInfo->procShadowTbl[0][14]: 60
 			nodeShadowInfo->procShadowTbl[0][15]: 62
-		nodeShadowInfo->procShadowTbl[1] (ptr): 0x811d054
+		nodeShadowInfo->procShadowTbl[1] (ptr): 0x80636c0
 			nodeShadowInfo->procShadowTbl[1][0]: 33
 			nodeShadowInfo->procShadowTbl[1][1]: 35
 			nodeShadowInfo->procShadowTbl[1][2]: 37

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/tests/testMeshSync.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x8119354)
-Component (ptr): 0x8119354
-Stg_Object (ptr): 0x8119354
-	Stg_Class (ptr): 0x8119354
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f470)
+Stg_Component (ptr): 0x805f470
+Stg_Object (ptr): 0x805f470
+	Stg_Class (ptr): 0x805f470
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057084
-		_print (func ptr): 0x8057915
-		_copy (func ptr): 0x8058b01
+		_delete (func ptr): 0xb7f4f1dd
+		_print (func ptr): 0xb7f4fa6a
+		_copy (func ptr): 0xb7f50c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80565b4
-	_construct (func ptr): 0x805707a
-	_build (func ptr): 0x80591bd
-	_initialise (func ptr): 0x805a0e9
-	_execute (func ptr): 0x805a112
-	_destroy (func ptr): 0x805707f
+	_defaultConstructor (func ptr): 0xb7f4e51c
+	_construct (func ptr): 0xb7f4f00e
+	_build (func ptr): 0xb7f51322
+	_initialise (func ptr): 0xb7f52214
+	_execute (func ptr): 0xb7f52219
+	_destroy (func ptr): 0xb7f4f1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x8117a04
-	layout (ptr): 0x811925c
-Extension (ptr):0x81194dc
-Stg_Object (ptr): 0x81194dc
-	Stg_Class (ptr): 0x81194dc
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805f128
+Extension (ptr):0x805f840
+Stg_Object (ptr): 0x805f840
+	Stg_Class (ptr): 0x805f840
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7ec7018
+		_print (func ptr): 0xb7ec7066
+		_copy (func ptr): 0xb7ec7200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811952c
-Stg_ObjectList (ptr):0x811952c
-	Stg_Class (ptr): 0x811952c
+	extInfos (ptr): 0x805f8b8
+Stg_ObjectList (ptr):0x805f8b8
+	Stg_Class (ptr): 0x805f8b8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7ef8f3e
+		_print (func ptr): 0xb7ef8f75
+		_copy (func ptr): 0xb7ef9217
+	_append(func ptr): 0xb7ef9e7b
+	_prepend(func ptr): 0xb7ef9f41
+	_replaceAll(func ptr): 0xb7efa005
+	_replace(func ptr): 0xb7efa0be
+	_insertBefore(func ptr): 0xb7efa25b
+	_insertAfter(func ptr): 0xb7efa416
+	_remove(func ptr): 0xb7efa5d3
+	_getIndex(func ptr): 0xb7efa679
+	_get(func ptr): 0xb7efa727
+	_allocMoreMemory(func ptr): 0xb7efa8fa
+	_insertAtIndex(func ptr): 0xb7efa980
+	_removeByIndex(func ptr): 0xb7efa9fe
+	_deleteAllObjects(func ptr): 0xb7efa87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x81195bc
-Stg_Object (ptr): 0x81195bc
-	Stg_Class (ptr): 0x81195bc
-		sizeOfSelf: 72
+Extension (ptr):0x805f928
+Stg_Object (ptr): 0x805f928
+	Stg_Class (ptr): 0x805f928
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806aa00
-		_print (func ptr): 0x806aa4e
-		_copy (func ptr): 0x806abe1
+		_delete (func ptr): 0xb7ec7018
+		_print (func ptr): 0xb7ec7066
+		_copy (func ptr): 0xb7ec7200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811960c
-Stg_ObjectList (ptr):0x811960c
-	Stg_Class (ptr): 0x811960c
+	extInfos (ptr): 0x805f9a0
+Stg_ObjectList (ptr):0x805f9a0
+	Stg_Class (ptr): 0x805f9a0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807b5da
-		_print (func ptr): 0x807b611
-		_copy (func ptr): 0x807b8b3
-	_append(func ptr): 0x807c4a5
-	_prepend(func ptr): 0x807c56b
-	_replaceAll(func ptr): 0x807c62f
-	_replace(func ptr): 0x807c6ea
-	_insertBefore(func ptr): 0x807c88b
-	_insertAfter(func ptr): 0x807ca4a
-	_remove(func ptr): 0x807cc0b
-	_getIndex(func ptr): 0x807ccb1
-	_get(func ptr): 0x807cd63
-	_allocMoreMemory(func ptr): 0x807cf3b
-	_insertAtIndex(func ptr): 0x807cfc1
-	_removeByIndex(func ptr): 0x807d03f
-	_deleteAllObjects(func ptr): 0x807ceba
+		_delete (func ptr): 0xb7ef8f3e
+		_print (func ptr): 0xb7ef8f75
+		_copy (func ptr): 0xb7ef9217
+	_append(func ptr): 0xb7ef9e7b
+	_prepend(func ptr): 0xb7ef9f41
+	_replaceAll(func ptr): 0xb7efa005
+	_replace(func ptr): 0xb7efa0be
+	_insertBefore(func ptr): 0xb7efa25b
+	_insertAfter(func ptr): 0xb7efa416
+	_remove(func ptr): 0xb7efa5d3
+	_getIndex(func ptr): 0xb7efa679
+	_get(func ptr): 0xb7efa727
+	_allocMoreMemory(func ptr): 0xb7efa8fa
+	_insertAtIndex(func ptr): 0xb7efa980
+	_removeByIndex(func ptr): 0xb7efa9fe
+	_deleteAllObjects(func ptr): 0xb7efa87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x8119ad4
+	node (ptr): 0x8060170
 	nodeLocalCount: 32
 	nodeDomainCount: 48
 	nodeShadowCount: 16
 	nodeGlobalCount: 64
-	nodeCoord (ptr): 0x8119c5c
+	nodeCoord (ptr): 0x8060300
 	nodeCoord[0-48]:   (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), (2.00,2.00,2.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811a0e4
+	nodeL2G (ptr): 0x80607e0
 	nodeL2G[0-32]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811a0e4
+	nodeD2G (ptr): 0x80607e0
 	nodeD2G[0-48]:   002 003 006 007 010 011 014 015 018 019 022 023 026 027 030 031 034 035 038 039 042 043 046 047 050 051 054 055 058 059 062 063 001 005 009 013 017 021 025 029 033 037 041 045 049 053 057 061 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x811a2b4
+	nodeG2L (ptr): 0x80609c0
 	nodeG2L[0-64]:   064 064 000 001 064 064 002 003 064 064 004 005 064 064 006 007 064 064 008 009 064 064 010 011 064 064 012 013 064 064 014 015 064 064 016 017 064 064 018 019 064 064 020 021 064 064 022 023 064 064 024 025 064 064 026 027 064 064 028 029 064 064 030 031 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x811a1ac
+	nodeG2D (ptr): 0x80608b0
 	nodeG2D[0-64]:   064 032 000 001 064 033 002 003 064 034 004 005 064 035 006 007 064 036 008 009 064 037 010 011 064 038 012 013 064 039 014 015 064 040 016 017 064 041 018 019 064 042 020 021 064 043 022 023 064 044 024 025 064 045 026 027 064 046 028 029 064 047 030 031 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x811a3bc
+	nodeNeighbourCountTbl (ptr): 0x8060ad0
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x811a484
+	nodeNeighbourTbl (ptr): 0x8060ba0
 	nodeNeighbourTbl[0-48]:
 		nodeNeighbourTbl[0][0-6]: 001 002 008 032 064 064 
 		nodeNeighbourTbl[1][0-6]: 064 003 009 000 064 064 
@@ -191,9 +196,9 @@
 		nodeNeighbourTbl[46][0-6]: 028 047 064 064 045 042 
 		nodeNeighbourTbl[47][0-6]: 030 064 064 064 046 043 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x811aa44
+	nodeElementCountTbl (ptr): 0x80610f0
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x811ab0c
+	nodeElementTbl (ptr): 0x80611c0
 	nodeElementTbl[0-48]:
 		nodeElementTbl[0][0-8]: 027 027 027 027 027 027 009 000 
 		nodeElementTbl[1][0-8]: 027 027 027 027 027 027 000 027 
@@ -243,27 +248,27 @@
 		nodeElementTbl[45][0-8]: 027 015 027 016 027 027 027 027 
 		nodeElementTbl[46][0-8]: 027 016 027 017 027 027 027 027 
 		nodeElementTbl[47][0-8]: 027 017 027 027 027 027 027 027 
-	element (ptr): 0x811b1d4
+	element (ptr): 0x8061890
 	elementLocalCount: 9
 	elementDomainCount: 18
 	elementShadowCount: 9
 	elementGlobalCount: 27
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x811a9cc
+	elementL2G (ptr): 0x805ff50
 	elementL2G[0-9]:   002 005 008 011 014 017 020 023 026 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x811a9cc
+	elementD2G (ptr): 0x805ff50
 	elementD2G[0-18]:   002 005 008 011 014 017 020 023 026 001 004 007 010 013 016 019 022 025 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x811b2e4
+	elementG2L (ptr): 0x80619a8
 	elementG2L[0-27]:   027 027 000 027 027 001 027 027 002 027 027 003 027 027 004 027 027 005 027 027 006 027 027 007 027 027 008 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x811b26c
+	elementG2D (ptr): 0x8061930
 	elementG2D[0-27]:   027 009 000 027 010 001 027 011 002 027 012 003 027 013 004 027 014 005 027 015 006 027 016 007 027 017 008 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x811b35c
+	elementNeighbourCountTbl (ptr): 0x8061a20
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x811b3ac
+	elementNeighbourTbl (ptr): 0x8061a78
 	elementNeighbourTbl[0-18]:
 		elementNeighbourTbl[0][0-26]: 027 027 027 027 027 027 027 027 027 027 027 027 009 027 010 001 027 027 027 027 012 003 027 013 004 027 
 		elementNeighbourTbl[1][0-26]: 027 027 027 027 027 027 027 027 027 009 000 027 010 027 011 002 027 012 003 027 013 004 027 014 005 027 
@@ -284,9 +289,9 @@
 		elementNeighbourTbl[16][0-26]: 027 012 003 027 013 004 027 014 005 027 015 006 027 007 027 017 008 027 027 027 027 027 027 027 027 027 
 		elementNeighbourTbl[17][0-26]: 027 013 004 027 014 005 027 027 027 027 016 007 027 008 027 027 027 027 027 027 027 027 027 027 027 027 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x811bb4c
+	elementNodeCountTbl (ptr): 0x8062220
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x811bb9c
+	elementNodeTbl (ptr): 0x8062278
 	elementNodeTbl[0-18]:
 		elementNodeTbl[0][0-8]: 000 001 003 002 008 009 011 010 
 		elementNodeTbl[1][0-8]: 002 003 005 004 010 011 013 012 
@@ -307,12 +312,12 @@
 		elementNodeTbl[16][0-8]: 041 018 020 042 045 026 028 046 
 		elementNodeTbl[17][0-8]: 042 020 022 043 046 028 030 047 
 	procNbrCnt: 1
-	procNbrTbl (ptr): 0x811aa2c
+	procNbrTbl (ptr): 0x8060058
 		procNbrTbl[0]: 1
-	elementShadowInfo->procShadowedCnt (ptr): 0x8118cfc
+	elementShadowInfo->procShadowedCnt (ptr): 0x805ffd0
 		elementShadowInfo->procShadowedCnt[0]: 9
-	elementShadowInfo->procShadowedTbl (ptr): 0x8118d0c
-		elementShadowInfo->procShadowedTbl[0] (ptr): 0x8118b0c
+	elementShadowInfo->procShadowedTbl (ptr): 0x8060138
+		elementShadowInfo->procShadowedTbl[0] (ptr): 0x805cfe0
 			elementShadowInfo->procShadowedTbl[0][0]: 0
 			elementShadowInfo->procShadowedTbl[0][1]: 1
 			elementShadowInfo->procShadowedTbl[0][2]: 2
@@ -322,10 +327,10 @@
 			elementShadowInfo->procShadowedTbl[0][6]: 6
 			elementShadowInfo->procShadowedTbl[0][7]: 7
 			elementShadowInfo->procShadowedTbl[0][8]: 8
-	elementShadowInfo->procShadowCnt (ptr): 0x8118acc
+	elementShadowInfo->procShadowCnt (ptr): 0x805aa08
 		elementShadowInfo->procShadowCnt[0]: 9
-	elementShadowInfo->procShadowTbl (ptr): 0x8118adc
-		elementShadowInfo->procShadowTbl[0] (ptr): 0x8119214
+	elementShadowInfo->procShadowTbl (ptr): 0x805aa18
+		elementShadowInfo->procShadowTbl[0] (ptr): 0x8060790
 			elementShadowInfo->procShadowTbl[0][0]: 9
 			elementShadowInfo->procShadowTbl[0][1]: 10
 			elementShadowInfo->procShadowTbl[0][2]: 11
@@ -335,10 +340,10 @@
 			elementShadowInfo->procShadowTbl[0][6]: 15
 			elementShadowInfo->procShadowTbl[0][7]: 16
 			elementShadowInfo->procShadowTbl[0][8]: 17
-	nodeShadowInfo->procShadowedCnt (ptr): 0x8118aec
+	nodeShadowInfo->procShadowedCnt (ptr): 0x805d010
 		nodeShadowInfo->procShadowedCnt[0]: 16
-	nodeShadowInfo->procShadowedTbl (ptr): 0x8118204
-		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x811bfac
+	nodeShadowInfo->procShadowedTbl (ptr): 0x80607c0
+		nodeShadowInfo->procShadowedTbl[0] (ptr): 0x8062580
 			nodeShadowInfo->procShadowedTbl[0][0]: 1
 			nodeShadowInfo->procShadowedTbl[0][1]: 3
 			nodeShadowInfo->procShadowedTbl[0][2]: 5
@@ -355,10 +360,10 @@
 			nodeShadowInfo->procShadowedTbl[0][13]: 27
 			nodeShadowInfo->procShadowedTbl[0][14]: 29
 			nodeShadowInfo->procShadowedTbl[0][15]: 31
-	nodeShadowInfo->procShadowCnt (ptr): 0x811c06c
+	nodeShadowInfo->procShadowCnt (ptr): 0x8062650
 		nodeShadowInfo->procShadowCnt[0]: 16
-	nodeShadowInfo->procShadowTbl (ptr): 0x811bff4
-		nodeShadowInfo->procShadowTbl[0] (ptr): 0x811c07c
+	nodeShadowInfo->procShadowTbl (ptr): 0x80625d0
+		nodeShadowInfo->procShadowTbl[0] (ptr): 0x8062660
 			nodeShadowInfo->procShadowTbl[0][0]: 32
 			nodeShadowInfo->procShadowTbl[0][1]: 33
 			nodeShadowInfo->procShadowTbl[0][2]: 34

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,292 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org) )
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: BelowCosinePlane.c 3523 2006-04-11 06:42:09Z AlanLo $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <mpi.h>
+#include <Base/Base.h>
+#include <Discretisation/Geometry/Geometry.h>
+
+#include "types.h"
+#include "ShapeClass.h"
+#include "BelowPlane.h"
+#include "BelowCosinePlane.h"
+
+#include <assert.h>
+#include <string.h>
+#include <math.h>
+
+
+/* Textual name of this class */
+const Type BelowCosinePlane_Type = "BelowCosinePlane";
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
+BelowCosinePlane* BelowCosinePlane_New(
+		Name                                  name,
+		Dimension_Index                       dim,
+		XYZ                                   centre, 
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offset,
+		XYZ                                   width,
+		double                                delta,
+		double                                preiod,
+		double                                phase )
+{
+	BelowCosinePlane* self = (BelowCosinePlane*) _BelowCosinePlane_DefaultNew( name );
+
+	BelowCosinePlane_InitAll( 
+		self, 
+		dim,
+		centre,
+		alpha,
+		beta,
+		gamma,
+		offset,
+		width,
+		delta,
+		preiod,
+		phase ) ;
+	return self;
+}
+
+BelowCosinePlane* _BelowCosinePlane_New(
+		SizeT                                 _sizeOfSelf, 
+		Type                                  type,
+		Stg_Class_DeleteFunction*             _delete,
+		Stg_Class_PrintFunction*              _print,
+		Stg_Class_CopyFunction*               _copy, 
+		Stg_Component_DefaultConstructorFunction* _defaultConstructor,
+		Stg_Component_ConstructFunction*      _construct,
+		Stg_Component_BuildFunction*          _build,
+		Stg_Component_InitialiseFunction*     _initialise,
+		Stg_Component_ExecuteFunction*        _execute,
+		Stg_Component_DestroyFunction*        _destroy,		
+		Stg_Shape_IsCoordInsideFunction*      _isCoordInside,
+		Stg_Shape_CalculateVolumeFunction*    _calculateVolume,
+		Name                                  name )
+{
+	BelowCosinePlane* self;
+	
+	/* Allocate memory */
+	assert( _sizeOfSelf >= sizeof(BelowCosinePlane) );
+	self = (BelowCosinePlane*)_Stg_Shape_New( 
+			_sizeOfSelf,
+			type,
+			_delete,
+			_print,
+			_copy,
+			_defaultConstructor,
+			_construct,
+			_build,
+			_initialise,
+			_execute,
+			_destroy,		
+			_isCoordInside,
+			_calculateVolume,
+			name );
+	
+	/* General info */
+
+	/* Virtual Info */
+	self->_isCoordInside = _isCoordInside;
+	
+	return self;
+}
+
+void _BelowCosinePlane_Init( void* belowPlane, double offset, XYZ width, double delta, double preiod, double phase ) {
+	BelowCosinePlane* self = (BelowCosinePlane*)belowPlane;
+
+	_BelowPlane_Init( self, offset, width );	
+	self->delta = delta;
+	self->preiod = preiod;
+	self->radPreiod = 2 * M_PI * preiod;
+	self->phase = phase;
+}
+
+
+void BelowCosinePlane_InitAll( 
+		void*                                 belowPlane, 
+		Dimension_Index                       dim, 
+		Coord                                 centre,
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offset, 
+		XYZ                                   width,
+		double                                delta,
+		double                                preiod,
+		double                                phase )
+{
+	BelowCosinePlane* self = (BelowCosinePlane*)belowPlane;
+
+	BelowPlane_InitAll( self, dim, centre, alpha, beta, gamma, offset, width );
+	_BelowCosinePlane_Init( self, offset, width, delta, preiod, phase );
+}
+	
+
+/*------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
+
+void _BelowCosinePlane_Delete( void* belowPlane ) {
+	BelowCosinePlane* self = (BelowCosinePlane*)belowPlane;
+	
+	/* Delete parent */
+	_Stg_Shape_Delete( self );
+}
+
+
+void _BelowCosinePlane_Print( void* belowPlane, Stream* stream ) {
+	BelowCosinePlane* self = (BelowCosinePlane*)belowPlane;
+	
+	/* Print parent */
+	_Stg_Shape_Print( self, stream );
+}
+
+
+
+void* _BelowCosinePlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
+	BelowCosinePlane*	newBelowCosinePlane;
+	
+	newBelowCosinePlane = (BelowCosinePlane*)_BelowPlane_Copy( self, dest, deep, nameExt, ptrMap );
+
+	newBelowCosinePlane->delta = self->delta;
+	newBelowCosinePlane->preiod = self->preiod;
+	newBelowCosinePlane->phase = self->phase;
+	
+	return (void*)newBelowCosinePlane;
+}
+
+void* _BelowCosinePlane_DefaultNew( Name name ) {
+	return (void*) _BelowCosinePlane_New(
+			sizeof(BelowCosinePlane),
+			BelowCosinePlane_Type,
+			_BelowCosinePlane_Delete,
+			_BelowCosinePlane_Print,
+			_BelowCosinePlane_Copy,
+			_BelowCosinePlane_DefaultNew,
+			_BelowCosinePlane_Construct,
+			_BelowCosinePlane_Build,
+			_BelowCosinePlane_Initialise,
+			_BelowCosinePlane_Execute,
+			_BelowCosinePlane_Destroy,
+			_BelowCosinePlane_IsCoordInside,
+			_BelowCosinePlane_CalculateVolume,
+			name );
+}
+
+
+void _BelowCosinePlane_Construct( void* belowPlane, Stg_ComponentFactory* cf ) {
+	BelowCosinePlane*	             self          = (BelowCosinePlane*) belowPlane;
+	double                       delta;
+	double                       preiod;
+	double                       phase;
+
+	_BelowPlane_Construct( self, cf );
+
+	delta = Stg_ComponentFactory_GetDouble( cf, self->name, "delta", 0.5 );
+	preiod = Stg_ComponentFactory_GetDouble( cf, self->name, "preiod", 1.0 );
+	phase = Stg_ComponentFactory_GetDouble( cf, self->name, "phase", 0.0 );
+
+	_BelowCosinePlane_Init( self, self->offset, self->width, delta, preiod, phase );
+}
+
+void _BelowCosinePlane_Build( void* belowPlane, void* data ) {
+	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
+
+	_Stg_Shape_Build( self, data );
+}
+void _BelowCosinePlane_Initialise( void* belowPlane, void* data ) {
+	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
+	
+	_Stg_Shape_Initialise( self, data );
+}
+void _BelowCosinePlane_Execute( void* belowPlane, void* data ) {
+	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
+	
+	_Stg_Shape_Execute( self, data );
+}
+void _BelowCosinePlane_Destroy( void* belowPlane, void* data ) {
+	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
+	
+	_Stg_Shape_Destroy( self, data );
+}
+
+/*--------------------------------------------------------------------------------------------------------------------------
+** Public Functions
+*/
+	
+/*---------------------------------------------------------------------------------------------------------------------
+** Private Member functions
+*/
+
+Bool _BelowCosinePlane_IsCoordInside( void* belowPlane, Coord coord ) {
+	BelowCosinePlane*            self       = (BelowCosinePlane*)belowPlane;
+	Coord                        newCoord;
+
+	double                       x, y;
+
+	/* Transform coordinate into canonical reference frame */
+	Stg_Shape_TransformCoord( self, coord, newCoord );
+
+	x = newCoord[ I_AXIS ];
+
+	y = self->offset + self->delta * cos( self->radPreiod * ( x + self->phase ) );
+
+	if ( fabs( newCoord[ J_AXIS ] < y) ) {
+		return True;
+	}
+	return False;
+}
+
+double _BelowCosinePlane_CalculateVolume( void* belowPlane ) {
+	BelowCosinePlane* self = (BelowCosinePlane*)belowPlane;
+	double volume;
+
+	double numRepeat;
+
+	if ( self->dim == 2 ) {
+		/* This does not work properly if phase is non-zero */
+		numRepeat = self->width[ I_AXIS ] / ( self->preiod * 4.0 );
+		volume = (self->offset * self->width[ I_AXIS ]) + 
+			 numRepeat * self->delta * 
+			 ( sin( self->radPreiod * ( self->width[ I_AXIS ] + self->phase ) ) - sin( self->radPreiod * ( self->phase ) ) );
+	}
+	else {
+		/* does not work in 3D right now...work out the integral later */
+		volume = 1.0;
+	}
+	
+	return volume;
+}
+

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,121 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**
+** Comments:
+**
+** $Id: BelowCosinePlane.h 3523 2006-04-11 06:42:09Z AlanLo $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __StGermain_Discretisation_Shape_BelowCosinePlaneClass_h__
+#define __StGermain_Discretisation_Shape_BelowCosinePlaneClass_h__
+
+	/* Textual name of this class */
+	extern const Type BelowCosinePlane_Type;
+
+	/* BelowCosinePlane information */
+	#define __BelowCosinePlane \
+		/* General info */ \
+		__BelowPlane \
+		/* Virtual Info */\
+		\
+		double                  delta;  \
+		double                  preiod; \
+		double                  radPreiod; \
+		double                  phase;
+
+	struct BelowCosinePlane { __BelowCosinePlane };
+	
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Constructors
+	*/
+	BelowCosinePlane* _BelowCosinePlane_New(
+		SizeT                                 _sizeOfSelf, 
+		Type                                  type,
+		Stg_Class_DeleteFunction*             _delete,
+		Stg_Class_PrintFunction*              _print,
+		Stg_Class_CopyFunction*               _copy, 
+		Stg_Component_DefaultConstructorFunction* _defaultConstructor,
+		Stg_Component_ConstructFunction*      _construct,
+		Stg_Component_BuildFunction*          _build,
+		Stg_Component_InitialiseFunction*     _initialise,
+		Stg_Component_ExecuteFunction*        _execute,
+		Stg_Component_DestroyFunction*        _destroy,		
+		Stg_Shape_IsCoordInsideFunction*      _isCoordInside,
+		Stg_Shape_CalculateVolumeFunction*    _calculateVolume,
+		Name                                  name );
+	
+	void _BelowCosinePlane_Init( void* belowPlane, double offset, XYZ width, double delta, double preiod, double phase ) ;
+	void BelowCosinePlane_InitAll( 
+		void*                                 belowPlane, 
+		Dimension_Index                       dim, 
+		Coord                                 centre,
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offset,
+		XYZ                                   width,
+		double                                delta,
+		double                                preiod,
+		double                                phase );
+
+	/* Stg_Class_Delete BelowCosinePlane implementation */
+	void _BelowCosinePlane_Delete( void* belowPlane );
+	void _BelowCosinePlane_Print( void* belowPlane, Stream* stream );
+	#define BelowCosinePlane_Copy( self ) \
+		(BelowCosinePlane*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define BelowCosinePlane_DeepCopy( self ) \
+		(BelowCosinePlane*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	void* _BelowCosinePlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	
+	void* _BelowCosinePlane_DefaultNew( Name name ) ;
+	void _BelowCosinePlane_Construct( void* shape, Stg_ComponentFactory* cf ) ;
+	void _BelowCosinePlane_Build( void* belowPlane, void* data ) ;
+	void _BelowCosinePlane_Initialise( void* belowPlane, void* data ) ;
+	void _BelowCosinePlane_Execute( void* belowPlane, void* data );
+	void _BelowCosinePlane_Destroy( void* belowPlane, void* data ) ;
+	
+	Bool _BelowCosinePlane_IsCoordInside( void* belowPlane, Coord coord ) ;
+
+	double _BelowCosinePlane_CalculateVolume( void* belowPlane );
+
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Public member functions
+	*/
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Private Member functions
+	*/
+	
+	
+#endif 

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.meta
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.meta	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowCosinePlane.meta	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+<param name="Name">BelowCosinePlane</param>
+<param name="Organisation">VPAC</param>
+<param name="Project">StGermain</param>
+<param name="Location">./StGermain/Discretisation/Shape/src/</param>
+<param name="Project Web">https://csd.vpac.org/twiki/bin/view/Stgermain/WebHome</param>
+<param name="Copyright">StGermain Framework. Copyright (C) 2003-2005 VPAC.</param>
+<param name="License">The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html</param>
+<param name="Parent">Stg_Shape</param>
+<param name="Description">...</param>
+
+<!--Now the interesting stuff-->
+
+
+<list name="Params">
+	<struct>
+		<param name="Name">offset</param>
+		<param name="Type">Double</param>
+		<param name="Default">0.5</param>
+		<param name="Description">...</param>
+	</struct>
+	<struct>
+		<param name="Name">delta</param>
+		<param name="Type">Double</param>
+		<param name="Default">0.5</param>
+		<param name="Description">...</param>
+	</struct>
+	<struct>
+		<param name="Name">preiod</param>
+		<param name="Type">Double</param>
+		<param name="Default">1.0</param>
+		<param name="Description">...</param>
+	</struct>
+	<struct>
+		<param name="Name">phase</param>
+		<param name="Type">Double</param>
+		<param name="Default">0.0</param>
+		<param name="Description">...</param>
+	</struct>
+</list>
+
+<list name="Dependencies">
+<!-- This component calls in another directory so the info above/below may not be complete-->
+
+</list>
+<!-- Add an exmaple XML if possible -->
+<param name="Example">...</param>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,276 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org) )
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: BelowPlane.c 3523 2006-04-11 06:42:09Z AlanLo $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <mpi.h>
+#include <Base/Base.h>
+#include <Discretisation/Geometry/Geometry.h>
+
+#include "types.h"
+#include "ShapeClass.h"
+#include "BelowPlane.h"
+
+#include <assert.h>
+#include <string.h>
+#include <math.h>
+
+
+/* Textual name of this class */
+const Type BelowPlane_Type = "BelowPlane";
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
+BelowPlane* BelowPlane_New(
+		Name                                  name,
+		Dimension_Index                       dim,
+		XYZ                                   centre, 
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offset,
+		XYZ                                   width )
+{
+	BelowPlane* self = (BelowPlane*) _BelowPlane_DefaultNew( name );
+
+	BelowPlane_InitAll( 
+		self, 
+		dim,
+		centre,
+		alpha,
+		beta,
+		gamma,
+		offset,
+		width ) ;
+	return self;
+}
+
+BelowPlane* _BelowPlane_New(
+		SizeT                                 _sizeOfSelf, 
+		Type                                  type,
+		Stg_Class_DeleteFunction*             _delete,
+		Stg_Class_PrintFunction*              _print,
+		Stg_Class_CopyFunction*               _copy, 
+		Stg_Component_DefaultConstructorFunction* _defaultConstructor,
+		Stg_Component_ConstructFunction*      _construct,
+		Stg_Component_BuildFunction*          _build,
+		Stg_Component_InitialiseFunction*     _initialise,
+		Stg_Component_ExecuteFunction*        _execute,
+		Stg_Component_DestroyFunction*        _destroy,		
+		Stg_Shape_IsCoordInsideFunction*      _isCoordInside,
+		Stg_Shape_CalculateVolumeFunction*    _calculateVolume,
+		Name                                  name )
+{
+	BelowPlane* self;
+	
+	/* Allocate memory */
+	assert( _sizeOfSelf >= sizeof(BelowPlane) );
+	self = (BelowPlane*)_Stg_Shape_New( 
+			_sizeOfSelf,
+			type,
+			_delete,
+			_print,
+			_copy,
+			_defaultConstructor,
+			_construct,
+			_build,
+			_initialise,
+			_execute,
+			_destroy,		
+			_isCoordInside,
+			_calculateVolume,
+			name );
+	
+	/* General info */
+
+	/* Virtual Info */
+	self->_isCoordInside = _isCoordInside;
+	
+	return self;
+}
+
+void _BelowPlane_Init( void* belowPlane, double offset, XYZ width ) {
+	BelowPlane* self = (BelowPlane*)belowPlane;
+
+	self->offset = offset;
+
+	memcpy( self->width, width, sizeof(XYZ) );
+}
+
+
+void BelowPlane_InitAll( 
+		void*                                 belowPlane, 
+		Dimension_Index                       dim, 
+		Coord                                 centre,
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offest,
+		XYZ                                   width )
+{
+	BelowPlane* self = (BelowPlane*)belowPlane;
+
+	Stg_Shape_InitAll( self, dim, centre, alpha, beta, gamma );
+	_BelowPlane_Init( self, offest, width );
+}
+	
+
+/*------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
+
+void _BelowPlane_Delete( void* belowPlane ) {
+	BelowPlane* self = (BelowPlane*)belowPlane;
+	
+	/* Delete parent */
+	_Stg_Shape_Delete( self );
+}
+
+
+void _BelowPlane_Print( void* belowPlane, Stream* stream ) {
+	BelowPlane* self = (BelowPlane*)belowPlane;
+	
+	/* Print parent */
+	_Stg_Shape_Print( self, stream );
+}
+
+
+
+void* _BelowPlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+	BelowPlane*	self = (BelowPlane*)belowPlane;
+	BelowPlane*	newBelowPlane;
+	
+	newBelowPlane = (BelowPlane*)_Stg_Shape_Copy( self, dest, deep, nameExt, ptrMap );
+
+	newBelowPlane->offset = self->offset;
+	
+	return (void*)newBelowPlane;
+}
+
+void* _BelowPlane_DefaultNew( Name name ) {
+	return (void*) _BelowPlane_New(
+			sizeof(BelowPlane),
+			BelowPlane_Type,
+			_BelowPlane_Delete,
+			_BelowPlane_Print,
+			_BelowPlane_Copy,
+			_BelowPlane_DefaultNew,
+			_BelowPlane_Construct,
+			_BelowPlane_Build,
+			_BelowPlane_Initialise,
+			_BelowPlane_Execute,
+			_BelowPlane_Destroy,
+			_BelowPlane_IsCoordInside,
+			_BelowPlane_CalculateVolume,
+			name );
+}
+
+
+void _BelowPlane_Construct( void* belowPlane, Stg_ComponentFactory* cf ) {
+	BelowPlane*	             self          = (BelowPlane*) belowPlane;
+	double                       offset;
+	XYZ                          minValue;
+	XYZ                          maxValue;
+	XYZ                          width;
+
+	_Stg_Shape_Construct( self, cf );
+
+	offset = Stg_ComponentFactory_GetDouble( cf, self->name, "offset", 0.5 );
+
+	minValue[ I_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "minX", 0.0 );
+	minValue[ J_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "minY", 0.0 );
+	minValue[ K_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "minZ", 0.0 );
+
+	maxValue[ I_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "maxX", 1.0 );
+	maxValue[ J_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "maxY", 1.0 );
+	maxValue[ K_AXIS ] = Stg_ComponentFactory_GetRootDictDouble( cf, "maxZ", 1.0 );
+
+	width[ I_AXIS ] = maxValue[ I_AXIS ] - minValue[ I_AXIS ] ;
+	width[ J_AXIS ] = maxValue[ J_AXIS ] - minValue[ J_AXIS ] ;
+	width[ K_AXIS ] = maxValue[ K_AXIS ] - minValue[ K_AXIS ] ;
+
+	_BelowPlane_Init( self, offset, width );
+}
+
+void _BelowPlane_Build( void* belowPlane, void* data ) {
+	BelowPlane*	self = (BelowPlane*)belowPlane;
+
+	_Stg_Shape_Build( self, data );
+}
+void _BelowPlane_Initialise( void* belowPlane, void* data ) {
+	BelowPlane*	self = (BelowPlane*)belowPlane;
+	
+	_Stg_Shape_Initialise( self, data );
+}
+void _BelowPlane_Execute( void* belowPlane, void* data ) {
+	BelowPlane*	self = (BelowPlane*)belowPlane;
+	
+	_Stg_Shape_Execute( self, data );
+}
+void _BelowPlane_Destroy( void* belowPlane, void* data ) {
+	BelowPlane*	self = (BelowPlane*)belowPlane;
+	
+	_Stg_Shape_Destroy( self, data );
+}
+
+/*--------------------------------------------------------------------------------------------------------------------------
+** Public Functions
+*/
+	
+/*---------------------------------------------------------------------------------------------------------------------
+** Private Member functions
+*/
+
+Bool _BelowPlane_IsCoordInside( void* belowPlane, Coord coord ) {
+	BelowPlane*            self       = (BelowPlane*)belowPlane;
+	Coord           newCoord;
+
+	/* Transform coordinate into canonical reference frame */
+	Stg_Shape_TransformCoord( self, coord, newCoord );
+
+	if ( fabs( newCoord[ J_AXIS ] < self->offset ) ) {
+		return True;
+	}
+	return False;
+}
+
+double _BelowPlane_CalculateVolume( void* belowPlane ) {
+	BelowPlane* self = (BelowPlane*)belowPlane;
+	double volume;
+
+	if ( self->dim == 2 ) {
+		volume = self->width[ I_AXIS ] * self->offset;
+	}
+	else {
+		volume = self->width[ I_AXIS ] * self->width[ K_AXIS ] * self->offset;
+	}
+
+	return volume;
+}
+

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,116 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+**
+** Authors:
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+*/
+/** \file
+**  Role:
+**
+** Assumptions:
+**
+** Comments:
+**
+** $Id: BelowPlane.h 3523 2006-04-11 06:42:09Z AlanLo $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __StGermain_Discretisation_Shape_BelowPlaneClass_h__
+#define __StGermain_Discretisation_Shape_BelowPlaneClass_h__
+
+	/* Textual name of this class */
+	extern const Type BelowPlane_Type;
+
+	/* BelowPlane information */
+	#define __BelowPlane \
+		/* General info */ \
+		__Stg_Shape \
+		/* Virtual Info */\
+		\
+		double                  offset; \
+		XYZ                     width; /* The dimesions of a cubiod mesh, for calc volume */
+
+	struct BelowPlane { __BelowPlane };
+	
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Constructors
+	*/
+	BelowPlane* _BelowPlane_New(
+		SizeT                                 _sizeOfSelf, 
+		Type                                  type,
+		Stg_Class_DeleteFunction*             _delete,
+		Stg_Class_PrintFunction*              _print,
+		Stg_Class_CopyFunction*               _copy, 
+		Stg_Component_DefaultConstructorFunction* _defaultConstructor,
+		Stg_Component_ConstructFunction*      _construct,
+		Stg_Component_BuildFunction*          _build,
+		Stg_Component_InitialiseFunction*     _initialise,
+		Stg_Component_ExecuteFunction*        _execute,
+		Stg_Component_DestroyFunction*        _destroy,		
+		Stg_Shape_IsCoordInsideFunction*      _isCoordInside,
+		Stg_Shape_CalculateVolumeFunction*    _calculateVolume,
+		Name                                  name );
+	
+	void _BelowPlane_Init( void* belowPlane, double offset, XYZ width ) ;
+	void BelowPlane_InitAll( 
+		void*                                 belowPlane, 
+		Dimension_Index                       dim, 
+		Coord                                 centre,
+		double                                alpha,
+		double                                beta,
+		double                                gamma,
+		double                                offset,
+		XYZ                                   width );
+
+	/* Stg_Class_Delete BelowPlane implementation */
+	void _BelowPlane_Delete( void* belowPlane );
+	void _BelowPlane_Print( void* belowPlane, Stream* stream );
+	#define BelowPlane_Copy( self ) \
+		(BelowPlane*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define BelowPlane_DeepCopy( self ) \
+		(BelowPlane*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	void* _BelowPlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	
+	void* _BelowPlane_DefaultNew( Name name ) ;
+	void _BelowPlane_Construct( void* shape, Stg_ComponentFactory* cf ) ;
+	void _BelowPlane_Build( void* belowPlane, void* data ) ;
+	void _BelowPlane_Initialise( void* belowPlane, void* data ) ;
+	void _BelowPlane_Execute( void* belowPlane, void* data );
+	void _BelowPlane_Destroy( void* belowPlane, void* data ) ;
+	
+	Bool _BelowPlane_IsCoordInside( void* belowPlane, Coord coord ) ;
+
+	double _BelowPlane_CalculateVolume( void* belowPlane );
+
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Public member functions
+	*/
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Private Member functions
+	*/
+	
+	
+#endif 

Added: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.meta
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.meta	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/BelowPlane.meta	2006-06-28 09:59:25 UTC (rev 3898)
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+<param name="Name">BelowPlane</param>
+<param name="Organisation">VPAC</param>
+<param name="Project">StGermain</param>
+<param name="Location">./StGermain/Discretisation/Shape/src/</param>
+<param name="Project Web">https://csd.vpac.org/twiki/bin/view/Stgermain/WebHome</param>
+<param name="Copyright">StGermain Framework. Copyright (C) 2003-2005 VPAC.</param>
+<param name="License">The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html</param>
+<param name="Parent">Stg_Shape</param>
+<param name="Description">...</param>
+
+<!--Now the interesting stuff-->
+
+
+<list name="Params">
+	<struct>
+		<param name="Name">offset</param>
+		<param name="Type">Double</param>
+		<param name="Default">0.5</param>
+		<param name="Description">...</param>
+	</struct>
+</list>
+
+<list name="Dependencies">
+<!-- This component calls in another directory so the info above/below may not be complete-->
+
+</list>
+<!-- Add an exmaple XML if possible -->
+<param name="Example">...</param>
+
+</StGermainData>

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Box.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Box.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Box.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -192,9 +192,9 @@
 	Dictionary*          dictionary    = Dictionary_GetDictionary( cf->componentDict, self->name );
 	XYZ                  width;
 	double               start, end;
-	Dictionary_Entry_Key startKey      = strdup("startX");
-	Dictionary_Entry_Key endKey        = strdup("endX");
-	Dictionary_Entry_Key widthKey      = strdup("widthX");
+	Dictionary_Entry_Key startKey      = StG_Strdup("startX");
+	Dictionary_Entry_Key endKey        = StG_Strdup("endX");
+	Dictionary_Entry_Key widthKey      = StG_Strdup("widthX");
 	char*                startCharPtr  = strchr( startKey, 'X' );
 	char*                endCharPtr    = strchr( endKey, 'X' );
 	char*                widthCharPtr  = strchr( widthKey, 'X' );
@@ -220,9 +220,9 @@
 			width[ dim_I ] = Stg_ComponentFactory_GetDouble( cf, self->name, widthKey, 0.0 );
 	}
 
-	free( startKey );
-	free( endKey );
-	free( widthKey );
+	Memory_Free( startKey );
+	Memory_Free( endKey );
+	Memory_Free( widthKey );
 
 	_Box_Init( self, width );
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Init.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Init.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -52,6 +52,9 @@
 	Stg_ComponentRegister_Add( componentRegister, Intersection_Type,   "0", _Intersection_DefaultNew );
 	Stg_ComponentRegister_Add( componentRegister, Cylinder_Type,       "0", _Cylinder_DefaultNew );
 	
+	Stg_ComponentRegister_Add( componentRegister, BelowPlane_Type,     "0", _BelowPlane_DefaultNew );
+	Stg_ComponentRegister_Add( componentRegister, BelowCosinePlane_Type,     "0", _BelowCosinePlane_DefaultNew );
+	
 	#ifdef HAVE_PYTHON
 		Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), PythonShape_Type, "0", _PythonShape_DefaultNew );
 		RegisterParent( PythonShape_Type, Stg_Shape_Type);
@@ -68,5 +71,8 @@
 	RegisterParent( Intersection_Type,              Stg_Shape_Type );
 	RegisterParent( Cylinder_Type,                  Stg_Shape_Type );
 	
+	RegisterParent( BelowPlane_Type,                  Stg_Shape_Type );
+	RegisterParent( BelowCosinePlane_Type,            BelowPlane_Type );
+	
 	return True;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Shape.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Shape.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/Shape.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -51,6 +51,8 @@
 	#include "Intersection.h"
 	#include "PythonShape.h"
 	#include "Cylinder.h"
+	#include "BelowPlane.h"
+	#include "BelowCosinePlane.h"
 	#include "Init.h"
 	#include "Finalise.h"
 	

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/types.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/types.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Shape/src/types.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -54,5 +54,8 @@
 	typedef struct ConvexHull                   ConvexHull;
 	typedef struct Cylinder                     Cylinder;
 
+	typedef struct BelowPlane                   BelowPlane;
+	typedef struct BelowCosinePlane             BelowCosinePlane;
+
 #endif
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/FileParticleLayout.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/FileParticleLayout.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/FileParticleLayout.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -206,17 +206,24 @@
 void _FileParticleLayout_SetInitialCounts( void* particleLayout, void* _swarm ) {
 	FileParticleLayout*        self         = (FileParticleLayout*)particleLayout;
 	Swarm*                     swarm        = (Swarm*)_swarm;
-	int                        bytesCount;
-	FILE*                      file;
-	div_t                      division;
 	Name                       filename     = self->filename;
+	MPI_File                   mpiFile;
+	int                        openResult;
+	MPI_Offset                 bytesCount;
 	SizeT                      particleSize = swarm->particleExtensionMgr->finalSize;
+	div_t                      division;
 
-	/* Find number of bytes in file */
-	file = fopen( filename, "rb" );
+	Journal_DPrintf( self->debug, "In %s(): for ParticleLayout \"%s\", of type %s\n",
+		__func__, self->name, self->type );
+	Stream_IndentBranch( Swarm_Debug );	
 
+	Journal_DPrintf( self->debug, "Finding number of bytes in checkpoint file \"%s\":\n",
+		self->filename );
+
+	openResult = MPI_File_open( swarm->comm, filename, MPI_MODE_RDONLY, MPI_INFO_NULL, &mpiFile );
+
 	Journal_Firewall( 
-		file != NULL, 
+		openResult == 0, 
 		self->errorStream,
 		"Error in %s for %s '%s' - Cannot open file %s.\n", 
 		__func__, 
@@ -224,12 +231,19 @@
 		self->name, 
 		filename );
 	
-	fseek( file, 0L, SEEK_END );
-	bytesCount = ftell( file );
-	fclose(file);
+	MPI_File_get_size( mpiFile, &bytesCount );
+	MPI_File_close( &mpiFile );
 
+	Journal_DPrintf( self->debug, "...calculated bytes total of %u.\n", bytesCount );
+	
 	/* Divide by particle size to get number of particles */
 	division = div( bytesCount, particleSize );
+	self->totalInitialParticles = division.quot;
+
+	Journal_DPrintf( self->debug, "given bytes total %u / particle size %d ->\n"
+		"\ttotalInitialParticles = %u.\n", bytesCount, particleSize,
+		self->totalInitialParticles );
+
 	Journal_Firewall( 
 		division.rem == 0,
 		self->errorStream,
@@ -243,9 +257,12 @@
 		particleSize, 
 		division.rem ); 
 
-	self->totalInitialParticles = division.quot;
+	Journal_DPrintf( self->debug, "calling parent func to set cell counts:\n", bytesCount );
+	_GlobalParticleLayout_SetInitialCounts( self, swarm );
 
-	_GlobalParticleLayout_SetInitialCounts( self, swarm );
+	Stream_UnIndentBranch( Swarm_Debug );	
+	Journal_DPrintf( self->debug, "...finished %s() for ParticleLayout \"%s\".\n",
+		__func__, self->name );
 }
 
 void _FileParticleLayout_InitialiseParticles( void* particleLayout, void* _swarm ) {
@@ -284,7 +301,7 @@
 		result == 1,
 		self->errorStream,
 		"Error in func %s for %s '%s':\n"
-		"\tCould read in particle %u - May have reached end-of-file.\n",
+		"\tCouldn't read in particle %u - May have reached end-of-file.\n",
 		__func__, 
 		self->type, 
 		self->name, 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Finalise.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Finalise.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Finalise.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -37,13 +37,16 @@
 
 #include "types.h"
 #include "shortcuts.h"
-
 #include "Finalise.h"
 
+#include "Swarm_Register.h"
+
+
 #include <stdio.h>
 
 Bool DiscretisationSwarm_Finalise( void ) {
 	Journal_Printf( Journal_Register( DebugStream_Type, "Context" ), "In: %s\n", __func__ ); /* DO NOT CHANGE OR REMOVE */
+	Stg_Class_Delete( stgSwarm_Register );
 
 	return True;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GaussParticleLayout.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GaussParticleLayout.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GaussParticleLayout.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -297,9 +297,9 @@
 			 */
 			if ( 0 == strcmp( swarm->type, "MaterialPointsSwarm" ) ) {
 				((GlobalParticle*)particle)->coord[ dim_I ] = 
-					0.5 
-			 		* ( max[ dim_I ] - min[ dim_I ] ) 
-					* ( abscissa[ index ] + 1.0 ) + min[ dim_I ];
+					min[ dim_I ] +
+						0.5 * ( max[ dim_I ] - min[ dim_I ] ) 
+						* ( abscissa[ index ] + 1.0 );
 			}
 			else {
 				particle->xi[ dim_I ] = abscissa[ index ];

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GlobalParticleLayout.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GlobalParticleLayout.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/GlobalParticleLayout.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -179,16 +179,40 @@
 	char			tempStr[100];
 	Cell_Index		globalCellCount;
 
-	/* Get total number of particles in system across all processors*/
+	Journal_DPrintf( self->debug, "In %s(): for ParticleLayout \"%s\" (of type %s):\n",
+		__func__, self->name, self->type );
+	Stream_IndentBranch( Swarm_Debug );
+
+	Journal_DPrintf( self->debug, "Calculating total number of cells in system across all processors "
+		"using MPI_Allreduce:\n" );
 	MPI_Allreduce( &swarm->cellLocalCount, &globalCellCount, 1, MPI_UNSIGNED, MPI_SUM, swarm->comm );
+	Journal_DPrintf( self->debug, "...calculated total global cell count is %u\n", globalCellCount );
 	
-	/* Assumes child class will set one or the other */
+	Journal_DPrintf( self->debug, "Calculating totalInitialParticles and averageInitialParticlesPerCell:\n" );
+	Stream_IndentBranch( Swarm_Debug );
 	if ( self->totalInitialParticles ) {
-		self->averageInitialParticlesPerCell = (double)self->totalInitialParticles / globalCellCount;
+		self->averageInitialParticlesPerCell = self->totalInitialParticles / (double)globalCellCount;
+		Journal_DPrintf( self->debug, "totalInitialParticles set as %u, thus calculated "
+			"averageInitialParticlesPerCell as %f.\n", self->totalInitialParticles,
+			self->averageInitialParticlesPerCell );
 	}
-	else {
+	else if ( self->averageInitialParticlesPerCell ) {
 		self->totalInitialParticles = globalCellCount * self->averageInitialParticlesPerCell;
+		Journal_DPrintf( self->debug, "averageInitialParticlesPerCell set as %f, thus calculated "
+			"totalInitialParticles as %u.\n", self->averageInitialParticlesPerCell,
+			self->totalInitialParticles );
 	}
+	else {
+		Stream*     errorStream = Journal_Register( Error_Type, self->type );
+		
+		Journal_Firewall( self->totalInitialParticles || self->averageInitialParticlesPerCell,
+			errorStream, "Error - in %s(), ParticleLayout \"%s\" (of type %s): neither "
+			"totalInitialParticles or averageInitialParticlesPerCell was specified by "
+			"child class - one of these needs to be calculated so the "
+			"swarm cell memory storage can be set.\n",
+			__func__, self->name, self->type );
+	}
+	Stream_UnIndentBranch( Swarm_Debug );
 
 	/* We don't set the local particle count equal to totalInitialParticles,
 	since we're not sure how many of those are local yet */
@@ -197,7 +221,9 @@
 	for( cell_I = 0; cell_I < swarm->cellLocalCount; cell_I++ ) {
 		/* Set initial counts to empty, till we add the particles */
 		swarm->cellParticleCountTbl[cell_I] = 0;
-		swarm->cellParticleSizeTbl[cell_I] = (int)self->averageInitialParticlesPerCell;
+		/* Set initial sizes to averageInitialParticlesPerCell, since its our best guess at how many
+		 * particles there will be after setup in this cell, and hence how much memory needed */
+		swarm->cellParticleSizeTbl[cell_I] = (int)( self->averageInitialParticlesPerCell + 0.5 );
 		
 		sprintf( tempStr, "Swarm->cellParticleTbl[%d]", cell_I );
 		swarm->cellParticleTbl[cell_I] = Memory_Alloc_Array( Particle_Index, swarm->cellParticleSizeTbl[cell_I], tempStr );
@@ -209,6 +235,7 @@
 		swarm->cellParticleSizeTbl[cell_I] = 0;
 		swarm->cellParticleTbl[cell_I] = NULL;
 	}
+	Stream_UnIndentBranch( Swarm_Debug );
 }
 
 
@@ -220,28 +247,67 @@
 	Particle_Index		lParticle_I=0;
 	Particle_Index		newParticle_I=0;
 	Cell_Index		cell_I;
+	Particle_Index          globalParticlesInitialisedCount=0;
+	Stream*                 errorStream = Journal_Register( Error_Type, self->type );
 
-	/* Go through and init all particles */
+	Journal_DPrintf( self->debug, "In %s(): for ParticleLayout \"%s\" (of type %s):\n",
+		__func__, self->name, self->type );
+	Stream_IndentBranch( Swarm_Debug );
+
+	Journal_DPrintf( self->debug, "For each of the %u total global requested particles, "
+		"generating a particle, and checking if it's in this processor's domain. If so, "
+		"adding it to the appropriate local cell.\n", self->totalInitialParticles );
+	Stream_IndentBranch( Swarm_Debug );
+
 	while( newParticle_I < self->totalInitialParticles ) {
 		
 		particle = (GlobalParticle*)Swarm_ParticleAt( swarm, lParticle_I );
 		GlobalParticleLayout_InitialiseParticle( self, swarm, newParticle_I, particle );
-		newParticle_I++;
 		/* Work out which cell the new particle is in */
 		/* First specify the particle doesn't have an owning cell yet, so as
-		not to confuse the search algorithm */
+		not to confuse the search algorithm if its an irregular cell/mesh layout */
 		particle->owningCell = swarm->cellDomainCount;
+
 		cell_I = CellLayout_CellOf( swarm->cellLayout, particle );
 
 		/* If we found a further particle inside our domain, add it to a cell */
 		if ( cell_I < swarm->cellLocalCount ) {
+			Journal_DPrintfL( self->debug, 3, "global particle %u at (%.2f,%.2f,%.2f) inside local cell %u\n"
+				"adding it to cell and saving it as local particle %u.\n",
+				newParticle_I, particle->coord[0], particle->coord[1], particle->coord[2],
+				cell_I, lParticle_I );
+				
+			Stream_IndentBranch( Swarm_Debug );
 			/* Add it to that cell */
 			Swarm_AddParticleToCell( swarm, cell_I, lParticle_I );
 			lParticle_I++;
 			swarm->particleLocalCount++;
 			Swarm_Realloc( swarm );
+			Stream_UnIndentBranch( Swarm_Debug );
 		}
+		else {
+			Journal_DPrintfL( self->debug, 4, "global particle %u at (%.2f,%.2f,%.2f) outside this proc's domain:\n"
+				"ignoring.\n", newParticle_I, particle->coord[0], particle->coord[1], particle->coord[2] );
+		}		
+				
+		newParticle_I++;
 	}
+
+	Stream_UnIndentBranch( Swarm_Debug );
+
+	/* Do a test to make sure that the total particles assigned across all processors ==
+		totalInitialParticles count */
+	MPI_Allreduce( &swarm->particleLocalCount, &globalParticlesInitialisedCount, 1, MPI_UNSIGNED, MPI_SUM, swarm->comm );
+	Journal_Firewall( globalParticlesInitialisedCount == self->totalInitialParticles, errorStream,
+		"Error - in %s() - for GlobalParticleLayout \"%s\", of type %s: after initialising particles, "
+		"actual global count of particles initialised was %u, whereas requested global total "
+		"totalInitialParticles was %u. If actual is < requested, it means some particles were not "
+		"identified by any processor as inside their domain. If actual > requested, it means that "
+		"some particles were identified by _multiple_ processors as belonging to their domain. Both "
+		"these states are erroneous.\n",
+		__func__, self->type, self->type, globalParticlesInitialisedCount, self->totalInitialParticles );
+
+	Stream_UnIndentBranch( Swarm_Debug );
 }
 
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Init.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Init.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -133,7 +133,7 @@
 	RegisterParent( Swarm_Register_Type, Stg_Class_Type );
 
 	/* Create the singletons */
-	Swarm_Register_New(); 
+	stgSwarm_Register = Swarm_Register_New(); 
 
 	return True;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -104,6 +104,8 @@
 	ParticleLayout* self = (ParticleLayout*)particleLayout;
 	self->isConstructed  = True;
 
+	self->debug = Stream_RegisterChild( Swarm_Debug, self->type );
+
 	self->coordSystem = coordSystem;
 	self->weightsInitialisedAtStartup = weightsInitialisedAtStartup;
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleLayout.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -55,6 +55,7 @@
 		ParticleLayout_SetInitialCountsFunction*	_setInitialCounts; \
 		ParticleLayout_InitialiseParticlesFunction*	_initialiseParticles; \
 		/* member data */ \
+		Stream*         debug;                          /**< For sending log messages to */  \
 		CoordSystem     coordSystem;                    /**< Set once by subclass init */ \
 		Bool		weightsInitialisedAtStartup;    /**< Set once by subclass init */
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -64,6 +64,7 @@
 /** Default extra factor to malloc for particles array. This is because the number of particles on each process
 may increase due to advection, splitting/merging etc, and we want to avoid reallocing if possible. */
 static const double       DEFAULT_EXTRA_PARTICLES_FACTOR = 0.05;
+static const unsigned int MINIMUM_PARTICLES_ARRAY_DELTA = 100;
 static const unsigned int DEFAULT_CELL_PARTICLE_TBL_DELTA = 4;
 
 /* --- Function Definitions --- */
@@ -178,7 +179,8 @@
 		Variable_Register*                    variable_Register,
 		MPI_Comm                              comm )
 {
-	StandardParticle particle;
+	StandardParticle   particle;
+	Stream*            errorStream = Journal_Register( Error_Type, self->type );
 	
 	self->isConstructed = True;
 	self->debug = Stream_RegisterChild( Swarm_Debug, self->type );
@@ -187,6 +189,8 @@
 	MPI_Comm_rank( comm, (int *)&self->myRank );
 	MPI_Comm_size( comm, (int *)&self->nProc );
 	self->stillDoingInitialisation = True;
+	/* Check point and reload by default - only things like integration swarms will turn this off */
+	self->isSwarmTypeToCheckPointAndReload = True;
 
 	self->cellLayout = (CellLayout*)cellLayout;
 	self->particleLayout = (ParticleLayout*)particleLayout;
@@ -207,6 +211,9 @@
 	self->particlesArraySize = 0;
 	self->particlesArrayDelta = 0;
 	self->extraParticlesFactor = extraParticlesFactor;
+	Journal_Firewall( extraParticlesFactor > 0.0, errorStream, "Error - in %s: extraParticlesFactor "
+		"given as %.3f, but this must be greater than zero to allow swarm to be realloc'ed larger "
+		"if necessary\n", extraParticlesFactor );
 
 	if ( variable_Register ) {
 		self->swarmVariable_Register = SwarmVariable_Register_New( variable_Register );
@@ -361,7 +368,7 @@
 	Journal_Printf( swarmStream, "\t}\n" );
 	Journal_Printf( swarmStream, "\tparticlesArraySize: %d\n", self->particlesArraySize );
 	Journal_Printf( swarmStream, "\tparticlesArrayDelta: %d\n", self->particlesArrayDelta );
-	Journal_Printf( swarmStream, "\tparticlesArrayDelta: %.3g\n", self->extraParticlesFactor );
+	Journal_Printf( swarmStream, "\textraParticlesFactor: %.3g\n", self->extraParticlesFactor );
 }
 
 
@@ -538,7 +545,10 @@
 	Dimension_Index         dim;
 	Type                    particleType;
 	Variable_Register*      variable_Register        = NULL;
+	AbstractContext*        context = NULL;
 
+	context = Stg_ComponentFactory_ConstructByName( cf, "context", AbstractContext, True );
+
 	dim = Stg_ComponentFactory_GetRootDictUnsignedInt( cf, "dim", 0 );
 	
 	particleType = Stg_ComponentFactory_GetString( cf, self->name, "ParticleType", IntegrationPoint_Type );
@@ -565,7 +575,7 @@
 			extraParticlesFactor,
 			extensionManagerRegister,
 			variable_Register,
-			MPI_COMM_WORLD );
+			context->communicator );
 }
 
 
@@ -573,7 +583,12 @@
 	Swarm* self = (Swarm*)swarm;
 	AbstractContext* context = (AbstractContext*)data;
 	
+	Journal_DPrintf( self->debug, "In %s(): for swarm \"%s\" (of type %s)\n", __func__, self->name, self->type ); 
+	Stream_IndentBranch( Swarm_Debug );
+	
+	Journal_DPrintf( self->debug, "allocating memory for cell->particle mappings:\n" );
 	_Swarm_BuildCells( self );
+	Journal_DPrintf( self->debug, "...done.\n" );
 
 	/* if loading from checkpoint, then delete the particle layout
 	 * created due to the user's specification in the input file,
@@ -581,36 +596,45 @@
 	 * can be re-loaded with their exact state at the checkpointed time
 	 */
 	if ( context && context->loadFromCheckPoint ) {
-		char       name[100];
-		char       swarmSaveFileName[1000];
-		Stg_Class_Delete( self->particleLayout );
-		sprintf( name, "%s-fileParticleLayout", self->name );
-		if ( strlen(context->checkPointPrefixString) > 0 ) {
-			sprintf( swarmSaveFileName, "%s/%s.%s.%05d.dat", context->outputPath,
-				context->checkPointPrefixString, self->name, context->restartTimestep );
+		Journal_DPrintf( self->debug, "detected loadFromCheckPoint mode enabled:\n" );
+		Stream_Indent( self->debug );
+
+		if ( False == self->isSwarmTypeToCheckPointAndReload ) {
+			Journal_DPrintf( self->debug, "...but this swarm type is set to not be checkpointed/reloaded, "
+				"so continuing.\n" );
 		}
 		else {
-			sprintf( swarmSaveFileName, "%s/%s.%05d.dat", context->outputPath,
-				self->name, context->restartTimestep );
-		}
-
-		self->particleLayout = (ParticleLayout*)FileParticleLayout_New( name, swarmSaveFileName ); 
+			Swarm_ReplaceCurrentParticleLayoutWithFileParticleLayout( self, context );
+		}	
+		Stream_UnIndent( self->debug );
 	}
 	
+	Journal_DPrintf( self->debug, "allocating memory for particles:\n" );
 	_Swarm_BuildParticles( self );
+	Journal_DPrintf( self->debug, "...done.\n" );
 
+	Journal_DPrintf( self->debug, "setting up the particle owningCell SwarmVariable:\n" );
 	Stg_Component_Build( self->owningCellVariable, data, False );
+	Journal_DPrintf( self->debug, "...done.\n" );
+	Stream_UnIndentBranch( Swarm_Debug );
+	Journal_DPrintf( self->debug, "...done in %s().\n", __func__ );
 }
 
-
+			
 void _Swarm_Initialise( void* swarm, void* data ) {
 	Swarm* self = (Swarm*)swarm;
 	
+	Journal_DPrintf( self->debug, "In %s(): for swarm \"%s\" (of type %s)\n", __func__, self->name, self->type ); 
+	Stream_IndentBranch( Swarm_Debug );
+	
 	_Swarm_InitialiseCells( self );
 	_Swarm_InitialiseParticles( self );
 
 	Stg_Component_Initialise( self->owningCellVariable, data, False );
 	self->stillDoingInitialisation = False;
+
+	Stream_UnIndentBranch( Swarm_Debug );
+	Journal_DPrintf( self->debug, "...done in %s().\n", __func__ );
 }
 
 
@@ -625,10 +649,18 @@
 	Cell_Index		cell_I;
 	Cell_PointIndex		pointCount;
 	
+	Journal_DPrintf( self->debug, "In %s():\n", __func__ ); 
+	Stream_IndentBranch( Swarm_Debug );
+
 	self->cellLocalCount = CellLayout_CellLocalCount( self->cellLayout );
 	self->cellShadowCount = CellLayout_CellShadowCount( self->cellLayout );
 	self->cellDomainCount = self->cellLocalCount + self->cellShadowCount;
 
+	Journal_DPrintf( self->debug, "CellLayout \"%s\" (of type %s) returned cell counts of:\n"
+		"cellLocalCount: %u, cellShadowCount: %u, cellDomainCount: %u",
+		self->cellLayout->name, self->cellLayout->type,
+		self->cellLocalCount, self->cellShadowCount, self->cellDomainCount );
+
 	self->cellPointCountTbl = Memory_Alloc_Array( Cell_PointIndex, self->cellDomainCount, "Swarm->cellPointCountTbl" );
 	pointCount = 0;
 
@@ -638,6 +670,7 @@
 	}
 
 	self->cellPointTbl = Memory_Alloc_2DComplex( Cell_Point, self->cellDomainCount, self->cellPointCountTbl, "Swarm->cellPointTbl" );
+	Stream_UnIndentBranch( Swarm_Debug );
 }
 
 
@@ -655,7 +688,10 @@
 	/* Now allocate the particles array */
 	/* We allocate extra space to try & avoid avoid reallocing later as particles are advected etc. */
 	self->particlesArrayDelta = (Particle_Index)( (double) self->particleLocalCount * self->extraParticlesFactor);
-	if ( 0 == self->particlesArrayDelta ) self->particlesArrayDelta = 5;		
+	if ( 0 == self->particlesArrayDelta ) {
+		self->particlesArrayDelta = MINIMUM_PARTICLES_ARRAY_DELTA;		
+	}
+
 	self->particlesArraySize = self->particleLocalCount + self->particlesArrayDelta;
 
 	self->particles = (Particle_List)ExtensionManager_Malloc( self->particleExtensionMgr, self->particlesArraySize );
@@ -677,12 +713,16 @@
 	Swarm*			self = (Swarm*)swarm;
 	
 	ParticleLayout_InitialiseParticles( self->particleLayout, self );
-	/* Need to re-do the delta calculation here for global particle layouts, who don't know their count
-	until particles have been initialised */
 
+	/* Need to re-do the delta calculation here, since if using a global particle layouts, we didn't know the 
+	 * localParticleCount until the above call, and had just used a default delta. We can now calculate the
+	 * correct one. */
+	self->particlesArrayDelta = (Particle_Index)( (double) self->particleLocalCount * self->extraParticlesFactor);
+	if ( 0 == self->particlesArrayDelta ) {
+		self->particlesArrayDelta = MINIMUM_PARTICLES_ARRAY_DELTA;		
+	}
+
 	Swarm_UpdateAllParticleOwners( self );
-	
-	if ( 0 == self->particlesArrayDelta ) self->particlesArrayDelta = 5;		
 }
 
 
@@ -699,7 +739,7 @@
 	}
 
 	Journal_DPrintfL( self->debug, 1, "In %s() for Swarm \"%s\"\n", __func__, self->name );
-	Stream_Indent( self->debug );	
+	Stream_IndentBranch( Swarm_Debug );	
 	for ( lParticle_I=0; lParticle_I < self->particleLocalCount; lParticle_I++ ) {
 		Swarm_UpdateParticleOwner( self, lParticle_I );
 	}	
@@ -712,7 +752,7 @@
 		ParticleCommHandler_HandleParticleMovementBetweenProcs( self->particleCommunicationHandler );
 	}
 
-	Stream_UnIndent( self->debug );	
+	Stream_UnIndentBranch( Swarm_Debug );	
 }
 
 
@@ -746,6 +786,17 @@
 			Journal_DPrintfL( self->debug, 3, "New cell == domain count -> Particle has moved outside domain.\n" );
 			particle->owningCell = self->cellDomainCount;
 		}	
+		#ifdef CAUTIOUS
+		else if ( newOwningCell >= self->cellDomainCount ) {	
+			Stream*    errorStream = Journal_Register( Error_Type, self->type );
+
+			Journal_Firewall( 0, errorStream,
+				"Error - in %s(): particle %u's new domain cell calculated as "
+				"%u, but this is greater than the count of domain cells %u. "
+				"Something has gone wrong.\n",
+				__func__, particle_I, newOwningCell, self->cellDomainCount );
+		}		
+		#endif
 		else {
 			Swarm_AddParticleToCell( self, newOwningCell, particle_I );
 		}
@@ -777,9 +828,20 @@
 	Swarm* 			self = (Swarm*)swarm;
 	Particle_InCellIndex*	newCountPtr = &self->cellParticleCountTbl[dCell_I];
 	Particle_InCellIndex*	newSizePtr = &self->cellParticleSizeTbl[dCell_I];
+	#ifdef CAUTIOUS
+	Stream*                 errorStream = Journal_Register( Error_Type, self->type );
+	#endif
 
 	Journal_DPrintfL( self->debug, 3, "Adding particle %d to cell %d: cell's particle count now %d",
 		particle_I, dCell_I, (*newCountPtr)+1 );
+
+	#ifdef CAUTIOUS
+	Journal_Firewall( dCell_I < self->cellDomainCount, errorStream,
+		"Error - in %s(): cannot add particle %u to req. domain cell, since "
+		"dCell_I passed in of %u is greater than the count of domain cells %u.\n",
+		__func__, particle_I, dCell_I, self->cellDomainCount );
+	#endif
+
 	Swarm_ParticleAt( self, particle_I)->owningCell = dCell_I;
 
 	if ( *newCountPtr == *newSizePtr ) {
@@ -1137,11 +1199,11 @@
 	Particle_Index delta              = self->particlesArrayDelta;
 
 	if ( particleLocalCount <= self->particlesArraySize - delta ) {
-		/* Decrease size of array if nessesary */
+		/* Decrease size of array if necessary */
 		self->particlesArraySize = particleLocalCount;
 	}
 	else if ( particleLocalCount >= self->particlesArraySize ) {
-		/* Increase size of array if nessesary */
+		/* Increase size of array if necessary */
 		self->particlesArraySize = particleLocalCount + delta;
 	}
 	else {
@@ -1218,3 +1280,46 @@
 	
 	return Swarm_ParticleAt( self, *newParticle_I );
 }
+
+
+void Swarm_ReplaceCurrentParticleLayoutWithFileParticleLayout( void* swarm, void* _context ) {
+	Swarm*               self = (Swarm*)swarm;
+	AbstractContext*     context = (AbstractContext*)_context;
+	char                 name[1024];
+	char                 swarmSaveFileName[4096];
+
+	sprintf( name, "%s-fileParticleLayout", self->name );
+	Swarm_GetCheckpointFilenameForGivenTimestep( self, context, swarmSaveFileName );
+	
+	Journal_DPrintf( self->debug, "overriding the particleLayout specified via XML/constructor\n"
+		"of \"%s\" (of type %s) with a FileParticleLayout to load\n"
+		"this swarm's checkpoint file from outputPath \"%s\",\n"
+		"with prefix \"%s\" from timestep %u with total name:\n\"%s\"\n",
+		self->particleLayout->name, self->particleLayout->type,
+		context->outputPath,
+		context->checkPointPrefixString, context->restartTimestep,
+		swarmSaveFileName );
+
+	/* TODO: deleting this makes sense if this swarm "owns" the particle layout. Is it
+	* possible for 2 swarms to have the same particle layout? I guess so - may need
+	* to rethink later. Deleting is ok though for now since the "reference counter"
+	* was incremented when we got it out of the LC register.
+	* PatrickSunter - 13 June 2006
+	*/
+	Stg_Class_Delete( self->particleLayout );
+
+	self->particleLayout = (ParticleLayout*)FileParticleLayout_New( name, swarmSaveFileName ); 
+}
+
+
+void Swarm_GetCheckpointFilenameForGivenTimestep( Swarm* self, AbstractContext* context, char* swarmSaveFileName ) {
+	if ( strlen(context->checkPointPrefixString) > 0 ) {
+		sprintf( swarmSaveFileName, "%s/%s.%s.%05d.dat", context->outputPath,
+			context->checkPointPrefixString, self->name, context->restartTimestep );
+	}
+	else {
+		sprintf( swarmSaveFileName, "%s/%s.%05d.dat", context->outputPath,
+			self->name, context->restartTimestep );
+	}
+}
+

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmClass.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -70,6 +70,9 @@
 		/** Used to tell the Swarm_UpdateParticleOwners function whether or not
 		 * parallel comms is necessary. */ \
 		Bool                            stillDoingInitialisation; \
+		/** Used to tell the checkpointing and reloading functions whether this
+		 * swarm type should actually be checkpointed. */ \
+		Bool                            isSwarmTypeToCheckPointAndReload; \
 		\
 		/* Cell related */ \
 		/** The number of local 'cells': equiv to elements for the swarm */ \
@@ -277,7 +280,13 @@
 	/* Initialise particles */
 	void _Swarm_InitialiseParticles( void* swarm );
 
-	/* This function creates a new particle at the end of the swarm */
+	/** This function creates a new particle at the end of the swarm */
 	StandardParticle* Swarm_CreateNewParticle( void* swarm, Particle_Index* newParticle_I ) ;
 
+	/** For loading from checkpoints : replaces current particle layout with a file particle layout */
+	void Swarm_ReplaceCurrentParticleLayoutWithFileParticleLayout( void* swarm, void* _context );
+
+	/** simple function that determines logic for creating a swarm checkpoint filename */
+	void Swarm_GetCheckpointFilenameForGivenTimestep( Swarm* self, AbstractContext* context, char* swarmSaveFileName );
+
 #endif /* __Discretisation_Swarm_SwarmClass_h__ */

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmDump.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmDump.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmDump.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -229,6 +229,11 @@
 	Name              filename;
 	Index             swarm_I;
 	Swarm*            swarm;
+	Stream*           info = Journal_Register( Info_Type, self->type );
+	Processor_Index   rank_I;
+
+	Journal_DPrintf( info, "Proc %d: beginning Swarm binary checkpoint in %s():\n", self->swarmList[0]->myRank, __func__ );
+	Stream_Indent( info );
 	
 	for ( swarm_I = 0 ; swarm_I < self->swarmCount ; swarm_I++ ) {
 		swarm = self->swarmList[ swarm_I ];
@@ -255,6 +260,15 @@
 			}
 		}	
 
+		for ( rank_I = 0; rank_I < swarm->nProc; rank_I++ ) {
+			if ( swarm->myRank == rank_I ) {
+				Journal_DPrintf( info, "Proc %d: for swarm \"%s\", dumping its %u particles of size %u bytes "
+					"each (= %g bytes total) to file %s\n", swarm->myRank, swarm->name, particleLocalCount,
+					particleSize, (float)(particleLocalCount * particleSize), filename );
+			}	
+			MPI_Barrier( swarm->comm );
+		}
+
 		Stream_RedirectFile( stream, filename );
 
 		MPIStream_WriteAllProcessors( stream, swarm->particles, particleSize, (SizeT) particleLocalCount, swarm->comm );
@@ -262,6 +276,8 @@
 		Stream_CloseFile( stream );
 		Memory_Free( filename );
 	}
+	Stream_UnIndent( info );
+	Journal_DPrintf( info, "Proc %d: finished Swarm binary checkpoint.\n", self->swarmList[0]->myRank );
 }
 
 void _SwarmDump_Destroy( void* swarmDump, void* data ) {

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmOutput.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmOutput.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/SwarmOutput.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -289,11 +289,11 @@
 	SwarmOutput*	  self                = (SwarmOutput*)     swarmOutput;
 	char*             firstBorderString;
 
-	/* Print First Boarder with '#' in the front */
-	firstBorderString = strdup( self->borderString );
+	/* Print First Border with '#' in the front */
+	firstBorderString = StG_Strdup( self->borderString );
 	firstBorderString[0] = '#';
 	Journal_Printf( stream, firstBorderString );
-	free( firstBorderString );
+	Memory_Free( firstBorderString );
 
 	Journal_PrintString_WithLength( stream, "Timestep", self->columnWidth );
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -43,12 +43,11 @@
 
 #include "types.h"
 #include "shortcuts.h"
+#include "Swarm_Register.h"
+
 #include "ParticleLayout.h"
-#include "GlobalParticleLayout.h"
-#include "LineParticleLayout.h"
-
 #include "SwarmClass.h"
-#include "Swarm_Register.h"
+#include "SwarmDump.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -115,13 +114,14 @@
 
 	assert( self );
 
+	/** Actually, don't delete all swarms as they have already been deleted by the
+	live component register : or else leave it up to the user */
+	/* Stg_ObjectList_DeleteAllObjects( self->swarmList ); */
+
+	Stg_Class_Delete( self->swarmList );
 	if ( stgSwarm_Register == self ) {
 		stgSwarm_Register = NULL;
 	}
-
-	Stg_ObjectList_DeleteAllObjects( self->swarmList );
-
-	Stg_Class_Delete( self->swarmList );
 	_Stg_Class_Delete( self );
 }
 
@@ -188,3 +188,40 @@
 Swarm_Register* Swarm_Register_GetSwarm_Register() {
 	return stgSwarm_Register;
 }
+
+
+void Swarm_Register_SaveAllRegisteredSwarms( Swarm_Register* self, void* context ) {
+	Index                     swarmCount = self->swarmList->count;
+	Swarm**                   swarmList = NULL;
+	Index                     swarm_I;
+	Index                     swarmsToDumpCount = 0;
+	SwarmDump*                swarmDumper;
+	Swarm*                    swarm;
+	Stream*                   info = Journal_Register( Info_Type, self->type );
+
+	if ( swarmCount == 0 ) {
+		return;
+	}	
+	
+	Journal_Printf( info, "In %s(): about to save the %u registered swarms to disk:\n", __func__, swarmCount );
+	swarmList = Memory_Alloc_Array_Unnamed( Swarm*, swarmCount ); 
+
+	for ( swarm_I=0 ; swarm_I < swarmCount; swarm_I++ ) {
+		swarm = Swarm_Register_At( self, swarm_I );
+		if ( swarm->isSwarmTypeToCheckPointAndReload == True ) {
+			swarmList[swarmsToDumpCount++] = swarm;
+		}
+	}
+	
+	/* Create new SwarmDump object to check point the swarms
+	 * We're not passing in the 'context' as the second argument because we don't need the swarm dumper to 
+	 * add a hook on the Save entrypoint - contexts can manually execute this function */ 
+	swarmDumper = SwarmDump_New( "swarmDumper", NULL, swarmList, swarmsToDumpCount, True );
+	/* Passing the context through allows the swarmDumper to check requested strings etc */
+	SwarmDump_Execute( swarmDumper, context );
+	Stg_Class_Delete( swarmDumper );
+
+	Memory_Free( swarmList );
+	Journal_Printf( info, "%s: saving of swarms completed.\n", __func__ );
+}
+

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/Swarm_Register.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -91,6 +91,8 @@
 	Index Swarm_Register_GetIndexFromPointer( Swarm_Register* self, void* ptr );
 	Swarm_Register* Swarm_Register_GetSwarm_Register();
 
+	void Swarm_Register_SaveAllRegisteredSwarms( Swarm_Register* self, void* context );
+
 #endif /* __Discretisation_Swarm_Swarm_Register_h__ */
 
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testParticleCoords.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testParticleCoords.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testParticleCoords.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -77,6 +77,8 @@
 	ExtensionManager_Register* extensionMgr_Register;
 	Variable_Register*  variable_Register;
 
+	DiscretisationContext*    context;
+
 	/* Initialise MPI, get world info */
 	MPI_Init( &argc, &argv );
 	MPI_Comm_dup( MPI_COMM_WORLD, &CommWorld );
@@ -105,8 +107,12 @@
 	
 	assert( componentDict );
 
-	cf = Stg_ComponentFactory_New( dictionary, componentDict, Stg_ObjectList_New() );
+	context = DiscretisationContext_New( "context", 0, 0, MPI_COMM_WORLD, dictionary );
 
+	context->CF = Stg_ComponentFactory_New( dictionary, componentDict, Stg_ObjectList_New() );
+	cf = context->CF;
+        LiveComponentRegister_Add( context->CF->LCRegister, (Stg_Component*) context );
+
 	extensionMgr_Register = ExtensionManager_Register_New();
 	variable_Register = Variable_Register_New( );
 	Stg_ObjectList_ClassAppend( cf->registerRegister, (void*)extensionMgr_Register, "ExtensionManager_Register" );

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,85 +1,95 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3623. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
-Swarm (ptr): 0x80643bc
-Stg_Component (ptr): 0x80643bc
-Stg_Object (ptr): 0x80643bc
-	Stg_Class (ptr): 0x80643bc
-		sizeOfSelf: 188
+Swarm (ptr): 0x80682d0
+Stg_Component (ptr): 0x80682d0
+Stg_Object (ptr): 0x80682d0
+	Stg_Class (ptr): 0x80682d0
+		sizeOfSelf: 220
 		_deleteSelf: Yes
 		type: Swarm
-		_delete (func ptr): 0xb7f1c792
-		_print (func ptr): 0xb7f1c89d
-		_copy (func ptr): 0xb7f1ce73
+		_delete (func ptr): 0x4002cbb0
+		_print (func ptr): 0x4002ccc4
+		_copy (func ptr): 0x4002d2d9
 	name: testSwarm
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7f1c288
-	_construct (func ptr): 0xb7f1d6e9
-	_build (func ptr): 0xb7f1d979
-	_initialise (func ptr): 0xb7f1d9cd
-	_execute (func ptr): 0xb7f1da21
-	_destroy (func ptr): 0xb7f1da26
+	_defaultConstructor (func ptr): 0x4002dbd4
+	_construct (func ptr): 0x4002dcb7
+	_build (func ptr): 0x4002def7
+	_initialise (func ptr): 0x4002e21e
+	_execute (func ptr): 0x4002e2f7
+	_destroy (func ptr): 0x4002e2fc
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-ElementCellLayout (ptr): 0x8063764
-CellLayout (ptr): 0x8063764
-Stg_Component (ptr): 0x8063764
-Stg_Object (ptr): 0x8063764
-	Stg_Class (ptr): 0x8063764
-		sizeOfSelf: 112
+	constructor function name: testSwarm-Construct
+	build function name: testSwarm-Build
+	initialise function name: testSwarm-Initialise
+	execute function name: testSwarm-Execute
+	destroy function name: testSwarm-Destroy
+ElementCellLayout (ptr): 0x8067860
+CellLayout (ptr): 0x8067860
+Stg_Component (ptr): 0x8067860
+Stg_Object (ptr): 0x8067860
+	Stg_Class (ptr): 0x8067860
+		sizeOfSelf: 132
 		_deleteSelf: Yes
 		type: ElementCellLayout
-		_delete (func ptr): 0xb7f12b32
-		_print (func ptr): 0xb7f12b5b
-		_copy (func ptr): 0xb7f12bcc
+		_delete (func ptr): 0x400214dc
+		_print (func ptr): 0x40021505
+		_copy (func ptr): 0x40021579
 	name: elementCellLayout
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7f12678
-	_construct (func ptr): 0xb7f12c98
-	_build (func ptr): 0xb7f12d0c
-	_initialise (func ptr): 0xb7f12d11
-	_execute (func ptr): 0xb7f12d16
-	_destroy (func ptr): 0xb7f12d1b
+	_defaultConstructor (func ptr): 0x40021010
+	_construct (func ptr): 0x40021651
+	_build (func ptr): 0x400216c5
+	_initialise (func ptr): 0x400216ca
+	_execute (func ptr): 0x400216cf
+	_destroy (func ptr): 0x400216d4
 	isConstructed: True
 	isBuilt: False
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_cellLocalCount (func ptr): 0xb7f12d20
-	_cellShadowCount (func ptr): 0xb7f12d3a
-	_pointCount (func ptr): 0xb7f12d54
-	_initialisePoints (func ptr): 0xb7f12d7b
-	_mapElementIdToCellId (func ptr): 0xb7f12dfc
-	_isInCell (func ptr): 0xb7f12e04
-	_cellOf (func ptr): 0xb7f12e64
-	_getShadowInfo (func ptr): 0xb7f12eaf
-	mesh (ptr): 0x8062bc4
-RandomParticleLayout (ptr): 0x8064134:
-PerCellParticleLayout (ptr): 0x8064134
-ParticleLayout (ptr): 0x8064134
-Stg_Class (ptr): 0x8064134
-	sizeOfSelf: 108
+	constructor function name: elementCellLayout-Construct
+	build function name: elementCellLayout-Build
+	initialise function name: elementCellLayout-Initialise
+	execute function name: elementCellLayout-Execute
+	destroy function name: elementCellLayout-Destroy
+	_cellLocalCount (func ptr): 0x400216d9
+	_cellShadowCount (func ptr): 0x400216f6
+	_pointCount (func ptr): 0x40021713
+	_initialisePoints (func ptr): 0x4002173d
+	_mapElementIdToCellId (func ptr): 0x400217c7
+	_isInCell (func ptr): 0x4002185a
+	_cellOf (func ptr): 0x40021a5d
+	_getShadowInfo (func ptr): 0x40021c50
+	mesh (ptr): 0x8066280
+RandomParticleLayout (ptr): 0x8067c78:
+PerCellParticleLayout (ptr): 0x8067c78
+ParticleLayout (ptr): 0x8067c78
+Stg_Class (ptr): 0x8067c78
+	sizeOfSelf: 132
 	_deleteSelf: Yes
 	type: RandomParticleLayout
-	_delete (func ptr): 0xb7f1ab05
-	_print (func ptr): 0xb7f1ab2e
-	_copy (func ptr): 0xb7f1abbe
-	_setInitialCounts (func ptr): 0xb7f1a579
-	_initialiseParticles (func ptr): 0xb7f1a710
+	_delete (func ptr): 0x4002aed3
+	_print (func ptr): 0x4002aefc
+	_copy (func ptr): 0x4002af8f
+	_setInitialCounts (func ptr): 0x4002a335
+	_initialiseParticles (func ptr): 0x4002a4d2
 	coordSystem: GlobalCoordSystem
 	weightsInitialisedAtStartup : False
-	_initialCount (func ptr): 0xb7f1ad91
-	_initialiseParticlesOfCell (func ptr): 0xb7f1ada5
+	_initialCount (func ptr): 0x4002b168
+	_initialiseParticlesOfCell (func ptr): 0x4002b17c
 	cellParticleCount: 4
 	seed: 13
 	cellLocalCount: 12
 	cellDomainCount: 12
 	cellShadowCount: 0
-	cellPointCountTbl (ptr): 0x8064484
+	cellPointCountTbl (ptr): 0x8069710
 	cellPointCountTbl[0-12]: 008 008 008 008 008 008 008 008 008 008 008 008 
-	cellPointTbl (ptr): 0x8064cd4
+	cellPointTbl (ptr): 0x8069750
 	cellPointTbl[0-12]: {
 	cellPointTbl[0][0-8]: {0 0 0} {150 0 0} {150 4 0} {0 4 0} {0 0 150} {150 0 150} {150 4 150} {0 4 150} 
 	cellPointTbl[1][0-8]: {150 0 0} {300 0 0} {300 4 0} {150 4 0} {150 0 150} {300 0 150} {300 4 150} {150 4 150} 
@@ -95,11 +105,11 @@
 	cellPointTbl[11][0-8]: {150 8 150} {300 8 150} {300 12 150} {150 12 150} {150 8 300} {300 8 300} {300 12 300} {150 12 300} 
 }
 
-	cellParticleCountTbl (ptr): 0x8064e8c
+	cellParticleCountTbl (ptr): 0x8069910
 	cellParticleCountTbl[0-12]: 004 004 004 004 004 004 004 004 004 004 004 004 
-	cellParticleSizeTbl (ptr): 0x8064ec4
+	cellParticleSizeTbl (ptr): 0x8069950
 	cellParticleSizeTbl[0-12]: 004 004 004 004 004 004 004 004 004 004 004 004 
-	cellParticleTbl (ptr): 0x8064efc
+	cellParticleTbl (ptr): 0x8069990
 	cellParticleTbl [0-12]: {
 		cellParticleTbl[0][0-4]:
 			(part. index) 0
@@ -176,7 +186,7 @@
 	}
 	particlesArraySize: 50
 	particlesArrayDelta: 2
-	particlesArrayDelta: 0.05
+	extraParticlesFactor: 0.05
 
 Printing coords of all local processor particles:
 	local particle      0: ( 36.393,  2.6846,  24.175)

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,85 +1,95 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3623. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
-Swarm (ptr): 0x8064484
-Stg_Component (ptr): 0x8064484
-Stg_Object (ptr): 0x8064484
-	Stg_Class (ptr): 0x8064484
-		sizeOfSelf: 188
+Swarm (ptr): 0x80683c0
+Stg_Component (ptr): 0x80683c0
+Stg_Object (ptr): 0x80683c0
+	Stg_Class (ptr): 0x80683c0
+		sizeOfSelf: 220
 		_deleteSelf: Yes
 		type: Swarm
-		_delete (func ptr): 0xb7f0b792
-		_print (func ptr): 0xb7f0b89d
-		_copy (func ptr): 0xb7f0be73
+		_delete (func ptr): 0x4002cbb0
+		_print (func ptr): 0x4002ccc4
+		_copy (func ptr): 0x4002d2d9
 	name: testSwarm
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7f0b288
-	_construct (func ptr): 0xb7f0c6e9
-	_build (func ptr): 0xb7f0c979
-	_initialise (func ptr): 0xb7f0c9cd
-	_execute (func ptr): 0xb7f0ca21
-	_destroy (func ptr): 0xb7f0ca26
+	_defaultConstructor (func ptr): 0x4002dbd4
+	_construct (func ptr): 0x4002dcb7
+	_build (func ptr): 0x4002def7
+	_initialise (func ptr): 0x4002e21e
+	_execute (func ptr): 0x4002e2f7
+	_destroy (func ptr): 0x4002e2fc
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-ElementCellLayout (ptr): 0x806412c
-CellLayout (ptr): 0x806412c
-Stg_Component (ptr): 0x806412c
-Stg_Object (ptr): 0x806412c
-	Stg_Class (ptr): 0x806412c
-		sizeOfSelf: 112
+	constructor function name: testSwarm-Construct
+	build function name: testSwarm-Build
+	initialise function name: testSwarm-Initialise
+	execute function name: testSwarm-Execute
+	destroy function name: testSwarm-Destroy
+ElementCellLayout (ptr): 0x80679b8
+CellLayout (ptr): 0x80679b8
+Stg_Component (ptr): 0x80679b8
+Stg_Object (ptr): 0x80679b8
+	Stg_Class (ptr): 0x80679b8
+		sizeOfSelf: 132
 		_deleteSelf: Yes
 		type: ElementCellLayout
-		_delete (func ptr): 0xb7f01b32
-		_print (func ptr): 0xb7f01b5b
-		_copy (func ptr): 0xb7f01bcc
+		_delete (func ptr): 0x400214dc
+		_print (func ptr): 0x40021505
+		_copy (func ptr): 0x40021579
 	name: elementCellLayout
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7f01678
-	_construct (func ptr): 0xb7f01c98
-	_build (func ptr): 0xb7f01d0c
-	_initialise (func ptr): 0xb7f01d11
-	_execute (func ptr): 0xb7f01d16
-	_destroy (func ptr): 0xb7f01d1b
+	_defaultConstructor (func ptr): 0x40021010
+	_construct (func ptr): 0x40021651
+	_build (func ptr): 0x400216c5
+	_initialise (func ptr): 0x400216ca
+	_execute (func ptr): 0x400216cf
+	_destroy (func ptr): 0x400216d4
 	isConstructed: True
 	isBuilt: False
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_cellLocalCount (func ptr): 0xb7f01d20
-	_cellShadowCount (func ptr): 0xb7f01d3a
-	_pointCount (func ptr): 0xb7f01d54
-	_initialisePoints (func ptr): 0xb7f01d7b
-	_mapElementIdToCellId (func ptr): 0xb7f01dfc
-	_isInCell (func ptr): 0xb7f01e04
-	_cellOf (func ptr): 0xb7f01e64
-	_getShadowInfo (func ptr): 0xb7f01eaf
-	mesh (ptr): 0x8062f14
-RandomParticleLayout (ptr): 0x80642c4:
-PerCellParticleLayout (ptr): 0x80642c4
-ParticleLayout (ptr): 0x80642c4
-Stg_Class (ptr): 0x80642c4
-	sizeOfSelf: 108
+	constructor function name: elementCellLayout-Construct
+	build function name: elementCellLayout-Build
+	initialise function name: elementCellLayout-Initialise
+	execute function name: elementCellLayout-Execute
+	destroy function name: elementCellLayout-Destroy
+	_cellLocalCount (func ptr): 0x400216d9
+	_cellShadowCount (func ptr): 0x400216f6
+	_pointCount (func ptr): 0x40021713
+	_initialisePoints (func ptr): 0x4002173d
+	_mapElementIdToCellId (func ptr): 0x400217c7
+	_isInCell (func ptr): 0x4002185a
+	_cellOf (func ptr): 0x40021a5d
+	_getShadowInfo (func ptr): 0x40021c50
+	mesh (ptr): 0x8066688
+RandomParticleLayout (ptr): 0x8067df0:
+PerCellParticleLayout (ptr): 0x8067df0
+ParticleLayout (ptr): 0x8067df0
+Stg_Class (ptr): 0x8067df0
+	sizeOfSelf: 132
 	_deleteSelf: Yes
 	type: RandomParticleLayout
-	_delete (func ptr): 0xb7f09b05
-	_print (func ptr): 0xb7f09b2e
-	_copy (func ptr): 0xb7f09bbe
-	_setInitialCounts (func ptr): 0xb7f09579
-	_initialiseParticles (func ptr): 0xb7f09710
+	_delete (func ptr): 0x4002aed3
+	_print (func ptr): 0x4002aefc
+	_copy (func ptr): 0x4002af8f
+	_setInitialCounts (func ptr): 0x4002a335
+	_initialiseParticles (func ptr): 0x4002a4d2
 	coordSystem: GlobalCoordSystem
 	weightsInitialisedAtStartup : False
-	_initialCount (func ptr): 0xb7f09d91
-	_initialiseParticlesOfCell (func ptr): 0xb7f09da5
+	_initialCount (func ptr): 0x4002b168
+	_initialiseParticlesOfCell (func ptr): 0x4002b17c
 	cellParticleCount: 4
 	seed: 13
 	cellLocalCount: 8
 	cellDomainCount: 8
 	cellShadowCount: 0
-	cellPointCountTbl (ptr): 0x8064e04
+	cellPointCountTbl (ptr): 0x8069078
 	cellPointCountTbl[0-8]: 008 008 008 008 008 008 008 008 
-	cellPointTbl (ptr): 0x8064e2c
+	cellPointTbl (ptr): 0x80698a0
 	cellPointTbl[0-8]: {
 	cellPointTbl[0][0-8]: {0 0 0} {150 0 0} {150 4 0} {0 4 0} {0 0 150} {150 0 150} {150 4 150} {0 4 150} 
 	cellPointTbl[1][0-8]: {150 0 0} {300 0 0} {300 4 0} {150 4 0} {150 0 150} {300 0 150} {300 4 150} {150 4 150} 
@@ -91,11 +101,11 @@
 	cellPointTbl[7][0-8]: {150 4 150} {300 4 150} {300 8 150} {150 8 150} {150 4 300} {300 4 300} {300 8 300} {150 8 300} 
 }
 
-	cellParticleCountTbl (ptr): 0x8064f54
+	cellParticleCountTbl (ptr): 0x80699d0
 	cellParticleCountTbl[0-8]: 004 004 004 004 004 004 004 004 
-	cellParticleSizeTbl (ptr): 0x8064f7c
+	cellParticleSizeTbl (ptr): 0x8069a00
 	cellParticleSizeTbl[0-8]: 004 004 004 004 004 004 004 004 
-	cellParticleTbl (ptr): 0x8064fa4
+	cellParticleTbl (ptr): 0x8069a30
 	cellParticleTbl [0-8]: {
 		cellParticleTbl[0][0-4]:
 			(part. index) 0
@@ -148,7 +158,7 @@
 	}
 	particlesArraySize: 33
 	particlesArrayDelta: 1
-	particlesArrayDelta: 0.05
+	extraParticlesFactor: 0.05
 
 Printing coords of all local processor particles:
 	local particle      0: ( 36.393,  2.6846,  24.175)

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarm.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,85 +1,95 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3623. Copyright (C) 2003-2005 VPAC.
 Watching rank: 1
-Swarm (ptr): 0x806354c
-Stg_Component (ptr): 0x806354c
-Stg_Object (ptr): 0x806354c
-	Stg_Class (ptr): 0x806354c
-		sizeOfSelf: 188
+Swarm (ptr): 0x80673d0
+Stg_Component (ptr): 0x80673d0
+Stg_Object (ptr): 0x80673d0
+	Stg_Class (ptr): 0x80673d0
+		sizeOfSelf: 220
 		_deleteSelf: Yes
 		type: Swarm
-		_delete (func ptr): 0xb7f09792
-		_print (func ptr): 0xb7f0989d
-		_copy (func ptr): 0xb7f09e73
+		_delete (func ptr): 0x4002cbb0
+		_print (func ptr): 0x4002ccc4
+		_copy (func ptr): 0x4002d2d9
 	name: testSwarm
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7f09288
-	_construct (func ptr): 0xb7f0a6e9
-	_build (func ptr): 0xb7f0a979
-	_initialise (func ptr): 0xb7f0a9cd
-	_execute (func ptr): 0xb7f0aa21
-	_destroy (func ptr): 0xb7f0aa26
+	_defaultConstructor (func ptr): 0x4002dbd4
+	_construct (func ptr): 0x4002dcb7
+	_build (func ptr): 0x4002def7
+	_initialise (func ptr): 0x4002e21e
+	_execute (func ptr): 0x4002e2f7
+	_destroy (func ptr): 0x4002e2fc
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-ElementCellLayout (ptr): 0x80632d4
-CellLayout (ptr): 0x80632d4
-Stg_Component (ptr): 0x80632d4
-Stg_Object (ptr): 0x80632d4
-	Stg_Class (ptr): 0x80632d4
-		sizeOfSelf: 112
+	constructor function name: testSwarm-Construct
+	build function name: testSwarm-Build
+	initialise function name: testSwarm-Initialise
+	execute function name: testSwarm-Execute
+	destroy function name: testSwarm-Destroy
+ElementCellLayout (ptr): 0x8066a28
+CellLayout (ptr): 0x8066a28
+Stg_Component (ptr): 0x8066a28
+Stg_Object (ptr): 0x8066a28
+	Stg_Class (ptr): 0x8066a28
+		sizeOfSelf: 132
 		_deleteSelf: Yes
 		type: ElementCellLayout
-		_delete (func ptr): 0xb7effb32
-		_print (func ptr): 0xb7effb5b
-		_copy (func ptr): 0xb7effbcc
+		_delete (func ptr): 0x400214dc
+		_print (func ptr): 0x40021505
+		_copy (func ptr): 0x40021579
 	name: elementCellLayout
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0xb7eff678
-	_construct (func ptr): 0xb7effc98
-	_build (func ptr): 0xb7effd0c
-	_initialise (func ptr): 0xb7effd11
-	_execute (func ptr): 0xb7effd16
-	_destroy (func ptr): 0xb7effd1b
+	_defaultConstructor (func ptr): 0x40021010
+	_construct (func ptr): 0x40021651
+	_build (func ptr): 0x400216c5
+	_initialise (func ptr): 0x400216ca
+	_execute (func ptr): 0x400216cf
+	_destroy (func ptr): 0x400216d4
 	isConstructed: True
 	isBuilt: False
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_cellLocalCount (func ptr): 0xb7effd20
-	_cellShadowCount (func ptr): 0xb7effd3a
-	_pointCount (func ptr): 0xb7effd54
-	_initialisePoints (func ptr): 0xb7effd7b
-	_mapElementIdToCellId (func ptr): 0xb7effdfc
-	_isInCell (func ptr): 0xb7effe04
-	_cellOf (func ptr): 0xb7effe64
-	_getShadowInfo (func ptr): 0xb7effeaf
-	mesh (ptr): 0x806211c
-RandomParticleLayout (ptr): 0x806341c:
-PerCellParticleLayout (ptr): 0x806341c
-ParticleLayout (ptr): 0x806341c
-Stg_Class (ptr): 0x806341c
-	sizeOfSelf: 108
+	constructor function name: elementCellLayout-Construct
+	build function name: elementCellLayout-Build
+	initialise function name: elementCellLayout-Initialise
+	execute function name: elementCellLayout-Execute
+	destroy function name: elementCellLayout-Destroy
+	_cellLocalCount (func ptr): 0x400216d9
+	_cellShadowCount (func ptr): 0x400216f6
+	_pointCount (func ptr): 0x40021713
+	_initialisePoints (func ptr): 0x4002173d
+	_mapElementIdToCellId (func ptr): 0x400217c7
+	_isInCell (func ptr): 0x4002185a
+	_cellOf (func ptr): 0x40021a5d
+	_getShadowInfo (func ptr): 0x40021c50
+	mesh (ptr): 0x8065908
+RandomParticleLayout (ptr): 0x8066ee8:
+PerCellParticleLayout (ptr): 0x8066ee8
+ParticleLayout (ptr): 0x8066ee8
+Stg_Class (ptr): 0x8066ee8
+	sizeOfSelf: 132
 	_deleteSelf: Yes
 	type: RandomParticleLayout
-	_delete (func ptr): 0xb7f07b05
-	_print (func ptr): 0xb7f07b2e
-	_copy (func ptr): 0xb7f07bbe
-	_setInitialCounts (func ptr): 0xb7f07579
-	_initialiseParticles (func ptr): 0xb7f07710
+	_delete (func ptr): 0x4002aed3
+	_print (func ptr): 0x4002aefc
+	_copy (func ptr): 0x4002af8f
+	_setInitialCounts (func ptr): 0x4002a335
+	_initialiseParticles (func ptr): 0x4002a4d2
 	coordSystem: GlobalCoordSystem
 	weightsInitialisedAtStartup : False
-	_initialCount (func ptr): 0xb7f07d91
-	_initialiseParticlesOfCell (func ptr): 0xb7f07da5
+	_initialCount (func ptr): 0x4002b168
+	_initialiseParticlesOfCell (func ptr): 0x4002b17c
 	cellParticleCount: 4
 	seed: 13
 	cellLocalCount: 4
 	cellDomainCount: 4
 	cellShadowCount: 0
-	cellPointCountTbl (ptr): 0x8063dec
+	cellPointCountTbl (ptr): 0x8068058
 	cellPointCountTbl[0-4]: 008 008 008 008 
-	cellPointTbl (ptr): 0x8063e04
+	cellPointTbl (ptr): 0x8068880
 	cellPointTbl[0-4]: {
 	cellPointTbl[0][0-8]: {0 8 0} {150 8 0} {150 12 0} {0 12 0} {0 8 150} {150 8 150} {150 12 150} {0 12 150} 
 	cellPointTbl[1][0-8]: {150 8 0} {300 8 0} {300 12 0} {150 12 0} {150 8 150} {300 8 150} {300 12 150} {150 12 150} 
@@ -87,11 +97,11 @@
 	cellPointTbl[3][0-8]: {150 8 150} {300 8 150} {300 12 150} {150 12 150} {150 8 300} {300 8 300} {300 12 300} {150 12 300} 
 }
 
-	cellParticleCountTbl (ptr): 0x8063e9c
+	cellParticleCountTbl (ptr): 0x8068920
 	cellParticleCountTbl[0-4]: 004 004 004 004 
-	cellParticleSizeTbl (ptr): 0x8063eb4
+	cellParticleSizeTbl (ptr): 0x8068940
 	cellParticleSizeTbl[0-4]: 004 004 004 004 
-	cellParticleTbl (ptr): 0x8063ecc
+	cellParticleTbl (ptr): 0x8068960
 	cellParticleTbl [0-4]: {
 		cellParticleTbl[0][0-4]:
 			(part. index) 0
@@ -118,9 +128,9 @@
 			(part. index) 15
 
 	}
-	particlesArraySize: 21
-	particlesArrayDelta: 5
-	particlesArrayDelta: 0.05
+	particlesArraySize: 116
+	particlesArrayDelta: 100
+	extraParticlesFactor: 0.05
 
 Printing coords of all local processor particles:
 	local particle      0: ( 36.393,  10.685,  24.175)

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,4 +1,4 @@
-StGermain Framework revision 3385. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3585. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
 Calculated attractor point is at (0.333333,0.333333,0.333333):
 
@@ -6,5 +6,5 @@
 
 Starting timestep 2:
 
-Comparing the 144 local Particles between old and new swarms:
+Comparing the 32768 local Particles between old and new swarms:
 	Passed: swarms are identical.

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,4 +1,4 @@
-StGermain Framework revision 3385. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3585. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
 Calculated attractor point is at (0.333333,0.333333,0.333333):
 
@@ -6,5 +6,5 @@
 
 Starting timestep 2:
 
-Comparing the 101 local Particles between old and new swarms:
+Comparing the 23197 local Particles between old and new swarms:
 	Passed: swarms are identical.

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,4 +1,4 @@
-StGermain Framework revision 3385. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3585. Copyright (C) 2003-2005 VPAC.
 Watching rank: 1
 Calculated attractor point is at (0.333333,0.333333,0.333333):
 
@@ -6,5 +6,5 @@
 
 Starting timestep 2:
 
-Comparing the 43 local Particles between old and new swarms:
+Comparing the 9571 local Particles between old and new swarms:
 	Passed: swarms are identical.

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmDumpAndLoad.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -49,6 +49,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <assert.h>
 
 
 struct _Node {
@@ -135,13 +136,16 @@
 	}
 	if( rank == procToWatch ) printf( "Watching rank: %i\n", rank );
 	
+	Stream_Enable( Journal_Register( Info_Type, SwarmDump_Type ), False );
+	
 	/* Read input */
 	dictionary = Dictionary_New();
 	Dictionary_Add( dictionary, "rank", Dictionary_Entry_Value_FromUnsignedInt( rank ) );
 	Dictionary_Add( dictionary, "numProcessors", Dictionary_Entry_Value_FromUnsignedInt( numProcessors ) );
-	Dictionary_Add( dictionary, "meshSizeI", Dictionary_Entry_Value_FromUnsignedInt( 13 ) );
-	Dictionary_Add( dictionary, "meshSizeJ", Dictionary_Entry_Value_FromUnsignedInt( 13 ) );
-	Dictionary_Add( dictionary, "meshSizeK", Dictionary_Entry_Value_FromUnsignedInt( 2 ) );
+	Dictionary_Add( dictionary, "dim", Dictionary_Entry_Value_FromUnsignedInt( 3 ) );
+	Dictionary_Add( dictionary, "meshSizeI", Dictionary_Entry_Value_FromUnsignedInt( 33 ) );
+	Dictionary_Add( dictionary, "meshSizeJ", Dictionary_Entry_Value_FromUnsignedInt( 33 ) );
+	Dictionary_Add( dictionary, "meshSizeK", Dictionary_Entry_Value_FromUnsignedInt( 33 ) );
 	Dictionary_Add( dictionary, "allowUnbalancing", Dictionary_Entry_Value_FromBool( True ) );
 	Dictionary_Add( dictionary, "minX", Dictionary_Entry_Value_FromDouble( 0.0f ) );
 	Dictionary_Add( dictionary, "minY", Dictionary_Entry_Value_FromDouble( 0.0f ) );
@@ -157,7 +161,7 @@
 	nTopology = (Topology*)IJK6Topology_New( "IJK6Topology", dictionary );
 	eLayout = (ElementLayout*)ParallelPipedHexaEL_New( "PPHexaEL", 3, dictionary );
 	nLayout = (NodeLayout*)CornerNL_New( "CornerNL", dictionary, eLayout, nTopology );
-	decomp = (MeshDecomp*)HexaMD_New( "HexaMD", dictionary, MPI_COMM_WORLD, eLayout, nLayout );
+	decomp = (MeshDecomp*)HexaMD_New( "HexaMD", dictionary, CommWorld, eLayout, nLayout );
 	layout = MeshLayout_New( "Meshlayout", eLayout, nLayout, decomp );
 	
 	/* Init mesh */
@@ -246,6 +250,8 @@
 	Build( newSwarm, 0, False );
 	Initialise( newSwarm, 0, False );
 
+	assert( newSwarm->particleLocalCount == swarm->particleLocalCount );
+
 	if( rank == procToWatch ) {
 		printf( "\nComparing the %d local Particles between old and new swarms:\n", swarm->particleLocalCount );
 		for ( lParticle_I = 0; lParticle_I < swarm->particleLocalCount; lParticle_I++ ) {

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmOutput.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmOutput.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmOutput.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -155,9 +155,12 @@
 	LiveComponentRegister_BuildAll( cf->LCRegister, context );
 	LiveComponentRegister_InitialiseAll( cf->LCRegister, context );
 
+	Stg_Component_Build( context, 0 /* dummy */, False );
+	Stg_Component_Initialise( context, 0 /* dummy */, False );
 	AbstractContext_Dump( context );
-	Context_Run( context );
-
+	Stg_Component_Execute( context, 0 /* dummy */, False );
+	Stg_Component_Destroy( context, 0 /* dummy */, False );
+	
 	/* Destroy stuff */
 	/* TODO LiveComponentRegister_DeleteAll( cf->LCRegister ); */
 	Stg_Class_Delete( extensionMgr_Register );

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmParticleAdvection.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmParticleAdvection.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testSwarmParticleAdvection.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -51,6 +51,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <unistd.h>
 
 
 struct _Node {
@@ -71,10 +72,14 @@
 	return 2.0;
 }
 
+// TODO: should be removed once we get saving of swarms onto disc context...
+void SaveSwarms( void* context );
+
 /** Global so other funcs can use */
 Index procToWatch = 0;
 
 int main( int argc, char* argv[] ) {
+	DiscretisationContext*          context;
 	MPI_Comm			CommWorld;
 	int				rank;
 	int				numProcessors;
@@ -82,7 +87,6 @@
 	Dictionary*                     componentDict;
 	Stg_ComponentFactory*           cf;
 	XML_IO_Handler*                 ioHandler;
-	DiscretisationContext*          context;
 	ExtensionManager_Register*      extensionMgr_Register;
 	SwarmVariable_Register*         swarmVariable_Register;
 	Stream*                         stream;
@@ -201,17 +205,31 @@
 		//Print( swarm, stream );
 	}	
 
+	Stg_Component_Build( context, 0 /* dummy */, False );
+	Stg_Component_Initialise( context, 0 /* dummy */, False );
+	
 	/* +++ RUN PHASE +++ */
 	AbstractContext_Dump( context );
 
 	ContextEP_ReplaceAll( context, AbstractContext_EP_Dt, Dt );
 
-	Context_Run( context );
+	/* TODO: this should actually live on the Disc. context - but we need to rearrange the directories a bit
+	first for this to happen - Main.PatrickSunter - 10 Jun 2006 */
+	ContextEP_Append( context, AbstractContext_EP_Save, SaveSwarms );
+	Stg_Component_Execute( context, 0 /* dummy */, False );
+	Stg_Component_Destroy( context, 0 /* dummy */, False );
 
-	/* Destroy stuff */
-	// TODO: LiveComponentRegister_DeleteAll( cf->LCRegister );
+	/* Delete stuff */
+	/* Deleting the component factory automatically deletes all components in it */
+	// TODO: should the component factory be renamed a comp. manager? Since it deletes
+	//	components as well?
+	Stg_Class_Delete( cf );
+	/* Remaining registers etc that don't live on the context or anything */
 	Stg_Class_Delete( extensionMgr_Register );
 	Stg_Class_Delete( swarmVariable_Register );
+	/* Input/Output stuff */
+	Stg_Class_Delete( dictionary );
+	Stg_Class_Delete( ioHandler );
 	
 	DiscretisationSwarm_Finalise();
 	DiscretisationUtils_Finalise();
@@ -223,6 +241,14 @@
 	
 	/* Close off MPI */
 	MPI_Finalize();
-	
+
 	return 0; /* success */
 }
+
+
+void SaveSwarms( void* context ) {
+	
+	Swarm_Register_SaveAllRegisteredSwarms( 
+		Swarm_Register_GetSwarm_Register(), context );
+}
+

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,48 +1,53 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
-WithinShapeParticleLayout (ptr): 0x80635c4:
-	SpaceFillerParticleLayout (ptr): 0x80635c4:
-		GlobalParticleLayout (ptr): 0x80635c4
-		ParticleLayout (ptr): 0x80635c4
-		Stg_Class (ptr): 0x80635c4
-			sizeOfSelf: 128
+WithinShapeParticleLayout (ptr): 0x8062748:
+	SpaceFillerParticleLayout (ptr): 0x8062748:
+		GlobalParticleLayout (ptr): 0x8062748
+		ParticleLayout (ptr): 0x8062748
+		Stg_Class (ptr): 0x8062748
+			sizeOfSelf: 148
 			_deleteSelf: Yes
 			type: WithinShapeParticleLayout
-			_delete (func ptr): 0xb7f6b84d
-			_print (func ptr): 0xb7f6b876
-			_copy (func ptr): 0xb7f6b8ed
-			_setInitialCounts (func ptr): 0xb7f5d3f3
-			_initialiseParticles (func ptr): 0xb7f6baf1
+			_delete (func ptr): 0xb7f3ae9f
+			_print (func ptr): 0xb7f3aec8
+			_copy (func ptr): 0xb7f3af42
+			_setInitialCounts (func ptr): 0xb7f2be93
+			_initialiseParticles (func ptr): 0xb7f3b169
 			coordSystem: GlobalCoordSystem
 			weightsInitialisedAtStartup : False
-			_initialiseParticle (func ptr): 0xb7f65181
+			_initialiseParticle (func ptr): 0xb7f33e1e
 			totalInitialParticles: 10
 			averageInitialParticlesPerCell: 1.25
 		self->dim = 3
-	Stg_Component (ptr): 0x8064344
-	Stg_Object (ptr): 0x8064344
-		Stg_Class (ptr): 0x8064344
-			sizeOfSelf: 188
+	Stg_Component (ptr): 0x8062508
+	Stg_Object (ptr): 0x8062508
+		Stg_Class (ptr): 0x8062508
+			sizeOfSelf: 224
 			_deleteSelf: Yes
 			type: Sphere
-			_delete (func ptr): 0xb7efec2c
-			_print (func ptr): 0xb7efec55
-			_copy (func ptr): 0xb7efec85
+			_delete (func ptr): 0xb7eb4e5d
+			_print (func ptr): 0xb7eb4e86
+			_copy (func ptr): 0xb7eb4eb6
 		name: testSphere
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0xb7efece2
-		_construct (func ptr): 0xb7efed7d
-		_build (func ptr): 0xb7efedeb
-		_initialise (func ptr): 0xb7efee1b
-		_execute (func ptr): 0xb7efee4b
-		_destroy (func ptr): 0xb7efee7b
+		_defaultConstructor (func ptr): 0xb7eb4f13
+		_construct (func ptr): 0xb7eb4fb8
+		_build (func ptr): 0xb7eb5026
+		_initialise (func ptr): 0xb7eb5056
+		_execute (func ptr): 0xb7eb5086
+		_destroy (func ptr): 0xb7eb50b6
 		isConstructed: True
 		isBuilt: False
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Stg_Shape (ptr): (0x8064344)
-	self->_isCoordInside = (ptr)0xb7efeeab
+		constructor function name: testSphere-Construct
+		build function name: testSphere-Build
+		initialise function name: testSphere-Initialise
+		execute function name: testSphere-Execute
+		destroy function name: testSphere-Destroy
+	Stg_Shape (ptr): (0x8062508)
+	self->_isCoordInside = (ptr)0xb7eb50e6
 Printing coords of all local particles, cell-by-cell:
 	Local Cell   0:
 	Local Cell   1:

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,48 +1,53 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Watching rank: 0
-WithinShapeParticleLayout (ptr): 0x806458c:
-	SpaceFillerParticleLayout (ptr): 0x806458c:
-		GlobalParticleLayout (ptr): 0x806458c
-		ParticleLayout (ptr): 0x806458c
-		Stg_Class (ptr): 0x806458c
-			sizeOfSelf: 128
+WithinShapeParticleLayout (ptr): 0x8062708:
+	SpaceFillerParticleLayout (ptr): 0x8062708:
+		GlobalParticleLayout (ptr): 0x8062708
+		ParticleLayout (ptr): 0x8062708
+		Stg_Class (ptr): 0x8062708
+			sizeOfSelf: 148
 			_deleteSelf: Yes
 			type: WithinShapeParticleLayout
-			_delete (func ptr): 0xb7f6384d
-			_print (func ptr): 0xb7f63876
-			_copy (func ptr): 0xb7f638ed
-			_setInitialCounts (func ptr): 0xb7f553f3
-			_initialiseParticles (func ptr): 0xb7f63af1
+			_delete (func ptr): 0xb7f63e9f
+			_print (func ptr): 0xb7f63ec8
+			_copy (func ptr): 0xb7f63f42
+			_setInitialCounts (func ptr): 0xb7f54e93
+			_initialiseParticles (func ptr): 0xb7f64169
 			coordSystem: GlobalCoordSystem
 			weightsInitialisedAtStartup : False
-			_initialiseParticle (func ptr): 0xb7f5d181
+			_initialiseParticle (func ptr): 0xb7f5ce1e
 			totalInitialParticles: 10
 			averageInitialParticlesPerCell: 1.25
 		self->dim = 3
-	Stg_Component (ptr): 0x80644c4
-	Stg_Object (ptr): 0x80644c4
-		Stg_Class (ptr): 0x80644c4
-			sizeOfSelf: 188
+	Stg_Component (ptr): 0x8062458
+	Stg_Object (ptr): 0x8062458
+		Stg_Class (ptr): 0x8062458
+			sizeOfSelf: 224
 			_deleteSelf: Yes
 			type: Sphere
-			_delete (func ptr): 0xb7ef6c2c
-			_print (func ptr): 0xb7ef6c55
-			_copy (func ptr): 0xb7ef6c85
+			_delete (func ptr): 0xb7edde5d
+			_print (func ptr): 0xb7edde86
+			_copy (func ptr): 0xb7eddeb6
 		name: testSphere
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0xb7ef6ce2
-		_construct (func ptr): 0xb7ef6d7d
-		_build (func ptr): 0xb7ef6deb
-		_initialise (func ptr): 0xb7ef6e1b
-		_execute (func ptr): 0xb7ef6e4b
-		_destroy (func ptr): 0xb7ef6e7b
+		_defaultConstructor (func ptr): 0xb7eddf13
+		_construct (func ptr): 0xb7eddfb8
+		_build (func ptr): 0xb7ede026
+		_initialise (func ptr): 0xb7ede056
+		_execute (func ptr): 0xb7ede086
+		_destroy (func ptr): 0xb7ede0b6
 		isConstructed: True
 		isBuilt: False
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Stg_Shape (ptr): (0x80644c4)
-	self->_isCoordInside = (ptr)0xb7ef6eab
+		constructor function name: testSphere-Construct
+		build function name: testSphere-Build
+		initialise function name: testSphere-Initialise
+		execute function name: testSphere-Execute
+		destroy function name: testSphere-Destroy
+	Stg_Shape (ptr): (0x8062458)
+	self->_isCoordInside = (ptr)0xb7ede0e6
 Printing coords of all local particles, cell-by-cell:
 	Local Cell   0:
 	Local Cell   1:

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/tests/testWithinShapeParticleLayout.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,48 +1,53 @@
-StGermain Framework revision 3378. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Watching rank: 1
-WithinShapeParticleLayout (ptr): 0x80637fc:
-	SpaceFillerParticleLayout (ptr): 0x80637fc:
-		GlobalParticleLayout (ptr): 0x80637fc
-		ParticleLayout (ptr): 0x80637fc
-		Stg_Class (ptr): 0x80637fc
-			sizeOfSelf: 128
+WithinShapeParticleLayout (ptr): 0x80626e8:
+	SpaceFillerParticleLayout (ptr): 0x80626e8:
+		GlobalParticleLayout (ptr): 0x80626e8
+		ParticleLayout (ptr): 0x80626e8
+		Stg_Class (ptr): 0x80626e8
+			sizeOfSelf: 148
 			_deleteSelf: Yes
 			type: WithinShapeParticleLayout
-			_delete (func ptr): 0xb7f1f84d
-			_print (func ptr): 0xb7f1f876
-			_copy (func ptr): 0xb7f1f8ed
-			_setInitialCounts (func ptr): 0xb7f113f3
-			_initialiseParticles (func ptr): 0xb7f1faf1
+			_delete (func ptr): 0xb7f87e9f
+			_print (func ptr): 0xb7f87ec8
+			_copy (func ptr): 0xb7f87f42
+			_setInitialCounts (func ptr): 0xb7f78e93
+			_initialiseParticles (func ptr): 0xb7f88169
 			coordSystem: GlobalCoordSystem
 			weightsInitialisedAtStartup : False
-			_initialiseParticle (func ptr): 0xb7f19181
+			_initialiseParticle (func ptr): 0xb7f80e1e
 			totalInitialParticles: 10
 			averageInitialParticlesPerCell: 1.25
 		self->dim = 3
-	Stg_Component (ptr): 0x8063734
-	Stg_Object (ptr): 0x8063734
-		Stg_Class (ptr): 0x8063734
-			sizeOfSelf: 188
+	Stg_Component (ptr): 0x8062438
+	Stg_Object (ptr): 0x8062438
+		Stg_Class (ptr): 0x8062438
+			sizeOfSelf: 224
 			_deleteSelf: Yes
 			type: Sphere
-			_delete (func ptr): 0xb7eb2c2c
-			_print (func ptr): 0xb7eb2c55
-			_copy (func ptr): 0xb7eb2c85
+			_delete (func ptr): 0xb7f01e5d
+			_print (func ptr): 0xb7f01e86
+			_copy (func ptr): 0xb7f01eb6
 		name: testSphere
 		nameAllocationType: NON_GLOBAL
-		_defaultConstructor (func ptr): 0xb7eb2ce2
-		_construct (func ptr): 0xb7eb2d7d
-		_build (func ptr): 0xb7eb2deb
-		_initialise (func ptr): 0xb7eb2e1b
-		_execute (func ptr): 0xb7eb2e4b
-		_destroy (func ptr): 0xb7eb2e7b
+		_defaultConstructor (func ptr): 0xb7f01f13
+		_construct (func ptr): 0xb7f01fb8
+		_build (func ptr): 0xb7f02026
+		_initialise (func ptr): 0xb7f02056
+		_execute (func ptr): 0xb7f02086
+		_destroy (func ptr): 0xb7f020b6
 		isConstructed: True
 		isBuilt: False
 		isInitialised: False
 		hasExecuted: False
 		isDestroyed: False
-	Stg_Shape (ptr): (0x8063734)
-	self->_isCoordInside = (ptr)0xb7eb2eab
+		constructor function name: testSphere-Construct
+		build function name: testSphere-Build
+		initialise function name: testSphere-Initialise
+		execute function name: testSphere-Execute
+		destroy function name: testSphere-Destroy
+	Stg_Shape (ptr): (0x8062438)
+	self->_isCoordInside = (ptr)0xb7f020e6
 Printing coords of all local particles, cell-by-cell:
 	Local Cell   0:
 		part. InCell   0 (local index      1): (0.52942, 0.49963, 0.48059)

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -63,10 +63,10 @@
 			NULL,
 			NULL,
 			NULL,
-			_DiscretisationContext_Build,
-			_DiscretisationContext_Initialise,
-			_DiscretisationContext_Execute,
-			_DiscretisationContext_Destroy,
+			_AbstractContext_Build,
+			_AbstractContext_Initialise,
+			_AbstractContext_Execute,
+			_AbstractContext_Destroy,
 			name,
 			True,
 			_DiscretisationContext_SetDt,
@@ -170,30 +170,6 @@
 	Print( self->fieldVariable_Register, stream );
 }
 
-void _DiscretisationContext_Build( void* context, void* data ) {
-	/* 
-	DiscretisationContext* self = (DiscretisationContext*)context;
-	TODO Call parent's virtual function _AbstractContext_Build( self, data ); */
-}
 
-void _DiscretisationContext_Initialise( void* context, void* data ) {
-	/* 
-	DiscretisationContext* self = (DiscretisationContext*)context;
-	TODO Call parent's virtual function _AbstractContext_Initialise( self, data ); */
-}
-
-void _DiscretisationContext_Execute( void* context, void* data ) {
-	/* 
-	DiscretisationContext* self = (DiscretisationContext*)context;
-	TODO Call parent's virtual function _AbstractContext_Execute( self, data ); */
-}
-
-void _DiscretisationContext_Destroy( void* context, void* data ) {
-	/* 
-	DiscretisationContext* self = (DiscretisationContext*)context;
-	TODO Call parent's virtual function _AbstractContext_Destroy( self, data ); */
-}
-
-
 void _DiscretisationContext_SetDt( void* context, double dt ) {
 }

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/DiscretisationContext.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -93,10 +93,6 @@
 	/* Print implementation */
 	void						_DiscretisationContext_Print( void* context, Stream* stream );
 	
-	void _DiscretisationContext_Build( void* context, void* data ) ;
-	void _DiscretisationContext_Initialise( void* context, void* data ) ;
-	void _DiscretisationContext_Execute( void* context, void* data ) ;
-	void _DiscretisationContext_Destroy( void* context, void* data ) ;
 	void _DiscretisationContext_SetDt( void* context, double dt ) ;
 
 #endif /* __DiscretisationContext_h__*/

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -44,6 +44,13 @@
 
 const Type FieldVariable_Type = "FieldVariable";
 
+const char* InterpolationResultToStringMap[4] = {
+	"OTHER_PROC",
+	"LOCAL",
+	"SHADOW",
+	"OUTSIDE_GLOBAL"
+	};
+
 FieldVariable* FieldVariable_DefaultNew( Name name )
 {
 		return _FieldVariable_New( 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/FieldVariable.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -71,6 +71,9 @@
 		OUTSIDE_GLOBAL	/**< The value wasn't interpolated, as the requested co-ord is outside the entire field */
 	} InterpolationResult;
 	
+	/** Mapping to convert an interpolation result to a string for debug purposes */
+	extern const char* InterpolationResultToStringMap[4];
+	
 	typedef InterpolationResult	(FieldVariable_InterpolateValueAtFunction) ( void* fieldVariable, Coord coord, double* value );
 	typedef double	(FieldVariable_GetValueFunction) ( void* fieldVariable );
 	typedef void	(FieldVariable_GetCoordFunction) ( void* fieldVariable, Coord min, Coord max );

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -351,7 +351,20 @@
 
 	TensorArray_GetTrace( velocityGradient, self->dim, result );
 }
+void Operator_TensorInnerProduct( void* operator, double* operand0, double* operand1, double* result ) {
+	Operator* self = (Operator*)operator;
+	
+	Operator_FirewallBinary( self );
 
+	if( self->dim == 2 ) {
+		*result = operand0[0] * operand1[0] + operand0[1] * operand1[1] + ( 2 * operand0[2] * operand1[2] );
+	} else {
+		*result = operand0[0] * operand1[0]
+		       	+ operand0[1] * operand1[1] 
+			+ operand0[2] * operand1[2] 
+			+ 2.0 * (operand0[3] * operand1[3] + operand0[4] * operand1[4] + operand0[5] * operand1[5] );
+	}
+}
 
 
 
@@ -429,6 +442,11 @@
 		resultDofs = dim;
 		numberOfOperands = 2;
 		_carryOut = Operator_VectorScale;
+	} 
+	else if ( ! strcasecmp( name, "TensorInnerProduct" ) ){ 
+		resultDofs = 1;
+		numberOfOperands = 2;
+		_carryOut = Operator_TensorInnerProduct;
 	}
 	else if ( ! strcasecmp( name, "HorizontalDivergence" ) ){ 
 		resultDofs = 1;

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/Operator.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -103,6 +103,7 @@
 	void Operator_HorizontalDivergence( void* operatorObject, double* velocityGradient, double* result ) ;
 	void Operator_VerticalVorticity( void* operatorObject, double* velocityGradient, double* result ) ;
 	void Operator_Divergence( void* operatorObject, double* velocityGradient, double* result ) ;
+	void Operator_TensorInnerProduct( void* operatorOject, double* operand0, double* operand1, double* result );
 
 	Operator* Operator_NewFromName( 
 		Name                                       name, 		

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/SobolGenerator.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/SobolGenerator.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/src/SobolGenerator.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -119,10 +119,10 @@
 void _SobolGenerator_Delete( void* sobolGenerator ) {
 	SobolGenerator* self = (SobolGenerator*) sobolGenerator;
 
-	_Stg_Object_Delete( self );
-
 	Memory_Free( self->directionalNumberIsCalc );
 	Memory_Free( self->directionalNumberList );
+
+	_Stg_Object_Delete( self );
 }
 
 void _SobolGenerator_Print( void* sobolGenerator, Stream* stream ) {

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x517774
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8060520
+	dictionary (ptr): 0x805d4c0
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x515514
+	_entryTbl (ptr): 0x8061258
 		_entryTbl[0]:
-			varName (ptr): 0x50b964
+			varName (ptr): 0x8066d68
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c3d4
+			varName (ptr): 0x805da08
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50ce54
+			varName (ptr): 0x8066e58
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50bed4
+			varName (ptr): 0x805dd38
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x518264
+				asDoubleArray (ptr): 0x8067720
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x517774
-Component (ptr): 0x517774
-Stg_Object (ptr): 0x517774
-	Stg_Class (ptr): 0x517774
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8060520
+Stg_Component (ptr): 0x8060520
+Stg_Object (ptr): 0x8060520
+	Stg_Class (ptr): 0x8060520
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7f749ba
+		_print (func ptr): 0xb7f74a00
+		_copy (func ptr): 0xb7f74ebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7f73de0
+	_construct (func ptr): 0xb7f750c1
+	_build (func ptr): 0xb7f7507f
+	_initialise (func ptr): 0xb7ed9de2
+	_execute (func ptr): 0xb7ed9ea6
+	_destroy (func ptr): 0xb7ed9ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x515024
-	conFunc_Register (ptr): 0x514ce4
-	_set (ptr): 0x518344
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7f75110
+	_getVariableCount (func ptr): 0xb7f7515c
+	_getVariableIndex (func ptr): 0xb7f75173
+	_getValueIndex (func ptr): 0xb7f751ba
+	_getValueCount (func ptr): 0xb7f751c2
+	_getValue (func ptr): 0xb7f751d9
+	variable_Register (ptr): 0x8068cf8
+	conFunc_Register (ptr): 0x805a9c0
+	_set (ptr): 0x80612a8
 	indexCount: 64
-	indexTbl (ptr): 0x518464
+	indexTbl (ptr): 0x80612f8
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -134,7 +139,7 @@
 		indexTbl[61]: 61
 		indexTbl[62]: 62
 		indexTbl[63]: 63
-	vcVarCountTbl (ptr): 0x5185d4
+	vcVarCountTbl (ptr): 0x8061408
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -199,7 +204,7 @@
 		vcVarCountTbl[61]: 4
 		vcVarCountTbl[62]: 4
 		vcVarCountTbl[63]: 4
-	vcTbl (ptr): 0x180e404
+	vcTbl (ptr): 0x8061518
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -969,7 +974,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x518ab4
+	valueTbl (ptr): 0x8067208
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -982,7 +987,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x518264
+			asDoubleArray (ptr): 0x8067720
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x518b04
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8068138
+	dictionary (ptr): 0x805d578
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x5160c4
+	_entryTbl (ptr): 0x8068890
 		_entryTbl[0]:
-			varName (ptr): 0x50bef4
+			varName (ptr): 0x8066e70
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c964
+			varName (ptr): 0x805dae0
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50d3e4
+			varName (ptr): 0x8066f60
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50c464
+			varName (ptr): 0x805de80
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x519594
+				asDoubleArray (ptr): 0x8068a18
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x518b04
-Component (ptr): 0x518b04
-Stg_Object (ptr): 0x518b04
-	Stg_Class (ptr): 0x518b04
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8068138
+Stg_Component (ptr): 0x8068138
+Stg_Object (ptr): 0x8068138
+	Stg_Class (ptr): 0x8068138
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7f139ba
+		_print (func ptr): 0xb7f13a00
+		_copy (func ptr): 0xb7f13ebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7f12de0
+	_construct (func ptr): 0xb7f140c1
+	_build (func ptr): 0xb7f1407f
+	_initialise (func ptr): 0xb7e78de2
+	_execute (func ptr): 0xb7e78ea6
+	_destroy (func ptr): 0xb7e78ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x515a54
-	conFunc_Register (ptr): 0x515714
-	_set (ptr): 0x519674
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7f14110
+	_getVariableCount (func ptr): 0xb7f1415c
+	_getVariableIndex (func ptr): 0xb7f14173
+	_getValueIndex (func ptr): 0xb7f141ba
+	_getValueCount (func ptr): 0xb7f141c2
+	_getValue (func ptr): 0xb7f141d9
+	variable_Register (ptr): 0x8068dc0
+	conFunc_Register (ptr): 0x805aa18
+	_set (ptr): 0x8068f40
 	indexCount: 48
-	indexTbl (ptr): 0x519794
+	indexTbl (ptr): 0x8060fa8
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -118,7 +123,7 @@
 		indexTbl[45]: 45
 		indexTbl[46]: 46
 		indexTbl[47]: 47
-	vcVarCountTbl (ptr): 0x5198c4
+	vcVarCountTbl (ptr): 0x8061078
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -167,7 +172,7 @@
 		vcVarCountTbl[45]: 4
 		vcVarCountTbl[46]: 4
 		vcVarCountTbl[47]: 4
-	vcTbl (ptr): 0x180ca04
+	vcTbl (ptr): 0x8061148
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -745,7 +750,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x519d94
+	valueTbl (ptr): 0x8068f90
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -758,7 +763,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x519594
+			asDoubleArray (ptr): 0x8068a18
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x5184d4
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8067eb0
+	dictionary (ptr): 0x805d580
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x515d14
+	_entryTbl (ptr): 0x8068898
 		_entryTbl[0]:
-			varName (ptr): 0x50be04
+			varName (ptr): 0x8066e78
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c874
+			varName (ptr): 0x805dae8
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50d2f4
+			varName (ptr): 0x8066f68
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50c374
+			varName (ptr): 0x805de88
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x518f04
+				asDoubleArray (ptr): 0x8068f98
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x5184d4
-Component (ptr): 0x5184d4
-Stg_Object (ptr): 0x5184d4
-	Stg_Class (ptr): 0x5184d4
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8067eb0
+Stg_Component (ptr): 0x8067eb0
+Stg_Object (ptr): 0x8067eb0
+	Stg_Class (ptr): 0x8067eb0
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7f8e9ba
+		_print (func ptr): 0xb7f8ea00
+		_copy (func ptr): 0xb7f8eebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7f8dde0
+	_construct (func ptr): 0xb7f8f0c1
+	_build (func ptr): 0xb7f8f07f
+	_initialise (func ptr): 0xb7ef3de2
+	_execute (func ptr): 0xb7ef3ea6
+	_destroy (func ptr): 0xb7ef3ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x515724
-	conFunc_Register (ptr): 0x5153e4
-	_set (ptr): 0x518fe4
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7f8f110
+	_getVariableCount (func ptr): 0xb7f8f15c
+	_getVariableIndex (func ptr): 0xb7f8f173
+	_getValueIndex (func ptr): 0xb7f8f1ba
+	_getValueCount (func ptr): 0xb7f8f1c2
+	_getValue (func ptr): 0xb7f8f1d9
+	variable_Register (ptr): 0x8068dc8
+	conFunc_Register (ptr): 0x805aa20
+	_set (ptr): 0x8068d78
 	indexCount: 32
-	indexTbl (ptr): 0x519104
+	indexTbl (ptr): 0x80683b8
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -102,7 +107,7 @@
 		indexTbl[29]: 29
 		indexTbl[30]: 30
 		indexTbl[31]: 31
-	vcVarCountTbl (ptr): 0x5191f4
+	vcVarCountTbl (ptr): 0x8068448
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -135,7 +140,7 @@
 		vcVarCountTbl[29]: 4
 		vcVarCountTbl[30]: 4
 		vcVarCountTbl[31]: 4
-	vcTbl (ptr): 0x180c804
+	vcTbl (ptr): 0x8060a30
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -521,7 +526,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x519644
+	valueTbl (ptr): 0x8068e10
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -534,7 +539,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x518f04
+			asDoubleArray (ptr): 0x8068f98
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x518784
-	dictionary (ptr): 0x508364
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8067ea8
+	dictionary (ptr): 0x805d558
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x515fc4
+	_entryTbl (ptr): 0x8068870
 		_entryTbl[0]:
-			varName (ptr): 0x50be74
+			varName (ptr): 0x8066e50
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c8e4
+			varName (ptr): 0x805dac0
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50d364
+			varName (ptr): 0x8066f40
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50c3e4
+			varName (ptr): 0x805de60
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x5191b4
+				asDoubleArray (ptr): 0x8068f20
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x518784
-Component (ptr): 0x518784
-Stg_Object (ptr): 0x518784
-	Stg_Class (ptr): 0x518784
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8067ea8
+Stg_Component (ptr): 0x8067ea8
+Stg_Object (ptr): 0x8067ea8
+	Stg_Class (ptr): 0x8067ea8
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7f929ba
+		_print (func ptr): 0xb7f92a00
+		_copy (func ptr): 0xb7f92ebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7f91de0
+	_construct (func ptr): 0xb7f930c1
+	_build (func ptr): 0xb7f9307f
+	_initialise (func ptr): 0xb7ef7de2
+	_execute (func ptr): 0xb7ef7ea6
+	_destroy (func ptr): 0xb7ef7ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x5159d4
-	conFunc_Register (ptr): 0x515694
-	_set (ptr): 0x519294
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7f93110
+	_getVariableCount (func ptr): 0xb7f9315c
+	_getVariableIndex (func ptr): 0xb7f93173
+	_getValueIndex (func ptr): 0xb7f931ba
+	_getValueCount (func ptr): 0xb7f931c2
+	_getValue (func ptr): 0xb7f931d9
+	variable_Register (ptr): 0x8068da0
+	conFunc_Register (ptr): 0x805a9f8
+	_set (ptr): 0x8068f70
 	indexCount: 32
-	indexTbl (ptr): 0x5193b4
+	indexTbl (ptr): 0x80683b0
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -102,7 +107,7 @@
 		indexTbl[29]: 29
 		indexTbl[30]: 30
 		indexTbl[31]: 31
-	vcVarCountTbl (ptr): 0x5194a4
+	vcVarCountTbl (ptr): 0x8068440
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -135,7 +140,7 @@
 		vcVarCountTbl[29]: 4
 		vcVarCountTbl[30]: 4
 		vcVarCountTbl[31]: 4
-	vcTbl (ptr): 0x180b204
+	vcTbl (ptr): 0x8060a08
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -521,7 +526,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x5198f4
+	valueTbl (ptr): 0x8068d50
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -534,7 +539,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5191b4
+			asDoubleArray (ptr): 0x8068f20
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x518b74
-	dictionary (ptr): 0x508394
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8067e98
+	dictionary (ptr): 0x805d558
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x5163b4
+	_entryTbl (ptr): 0x80672a0
 		_entryTbl[0]:
-			varName (ptr): 0x50bea4
+			varName (ptr): 0x8066e50
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c914
+			varName (ptr): 0x805dac0
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50d394
+			varName (ptr): 0x8066f40
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50c414
+			varName (ptr): 0x805de60
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x5195a4
+				asDoubleArray (ptr): 0x8068de8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x518b74
-Component (ptr): 0x518b74
-Stg_Object (ptr): 0x518b74
-	Stg_Class (ptr): 0x518b74
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8067e98
+Stg_Component (ptr): 0x8067e98
+Stg_Object (ptr): 0x8067e98
+	Stg_Class (ptr): 0x8067e98
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7ed49ba
+		_print (func ptr): 0xb7ed4a00
+		_copy (func ptr): 0xb7ed4ebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7ed3de0
+	_construct (func ptr): 0xb7ed50c1
+	_build (func ptr): 0xb7ed507f
+	_initialise (func ptr): 0xb7e39de2
+	_execute (func ptr): 0xb7e39ea6
+	_destroy (func ptr): 0xb7e39ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x515dc4
-	conFunc_Register (ptr): 0x515a84
-	_set (ptr): 0x519684
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7ed5110
+	_getVariableCount (func ptr): 0xb7ed515c
+	_getVariableIndex (func ptr): 0xb7ed5173
+	_getValueIndex (func ptr): 0xb7ed51ba
+	_getValueCount (func ptr): 0xb7ed51c2
+	_getValue (func ptr): 0xb7ed51d9
+	variable_Register (ptr): 0x8068da0
+	conFunc_Register (ptr): 0x805a9f8
+	_set (ptr): 0x8068e38
 	indexCount: 32
-	indexTbl (ptr): 0x5197a4
+	indexTbl (ptr): 0x80683a0
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -102,7 +107,7 @@
 		indexTbl[29]: 29
 		indexTbl[30]: 30
 		indexTbl[31]: 31
-	vcVarCountTbl (ptr): 0x519894
+	vcVarCountTbl (ptr): 0x8068430
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -135,7 +140,7 @@
 		vcVarCountTbl[29]: 4
 		vcVarCountTbl[30]: 4
 		vcVarCountTbl[31]: 4
-	vcTbl (ptr): 0x180b804
+	vcTbl (ptr): 0x8060a10
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -521,7 +526,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x519ce4
+	valueTbl (ptr): 0x8068c18
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -534,7 +539,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5195a4
+			asDoubleArray (ptr): 0x8068de8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testAllNodesVC.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,75 +1,80 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for AllNodesVC
-AllNodesVC (ptr): 0x518574
-	dictionary (ptr): 0x508394
-	_dictionaryEntryName (ptr): 0x6b084
+AllNodesVC (ptr): 0x8067e88
+	dictionary (ptr): 0x805d558
+	_dictionaryEntryName (ptr): 0x8049db0
 		_dictionaryEntryName: AllNodesVC
 	_entryCount: 4
-	_entryTbl (ptr): 0x515db4
+	_entryTbl (ptr): 0x8068870
 		_entryTbl[0]:
-			varName (ptr): 0x50bea4
+			varName (ptr): 0x8066e50
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x50c914
+			varName (ptr): 0x805dac0
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x50d394
+			varName (ptr): 0x8066f40
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
 		_entryTbl[3]:
-			varName (ptr): 0x50c414
+			varName (ptr): 0x805de60
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x518fa4
+				asDoubleArray (ptr): 0x8068f70
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-VariableCondition (ptr): 0x518574
-Component (ptr): 0x518574
-Stg_Object (ptr): 0x518574
-	Stg_Class (ptr): 0x518574
-		sizeOfSelf: 168
+VariableCondition (ptr): 0x8067e88
+Stg_Component (ptr): 0x8067e88
+Stg_Object (ptr): 0x8067e88
+	Stg_Class (ptr): 0x8067e88
+		sizeOfSelf: 188
 		_deleteSelf: Yes
 		type: AllNodesVC
-		_delete (func ptr): 0x438c
-		_print (func ptr): 0x43ec
-		_copy (func ptr): 0x48b8
+		_delete (func ptr): 0xb7fa19ba
+		_print (func ptr): 0xb7fa1a00
+		_copy (func ptr): 0xb7fa1ebe
 	name: AllNodesVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x35a4
-	_construct (func ptr): 0x4af0
-	_build (func ptr): 0x4a98
-	_initialise (func ptr): 0x3cb34
-	_execute (func ptr): 0x3cc38
-	_destroy (func ptr): 0x3cc84
+	_defaultConstructor (func ptr): 0xb7fa0de0
+	_construct (func ptr): 0xb7fa20c1
+	_build (func ptr): 0xb7fa207f
+	_initialise (func ptr): 0xb7f06de2
+	_execute (func ptr): 0xb7f06ea6
+	_destroy (func ptr): 0xb7f06ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4b8c
-	_getVariableCount (func ptr): 0x4bf8
-	_getVariableIndex (func ptr): 0x4c44
-	_getValueIndex (func ptr): 0x4cb4
-	_getValueCount (func ptr): 0x4cf8
-	_getValue (func ptr): 0x4d40
-	variable_Register (ptr): 0x5157c4
-	conFunc_Register (ptr): 0x515484
-	_set (ptr): 0x519084
+	constructor function name: AllNodesVC-Construct
+	build function name: AllNodesVC-Build
+	initialise function name: AllNodesVC-Initialise
+	execute function name: AllNodesVC-Execute
+	destroy function name: AllNodesVC-Destroy
+	_getSet (func ptr): 0xb7fa2110
+	_getVariableCount (func ptr): 0xb7fa215c
+	_getVariableIndex (func ptr): 0xb7fa2173
+	_getValueIndex (func ptr): 0xb7fa21ba
+	_getValueCount (func ptr): 0xb7fa21c2
+	_getValue (func ptr): 0xb7fa21d9
+	variable_Register (ptr): 0x8068da0
+	conFunc_Register (ptr): 0x805a9f8
+	_set (ptr): 0x8068d50
 	indexCount: 32
-	indexTbl (ptr): 0x5191a4
+	indexTbl (ptr): 0x8068390
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -102,7 +107,7 @@
 		indexTbl[29]: 29
 		indexTbl[30]: 30
 		indexTbl[31]: 31
-	vcVarCountTbl (ptr): 0x519294
+	vcVarCountTbl (ptr): 0x8068420
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -135,7 +140,7 @@
 		vcVarCountTbl[29]: 4
 		vcVarCountTbl[30]: 4
 		vcVarCountTbl[31]: 4
-	vcTbl (ptr): 0x180b804
+	vcTbl (ptr): 0x8060a08
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -521,7 +526,7 @@
 			varIndex: 6
 			valIndex: 3
 	valueCount: 4
-	valueTbl (ptr): 0x5196e4
+	valueTbl (ptr): 0x8068de8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -534,7 +539,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x518fa4
+			asDoubleArray (ptr): 0x8068f70
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC-dictionary.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC-dictionary.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC-dictionary.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x522ef4
-	dictionary (ptr): 0x507ed4
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806c7a8
+	dictionary (ptr): 0x805d4c0
 	itemCount: 6
-	itemTbl (ptr): 0x523204
-		itemTbl[0] (ptr): 0x520834
-		itemTbl[1] (ptr): 0x523844
-		itemTbl[2] (ptr): 0x523b44
-		itemTbl[3] (ptr): 0x523d74
-		itemTbl[4] (ptr): 0x523fa4
-		itemTbl[5] (ptr): 0x524244
-	iOwnTbl (ptr): 0x5233e4
+	itemTbl (ptr): 0x806cab0
+		itemTbl[0] (ptr): 0x80623a8
+		itemTbl[1] (ptr): 0x80626c8
+		itemTbl[2] (ptr): 0x8062a08
+		itemTbl[3] (ptr): 0x8062d28
+		itemTbl[4] (ptr): 0x8063048
+		itemTbl[5] (ptr): 0x80633c0
+	iOwnTbl (ptr): 0x806cae0
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x522ef4
-Component (ptr): 0x522ef4
-Stg_Object (ptr): 0x522ef4
-	Stg_Class (ptr): 0x522ef4
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806c7a8
+Stg_Component (ptr): 0x806c7a8
+Stg_Object (ptr): 0x806c7a8
+	Stg_Class (ptr): 0x806c7a8
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34e7c
-		_print (func ptr): 0x34f84
-		_copy (func ptr): 0x35190
+		_delete (func ptr): 0xb7e7bf88
+		_print (func ptr): 0xb7e7c057
+		_copy (func ptr): 0xb7e7c244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x34434
-	_construct (func ptr): 0x34b44
-	_build (func ptr): 0x355a4
-	_initialise (func ptr): 0x3ee28
-	_execute (func ptr): 0x3ef2c
-	_destroy (func ptr): 0x3ef78
+	_defaultConstructor (func ptr): 0xb7e7b81d
+	_construct (func ptr): 0xb7e7bde9
+	_build (func ptr): 0xb7e7c615
+	_initialise (func ptr): 0xb7e79de2
+	_execute (func ptr): 0xb7e79ea6
+	_destroy (func ptr): 0xb7e79ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x35780
-	_getVariableCount (func ptr): 0x358d8
-	_getVariableIndex (func ptr): 0x35b30
-	_getValueIndex (func ptr): 0x35dc0
-	_getValueCount (func ptr): 0x360b8
-	_getValue (func ptr): 0x36184
-	variable_Register (ptr): 0x520264
-	conFunc_Register (ptr): 0x51ff24
-	_set (ptr): 0x525004
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7e7c783
+	_getVariableCount (func ptr): 0xb7e7c88a
+	_getVariableIndex (func ptr): 0xb7e7ca1e
+	_getValueIndex (func ptr): 0xb7e7cbda
+	_getValueCount (func ptr): 0xb7e7cde4
+	_getValue (func ptr): 0xb7e7ce58
+	variable_Register (ptr): 0x806d730
+	conFunc_Register (ptr): 0x805a9c0
+	_set (ptr): 0x806d640
 	indexCount: 26
-	indexTbl (ptr): 0x525664
+	indexTbl (ptr): 0x8063dc0
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -78,7 +83,7 @@
 		indexTbl[23]: 24
 		indexTbl[24]: 25
 		indexTbl[25]: 26
-	vcVarCountTbl (ptr): 0x525734
+	vcVarCountTbl (ptr): 0x8063e38
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -105,7 +110,7 @@
 		vcVarCountTbl[23]: 4
 		vcVarCountTbl[24]: 4
 		vcVarCountTbl[25]: 4
-	vcTbl (ptr): 0x180c204
+	vcTbl (ptr): 0x8063eb0
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -359,7 +364,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52a504
+	valueTbl (ptr): 0x80641c8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -372,7 +377,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x523a54
+			asDoubleArray (ptr): 0x806d3d8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -399,7 +404,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5241b4
+			asDoubleArray (ptr): 0x8063388
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x522304
-	dictionary (ptr): 0x507ed4
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
 	itemCount: 6
-	itemTbl (ptr): 0x522614
-		itemTbl[0] (ptr): 0x522924
-		itemTbl[1] (ptr): 0x523ec4
-		itemTbl[2] (ptr): 0x524624
-		itemTbl[3] (ptr): 0x524de4
-		itemTbl[4] (ptr): 0x525594
-		itemTbl[5] (ptr): 0x525c84
-	iOwnTbl (ptr): 0x5227f4
+	itemTbl (ptr): 0x8068518
+		itemTbl[0] (ptr): 0x8068ad0
+		itemTbl[1] (ptr): 0x8069c70
+		itemTbl[2] (ptr): 0x806a1b0
+		itemTbl[3] (ptr): 0x806a808
+		itemTbl[4] (ptr): 0x806ae60
+		itemTbl[5] (ptr): 0x8061a00
+	iOwnTbl (ptr): 0x8068aa0
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x522304
-Component (ptr): 0x522304
-Stg_Object (ptr): 0x522304
-	Stg_Class (ptr): 0x522304
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7ee0f88
+		_print (func ptr): 0xb7ee1057
+		_copy (func ptr): 0xb7ee1244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7ee081d
+	_construct (func ptr): 0xb7ee0de9
+	_build (func ptr): 0xb7ee1615
+	_initialise (func ptr): 0xb7edede2
+	_execute (func ptr): 0xb7edeea6
+	_destroy (func ptr): 0xb7edeed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x526674
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7ee1783
+	_getVariableCount (func ptr): 0xb7ee188a
+	_getVariableIndex (func ptr): 0xb7ee1a1e
+	_getValueIndex (func ptr): 0xb7ee1bda
+	_getValueCount (func ptr): 0xb7ee1de4
+	_getValue (func ptr): 0xb7ee1e58
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8062048
 	indexCount: 56
-	indexTbl (ptr): 0x526cd4
+	indexTbl (ptr): 0x8062258
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -108,7 +113,7 @@
 		indexTbl[53]: 61
 		indexTbl[54]: 62
 		indexTbl[55]: 63
-	vcVarCountTbl (ptr): 0x526e24
+	vcVarCountTbl (ptr): 0x8062348
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -165,7 +170,7 @@
 		vcVarCountTbl[53]: 4
 		vcVarCountTbl[54]: 4
 		vcVarCountTbl[55]: 4
-	vcTbl (ptr): 0x180e404
+	vcTbl (ptr): 0x8062438
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -665,7 +670,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x530394
+	valueTbl (ptr): 0x8062a58
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -678,7 +683,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5240f4
+			asDoubleArray (ptr): 0x806d9e8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -705,7 +710,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5257c4
+			asDoubleArray (ptr): 0x806b1a0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x523694
-	dictionary (ptr): 0x5083e4
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
 	itemCount: 6
-	itemTbl (ptr): 0x5239a4
-		itemTbl[0] (ptr): 0x523cb4
-		itemTbl[1] (ptr): 0x525154
-		itemTbl[2] (ptr): 0x525854
-		itemTbl[3] (ptr): 0x526014
-		itemTbl[4] (ptr): 0x526444
-		itemTbl[5] (ptr): 0x526ae4
-	iOwnTbl (ptr): 0x523b84
+	itemTbl (ptr): 0x806deb8
+		itemTbl[0] (ptr): 0x806bc78
+		itemTbl[1] (ptr): 0x806cb00
+		itemTbl[2] (ptr): 0x806cf30
+		itemTbl[3] (ptr): 0x806d4b8
+		itemTbl[4] (ptr): 0x8063980
+		itemTbl[5] (ptr): 0x8063dc8
+	iOwnTbl (ptr): 0x806d900
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x523694
-Component (ptr): 0x523694
-Stg_Object (ptr): 0x523694
-	Stg_Class (ptr): 0x523694
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7f0ef88
+		_print (func ptr): 0xb7f0f057
+		_copy (func ptr): 0xb7f0f244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7f0e81d
+	_construct (func ptr): 0xb7f0ede9
+	_build (func ptr): 0xb7f0f615
+	_initialise (func ptr): 0xb7f0cde2
+	_execute (func ptr): 0xb7f0cea6
+	_destroy (func ptr): 0xb7f0ced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x527434
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7f0f783
+	_getVariableCount (func ptr): 0xb7f0f88a
+	_getVariableIndex (func ptr): 0xb7f0fa1e
+	_getValueIndex (func ptr): 0xb7f0fbda
+	_getValueCount (func ptr): 0xb7f0fde4
+	_getValue (func ptr): 0xb7f0fe58
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x8064310
 	indexCount: 40
-	indexTbl (ptr): 0x527a94
+	indexTbl (ptr): 0x8064520
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -92,7 +97,7 @@
 		indexTbl[37]: 45
 		indexTbl[38]: 46
 		indexTbl[39]: 47
-	vcVarCountTbl (ptr): 0x527ba4
+	vcVarCountTbl (ptr): 0x80645d0
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -133,7 +138,7 @@
 		vcVarCountTbl[37]: 4
 		vcVarCountTbl[38]: 4
 		vcVarCountTbl[39]: 4
-	vcTbl (ptr): 0x180ca04
+	vcTbl (ptr): 0x8064680
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -468,7 +473,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52e154
+	valueTbl (ptr): 0x8064aa8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -481,7 +486,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525384
+			asDoubleArray (ptr): 0x806c7f8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -508,7 +513,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x526674
+			asDoubleArray (ptr): 0x8063cc0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x523064
-	dictionary (ptr): 0x5082f4
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
 	itemCount: 6
-	itemTbl (ptr): 0x523374
-		itemTbl[0] (ptr): 0x523684
-		itemTbl[1] (ptr): 0x524a24
-		itemTbl[2] (ptr): 0x5250c4
-		itemTbl[3] (ptr): 0x525884
-		itemTbl[4] (ptr): 0x525cb4
-		itemTbl[5] (ptr): 0x5262f4
-	iOwnTbl (ptr): 0x523554
+	itemTbl (ptr): 0x806dec0
+		itemTbl[0] (ptr): 0x806ba00
+		itemTbl[1] (ptr): 0x806c530
+		itemTbl[2] (ptr): 0x806c9c0
+		itemTbl[3] (ptr): 0x806cf40
+		itemTbl[4] (ptr): 0x806d2a0
+		itemTbl[5] (ptr): 0x80634b8
+	iOwnTbl (ptr): 0x806e3a0
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x523064
-Component (ptr): 0x523064
-Stg_Object (ptr): 0x523064
-	Stg_Class (ptr): 0x523064
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7f03f88
+		_print (func ptr): 0xb7f04057
+		_copy (func ptr): 0xb7f04244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7f0381d
+	_construct (func ptr): 0xb7f03de9
+	_build (func ptr): 0xb7f04615
+	_initialise (func ptr): 0xb7f01de2
+	_execute (func ptr): 0xb7f01ea6
+	_destroy (func ptr): 0xb7f01ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x526ba4
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7f04783
+	_getVariableCount (func ptr): 0xb7f0488a
+	_getVariableIndex (func ptr): 0xb7f04a1e
+	_getValueIndex (func ptr): 0xb7f04bda
+	_getValueCount (func ptr): 0xb7f04de4
+	_getValue (func ptr): 0xb7f04e58
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x80639a8
 	indexCount: 28
-	indexTbl (ptr): 0x527204
+	indexTbl (ptr): 0x8063b88
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -80,7 +85,7 @@
 		indexTbl[25]: 29
 		indexTbl[26]: 30
 		indexTbl[27]: 31
-	vcVarCountTbl (ptr): 0x5272e4
+	vcVarCountTbl (ptr): 0x8063c08
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 4
@@ -109,7 +114,7 @@
 		vcVarCountTbl[25]: 3
 		vcVarCountTbl[26]: 4
 		vcVarCountTbl[27]: 4
-	vcTbl (ptr): 0x180c804
+	vcTbl (ptr): 0x8063c88
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -360,7 +365,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52beb4
+	valueTbl (ptr): 0x8063fa0
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -373,7 +378,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x524c54
+			asDoubleArray (ptr): 0x806c890
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -400,7 +405,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525ee4
+			asDoubleArray (ptr): 0x806e090
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x523314
-	dictionary (ptr): 0x508364
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
 	itemCount: 6
-	itemTbl (ptr): 0x523624
-		itemTbl[0] (ptr): 0x523934
-		itemTbl[1] (ptr): 0x524cd4
-		itemTbl[2] (ptr): 0x525374
-		itemTbl[3] (ptr): 0x5257b4
-		itemTbl[4] (ptr): 0x525f74
-		itemTbl[5] (ptr): 0x5265a4
-	iOwnTbl (ptr): 0x523804
+	itemTbl (ptr): 0x806de98
+		itemTbl[0] (ptr): 0x806b9d8
+		itemTbl[1] (ptr): 0x806c508
+		itemTbl[2] (ptr): 0x806c998
+		itemTbl[3] (ptr): 0x806ccf8
+		itemTbl[4] (ptr): 0x806d278
+		itemTbl[5] (ptr): 0x80634b0
+	iOwnTbl (ptr): 0x8060748
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x523314
-Component (ptr): 0x523314
-Stg_Object (ptr): 0x523314
-	Stg_Class (ptr): 0x523314
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7ebef88
+		_print (func ptr): 0xb7ebf057
+		_copy (func ptr): 0xb7ebf244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7ebe81d
+	_construct (func ptr): 0xb7ebede9
+	_build (func ptr): 0xb7ebf615
+	_initialise (func ptr): 0xb7ebcde2
+	_execute (func ptr): 0xb7ebcea6
+	_destroy (func ptr): 0xb7ebced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x520564
-	conFunc_Register (ptr): 0x520224
-	_set (ptr): 0x526e54
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7ebf783
+	_getVariableCount (func ptr): 0xb7ebf88a
+	_getVariableIndex (func ptr): 0xb7ebfa1e
+	_getValueIndex (func ptr): 0xb7ebfbda
+	_getValueCount (func ptr): 0xb7ebfde4
+	_getValue (func ptr): 0xb7ebfe58
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x8063960
 	indexCount: 28
-	indexTbl (ptr): 0x5274b4
+	indexTbl (ptr): 0x8063b40
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -80,7 +85,7 @@
 		indexTbl[25]: 29
 		indexTbl[26]: 30
 		indexTbl[27]: 31
-	vcVarCountTbl (ptr): 0x527594
+	vcVarCountTbl (ptr): 0x8063bc0
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 1
@@ -109,7 +114,7 @@
 		vcVarCountTbl[25]: 3
 		vcVarCountTbl[26]: 4
 		vcVarCountTbl[27]: 4
-	vcTbl (ptr): 0x180b204
+	vcTbl (ptr): 0x8063c40
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -360,7 +365,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52c164
+	valueTbl (ptr): 0x8063f58
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -373,7 +378,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x524f04
+			asDoubleArray (ptr): 0x806c868
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -400,7 +405,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5261a4
+			asDoubleArray (ptr): 0x806e018
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x523704
-	dictionary (ptr): 0x508394
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
 	itemCount: 6
-	itemTbl (ptr): 0x523a14
-		itemTbl[0] (ptr): 0x523d24
-		itemTbl[1] (ptr): 0x5250c4
-		itemTbl[2] (ptr): 0x525764
-		itemTbl[3] (ptr): 0x525ba4
-		itemTbl[4] (ptr): 0x525fe4
-		itemTbl[5] (ptr): 0x526624
-	iOwnTbl (ptr): 0x523bf4
+	itemTbl (ptr): 0x806de98
+		itemTbl[0] (ptr): 0x806b9d8
+		itemTbl[1] (ptr): 0x806c550
+		itemTbl[2] (ptr): 0x806c990
+		itemTbl[3] (ptr): 0x806ccf0
+		itemTbl[4] (ptr): 0x806d050
+		itemTbl[5] (ptr): 0x806d4c0
+	iOwnTbl (ptr): 0x806dd10
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x523704
-Component (ptr): 0x523704
-Stg_Object (ptr): 0x523704
-	Stg_Class (ptr): 0x523704
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7e3bf88
+		_print (func ptr): 0xb7e3c057
+		_copy (func ptr): 0xb7e3c244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7e3b81d
+	_construct (func ptr): 0xb7e3bde9
+	_build (func ptr): 0xb7e3c615
+	_initialise (func ptr): 0xb7e39de2
+	_execute (func ptr): 0xb7e39ea6
+	_destroy (func ptr): 0xb7e39ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x520954
-	conFunc_Register (ptr): 0x520614
-	_set (ptr): 0x526ed4
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7e3c783
+	_getVariableCount (func ptr): 0xb7e3c88a
+	_getVariableIndex (func ptr): 0xb7e3ca1e
+	_getValueIndex (func ptr): 0xb7e3cbda
+	_getValueCount (func ptr): 0xb7e3cde4
+	_getValue (func ptr): 0xb7e3ce58
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806da00
 	indexCount: 24
-	indexTbl (ptr): 0x527534
+	indexTbl (ptr): 0x8063970
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -76,7 +81,7 @@
 		indexTbl[21]: 29
 		indexTbl[22]: 30
 		indexTbl[23]: 31
-	vcVarCountTbl (ptr): 0x527604
+	vcVarCountTbl (ptr): 0x80639e0
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 1
@@ -101,7 +106,7 @@
 		vcVarCountTbl[21]: 3
 		vcVarCountTbl[22]: 4
 		vcVarCountTbl[23]: 4
-	vcTbl (ptr): 0x180b804
+	vcTbl (ptr): 0x8063a50
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -271,7 +276,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52abf4
+	valueTbl (ptr): 0x8063c80
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -284,7 +289,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5252f4
+			asDoubleArray (ptr): 0x806de00
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -311,7 +316,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x526214
+			asDoubleArray (ptr): 0x806d390
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testCompositeVC.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,15 +1,15 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-CompositeVC (ptr): 0x523104
-	dictionary (ptr): 0x508394
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+CompositeVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
 	itemCount: 6
-	itemTbl (ptr): 0x523414
-		itemTbl[0] (ptr): 0x523724
-		itemTbl[1] (ptr): 0x524ac4
-		itemTbl[2] (ptr): 0x525164
-		itemTbl[3] (ptr): 0x5255a4
-		itemTbl[4] (ptr): 0x525d64
-		itemTbl[5] (ptr): 0x526394
-	iOwnTbl (ptr): 0x5235f4
+	itemTbl (ptr): 0x806de98
+		itemTbl[0] (ptr): 0x806b9d8
+		itemTbl[1] (ptr): 0x806c508
+		itemTbl[2] (ptr): 0x806c998
+		itemTbl[3] (ptr): 0x806ccf8
+		itemTbl[4] (ptr): 0x806d278
+		itemTbl[5] (ptr): 0x8063490
+	iOwnTbl (ptr): 0x806e378
 		iOwnTbl[0]: True
 		iOwnTbl[1]: True
 		iOwnTbl[2]: True
@@ -18,40 +18,45 @@
 		iOwnTbl[5]: True
 	_size: 8
 	_delta: 8
-VariableCondition (ptr): 0x523104
-Component (ptr): 0x523104
-Stg_Object (ptr): 0x523104
-	Stg_Class (ptr): 0x523104
-		sizeOfSelf: 184
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 204
 		_deleteSelf: Yes
 		type: CompositeVC
-		_delete (func ptr): 0x34dd4
-		_print (func ptr): 0x34edc
-		_copy (func ptr): 0x350e8
+		_delete (func ptr): 0xb7e72f88
+		_print (func ptr): 0xb7e73057
+		_copy (func ptr): 0xb7e73244
 	name: CompositeVC
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x3438c
-	_construct (func ptr): 0x34a9c
-	_build (func ptr): 0x354fc
-	_initialise (func ptr): 0x3ed80
-	_execute (func ptr): 0x3ee84
-	_destroy (func ptr): 0x3eed0
+	_defaultConstructor (func ptr): 0xb7e7281d
+	_construct (func ptr): 0xb7e72de9
+	_build (func ptr): 0xb7e73615
+	_initialise (func ptr): 0xb7e70de2
+	_execute (func ptr): 0xb7e70ea6
+	_destroy (func ptr): 0xb7e70ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x356d8
-	_getVariableCount (func ptr): 0x35830
-	_getVariableIndex (func ptr): 0x35a88
-	_getValueIndex (func ptr): 0x35d18
-	_getValueCount (func ptr): 0x36010
-	_getValue (func ptr): 0x360dc
-	variable_Register (ptr): 0x520354
-	conFunc_Register (ptr): 0x520014
-	_set (ptr): 0x526c44
+	constructor function name: CompositeVC-Construct
+	build function name: CompositeVC-Build
+	initialise function name: CompositeVC-Initialise
+	execute function name: CompositeVC-Execute
+	destroy function name: CompositeVC-Destroy
+	_getSet (func ptr): 0xb7e73783
+	_getVariableCount (func ptr): 0xb7e7388a
+	_getVariableIndex (func ptr): 0xb7e73a1e
+	_getValueIndex (func ptr): 0xb7e73bda
+	_getValueCount (func ptr): 0xb7e73de4
+	_getValue (func ptr): 0xb7e73e58
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x8063980
 	indexCount: 28
-	indexTbl (ptr): 0x5272a4
+	indexTbl (ptr): 0x8063b60
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -80,7 +85,7 @@
 		indexTbl[25]: 29
 		indexTbl[26]: 30
 		indexTbl[27]: 31
-	vcVarCountTbl (ptr): 0x527384
+	vcVarCountTbl (ptr): 0x8063be0
 		vcVarCountTbl[0]: 4
 		vcVarCountTbl[1]: 4
 		vcVarCountTbl[2]: 1
@@ -109,7 +114,7 @@
 		vcVarCountTbl[25]: 3
 		vcVarCountTbl[26]: 4
 		vcVarCountTbl[27]: 4
-	vcTbl (ptr): 0x180b804
+	vcTbl (ptr): 0x8063c60
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 3
@@ -360,7 +365,7 @@
 			varIndex: 6
 			valIndex: 10
 	valueCount: 14
-	valueTbl (ptr): 0x52bf54
+	valueTbl (ptr): 0x8063f78
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -373,7 +378,7 @@
 		valueTbl[3]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x524cf4
+			asDoubleArray (ptr): 0x806c868
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -400,7 +405,7 @@
 		valueTbl[10]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525f94
+			asDoubleArray (ptr): 0x806e068
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testFieldVariable_Register.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testFieldVariable_Register.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testFieldVariable_Register.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,104 +1,119 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-NamedObject_Register (ptr): 0x812550c
-	Stg_Class (ptr): 0x812550c
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+NamedObject_Register (ptr): 0x805ce00
+	Stg_Class (ptr): 0x805ce00
 		sizeOfSelf: 28
 		_deleteSelf: Yes
 		type: FieldVariable_Register_Type
-		_delete (func ptr): 0x808ecaa
-		_print (func ptr): 0x808ece1
+		_delete (func ptr): 0xb7ef2dfa
+		_print (func ptr): 0xb7ef2e31
 		_copy (func ptr): (nil)
-	Stg_ObjectList (ptr):0x8125534
-		Stg_Class (ptr): 0x8125534
+	Stg_ObjectList (ptr):0x805ce28
+		Stg_Class (ptr): 0x805ce28
 			sizeOfSelf: 96
 			_deleteSelf: Yes
 			type: Stg_ObjectList
-			_delete (func ptr): 0x808d076
-			_print (func ptr): 0x808d0ad
-			_copy (func ptr): 0x808d34f
-		_append(func ptr): 0x808df41
-		_prepend(func ptr): 0x808e007
-		_replaceAll(func ptr): 0x808e0cb
-		_replace(func ptr): 0x808e186
-		_insertBefore(func ptr): 0x808e327
-		_insertAfter(func ptr): 0x808e4e6
-		_remove(func ptr): 0x808e6a7
-		_getIndex(func ptr): 0x808e74d
-		_get(func ptr): 0x808e7ff
-		_allocMoreMemory(func ptr): 0x808e9d7
-		_insertAtIndex(func ptr): 0x808ea5d
-		_removeByIndex(func ptr): 0x808eadb
-		_deleteAllObjects(func ptr): 0x808e956
+			_delete (func ptr): 0xb7ef0f3e
+			_print (func ptr): 0xb7ef0f75
+			_copy (func ptr): 0xb7ef1217
+		_append(func ptr): 0xb7ef1e7b
+		_prepend(func ptr): 0xb7ef1f41
+		_replaceAll(func ptr): 0xb7ef2005
+		_replace(func ptr): 0xb7ef20be
+		_insertBefore(func ptr): 0xb7ef225b
+		_insertAfter(func ptr): 0xb7ef2416
+		_remove(func ptr): 0xb7ef25d3
+		_getIndex(func ptr): 0xb7ef2679
+		_get(func ptr): 0xb7ef2727
+		_allocMoreMemory(func ptr): 0xb7ef28fa
+		_insertAtIndex(func ptr): 0xb7ef2980
+		_removeByIndex(func ptr): 0xb7ef29fe
+		_deleteAllObjects(func ptr): 0xb7ef287b
 		_size: 8
 		_delta: 8
 		_noJournalingInCopy: 0
 		count: 3
 		data[0-3]:
-		Component (ptr): 0x81255c4
-		Stg_Object (ptr): 0x81255c4
-			Stg_Class (ptr): 0x81255c4
-				sizeOfSelf: 116
+		Stg_Component (ptr): 0x805cec8
+		Stg_Object (ptr): 0x805cec8
+			Stg_Class (ptr): 0x805cec8
+				sizeOfSelf: 136
 				_deleteSelf: Yes
 				type: FieldVariable
-				_delete (func ptr): 0x807daf3
-				_print (func ptr): 0x807db1c
+				_delete (func ptr): 0x8048d88
+				_print (func ptr): 0x8048bd8
 				_copy (func ptr): (nil)
 			name: testFV1
 			nameAllocationType: NON_GLOBAL
-			_defaultConstructor (func ptr): 0x80527e8
-			_construct (func ptr): 0x8079d7c
-			_build (func ptr): 0x80798b4
-			_initialise (func ptr): 0x8079d72
-			_execute (func ptr): 0x8079d77
-			_destroy (func ptr): 0x807a2c2
+			_defaultConstructor (func ptr): 0x8048c58
+			_construct (func ptr): 0x8048cd8
+			_build (func ptr): 0x8048da8
+			_initialise (func ptr): 0x8048c38
+			_execute (func ptr): 0x8048d78
+			_destroy (func ptr): 0x8048d58
 			isConstructed: True
 			isBuilt: False
 			isInitialised: False
 			hasExecuted: False
 			isDestroyed: False
-		Component (ptr): 0x8125714
-		Stg_Object (ptr): 0x8125714
-			Stg_Class (ptr): 0x8125714
-				sizeOfSelf: 116
+			constructor function name: testFV1-Construct
+			build function name: testFV1-Build
+			initialise function name: testFV1-Initialise
+			execute function name: testFV1-Execute
+			destroy function name: testFV1-Destroy
+		Stg_Component (ptr): 0x805d2c0
+		Stg_Object (ptr): 0x805d2c0
+			Stg_Class (ptr): 0x805d2c0
+				sizeOfSelf: 136
 				_deleteSelf: Yes
 				type: FieldVariable
-				_delete (func ptr): 0x807daf3
-				_print (func ptr): 0x807db1c
+				_delete (func ptr): 0x8048d88
+				_print (func ptr): 0x8048bd8
 				_copy (func ptr): (nil)
 			name: testFV2
 			nameAllocationType: NON_GLOBAL
-			_defaultConstructor (func ptr): 0x80527e8
-			_construct (func ptr): 0x8079d7c
-			_build (func ptr): 0x80798b4
-			_initialise (func ptr): 0x8079d72
-			_execute (func ptr): 0x8079d77
-			_destroy (func ptr): 0x807a2c2
+			_defaultConstructor (func ptr): 0x8048c58
+			_construct (func ptr): 0x8048cd8
+			_build (func ptr): 0x8048da8
+			_initialise (func ptr): 0x8048c38
+			_execute (func ptr): 0x8048d78
+			_destroy (func ptr): 0x8048d58
 			isConstructed: True
 			isBuilt: False
 			isInitialised: False
 			hasExecuted: False
 			isDestroyed: False
-		Component (ptr): 0x8125884
-		Stg_Object (ptr): 0x8125884
-			Stg_Class (ptr): 0x8125884
-				sizeOfSelf: 116
+			constructor function name: testFV2-Construct
+			build function name: testFV2-Build
+			initialise function name: testFV2-Initialise
+			execute function name: testFV2-Execute
+			destroy function name: testFV2-Destroy
+		Stg_Component (ptr): 0x805d6b8
+		Stg_Object (ptr): 0x805d6b8
+			Stg_Class (ptr): 0x805d6b8
+				sizeOfSelf: 136
 				_deleteSelf: Yes
 				type: FieldVariable
-				_delete (func ptr): 0x807daf3
-				_print (func ptr): 0x807db1c
+				_delete (func ptr): 0x8048d88
+				_print (func ptr): 0x8048bd8
 				_copy (func ptr): (nil)
 			name: testFV3
 			nameAllocationType: NON_GLOBAL
-			_defaultConstructor (func ptr): 0x80527e8
-			_construct (func ptr): 0x8079d7c
-			_build (func ptr): 0x80798b4
-			_initialise (func ptr): 0x8079d72
-			_execute (func ptr): 0x8079d77
-			_destroy (func ptr): 0x807a2c2
+			_defaultConstructor (func ptr): 0x8048c58
+			_construct (func ptr): 0x8048cd8
+			_build (func ptr): 0x8048da8
+			_initialise (func ptr): 0x8048c38
+			_execute (func ptr): 0x8048d78
+			_destroy (func ptr): 0x8048d58
 			isConstructed: True
 			isBuilt: False
 			isInitialised: False
 			hasExecuted: False
 			isDestroyed: False
+			constructor function name: testFV3-Construct
+			build function name: testFV3-Build
+			initialise function name: testFV3-Initialise
+			execute function name: testFV3-Execute
+			destroy function name: testFV3-Destroy
 
 Index of fieldVar named "testFV2" = 1
 Index 1 -> fieldVar with name "testFV2"

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811b174)
-Component (ptr): 0x811b174
-Stg_Object (ptr): 0x811b174
-	Stg_Class (ptr): 0x811b174
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x805f8a0)
+Stg_Component (ptr): 0x805f8a0
+Stg_Object (ptr): 0x805f8a0
+	Stg_Class (ptr): 0x805f8a0
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057fa0
-		_print (func ptr): 0x8058831
-		_copy (func ptr): 0x8059a1d
+		_delete (func ptr): 0xb7f031dd
+		_print (func ptr): 0xb7f03a6a
+		_copy (func ptr): 0xb7f04c4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80574d0
-	_construct (func ptr): 0x8057f96
-	_build (func ptr): 0x805a0d9
-	_initialise (func ptr): 0x805b005
-	_execute (func ptr): 0x805b02e
-	_destroy (func ptr): 0x8057f9b
+	_defaultConstructor (func ptr): 0xb7f0251c
+	_construct (func ptr): 0xb7f0300e
+	_build (func ptr): 0xb7f05322
+	_initialise (func ptr): 0xb7f06214
+	_execute (func ptr): 0xb7f06219
+	_destroy (func ptr): 0xb7f031d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81193ac
-	layout (ptr): 0x811b054
-Extension (ptr):0x811b2fc
-Stg_Object (ptr): 0x811b2fc
-	Stg_Class (ptr): 0x811b2fc
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c4b8
+	layout (ptr): 0x805f550
+Extension (ptr):0x805fc70
+Stg_Object (ptr): 0x805fc70
+	Stg_Class (ptr): 0x805fc70
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e7b018
+		_print (func ptr): 0xb7e7b066
+		_copy (func ptr): 0xb7e7b200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811b34c
-Stg_ObjectList (ptr):0x811b34c
-	Stg_Class (ptr): 0x811b34c
+	extInfos (ptr): 0x805fcd0
+Stg_ObjectList (ptr):0x805fcd0
+	Stg_Class (ptr): 0x805fcd0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7eacf3e
+		_print (func ptr): 0xb7eacf75
+		_copy (func ptr): 0xb7ead217
+	_append(func ptr): 0xb7eade7b
+	_prepend(func ptr): 0xb7eadf41
+	_replaceAll(func ptr): 0xb7eae005
+	_replace(func ptr): 0xb7eae0be
+	_insertBefore(func ptr): 0xb7eae25b
+	_insertAfter(func ptr): 0xb7eae416
+	_remove(func ptr): 0xb7eae5d3
+	_getIndex(func ptr): 0xb7eae679
+	_get(func ptr): 0xb7eae727
+	_allocMoreMemory(func ptr): 0xb7eae8fa
+	_insertAtIndex(func ptr): 0xb7eae980
+	_removeByIndex(func ptr): 0xb7eae9fe
+	_deleteAllObjects(func ptr): 0xb7eae87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811b3dc
-Stg_Object (ptr): 0x811b3dc
-	Stg_Class (ptr): 0x811b3dc
-		sizeOfSelf: 72
+Extension (ptr):0x805fd70
+Stg_Object (ptr): 0x805fd70
+	Stg_Class (ptr): 0x805fd70
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e7b018
+		_print (func ptr): 0xb7e7b066
+		_copy (func ptr): 0xb7e7b200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811b42c
-Stg_ObjectList (ptr):0x811b42c
-	Stg_Class (ptr): 0x811b42c
+	extInfos (ptr): 0x805fdd0
+Stg_ObjectList (ptr):0x805fdd0
+	Stg_Class (ptr): 0x805fdd0
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7eacf3e
+		_print (func ptr): 0xb7eacf75
+		_copy (func ptr): 0xb7ead217
+	_append(func ptr): 0xb7eade7b
+	_prepend(func ptr): 0xb7eadf41
+	_replaceAll(func ptr): 0xb7eae005
+	_replace(func ptr): 0xb7eae0be
+	_insertBefore(func ptr): 0xb7eae25b
+	_insertAfter(func ptr): 0xb7eae416
+	_remove(func ptr): 0xb7eae5d3
+	_getIndex(func ptr): 0xb7eae679
+	_get(func ptr): 0xb7eae727
+	_allocMoreMemory(func ptr): 0xb7eae8fa
+	_insertAtIndex(func ptr): 0xb7eae980
+	_removeByIndex(func ptr): 0xb7eae9fe
+	_deleteAllObjects(func ptr): 0xb7eae87b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811bc5c
+	node (ptr): 0x8060fd8
 	nodeLocalCount: 1331
 	nodeDomainCount: 1331
 	nodeShadowCount: 0
 	nodeGlobalCount: 1331
-	nodeCoord (ptr): 0x811e5fc
+	nodeCoord (ptr): 0x8063980
 	nodeCoord[0-1331]:   (0.00,0.00,0.00), (0.10,0.00,0.00), (0.20,0.00,0.00), (0.30,0.00,0.00), (0.40,0.00,0.00), (0.50,0.00,0.00), (0.60,0.00,0.00), (0.70,0.00,0.00), (0.80,0.00,0.00), (0.90,0.00,0.00), (1.00,0.00,0.00), (0.00,0.10,0.00), (0.10,0.10,0.00), (0.20,0.10,0.00), (0.30,0.10,0.00), (0.40,0.10,0.00), (0.50,0.10,0.00), (0.60,0.10,0.00), (0.70,0.10,0.00), (0.80,0.10,0.00), (0.90,0.10,0.00), (1.00,0.10,0.00), (0.00,0.20,0.00), (0.10,0.20,0.00), (0.20,0.20,0.00), (0.30,0.20,0.00), (0.40,0.20,0.00), (0.50,0.20,0.00), (0.60,0.20,0.00), (0.70,0.20,0.00), (0.80,0.20,0.00), (0.90,0.20,0.00), (1.00,0.20,0.00), (0.00,0.30,0.00), (0.10,0.30,0.00), (0.20,0.30,0.00), (0.30,0.30,0.00), (0.40,0.30,0.00), (0.50,0.30,0.00), (0.60,0.30,0.00), (0.70,0.30,0.00), (0.80,0.30,0.00), (0.90,0.30,0.00), (1.00,0.30,0.00), (0.00,0.40,0.00), (0.10,0.40,0.00), (0.20,0.40,0.00), (0.30,0.40,0.00), (0.40,0.40,0.00), (0.50,0.40,0.00), (0.60,0.40,0.00), (0.70,0.40,0.00), (0.80,0.40,0.00), (0.90,0.40,0.00), (1.00,0.40,0.00), (0.00,0.50,0.00), (0.10,0.50,0.00), (0.20,0.50,0.00), (0.30,0.50,0.00), (0.40,0.50,0.00), (0.50,0.50,0.00), (0.60,0.50,0.00), (0.70,0.50,0.00), (0.80,0.50,0.00), (0.90,0.50,0.00), (1.00,0.50,0.00), (0.00,0.60,0.00), (0.10,0.60,0.00), (0.20,0.60,0.00), (0.30,0.60,0.00), (0.40,0.60,0.00), (0.50,0.60,0.00), (0.60,0.60,0.00), (0.70,0.60,0.00), (0.80,0.60,0.00), (0.90,0.60,0.00), (1.00,0.60,0.00), (0.00,0.70,0.00), (0.10,0.70,0.00), (0.20,0.70,0.00), (0.30,0.70,0.00), (0.40,0.70,0.00), (0.50,0.70,0.00), (0.60,0.70,0.00), (0.70,0.70,0.00), (0.80,0.70,0.00), (0.90,0.70,0.00), (1.00,0.70,0.00), (0.00,0.80,0.00), (0.10,0.80,0.00), (0.20,0.80,0.00), (0.30,0.80,0.00), (0.40,0.80,0.00), (0.50,0.80,0.00), (0.60,0.80,0.00), (0.70,0.80,0.00), (0.80,0.80,0.00), (0.90,0.80,0.00), (1.00,0.80,0.00), (0.00,0.90,0.00), (0.10,0.90,0.00), (0.20,0.90,0.00), (0.30,0.90,0.00), (0.40,0.90,0.00), (0.50,0.90,0.00), (0.60,0.90,0.00), (0.70,0.90,0.00), (0.80,0.90,0.00), (0.90,0.90,0.00), (1.00,0.90,0.00), (0.00,1.00,0.00), (0.10,1.00,0.00), (0.20,1.00,0.00), (0.30,1.00,0.00), (0.40,1.00,0.00), (0.50,1.00,0.00), (0.60,1.00,0.00), (0.70,1.00,0.00), (0.80,1.00,0.00), (0.90,1.00,0.00), (1.00,1.00,0.00), (0.00,0.00,0.10), (0.10,0.00,0.10), (0.20,0.00,0.10), (0.30,0.00,0.10), (0.40,0.00,0.10), (0.50,0.00,0.10), (0.60,0.00,0.10), (0.70,0.00,0.10), (0.80,0.00,0.10), (0.90,0.00,0.10), (1.00,0.00,0.10), (0.00,0.10,0.10), (0.10,0.10,0.10), (0.20,0.10,0.10), (0.30,0.10,0.10), (0.40,0.10,0.10), (0.50,0.10,0.10), (0.60,0.10,0.10), (0.70,0.10,0.10), (0.80,0.10,0.10), (0.90,0.10,0.10), (1.00,0.10,0.10), (0.00,0.20,0.10), (0.10,0.20,0.10), (0.20,0.20,0.10), (0.30,0.20,0.10), (0.40,0.20,0.10), (0.50,0.20,0.10), (0.60,0.20,0.10), (0.70,0.20,0.10), (0.80,0.20,0.10), (0.90,0.20,0.10), (1.00,0.20,0.10), (0.00,0.30,0.10), (0.10,0.30,0.10), (0.20,0.30,0.10), (0.30,0.30,0.10), (0.40,0.30,0.10), (0.50,0.30,0.10), (0.60,0.30,0.10), (0.70,0.30,0.10), (0.80,0.30,0.10), (0.90,0.30,0.10), (1.00,0.30,0.10), (0.00,0.40,0.10), (0.10,0.40,0.10), (0.20,0.40,0.10), (0.30,0.40,0.10), (0.40,0.40,0.10), (0.50,0.40,0.10), (0.60,0.40,0.10), (0.70,0.40,0.10), (0.80,0.40,0.10), (0.90,0.40,0.10), (1.00,0.40,0.10), (0.00,0.50,0.10), (0.10,0.50,0.10), (0.20,0.50,0.10), (0.30,0.50,0.10), (0.40,0.50,0.10), (0.50,0.50,0.10), (0.60,0.50,0.10), (0.70,0.50,0.10), (0.80,0.50,0.10), (0.90,0.50,0.10), (1.00,0.50,0.10), (0.00,0.60,0.10), (0.10,0.60,0.10), (0.20,0.60,0.10), (0.30,0.60,0.10), (0.40,0.60,0.10), (0.50,0.60,0.10), (0.60,0.60,0.10), (0.70,0.60,0.10), (0.80,0.60,0.10), (0.90,0.60,0.10), (1.00,0.60,0.10), (0.00,0.70,0.10), (0.10,0.70,0.10), (0.20,0.70,0.10), (0.30,0.70,0.10), (0.40,0.70,0.10), (0.50,0.70,0.10), (0.60,0.70,0.10), (0.70,0.70,0.10), (0.80,0.70,0.10), (0.90,0.70,0.10), (1.00,0.70,0.10), (0.00,0.80,0.10), (0.10,0.80,0.10), (0.20,0.80,0.10), (0.30,0.80,0.10), (0.40,0.80,0.10), (0.50,0.80,0.10), (0.60,0.80,0.10), (0.70,0.80,0.10), (0.80,0.80,0.10), (0.90,0.80,0.10), (1.00,0.80,0.10), (0.00,0.90,0.10), (0.10,0.90,0.10), (0.20,0.90,0.10), (0.30,0.90,0.10), (0.40,0.90,0.10), (0.50,0.90,0.10), (0.60,0.90,0.10), (0.70,0.90,0.10), (0.80,0.90,0.10), (0.90,0.90,0.10), (1.00,0.90,0.10), (0.00,1.00,0.10), (0.10,1.00,0.10), (0.20,1.00,0.10), (0.30,1.00,0.10), (0.40,1.00,0.10), (0.50,1.00,0.10), (0.60,1.00,0.10), (0.70,1.00,0.10), (0.80,1.00,0.10), (0.90,1.00,0.10), (1.00,1.00,0.10), (0.00,0.00,0.20), (0.10,0.00,0.20), (0.20,0.00,0.20), (0.30,0.00,0.20), (0.40,0.00,0.20), (0.50,0.00,0.20), (0.60,0.00,0.20), (0.70,0.00,0.20), (0.80,0.00,0.20), (0.90,0.00,0.20), (1.00,0.00,0.20), (0.00,0.10,0.20), (0.10,0.10,0.20), (0.20,0.10,0.20), (0.30,0.10,0.20), (0.40,0.10,0.20), (0.50,0.10,0.20), (0.60,0.10,0.20), (0.70,0.10,0.20), (0.80,0.10,0.20), (0.90,0.10,0.20), (1.00,0.10,0.20), (0.00,0.20,0.20), (0.10,0.20,0.20), (0.20,0.20,0.20), (0.30,0.20,0.20), (0.40,0.20,0.20), (0.50,0.20,0.20), (0.60,0.20,0.20), (0.70,0.20,0.20), (0.80,0.20,0.20), (0.90,0.20,0.20), (1.00,0.20,0.20), (0.00,0.30,0.20), (0.10,0.30,0.20), (0.20,0.30,0.20), (0.30,0.30,0.20), (0.40,0.30,0.20), (0.50,0.30,0.20), (0.60,0.30,0.20), (0.70,0.30,0.20), (0.80,0.30,0.20), (0.90,0.30,0.20), (1.00,0.30,0.20), (0.00,0.40,0.20), (0.10,0.40,0.20), (0.20,0.40,0.20), (0.30,0.40,0.20), (0.40,0.40,0.20), (0.50,0.40,0.20), (0.60,0.40,0.20), (0.70,0.40,0.20), (0.80,0.40,0.20), (0.90,0.40,0.20), (1.00,0.40,0.20), (0.00,0.50,0.20), (0.10,0.50,0.20), (0.20,0.50,0.20), (0.30,0.50,0.20), (0.40,0.50,0.20), (0.50,0.50,0.20), (0.60,0.50,0.20), (0.70,0.50,0.20), (0.80,0.50,0.20), (0.90,0.50,0.20), (1.00,0.50,0.20), (0.00,0.60,0.20), (0.10,0.60,0.20), (0.20,0.60,0.20), (0.30,0.60,0.20), (0.40,0.60,0.20), (0.50,0.60,0.20), (0.60,0.60,0.20), (0.70,0.60,0.20), (0.80,0.60,0.20), (0.90,0.60,0.20), (1.00,0.60,0.20), (0.00,0.70,0.20), (0.10,0.70,0.20), (0.20,0.70,0.20), (0.30,0.70,0.20), (0.40,0.70,0.20), (0.50,0.70,0.20), (0.60,0.70,0.20), (0.70,0.70,0.20), (0.80,0.70,0.20), (0.90,0.70,0.20), (1.00,0.70,0.20), (0.00,0.80,0.20), (0.10,0.80,0.20), (0.20,0.80,0.20), (0.30,0.80,0.20), (0.40,0.80,0.20), (0.50,0.80,0.20), (0.60,0.80,0.20), (0.70,0.80,0.20), (0.80,0.80,0.20), (0.90,0.80,0.20), (1.00,0.80,0.20), (0.00,0.90,0.20), (0.10,0.90,0.20), (0.20,0.90,0.20), (0.30,0.90,0.20), (0.40,0.90,0.20), (0.50,0.90,0.20), (0.60,0.90,0.20), (0.70,0.90,0.20), (0.80,0.90,0.20), (0.90,0.90,0.20), (1.00,0.90,0.20), (0.00,1.00,0.20), (0.10,1.00,0.20), (0.20,1.00,0.20), (0.30,1.00,0.20), (0.40,1.00,0.20), (0.50,1.00,0.20), (0.60,1.00,0.20), (0.70,1.00,0.20), (0.80,1.00,0.20), (0.90,1.00,0.20), (1.00,1.00,0.20), (0.00,0.00,0.30), (0.10,0.00,0.30), (0.20,0.00,0.30), (0.30,0.00,0.30), (0.40,0.00,0.30), (0.50,0.00,0.30), (0.60,0.00,0.30), (0.70,0.00,0.30), (0.80,0.00,0.30), (0.90,0.00,0.30), (1.00,0.00,0.30), (0.00,0.10,0.30), (0.10,0.10,0.30), (0.20,0.10,0.30), (0.30,0.10,0.30), (0.40,0.10,0.30), (0.50,0.10,0.30), (0.60,0.10,0.30), (0.70,0.10,0.30), (0.80,0.10,0.30), (0.90,0.10,0.30), (1.00,0.10,0.30), (0.00,0.20,0.30), (0.10,0.20,0.30), (0.20,0.20,0.30), (0.30,0.20,0.30), (0.40,0.20,0.30), (0.50,0.20,0.30), (0.60,0.20,0.30), (0.70,0.20,0.30), (0.80,0.20,0.30), (0.90,0.20,0.30), (1.00,0.20,0.30), (0.00,0.30,0.30), (0.10,0.30,0.30), (0.20,0.30,0.30), (0.30,0.30,0.30), (0.40,0.30,0.30), (0.50,0.30,0.30), (0.60,0.30,0.30), (0.70,0.30,0.30), (0.80,0.30,0.30), (0.90,0.30,0.30), (1.00,0.30,0.30), (0.00,0.40,0.30), (0.10,0.40,0.30), (0.20,0.40,0.30), (0.30,0.40,0.30), (0.40,0.40,0.30), (0.50,0.40,0.30), (0.60,0.40,0.30), (0.70,0.40,0.30), (0.80,0.40,0.30), (0.90,0.40,0.30), (1.00,0.40,0.30), (0.00,0.50,0.30), (0.10,0.50,0.30), (0.20,0.50,0.30), (0.30,0.50,0.30), (0.40,0.50,0.30), (0.50,0.50,0.30), (0.60,0.50,0.30), (0.70,0.50,0.30), (0.80,0.50,0.30), (0.90,0.50,0.30), (1.00,0.50,0.30), (0.00,0.60,0.30), (0.10,0.60,0.30), (0.20,0.60,0.30), (0.30,0.60,0.30), (0.40,0.60,0.30), (0.50,0.60,0.30), (0.60,0.60,0.30), (0.70,0.60,0.30), (0.80,0.60,0.30), (0.90,0.60,0.30), (1.00,0.60,0.30), (0.00,0.70,0.30), (0.10,0.70,0.30), (0.20,0.70,0.30), (0.30,0.70,0.30), (0.40,0.70,0.30), (0.50,0.70,0.30), (0.60,0.70,0.30), (0.70,0.70,0.30), (0.80,0.70,0.30), (0.90,0.70,0.30), (1.00,0.70,0.30), (0.00,0.80,0.30), (0.10,0.80,0.30), (0.20,0.80,0.30), (0.30,0.80,0.30), (0.40,0.80,0.30), (0.50,0.80,0.30), (0.60,0.80,0.30), (0.70,0.80,0.30), (0.80,0.80,0.30), (0.90,0.80,0.30), (1.00,0.80,0.30), (0.00,0.90,0.30), (0.10,0.90,0.30), (0.20,0.90,0.30), (0.30,0.90,0.30), (0.40,0.90,0.30), (0.50,0.90,0.30), (0.60,0.90,0.30), (0.70,0.90,0.30), (0.80,0.90,0.30), (0.90,0.90,0.30), (1.00,0.90,0.30), (0.00,1.00,0.30), (0.10,1.00,0.30), (0.20,1.00,0.30), (0.30,1.00,0.30), (0.40,1.00,0.30), (0.50,1.00,0.30), (0.60,1.00,0.30), (0.70,1.00,0.30), (0.80,1.00,0.30), (0.90,1.00,0.30), (1.00,1.00,0.30), (0.00,0.00,0.40), (0.10,0.00,0.40), (0.20,0.00,0.40), (0.30,0.00,0.40), (0.40,0.00,0.40), (0.50,0.00,0.40), (0.60,0.00,0.40), (0.70,0.00,0.40), (0.80,0.00,0.40), (0.90,0.00,0.40), (1.00,0.00,0.40), (0.00,0.10,0.40), (0.10,0.10,0.40), (0.20,0.10,0.40), (0.30,0.10,0.40), (0.40,0.10,0.40), (0.50,0.10,0.40), (0.60,0.10,0.40), (0.70,0.10,0.40), (0.80,0.10,0.40), (0.90,0.10,0.40), (1.00,0.10,0.40), (0.00,0.20,0.40), (0.10,0.20,0.40), (0.20,0.20,0.40), (0.30,0.20,0.40), (0.40,0.20,0.40), (0.50,0.20,0.40), (0.60,0.20,0.40), (0.70,0.20,0.40), (0.80,0.20,0.40), (0.90,0.20,0.40), (1.00,0.20,0.40), (0.00,0.30,0.40), (0.10,0.30,0.40), (0.20,0.30,0.40), (0.30,0.30,0.40), (0.40,0.30,0.40), (0.50,0.30,0.40), (0.60,0.30,0.40), (0.70,0.30,0.40), (0.80,0.30,0.40), (0.90,0.30,0.40), (1.00,0.30,0.40), (0.00,0.40,0.40), (0.10,0.40,0.40), (0.20,0.40,0.40), (0.30,0.40,0.40), (0.40,0.40,0.40), (0.50,0.40,0.40), (0.60,0.40,0.40), (0.70,0.40,0.40), (0.80,0.40,0.40), (0.90,0.40,0.40), (1.00,0.40,0.40), (0.00,0.50,0.40), (0.10,0.50,0.40), (0.20,0.50,0.40), (0.30,0.50,0.40), (0.40,0.50,0.40), (0.50,0.50,0.40), (0.60,0.50,0.40), (0.70,0.50,0.40), (0.80,0.50,0.40), (0.90,0.50,0.40), (1.00,0.50,0.40), (0.00,0.60,0.40), (0.10,0.60,0.40), (0.20,0.60,0.40), (0.30,0.60,0.40), (0.40,0.60,0.40), (0.50,0.60,0.40), (0.60,0.60,0.40), (0.70,0.60,0.40), (0.80,0.60,0.40), (0.90,0.60,0.40), (1.00,0.60,0.40), (0.00,0.70,0.40), (0.10,0.70,0.40), (0.20,0.70,0.40), (0.30,0.70,0.40), (0.40,0.70,0.40), (0.50,0.70,0.40), (0.60,0.70,0.40), (0.70,0.70,0.40), (0.80,0.70,0.40), (0.90,0.70,0.40), (1.00,0.70,0.40), (0.00,0.80,0.40), (0.10,0.80,0.40), (0.20,0.80,0.40), (0.30,0.80,0.40), (0.40,0.80,0.40), (0.50,0.80,0.40), (0.60,0.80,0.40), (0.70,0.80,0.40), (0.80,0.80,0.40), (0.90,0.80,0.40), (1.00,0.80,0.40), (0.00,0.90,0.40), (0.10,0.90,0.40), (0.20,0.90,0.40), (0.30,0.90,0.40), (0.40,0.90,0.40), (0.50,0.90,0.40), (0.60,0.90,0.40), (0.70,0.90,0.40), (0.80,0.90,0.40), (0.90,0.90,0.40), (1.00,0.90,0.40), (0.00,1.00,0.40), (0.10,1.00,0.40), (0.20,1.00,0.40), (0.30,1.00,0.40), (0.40,1.00,0.40), (0.50,1.00,0.40), (0.60,1.00,0.40), (0.70,1.00,0.40), (0.80,1.00,0.40), (0.90,1.00,0.40), (1.00,1.00,0.40), (0.00,0.00,0.50), (0.10,0.00,0.50), (0.20,0.00,0.50), (0.30,0.00,0.50), (0.40,0.00,0.50), (0.50,0.00,0.50), (0.60,0.00,0.50), (0.70,0.00,0.50), (0.80,0.00,0.50), (0.90,0.00,0.50), (1.00,0.00,0.50), (0.00,0.10,0.50), (0.10,0.10,0.50), (0.20,0.10,0.50), (0.30,0.10,0.50), (0.40,0.10,0.50), (0.50,0.10,0.50), (0.60,0.10,0.50), (0.70,0.10,0.50), (0.80,0.10,0.50), (0.90,0.10,0.50), (1.00,0.10,0.50), (0.00,0.20,0.50), (0.10,0.20,0.50), (0.20,0.20,0.50), (0.30,0.20,0.50), (0.40,0.20,0.50), (0.50,0.20,0.50), (0.60,0.20,0.50), (0.70,0.20,0.50), (0.80,0.20,0.50), (0.90,0.20,0.50), (1.00,0.20,0.50), (0.00,0.30,0.50), (0.10,0.30,0.50), (0.20,0.30,0.50), (0.30,0.30,0.50), (0.40,0.30,0.50), (0.50,0.30,0.50), (0.60,0.30,0.50), (0.70,0.30,0.50), (0.80,0.30,0.50), (0.90,0.30,0.50), (1.00,0.30,0.50), (0.00,0.40,0.50), (0.10,0.40,0.50), (0.20,0.40,0.50), (0.30,0.40,0.50), (0.40,0.40,0.50), (0.50,0.40,0.50), (0.60,0.40,0.50), (0.70,0.40,0.50), (0.80,0.40,0.50), (0.90,0.40,0.50), (1.00,0.40,0.50), (0.00,0.50,0.50), (0.10,0.50,0.50), (0.20,0.50,0.50), (0.30,0.50,0.50), (0.40,0.50,0.50), (0.50,0.50,0.50), (0.60,0.50,0.50), (0.70,0.50,0.50), (0.80,0.50,0.50), (0.90,0.50,0.50), (1.00,0.50,0.50), (0.00,0.60,0.50), (0.10,0.60,0.50), (0.20,0.60,0.50), (0.30,0.60,0.50), (0.40,0.60,0.50), (0.50,0.60,0.50), (0.60,0.60,0.50), (0.70,0.60,0.50), (0.80,0.60,0.50), (0.90,0.60,0.50), (1.00,0.60,0.50), (0.00,0.70,0.50), (0.10,0.70,0.50), (0.20,0.70,0.50), (0.30,0.70,0.50), (0.40,0.70,0.50), (0.50,0.70,0.50), (0.60,0.70,0.50), (0.70,0.70,0.50), (0.80,0.70,0.50), (0.90,0.70,0.50), (1.00,0.70,0.50), (0.00,0.80,0.50), (0.10,0.80,0.50), (0.20,0.80,0.50), (0.30,0.80,0.50), (0.40,0.80,0.50), (0.50,0.80,0.50), (0.60,0.80,0.50), (0.70,0.80,0.50), (0.80,0.80,0.50), (0.90,0.80,0.50), (1.00,0.80,0.50), (0.00,0.90,0.50), (0.10,0.90,0.50), (0.20,0.90,0.50), (0.30,0.90,0.50), (0.40,0.90,0.50), (0.50,0.90,0.50), (0.60,0.90,0.50), (0.70,0.90,0.50), (0.80,0.90,0.50), (0.90,0.90,0.50), (1.00,0.90,0.50), (0.00,1.00,0.50), (0.10,1.00,0.50), (0.20,1.00,0.50), (0.30,1.00,0.50), (0.40,1.00,0.50), (0.50,1.00,0.50), (0.60,1.00,0.50), (0.70,1.00,0.50), (0.80,1.00,0.50), (0.90,1.00,0.50), (1.00,1.00,0.50), (0.00,0.00,0.60), (0.10,0.00,0.60), (0.20,0.00,0.60), (0.30,0.00,0.60), (0.40,0.00,0.60), (0.50,0.00,0.60), (0.60,0.00,0.60), (0.70,0.00,0.60), (0.80,0.00,0.60), (0.90,0.00,0.60), (1.00,0.00,0.60), (0.00,0.10,0.60), (0.10,0.10,0.60), (0.20,0.10,0.60), (0.30,0.10,0.60), (0.40,0.10,0.60), (0.50,0.10,0.60), (0.60,0.10,0.60), (0.70,0.10,0.60), (0.80,0.10,0.60), (0.90,0.10,0.60), (1.00,0.10,0.60), (0.00,0.20,0.60), (0.10,0.20,0.60), (0.20,0.20,0.60), (0.30,0.20,0.60), (0.40,0.20,0.60), (0.50,0.20,0.60), (0.60,0.20,0.60), (0.70,0.20,0.60), (0.80,0.20,0.60), (0.90,0.20,0.60), (1.00,0.20,0.60), (0.00,0.30,0.60), (0.10,0.30,0.60), (0.20,0.30,0.60), (0.30,0.30,0.60), (0.40,0.30,0.60), (0.50,0.30,0.60), (0.60,0.30,0.60), (0.70,0.30,0.60), (0.80,0.30,0.60), (0.90,0.30,0.60), (1.00,0.30,0.60), (0.00,0.40,0.60), (0.10,0.40,0.60), (0.20,0.40,0.60), (0.30,0.40,0.60), (0.40,0.40,0.60), (0.50,0.40,0.60), (0.60,0.40,0.60), (0.70,0.40,0.60), (0.80,0.40,0.60), (0.90,0.40,0.60), (1.00,0.40,0.60), (0.00,0.50,0.60), (0.10,0.50,0.60), (0.20,0.50,0.60), (0.30,0.50,0.60), (0.40,0.50,0.60), (0.50,0.50,0.60), (0.60,0.50,0.60), (0.70,0.50,0.60), (0.80,0.50,0.60), (0.90,0.50,0.60), (1.00,0.50,0.60), (0.00,0.60,0.60), (0.10,0.60,0.60), (0.20,0.60,0.60), (0.30,0.60,0.60), (0.40,0.60,0.60), (0.50,0.60,0.60), (0.60,0.60,0.60), (0.70,0.60,0.60), (0.80,0.60,0.60), (0.90,0.60,0.60), (1.00,0.60,0.60), (0.00,0.70,0.60), (0.10,0.70,0.60), (0.20,0.70,0.60), (0.30,0.70,0.60), (0.40,0.70,0.60), (0.50,0.70,0.60), (0.60,0.70,0.60), (0.70,0.70,0.60), (0.80,0.70,0.60), (0.90,0.70,0.60), (1.00,0.70,0.60), (0.00,0.80,0.60), (0.10,0.80,0.60), (0.20,0.80,0.60), (0.30,0.80,0.60), (0.40,0.80,0.60), (0.50,0.80,0.60), (0.60,0.80,0.60), (0.70,0.80,0.60), (0.80,0.80,0.60), (0.90,0.80,0.60), (1.00,0.80,0.60), (0.00,0.90,0.60), (0.10,0.90,0.60), (0.20,0.90,0.60), (0.30,0.90,0.60), (0.40,0.90,0.60), (0.50,0.90,0.60), (0.60,0.90,0.60), (0.70,0.90,0.60), (0.80,0.90,0.60), (0.90,0.90,0.60), (1.00,0.90,0.60), (0.00,1.00,0.60), (0.10,1.00,0.60), (0.20,1.00,0.60), (0.30,1.00,0.60), (0.40,1.00,0.60), (0.50,1.00,0.60), (0.60,1.00,0.60), (0.70,1.00,0.60), (0.80,1.00,0.60), (0.90,1.00,0.60), (1.00,1.00,0.60), (0.00,0.00,0.70), (0.10,0.00,0.70), (0.20,0.00,0.70), (0.30,0.00,0.70), (0.40,0.00,0.70), (0.50,0.00,0.70), (0.60,0.00,0.70), (0.70,0.00,0.70), (0.80,0.00,0.70), (0.90,0.00,0.70), (1.00,0.00,0.70), (0.00,0.10,0.70), (0.10,0.10,0.70), (0.20,0.10,0.70), (0.30,0.10,0.70), (0.40,0.10,0.70), (0.50,0.10,0.70), (0.60,0.10,0.70), (0.70,0.10,0.70), (0.80,0.10,0.70), (0.90,0.10,0.70), (1.00,0.10,0.70), (0.00,0.20,0.70), (0.10,0.20,0.70), (0.20,0.20,0.70), (0.30,0.20,0.70), (0.40,0.20,0.70), (0.50,0.20,0.70), (0.60,0.20,0.70), (0.70,0.20,0.70), (0.80,0.20,0.70), (0.90,0.20,0.70), (1.00,0.20,0.70), (0.00,0.30,0.70), (0.10,0.30,0.70), (0.20,0.30,0.70), (0.30,0.30,0.70), (0.40,0.30,0.70), (0.50,0.30,0.70), (0.60,0.30,0.70), (0.70,0.30,0.70), (0.80,0.30,0.70), (0.90,0.30,0.70), (1.00,0.30,0.70), (0.00,0.40,0.70), (0.10,0.40,0.70), (0.20,0.40,0.70), (0.30,0.40,0.70), (0.40,0.40,0.70), (0.50,0.40,0.70), (0.60,0.40,0.70), (0.70,0.40,0.70), (0.80,0.40,0.70), (0.90,0.40,0.70), (1.00,0.40,0.70), (0.00,0.50,0.70), (0.10,0.50,0.70), (0.20,0.50,0.70), (0.30,0.50,0.70), (0.40,0.50,0.70), (0.50,0.50,0.70), (0.60,0.50,0.70), (0.70,0.50,0.70), (0.80,0.50,0.70), (0.90,0.50,0.70), (1.00,0.50,0.70), (0.00,0.60,0.70), (0.10,0.60,0.70), (0.20,0.60,0.70), (0.30,0.60,0.70), (0.40,0.60,0.70), (0.50,0.60,0.70), (0.60,0.60,0.70), (0.70,0.60,0.70), (0.80,0.60,0.70), (0.90,0.60,0.70), (1.00,0.60,0.70), (0.00,0.70,0.70), (0.10,0.70,0.70), (0.20,0.70,0.70), (0.30,0.70,0.70), (0.40,0.70,0.70), (0.50,0.70,0.70), (0.60,0.70,0.70), (0.70,0.70,0.70), (0.80,0.70,0.70), (0.90,0.70,0.70), (1.00,0.70,0.70), (0.00,0.80,0.70), (0.10,0.80,0.70), (0.20,0.80,0.70), (0.30,0.80,0.70), (0.40,0.80,0.70), (0.50,0.80,0.70), (0.60,0.80,0.70), (0.70,0.80,0.70), (0.80,0.80,0.70), (0.90,0.80,0.70), (1.00,0.80,0.70), (0.00,0.90,0.70), (0.10,0.90,0.70), (0.20,0.90,0.70), (0.30,0.90,0.70), (0.40,0.90,0.70), (0.50,0.90,0.70), (0.60,0.90,0.70), (0.70,0.90,0.70), (0.80,0.90,0.70), (0.90,0.90,0.70), (1.00,0.90,0.70), (0.00,1.00,0.70), (0.10,1.00,0.70), (0.20,1.00,0.70), (0.30,1.00,0.70), (0.40,1.00,0.70), (0.50,1.00,0.70), (0.60,1.00,0.70), (0.70,1.00,0.70), (0.80,1.00,0.70), (0.90,1.00,0.70), (1.00,1.00,0.70), (0.00,0.00,0.80), (0.10,0.00,0.80), (0.20,0.00,0.80), (0.30,0.00,0.80), (0.40,0.00,0.80), (0.50,0.00,0.80), (0.60,0.00,0.80), (0.70,0.00,0.80), (0.80,0.00,0.80), (0.90,0.00,0.80), (1.00,0.00,0.80), (0.00,0.10,0.80), (0.10,0.10,0.80), (0.20,0.10,0.80), (0.30,0.10,0.80), (0.40,0.10,0.80), (0.50,0.10,0.80), (0.60,0.10,0.80), (0.70,0.10,0.80), (0.80,0.10,0.80), (0.90,0.10,0.80), (1.00,0.10,0.80), (0.00,0.20,0.80), (0.10,0.20,0.80), (0.20,0.20,0.80), (0.30,0.20,0.80), (0.40,0.20,0.80), (0.50,0.20,0.80), (0.60,0.20,0.80), (0.70,0.20,0.80), (0.80,0.20,0.80), (0.90,0.20,0.80), (1.00,0.20,0.80), (0.00,0.30,0.80), (0.10,0.30,0.80), (0.20,0.30,0.80), (0.30,0.30,0.80), (0.40,0.30,0.80), (0.50,0.30,0.80), (0.60,0.30,0.80), (0.70,0.30,0.80), (0.80,0.30,0.80), (0.90,0.30,0.80), (1.00,0.30,0.80), (0.00,0.40,0.80), (0.10,0.40,0.80), (0.20,0.40,0.80), (0.30,0.40,0.80), (0.40,0.40,0.80), (0.50,0.40,0.80), (0.60,0.40,0.80), (0.70,0.40,0.80), (0.80,0.40,0.80), (0.90,0.40,0.80), (1.00,0.40,0.80), (0.00,0.50,0.80), (0.10,0.50,0.80), (0.20,0.50,0.80), (0.30,0.50,0.80), (0.40,0.50,0.80), (0.50,0.50,0.80), (0.60,0.50,0.80), (0.70,0.50,0.80), (0.80,0.50,0.80), (0.90,0.50,0.80), (1.00,0.50,0.80), (0.00,0.60,0.80), (0.10,0.60,0.80), (0.20,0.60,0.80), (0.30,0.60,0.80), (0.40,0.60,0.80), (0.50,0.60,0.80), (0.60,0.60,0.80), (0.70,0.60,0.80), (0.80,0.60,0.80), (0.90,0.60,0.80), (1.00,0.60,0.80), (0.00,0.70,0.80), (0.10,0.70,0.80), (0.20,0.70,0.80), (0.30,0.70,0.80), (0.40,0.70,0.80), (0.50,0.70,0.80), (0.60,0.70,0.80), (0.70,0.70,0.80), (0.80,0.70,0.80), (0.90,0.70,0.80), (1.00,0.70,0.80), (0.00,0.80,0.80), (0.10,0.80,0.80), (0.20,0.80,0.80), (0.30,0.80,0.80), (0.40,0.80,0.80), (0.50,0.80,0.80), (0.60,0.80,0.80), (0.70,0.80,0.80), (0.80,0.80,0.80), (0.90,0.80,0.80), (1.00,0.80,0.80), (0.00,0.90,0.80), (0.10,0.90,0.80), (0.20,0.90,0.80), (0.30,0.90,0.80), (0.40,0.90,0.80), (0.50,0.90,0.80), (0.60,0.90,0.80), (0.70,0.90,0.80), (0.80,0.90,0.80), (0.90,0.90,0.80), (1.00,0.90,0.80), (0.00,1.00,0.80), (0.10,1.00,0.80), (0.20,1.00,0.80), (0.30,1.00,0.80), (0.40,1.00,0.80), (0.50,1.00,0.80), (0.60,1.00,0.80), (0.70,1.00,0.80), (0.80,1.00,0.80), (0.90,1.00,0.80), (1.00,1.00,0.80), (0.00,0.00,0.90), (0.10,0.00,0.90), (0.20,0.00,0.90), (0.30,0.00,0.90), (0.40,0.00,0.90), (0.50,0.00,0.90), (0.60,0.00,0.90), (0.70,0.00,0.90), (0.80,0.00,0.90), (0.90,0.00,0.90), (1.00,0.00,0.90), (0.00,0.10,0.90), (0.10,0.10,0.90), (0.20,0.10,0.90), (0.30,0.10,0.90), (0.40,0.10,0.90), (0.50,0.10,0.90), (0.60,0.10,0.90), (0.70,0.10,0.90), (0.80,0.10,0.90), (0.90,0.10,0.90), (1.00,0.10,0.90), (0.00,0.20,0.90), (0.10,0.20,0.90), (0.20,0.20,0.90), (0.30,0.20,0.90), (0.40,0.20,0.90), (0.50,0.20,0.90), (0.60,0.20,0.90), (0.70,0.20,0.90), (0.80,0.20,0.90), (0.90,0.20,0.90), (1.00,0.20,0.90), (0.00,0.30,0.90), (0.10,0.30,0.90), (0.20,0.30,0.90), (0.30,0.30,0.90), (0.40,0.30,0.90), (0.50,0.30,0.90), (0.60,0.30,0.90), (0.70,0.30,0.90), (0.80,0.30,0.90), (0.90,0.30,0.90), (1.00,0.30,0.90), (0.00,0.40,0.90), (0.10,0.40,0.90), (0.20,0.40,0.90), (0.30,0.40,0.90), (0.40,0.40,0.90), (0.50,0.40,0.90), (0.60,0.40,0.90), (0.70,0.40,0.90), (0.80,0.40,0.90), (0.90,0.40,0.90), (1.00,0.40,0.90), (0.00,0.50,0.90), (0.10,0.50,0.90), (0.20,0.50,0.90), (0.30,0.50,0.90), (0.40,0.50,0.90), (0.50,0.50,0.90), (0.60,0.50,0.90), (0.70,0.50,0.90), (0.80,0.50,0.90), (0.90,0.50,0.90), (1.00,0.50,0.90), (0.00,0.60,0.90), (0.10,0.60,0.90), (0.20,0.60,0.90), (0.30,0.60,0.90), (0.40,0.60,0.90), (0.50,0.60,0.90), (0.60,0.60,0.90), (0.70,0.60,0.90), (0.80,0.60,0.90), (0.90,0.60,0.90), (1.00,0.60,0.90), (0.00,0.70,0.90), (0.10,0.70,0.90), (0.20,0.70,0.90), (0.30,0.70,0.90), (0.40,0.70,0.90), (0.50,0.70,0.90), (0.60,0.70,0.90), (0.70,0.70,0.90), (0.80,0.70,0.90), (0.90,0.70,0.90), (1.00,0.70,0.90), (0.00,0.80,0.90), (0.10,0.80,0.90), (0.20,0.80,0.90), (0.30,0.80,0.90), (0.40,0.80,0.90), (0.50,0.80,0.90), (0.60,0.80,0.90), (0.70,0.80,0.90), (0.80,0.80,0.90), (0.90,0.80,0.90), (1.00,0.80,0.90), (0.00,0.90,0.90), (0.10,0.90,0.90), (0.20,0.90,0.90), (0.30,0.90,0.90), (0.40,0.90,0.90), (0.50,0.90,0.90), (0.60,0.90,0.90), (0.70,0.90,0.90), (0.80,0.90,0.90), (0.90,0.90,0.90), (1.00,0.90,0.90), (0.00,1.00,0.90), (0.10,1.00,0.90), (0.20,1.00,0.90), (0.30,1.00,0.90), (0.40,1.00,0.90), (0.50,1.00,0.90), (0.60,1.00,0.90), (0.70,1.00,0.90), (0.80,1.00,0.90), (0.90,1.00,0.90), (1.00,1.00,0.90), (0.00,0.00,1.00), (0.10,0.00,1.00), (0.20,0.00,1.00), (0.30,0.00,1.00), (0.40,0.00,1.00), (0.50,0.00,1.00), (0.60,0.00,1.00), (0.70,0.00,1.00), (0.80,0.00,1.00), (0.90,0.00,1.00), (1.00,0.00,1.00), (0.00,0.10,1.00), (0.10,0.10,1.00), (0.20,0.10,1.00), (0.30,0.10,1.00), (0.40,0.10,1.00), (0.50,0.10,1.00), (0.60,0.10,1.00), (0.70,0.10,1.00), (0.80,0.10,1.00), (0.90,0.10,1.00), (1.00,0.10,1.00), (0.00,0.20,1.00), (0.10,0.20,1.00), (0.20,0.20,1.00), (0.30,0.20,1.00), (0.40,0.20,1.00), (0.50,0.20,1.00), (0.60,0.20,1.00), (0.70,0.20,1.00), (0.80,0.20,1.00), (0.90,0.20,1.00), (1.00,0.20,1.00), (0.00,0.30,1.00), (0.10,0.30,1.00), (0.20,0.30,1.00), (0.30,0.30,1.00), (0.40,0.30,1.00), (0.50,0.30,1.00), (0.60,0.30,1.00), (0.70,0.30,1.00), (0.80,0.30,1.00), (0.90,0.30,1.00), (1.00,0.30,1.00), (0.00,0.40,1.00), (0.10,0.40,1.00), (0.20,0.40,1.00), (0.30,0.40,1.00), (0.40,0.40,1.00), (0.50,0.40,1.00), (0.60,0.40,1.00), (0.70,0.40,1.00), (0.80,0.40,1.00), (0.90,0.40,1.00), (1.00,0.40,1.00), (0.00,0.50,1.00), (0.10,0.50,1.00), (0.20,0.50,1.00), (0.30,0.50,1.00), (0.40,0.50,1.00), (0.50,0.50,1.00), (0.60,0.50,1.00), (0.70,0.50,1.00), (0.80,0.50,1.00), (0.90,0.50,1.00), (1.00,0.50,1.00), (0.00,0.60,1.00), (0.10,0.60,1.00), (0.20,0.60,1.00), (0.30,0.60,1.00), (0.40,0.60,1.00), (0.50,0.60,1.00), (0.60,0.60,1.00), (0.70,0.60,1.00), (0.80,0.60,1.00), (0.90,0.60,1.00), (1.00,0.60,1.00), (0.00,0.70,1.00), (0.10,0.70,1.00), (0.20,0.70,1.00), (0.30,0.70,1.00), (0.40,0.70,1.00), (0.50,0.70,1.00), (0.60,0.70,1.00), (0.70,0.70,1.00), (0.80,0.70,1.00), (0.90,0.70,1.00), (1.00,0.70,1.00), (0.00,0.80,1.00), (0.10,0.80,1.00), (0.20,0.80,1.00), (0.30,0.80,1.00), (0.40,0.80,1.00), (0.50,0.80,1.00), (0.60,0.80,1.00), (0.70,0.80,1.00), (0.80,0.80,1.00), (0.90,0.80,1.00), (1.00,0.80,1.00), (0.00,0.90,1.00), (0.10,0.90,1.00), (0.20,0.90,1.00), (0.30,0.90,1.00), (0.40,0.90,1.00), (0.50,0.90,1.00), (0.60,0.90,1.00), (0.70,0.90,1.00), (0.80,0.90,1.00), (0.90,0.90,1.00), (1.00,0.90,1.00), (0.00,1.00,1.00), (0.10,1.00,1.00), (0.20,1.00,1.00), (0.30,1.00,1.00), (0.40,1.00,1.00), (0.50,1.00,1.00), (0.60,1.00,1.00), (0.70,1.00,1.00), (0.80,1.00,1.00), (0.90,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x81262cc
+	nodeL2G (ptr): 0x806b658
 	nodeL2G[0-1331]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x81262cc
+	nodeD2G (ptr): 0x806b658
 	nodeD2G[0-1331]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x81277a4
+	nodeG2L (ptr): 0x806cb30
 	nodeG2L[0-1331]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x81277a4
+	nodeG2D (ptr): 0x806cb30
 	nodeG2D[0-1331]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x8128c7c
+	nodeNeighbourCountTbl (ptr): 0x806e008
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x812a154
+	nodeNeighbourTbl (ptr): 0x806f4e0
 	nodeNeighbourTbl[0-1331]:
 		nodeNeighbourTbl[0][0-6]: 001 011 121 1331 1331 1331 
 		nodeNeighbourTbl[1][0-6]: 002 012 122 000 1331 1331 
@@ -1474,9 +1479,9 @@
 		nodeNeighbourTbl[1329][0-6]: 1330 1331 1331 1328 1318 1208 
 		nodeNeighbourTbl[1330][0-6]: 1331 1331 1331 1329 1319 1209 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x813429c
+	nodeElementCountTbl (ptr): 0x8079630
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x8135774
+	nodeElementTbl (ptr): 0x807ab08
 	nodeElementTbl[0-1331]:
 		nodeElementTbl[0][0-8]: 1000 1000 1000 1000 1000 1000 1000 000 
 		nodeElementTbl[1][0-8]: 1000 1000 1000 1000 1000 1000 000 001 
@@ -2809,27 +2814,27 @@
 		nodeElementTbl[1328][0-8]: 997 998 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[1329][0-8]: 998 999 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[1330][0-8]: 999 1000 1000 1000 1000 1000 1000 1000 
-	element (ptr): 0x81412ac
+	element (ptr): 0x8086640
 	elementLocalCount: 1000
 	elementDomainCount: 1000
 	elementShadowCount: 0
 	elementGlobalCount: 1000
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x81332f4
+	elementL2G (ptr): 0x8078680
 	elementL2G[0-1000]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x81332f4
+	elementD2G (ptr): 0x8078680
 	elementD2G[0-1000]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x81431f4
+	elementG2L (ptr): 0x8088590
 	elementG2L[0-1000]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x81431f4
+	elementG2D (ptr): 0x8088590
 	elementG2D[0-1000]:   000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x814419c
+	elementNeighbourCountTbl (ptr): 0x8089540
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x8145144
+	elementNeighbourTbl (ptr): 0x808a4f0
 	elementNeighbourTbl[0-1000]:
 		elementNeighbourTbl[0][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 001 1000 010 011 1000 1000 1000 1000 100 101 1000 110 111 
 		elementNeighbourTbl[1][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 000 002 010 011 012 1000 1000 1000 100 101 102 110 111 112 
@@ -3832,9 +3837,9 @@
 		elementNeighbourTbl[998][0-26]: 887 888 889 897 898 899 1000 1000 1000 987 988 989 997 999 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 		elementNeighbourTbl[999][0-26]: 888 889 1000 898 899 1000 1000 1000 1000 988 989 1000 998 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x815f72c
+	elementNodeCountTbl (ptr): 0x80a4ae0
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x81606d4
+	elementNodeTbl (ptr): 0x80a5a90
 	elementNodeTbl[0-1000]:
 		elementNodeTbl[0][0-8]: 000 001 012 011 121 122 133 132 
 		elementNodeTbl[1][0-8]: 001 002 013 012 122 123 134 133 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811bd34)
-Component (ptr): 0x811bd34
-Stg_Object (ptr): 0x811bd34
-	Stg_Class (ptr): 0x811bd34
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x80602d8)
+Stg_Component (ptr): 0x80602d8
+Stg_Object (ptr): 0x80602d8
+	Stg_Class (ptr): 0x80602d8
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057fa0
-		_print (func ptr): 0x8058831
-		_copy (func ptr): 0x8059a1d
+		_delete (func ptr): 0xb7eca1dd
+		_print (func ptr): 0xb7ecaa6a
+		_copy (func ptr): 0xb7ecbc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80574d0
-	_construct (func ptr): 0x8057f96
-	_build (func ptr): 0x805a0d9
-	_initialise (func ptr): 0x805b005
-	_execute (func ptr): 0x805b02e
-	_destroy (func ptr): 0x8057f9b
+	_defaultConstructor (func ptr): 0xb7ec951c
+	_construct (func ptr): 0xb7eca00e
+	_build (func ptr): 0xb7ecc322
+	_initialise (func ptr): 0xb7ecd214
+	_execute (func ptr): 0xb7ecd219
+	_destroy (func ptr): 0xb7eca1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x81195cc
-	layout (ptr): 0x811bc14
-Extension (ptr):0x811bebc
-Stg_Object (ptr): 0x811bebc
-	Stg_Class (ptr): 0x811bebc
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c560
+	layout (ptr): 0x805ff90
+Extension (ptr):0x80606a8
+Stg_Object (ptr): 0x80606a8
+	Stg_Class (ptr): 0x80606a8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e42018
+		_print (func ptr): 0xb7e42066
+		_copy (func ptr): 0xb7e42200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811bf0c
-Stg_ObjectList (ptr):0x811bf0c
-	Stg_Class (ptr): 0x811bf0c
+	extInfos (ptr): 0x8060708
+Stg_ObjectList (ptr):0x8060708
+	Stg_Class (ptr): 0x8060708
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7e73f3e
+		_print (func ptr): 0xb7e73f75
+		_copy (func ptr): 0xb7e74217
+	_append(func ptr): 0xb7e74e7b
+	_prepend(func ptr): 0xb7e74f41
+	_replaceAll(func ptr): 0xb7e75005
+	_replace(func ptr): 0xb7e750be
+	_insertBefore(func ptr): 0xb7e7525b
+	_insertAfter(func ptr): 0xb7e75416
+	_remove(func ptr): 0xb7e755d3
+	_getIndex(func ptr): 0xb7e75679
+	_get(func ptr): 0xb7e75727
+	_allocMoreMemory(func ptr): 0xb7e758fa
+	_insertAtIndex(func ptr): 0xb7e75980
+	_removeByIndex(func ptr): 0xb7e759fe
+	_deleteAllObjects(func ptr): 0xb7e7587b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811bf9c
-Stg_Object (ptr): 0x811bf9c
-	Stg_Class (ptr): 0x811bf9c
-		sizeOfSelf: 72
+Extension (ptr):0x80607a8
+Stg_Object (ptr): 0x80607a8
+	Stg_Class (ptr): 0x80607a8
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e42018
+		_print (func ptr): 0xb7e42066
+		_copy (func ptr): 0xb7e42200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811bfec
-Stg_ObjectList (ptr):0x811bfec
-	Stg_Class (ptr): 0x811bfec
+	extInfos (ptr): 0x8060808
+Stg_ObjectList (ptr):0x8060808
+	Stg_Class (ptr): 0x8060808
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7e73f3e
+		_print (func ptr): 0xb7e73f75
+		_copy (func ptr): 0xb7e74217
+	_append(func ptr): 0xb7e74e7b
+	_prepend(func ptr): 0xb7e74f41
+	_replaceAll(func ptr): 0xb7e75005
+	_replace(func ptr): 0xb7e750be
+	_insertBefore(func ptr): 0xb7e7525b
+	_insertAfter(func ptr): 0xb7e75416
+	_remove(func ptr): 0xb7e755d3
+	_getIndex(func ptr): 0xb7e75679
+	_get(func ptr): 0xb7e75727
+	_allocMoreMemory(func ptr): 0xb7e758fa
+	_insertAtIndex(func ptr): 0xb7e75980
+	_removeByIndex(func ptr): 0xb7e759fe
+	_deleteAllObjects(func ptr): 0xb7e7587b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811d0ac
+	node (ptr): 0x8061c00
 	nodeLocalCount: 726
 	nodeDomainCount: 726
 	nodeShadowCount: 0
 	nodeGlobalCount: 1331
-	nodeCoord (ptr): 0x811f5ec
+	nodeCoord (ptr): 0x80639a8
 	nodeCoord[0-726]:   (0.00,0.00,0.00), (0.10,0.00,0.00), (0.20,0.00,0.00), (0.30,0.00,0.00), (0.40,0.00,0.00), (0.50,0.00,0.00), (0.00,0.10,0.00), (0.10,0.10,0.00), (0.20,0.10,0.00), (0.30,0.10,0.00), (0.40,0.10,0.00), (0.50,0.10,0.00), (0.00,0.20,0.00), (0.10,0.20,0.00), (0.20,0.20,0.00), (0.30,0.20,0.00), (0.40,0.20,0.00), (0.50,0.20,0.00), (0.00,0.30,0.00), (0.10,0.30,0.00), (0.20,0.30,0.00), (0.30,0.30,0.00), (0.40,0.30,0.00), (0.50,0.30,0.00), (0.00,0.40,0.00), (0.10,0.40,0.00), (0.20,0.40,0.00), (0.30,0.40,0.00), (0.40,0.40,0.00), (0.50,0.40,0.00), (0.00,0.50,0.00), (0.10,0.50,0.00), (0.20,0.50,0.00), (0.30,0.50,0.00), (0.40,0.50,0.00), (0.50,0.50,0.00), (0.00,0.60,0.00), (0.10,0.60,0.00), (0.20,0.60,0.00), (0.30,0.60,0.00), (0.40,0.60,0.00), (0.50,0.60,0.00), (0.00,0.70,0.00), (0.10,0.70,0.00), (0.20,0.70,0.00), (0.30,0.70,0.00), (0.40,0.70,0.00), (0.50,0.70,0.00), (0.00,0.80,0.00), (0.10,0.80,0.00), (0.20,0.80,0.00), (0.30,0.80,0.00), (0.40,0.80,0.00), (0.50,0.80,0.00), (0.00,0.90,0.00), (0.10,0.90,0.00), (0.20,0.90,0.00), (0.30,0.90,0.00), (0.40,0.90,0.00), (0.50,0.90,0.00), (0.00,1.00,0.00), (0.10,1.00,0.00), (0.20,1.00,0.00), (0.30,1.00,0.00), (0.40,1.00,0.00), (0.50,1.00,0.00), (0.00,0.00,0.10), (0.10,0.00,0.10), (0.20,0.00,0.10), (0.30,0.00,0.10), (0.40,0.00,0.10), (0.50,0.00,0.10), (0.00,0.10,0.10), (0.10,0.10,0.10), (0.20,0.10,0.10), (0.30,0.10,0.10), (0.40,0.10,0.10), (0.50,0.10,0.10), (0.00,0.20,0.10), (0.10,0.20,0.10), (0.20,0.20,0.10), (0.30,0.20,0.10), (0.40,0.20,0.10), (0.50,0.20,0.10), (0.00,0.30,0.10), (0.10,0.30,0.10), (0.20,0.30,0.10), (0.30,0.30,0.10), (0.40,0.30,0.10), (0.50,0.30,0.10), (0.00,0.40,0.10), (0.10,0.40,0.10), (0.20,0.40,0.10), (0.30,0.40,0.10), (0.40,0.40,0.10), (0.50,0.40,0.10), (0.00,0.50,0.10), (0.10,0.50,0.10), (0.20,0.50,0.10), (0.30,0.50,0.10), (0.40,0.50,0.10), (0.50,0.50,0.10), (0.00,0.60,0.10), (0.10,0.60,0.10), (0.20,0.60,0.10), (0.30,0.60,0.10), (0.40,0.60,0.10), (0.50,0.60,0.10), (0.00,0.70,0.10), (0.10,0.70,0.10), (0.20,0.70,0.10), (0.30,0.70,0.10), (0.40,0.70,0.10), (0.50,0.70,0.10), (0.00,0.80,0.10), (0.10,0.80,0.10), (0.20,0.80,0.10), (0.30,0.80,0.10), (0.40,0.80,0.10), (0.50,0.80,0.10), (0.00,0.90,0.10), (0.10,0.90,0.10), (0.20,0.90,0.10), (0.30,0.90,0.10), (0.40,0.90,0.10), (0.50,0.90,0.10), (0.00,1.00,0.10), (0.10,1.00,0.10), (0.20,1.00,0.10), (0.30,1.00,0.10), (0.40,1.00,0.10), (0.50,1.00,0.10), (0.00,0.00,0.20), (0.10,0.00,0.20), (0.20,0.00,0.20), (0.30,0.00,0.20), (0.40,0.00,0.20), (0.50,0.00,0.20), (0.00,0.10,0.20), (0.10,0.10,0.20), (0.20,0.10,0.20), (0.30,0.10,0.20), (0.40,0.10,0.20), (0.50,0.10,0.20), (0.00,0.20,0.20), (0.10,0.20,0.20), (0.20,0.20,0.20), (0.30,0.20,0.20), (0.40,0.20,0.20), (0.50,0.20,0.20), (0.00,0.30,0.20), (0.10,0.30,0.20), (0.20,0.30,0.20), (0.30,0.30,0.20), (0.40,0.30,0.20), (0.50,0.30,0.20), (0.00,0.40,0.20), (0.10,0.40,0.20), (0.20,0.40,0.20), (0.30,0.40,0.20), (0.40,0.40,0.20), (0.50,0.40,0.20), (0.00,0.50,0.20), (0.10,0.50,0.20), (0.20,0.50,0.20), (0.30,0.50,0.20), (0.40,0.50,0.20), (0.50,0.50,0.20), (0.00,0.60,0.20), (0.10,0.60,0.20), (0.20,0.60,0.20), (0.30,0.60,0.20), (0.40,0.60,0.20), (0.50,0.60,0.20), (0.00,0.70,0.20), (0.10,0.70,0.20), (0.20,0.70,0.20), (0.30,0.70,0.20), (0.40,0.70,0.20), (0.50,0.70,0.20), (0.00,0.80,0.20), (0.10,0.80,0.20), (0.20,0.80,0.20), (0.30,0.80,0.20), (0.40,0.80,0.20), (0.50,0.80,0.20), (0.00,0.90,0.20), (0.10,0.90,0.20), (0.20,0.90,0.20), (0.30,0.90,0.20), (0.40,0.90,0.20), (0.50,0.90,0.20), (0.00,1.00,0.20), (0.10,1.00,0.20), (0.20,1.00,0.20), (0.30,1.00,0.20), (0.40,1.00,0.20), (0.50,1.00,0.20), (0.00,0.00,0.30), (0.10,0.00,0.30), (0.20,0.00,0.30), (0.30,0.00,0.30), (0.40,0.00,0.30), (0.50,0.00,0.30), (0.00,0.10,0.30), (0.10,0.10,0.30), (0.20,0.10,0.30), (0.30,0.10,0.30), (0.40,0.10,0.30), (0.50,0.10,0.30), (0.00,0.20,0.30), (0.10,0.20,0.30), (0.20,0.20,0.30), (0.30,0.20,0.30), (0.40,0.20,0.30), (0.50,0.20,0.30), (0.00,0.30,0.30), (0.10,0.30,0.30), (0.20,0.30,0.30), (0.30,0.30,0.30), (0.40,0.30,0.30), (0.50,0.30,0.30), (0.00,0.40,0.30), (0.10,0.40,0.30), (0.20,0.40,0.30), (0.30,0.40,0.30), (0.40,0.40,0.30), (0.50,0.40,0.30), (0.00,0.50,0.30), (0.10,0.50,0.30), (0.20,0.50,0.30), (0.30,0.50,0.30), (0.40,0.50,0.30), (0.50,0.50,0.30), (0.00,0.60,0.30), (0.10,0.60,0.30), (0.20,0.60,0.30), (0.30,0.60,0.30), (0.40,0.60,0.30), (0.50,0.60,0.30), (0.00,0.70,0.30), (0.10,0.70,0.30), (0.20,0.70,0.30), (0.30,0.70,0.30), (0.40,0.70,0.30), (0.50,0.70,0.30), (0.00,0.80,0.30), (0.10,0.80,0.30), (0.20,0.80,0.30), (0.30,0.80,0.30), (0.40,0.80,0.30), (0.50,0.80,0.30), (0.00,0.90,0.30), (0.10,0.90,0.30), (0.20,0.90,0.30), (0.30,0.90,0.30), (0.40,0.90,0.30), (0.50,0.90,0.30), (0.00,1.00,0.30), (0.10,1.00,0.30), (0.20,1.00,0.30), (0.30,1.00,0.30), (0.40,1.00,0.30), (0.50,1.00,0.30), (0.00,0.00,0.40), (0.10,0.00,0.40), (0.20,0.00,0.40), (0.30,0.00,0.40), (0.40,0.00,0.40), (0.50,0.00,0.40), (0.00,0.10,0.40), (0.10,0.10,0.40), (0.20,0.10,0.40), (0.30,0.10,0.40), (0.40,0.10,0.40), (0.50,0.10,0.40), (0.00,0.20,0.40), (0.10,0.20,0.40), (0.20,0.20,0.40), (0.30,0.20,0.40), (0.40,0.20,0.40), (0.50,0.20,0.40), (0.00,0.30,0.40), (0.10,0.30,0.40), (0.20,0.30,0.40), (0.30,0.30,0.40), (0.40,0.30,0.40), (0.50,0.30,0.40), (0.00,0.40,0.40), (0.10,0.40,0.40), (0.20,0.40,0.40), (0.30,0.40,0.40), (0.40,0.40,0.40), (0.50,0.40,0.40), (0.00,0.50,0.40), (0.10,0.50,0.40), (0.20,0.50,0.40), (0.30,0.50,0.40), (0.40,0.50,0.40), (0.50,0.50,0.40), (0.00,0.60,0.40), (0.10,0.60,0.40), (0.20,0.60,0.40), (0.30,0.60,0.40), (0.40,0.60,0.40), (0.50,0.60,0.40), (0.00,0.70,0.40), (0.10,0.70,0.40), (0.20,0.70,0.40), (0.30,0.70,0.40), (0.40,0.70,0.40), (0.50,0.70,0.40), (0.00,0.80,0.40), (0.10,0.80,0.40), (0.20,0.80,0.40), (0.30,0.80,0.40), (0.40,0.80,0.40), (0.50,0.80,0.40), (0.00,0.90,0.40), (0.10,0.90,0.40), (0.20,0.90,0.40), (0.30,0.90,0.40), (0.40,0.90,0.40), (0.50,0.90,0.40), (0.00,1.00,0.40), (0.10,1.00,0.40), (0.20,1.00,0.40), (0.30,1.00,0.40), (0.40,1.00,0.40), (0.50,1.00,0.40), (0.00,0.00,0.50), (0.10,0.00,0.50), (0.20,0.00,0.50), (0.30,0.00,0.50), (0.40,0.00,0.50), (0.50,0.00,0.50), (0.00,0.10,0.50), (0.10,0.10,0.50), (0.20,0.10,0.50), (0.30,0.10,0.50), (0.40,0.10,0.50), (0.50,0.10,0.50), (0.00,0.20,0.50), (0.10,0.20,0.50), (0.20,0.20,0.50), (0.30,0.20,0.50), (0.40,0.20,0.50), (0.50,0.20,0.50), (0.00,0.30,0.50), (0.10,0.30,0.50), (0.20,0.30,0.50), (0.30,0.30,0.50), (0.40,0.30,0.50), (0.50,0.30,0.50), (0.00,0.40,0.50), (0.10,0.40,0.50), (0.20,0.40,0.50), (0.30,0.40,0.50), (0.40,0.40,0.50), (0.50,0.40,0.50), (0.00,0.50,0.50), (0.10,0.50,0.50), (0.20,0.50,0.50), (0.30,0.50,0.50), (0.40,0.50,0.50), (0.50,0.50,0.50), (0.00,0.60,0.50), (0.10,0.60,0.50), (0.20,0.60,0.50), (0.30,0.60,0.50), (0.40,0.60,0.50), (0.50,0.60,0.50), (0.00,0.70,0.50), (0.10,0.70,0.50), (0.20,0.70,0.50), (0.30,0.70,0.50), (0.40,0.70,0.50), (0.50,0.70,0.50), (0.00,0.80,0.50), (0.10,0.80,0.50), (0.20,0.80,0.50), (0.30,0.80,0.50), (0.40,0.80,0.50), (0.50,0.80,0.50), (0.00,0.90,0.50), (0.10,0.90,0.50), (0.20,0.90,0.50), (0.30,0.90,0.50), (0.40,0.90,0.50), (0.50,0.90,0.50), (0.00,1.00,0.50), (0.10,1.00,0.50), (0.20,1.00,0.50), (0.30,1.00,0.50), (0.40,1.00,0.50), (0.50,1.00,0.50), (0.00,0.00,0.60), (0.10,0.00,0.60), (0.20,0.00,0.60), (0.30,0.00,0.60), (0.40,0.00,0.60), (0.50,0.00,0.60), (0.00,0.10,0.60), (0.10,0.10,0.60), (0.20,0.10,0.60), (0.30,0.10,0.60), (0.40,0.10,0.60), (0.50,0.10,0.60), (0.00,0.20,0.60), (0.10,0.20,0.60), (0.20,0.20,0.60), (0.30,0.20,0.60), (0.40,0.20,0.60), (0.50,0.20,0.60), (0.00,0.30,0.60), (0.10,0.30,0.60), (0.20,0.30,0.60), (0.30,0.30,0.60), (0.40,0.30,0.60), (0.50,0.30,0.60), (0.00,0.40,0.60), (0.10,0.40,0.60), (0.20,0.40,0.60), (0.30,0.40,0.60), (0.40,0.40,0.60), (0.50,0.40,0.60), (0.00,0.50,0.60), (0.10,0.50,0.60), (0.20,0.50,0.60), (0.30,0.50,0.60), (0.40,0.50,0.60), (0.50,0.50,0.60), (0.00,0.60,0.60), (0.10,0.60,0.60), (0.20,0.60,0.60), (0.30,0.60,0.60), (0.40,0.60,0.60), (0.50,0.60,0.60), (0.00,0.70,0.60), (0.10,0.70,0.60), (0.20,0.70,0.60), (0.30,0.70,0.60), (0.40,0.70,0.60), (0.50,0.70,0.60), (0.00,0.80,0.60), (0.10,0.80,0.60), (0.20,0.80,0.60), (0.30,0.80,0.60), (0.40,0.80,0.60), (0.50,0.80,0.60), (0.00,0.90,0.60), (0.10,0.90,0.60), (0.20,0.90,0.60), (0.30,0.90,0.60), (0.40,0.90,0.60), (0.50,0.90,0.60), (0.00,1.00,0.60), (0.10,1.00,0.60), (0.20,1.00,0.60), (0.30,1.00,0.60), (0.40,1.00,0.60), (0.50,1.00,0.60), (0.00,0.00,0.70), (0.10,0.00,0.70), (0.20,0.00,0.70), (0.30,0.00,0.70), (0.40,0.00,0.70), (0.50,0.00,0.70), (0.00,0.10,0.70), (0.10,0.10,0.70), (0.20,0.10,0.70), (0.30,0.10,0.70), (0.40,0.10,0.70), (0.50,0.10,0.70), (0.00,0.20,0.70), (0.10,0.20,0.70), (0.20,0.20,0.70), (0.30,0.20,0.70), (0.40,0.20,0.70), (0.50,0.20,0.70), (0.00,0.30,0.70), (0.10,0.30,0.70), (0.20,0.30,0.70), (0.30,0.30,0.70), (0.40,0.30,0.70), (0.50,0.30,0.70), (0.00,0.40,0.70), (0.10,0.40,0.70), (0.20,0.40,0.70), (0.30,0.40,0.70), (0.40,0.40,0.70), (0.50,0.40,0.70), (0.00,0.50,0.70), (0.10,0.50,0.70), (0.20,0.50,0.70), (0.30,0.50,0.70), (0.40,0.50,0.70), (0.50,0.50,0.70), (0.00,0.60,0.70), (0.10,0.60,0.70), (0.20,0.60,0.70), (0.30,0.60,0.70), (0.40,0.60,0.70), (0.50,0.60,0.70), (0.00,0.70,0.70), (0.10,0.70,0.70), (0.20,0.70,0.70), (0.30,0.70,0.70), (0.40,0.70,0.70), (0.50,0.70,0.70), (0.00,0.80,0.70), (0.10,0.80,0.70), (0.20,0.80,0.70), (0.30,0.80,0.70), (0.40,0.80,0.70), (0.50,0.80,0.70), (0.00,0.90,0.70), (0.10,0.90,0.70), (0.20,0.90,0.70), (0.30,0.90,0.70), (0.40,0.90,0.70), (0.50,0.90,0.70), (0.00,1.00,0.70), (0.10,1.00,0.70), (0.20,1.00,0.70), (0.30,1.00,0.70), (0.40,1.00,0.70), (0.50,1.00,0.70), (0.00,0.00,0.80), (0.10,0.00,0.80), (0.20,0.00,0.80), (0.30,0.00,0.80), (0.40,0.00,0.80), (0.50,0.00,0.80), (0.00,0.10,0.80), (0.10,0.10,0.80), (0.20,0.10,0.80), (0.30,0.10,0.80), (0.40,0.10,0.80), (0.50,0.10,0.80), (0.00,0.20,0.80), (0.10,0.20,0.80), (0.20,0.20,0.80), (0.30,0.20,0.80), (0.40,0.20,0.80), (0.50,0.20,0.80), (0.00,0.30,0.80), (0.10,0.30,0.80), (0.20,0.30,0.80), (0.30,0.30,0.80), (0.40,0.30,0.80), (0.50,0.30,0.80), (0.00,0.40,0.80), (0.10,0.40,0.80), (0.20,0.40,0.80), (0.30,0.40,0.80), (0.40,0.40,0.80), (0.50,0.40,0.80), (0.00,0.50,0.80), (0.10,0.50,0.80), (0.20,0.50,0.80), (0.30,0.50,0.80), (0.40,0.50,0.80), (0.50,0.50,0.80), (0.00,0.60,0.80), (0.10,0.60,0.80), (0.20,0.60,0.80), (0.30,0.60,0.80), (0.40,0.60,0.80), (0.50,0.60,0.80), (0.00,0.70,0.80), (0.10,0.70,0.80), (0.20,0.70,0.80), (0.30,0.70,0.80), (0.40,0.70,0.80), (0.50,0.70,0.80), (0.00,0.80,0.80), (0.10,0.80,0.80), (0.20,0.80,0.80), (0.30,0.80,0.80), (0.40,0.80,0.80), (0.50,0.80,0.80), (0.00,0.90,0.80), (0.10,0.90,0.80), (0.20,0.90,0.80), (0.30,0.90,0.80), (0.40,0.90,0.80), (0.50,0.90,0.80), (0.00,1.00,0.80), (0.10,1.00,0.80), (0.20,1.00,0.80), (0.30,1.00,0.80), (0.40,1.00,0.80), (0.50,1.00,0.80), (0.00,0.00,0.90), (0.10,0.00,0.90), (0.20,0.00,0.90), (0.30,0.00,0.90), (0.40,0.00,0.90), (0.50,0.00,0.90), (0.00,0.10,0.90), (0.10,0.10,0.90), (0.20,0.10,0.90), (0.30,0.10,0.90), (0.40,0.10,0.90), (0.50,0.10,0.90), (0.00,0.20,0.90), (0.10,0.20,0.90), (0.20,0.20,0.90), (0.30,0.20,0.90), (0.40,0.20,0.90), (0.50,0.20,0.90), (0.00,0.30,0.90), (0.10,0.30,0.90), (0.20,0.30,0.90), (0.30,0.30,0.90), (0.40,0.30,0.90), (0.50,0.30,0.90), (0.00,0.40,0.90), (0.10,0.40,0.90), (0.20,0.40,0.90), (0.30,0.40,0.90), (0.40,0.40,0.90), (0.50,0.40,0.90), (0.00,0.50,0.90), (0.10,0.50,0.90), (0.20,0.50,0.90), (0.30,0.50,0.90), (0.40,0.50,0.90), (0.50,0.50,0.90), (0.00,0.60,0.90), (0.10,0.60,0.90), (0.20,0.60,0.90), (0.30,0.60,0.90), (0.40,0.60,0.90), (0.50,0.60,0.90), (0.00,0.70,0.90), (0.10,0.70,0.90), (0.20,0.70,0.90), (0.30,0.70,0.90), (0.40,0.70,0.90), (0.50,0.70,0.90), (0.00,0.80,0.90), (0.10,0.80,0.90), (0.20,0.80,0.90), (0.30,0.80,0.90), (0.40,0.80,0.90), (0.50,0.80,0.90), (0.00,0.90,0.90), (0.10,0.90,0.90), (0.20,0.90,0.90), (0.30,0.90,0.90), (0.40,0.90,0.90), (0.50,0.90,0.90), (0.00,1.00,0.90), (0.10,1.00,0.90), (0.20,1.00,0.90), (0.30,1.00,0.90), (0.40,1.00,0.90), (0.50,1.00,0.90), (0.00,0.00,1.00), (0.10,0.00,1.00), (0.20,0.00,1.00), (0.30,0.00,1.00), (0.40,0.00,1.00), (0.50,0.00,1.00), (0.00,0.10,1.00), (0.10,0.10,1.00), (0.20,0.10,1.00), (0.30,0.10,1.00), (0.40,0.10,1.00), (0.50,0.10,1.00), (0.00,0.20,1.00), (0.10,0.20,1.00), (0.20,0.20,1.00), (0.30,0.20,1.00), (0.40,0.20,1.00), (0.50,0.20,1.00), (0.00,0.30,1.00), (0.10,0.30,1.00), (0.20,0.30,1.00), (0.30,0.30,1.00), (0.40,0.30,1.00), (0.50,0.30,1.00), (0.00,0.40,1.00), (0.10,0.40,1.00), (0.20,0.40,1.00), (0.30,0.40,1.00), (0.40,0.40,1.00), (0.50,0.40,1.00), (0.00,0.50,1.00), (0.10,0.50,1.00), (0.20,0.50,1.00), (0.30,0.50,1.00), (0.40,0.50,1.00), (0.50,0.50,1.00), (0.00,0.60,1.00), (0.10,0.60,1.00), (0.20,0.60,1.00), (0.30,0.60,1.00), (0.40,0.60,1.00), (0.50,0.60,1.00), (0.00,0.70,1.00), (0.10,0.70,1.00), (0.20,0.70,1.00), (0.30,0.70,1.00), (0.40,0.70,1.00), (0.50,0.70,1.00), (0.00,0.80,1.00), (0.10,0.80,1.00), (0.20,0.80,1.00), (0.30,0.80,1.00), (0.40,0.80,1.00), (0.50,0.80,1.00), (0.00,0.90,1.00), (0.10,0.90,1.00), (0.20,0.90,1.00), (0.30,0.90,1.00), (0.40,0.90,1.00), (0.50,0.90,1.00), (0.00,1.00,1.00), (0.10,1.00,1.00), (0.20,1.00,1.00), (0.30,1.00,1.00), (0.40,1.00,1.00), (0.50,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811e764
+	nodeL2G (ptr): 0x8067dc8
 	nodeL2G[0-726]:   000 001 002 003 004 005 011 012 013 014 015 016 022 023 024 025 026 027 033 034 035 036 037 038 044 045 046 047 048 049 055 056 057 058 059 060 066 067 068 069 070 071 077 078 079 080 081 082 088 089 090 091 092 093 099 100 101 102 103 104 110 111 112 113 114 115 121 122 123 124 125 126 132 133 134 135 136 137 143 144 145 146 147 148 154 155 156 157 158 159 165 166 167 168 169 170 176 177 178 179 180 181 187 188 189 190 191 192 198 199 200 201 202 203 209 210 211 212 213 214 220 221 222 223 224 225 231 232 233 234 235 236 242 243 244 245 246 247 253 254 255 256 257 258 264 265 266 267 268 269 275 276 277 278 279 280 286 287 288 289 290 291 297 298 299 300 301 302 308 309 310 311 312 313 319 320 321 322 323 324 330 331 332 333 334 335 341 342 343 344 345 346 352 353 354 355 356 357 363 364 365 366 367 368 374 375 376 377 378 379 385 386 387 388 389 390 396 397 398 399 400 401 407 408 409 410 411 412 418 419 420 421 422 423 429 430 431 432 433 434 440 441 442 443 444 445 451 452 453 454 455 456 462 463 464 465 466 467 473 474 475 476 477 478 484 485 486 487 488 489 495 496 497 498 499 500 506 507 508 509 510 511 517 518 519 520 521 522 528 529 530 531 532 533 539 540 541 542 543 544 550 551 552 553 554 555 561 562 563 564 565 566 572 573 574 575 576 577 583 584 585 586 587 588 594 595 596 597 598 599 605 606 607 608 609 610 616 617 618 619 620 621 627 628 629 630 631 632 638 639 640 641 642 643 649 650 651 652 653 654 660 661 662 663 664 665 671 672 673 674 675 676 682 683 684 685 686 687 693 694 695 696 697 698 704 705 706 707 708 709 715 716 717 718 719 720 726 727 728 729 730 731 737 738 739 740 741 742 748 749 750 751 752 753 759 760 761 762 763 764 770 771 772 773 774 775 781 782 783 784 785 786 792 793 794 795 796 797 803 804 805 806 807 808 814 815 816 817 818 819 825 826 827 828 829 830 836 837 838 839 840 841 847 848 849 850 851 852 858 859 860 861 862 863 869 870 871 872 873 874 880 881 882 883 884 885 891 892 893 894 895 896 902 903 904 905 906 907 913 914 915 916 917 918 924 925 926 927 928 929 935 936 937 938 939 940 946 947 948 949 950 951 957 958 959 960 961 962 968 969 970 971 972 973 979 980 981 982 983 984 990 991 992 993 994 995 1001 1002 1003 1004 1005 1006 1012 1013 1014 1015 1016 1017 1023 1024 1025 1026 1027 1028 1034 1035 1036 1037 1038 1039 1045 1046 1047 1048 1049 1050 1056 1057 1058 1059 1060 1061 1067 1068 1069 1070 1071 1072 1078 1079 1080 1081 1082 1083 1089 1090 1091 1092 1093 1094 1100 1101 1102 1103 1104 1105 1111 1112 1113 1114 1115 1116 1122 1123 1124 1125 1126 1127 1133 1134 1135 1136 1137 1138 1144 1145 1146 1147 1148 1149 1155 1156 1157 1158 1159 1160 1166 1167 1168 1169 1170 1171 1177 1178 1179 1180 1181 1182 1188 1189 1190 1191 1192 1193 1199 1200 1201 1202 1203 1204 1210 1211 1212 1213 1214 1215 1221 1222 1223 1224 1225 1226 1232 1233 1234 1235 1236 1237 1243 1244 1245 1246 1247 1248 1254 1255 1256 1257 1258 1259 1265 1266 1267 1268 1269 1270 1276 1277 1278 1279 1280 1281 1287 1288 1289 1290 1291 1292 1298 1299 1300 1301 1302 1303 1309 1310 1311 1312 1313 1314 1320 1321 1322 1323 1324 1325 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811e764
+	nodeD2G (ptr): 0x8067dc8
 	nodeD2G[0-726]:   000 001 002 003 004 005 011 012 013 014 015 016 022 023 024 025 026 027 033 034 035 036 037 038 044 045 046 047 048 049 055 056 057 058 059 060 066 067 068 069 070 071 077 078 079 080 081 082 088 089 090 091 092 093 099 100 101 102 103 104 110 111 112 113 114 115 121 122 123 124 125 126 132 133 134 135 136 137 143 144 145 146 147 148 154 155 156 157 158 159 165 166 167 168 169 170 176 177 178 179 180 181 187 188 189 190 191 192 198 199 200 201 202 203 209 210 211 212 213 214 220 221 222 223 224 225 231 232 233 234 235 236 242 243 244 245 246 247 253 254 255 256 257 258 264 265 266 267 268 269 275 276 277 278 279 280 286 287 288 289 290 291 297 298 299 300 301 302 308 309 310 311 312 313 319 320 321 322 323 324 330 331 332 333 334 335 341 342 343 344 345 346 352 353 354 355 356 357 363 364 365 366 367 368 374 375 376 377 378 379 385 386 387 388 389 390 396 397 398 399 400 401 407 408 409 410 411 412 418 419 420 421 422 423 429 430 431 432 433 434 440 441 442 443 444 445 451 452 453 454 455 456 462 463 464 465 466 467 473 474 475 476 477 478 484 485 486 487 488 489 495 496 497 498 499 500 506 507 508 509 510 511 517 518 519 520 521 522 528 529 530 531 532 533 539 540 541 542 543 544 550 551 552 553 554 555 561 562 563 564 565 566 572 573 574 575 576 577 583 584 585 586 587 588 594 595 596 597 598 599 605 606 607 608 609 610 616 617 618 619 620 621 627 628 629 630 631 632 638 639 640 641 642 643 649 650 651 652 653 654 660 661 662 663 664 665 671 672 673 674 675 676 682 683 684 685 686 687 693 694 695 696 697 698 704 705 706 707 708 709 715 716 717 718 719 720 726 727 728 729 730 731 737 738 739 740 741 742 748 749 750 751 752 753 759 760 761 762 763 764 770 771 772 773 774 775 781 782 783 784 785 786 792 793 794 795 796 797 803 804 805 806 807 808 814 815 816 817 818 819 825 826 827 828 829 830 836 837 838 839 840 841 847 848 849 850 851 852 858 859 860 861 862 863 869 870 871 872 873 874 880 881 882 883 884 885 891 892 893 894 895 896 902 903 904 905 906 907 913 914 915 916 917 918 924 925 926 927 928 929 935 936 937 938 939 940 946 947 948 949 950 951 957 958 959 960 961 962 968 969 970 971 972 973 979 980 981 982 983 984 990 991 992 993 994 995 1001 1002 1003 1004 1005 1006 1012 1013 1014 1015 1016 1017 1023 1024 1025 1026 1027 1028 1034 1035 1036 1037 1038 1039 1045 1046 1047 1048 1049 1050 1056 1057 1058 1059 1060 1061 1067 1068 1069 1070 1071 1072 1078 1079 1080 1081 1082 1083 1089 1090 1091 1092 1093 1094 1100 1101 1102 1103 1104 1105 1111 1112 1113 1114 1115 1116 1122 1123 1124 1125 1126 1127 1133 1134 1135 1136 1137 1138 1144 1145 1146 1147 1148 1149 1155 1156 1157 1158 1159 1160 1166 1167 1168 1169 1170 1171 1177 1178 1179 1180 1181 1182 1188 1189 1190 1191 1192 1193 1199 1200 1201 1202 1203 1204 1210 1211 1212 1213 1214 1215 1221 1222 1223 1224 1225 1226 1232 1233 1234 1235 1236 1237 1243 1244 1245 1246 1247 1248 1254 1255 1256 1257 1258 1259 1265 1266 1267 1268 1269 1270 1276 1277 1278 1279 1280 1281 1287 1288 1289 1290 1291 1292 1298 1299 1300 1301 1302 1303 1309 1310 1311 1312 1313 1314 1320 1321 1322 1323 1324 1325 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x8123a04
+	nodeG2L (ptr): 0x8068930
 	nodeG2L[0-1331]:   000 001 002 003 004 005 1331 1331 1331 1331 1331 006 007 008 009 010 011 1331 1331 1331 1331 1331 012 013 014 015 016 017 1331 1331 1331 1331 1331 018 019 020 021 022 023 1331 1331 1331 1331 1331 024 025 026 027 028 029 1331 1331 1331 1331 1331 030 031 032 033 034 035 1331 1331 1331 1331 1331 036 037 038 039 040 041 1331 1331 1331 1331 1331 042 043 044 045 046 047 1331 1331 1331 1331 1331 048 049 050 051 052 053 1331 1331 1331 1331 1331 054 055 056 057 058 059 1331 1331 1331 1331 1331 060 061 062 063 064 065 1331 1331 1331 1331 1331 066 067 068 069 070 071 1331 1331 1331 1331 1331 072 073 074 075 076 077 1331 1331 1331 1331 1331 078 079 080 081 082 083 1331 1331 1331 1331 1331 084 085 086 087 088 089 1331 1331 1331 1331 1331 090 091 092 093 094 095 1331 1331 1331 1331 1331 096 097 098 099 100 101 1331 1331 1331 1331 1331 102 103 104 105 106 107 1331 1331 1331 1331 1331 108 109 110 111 112 113 1331 1331 1331 1331 1331 114 115 116 117 118 119 1331 1331 1331 1331 1331 120 121 122 123 124 125 1331 1331 1331 1331 1331 126 127 128 129 130 131 1331 1331 1331 1331 1331 132 133 134 135 136 137 1331 1331 1331 1331 1331 138 139 140 141 142 143 1331 1331 1331 1331 1331 144 145 146 147 148 149 1331 1331 1331 1331 1331 150 151 152 153 154 155 1331 1331 1331 1331 1331 156 157 158 159 160 161 1331 1331 1331 1331 1331 162 163 164 165 166 167 1331 1331 1331 1331 1331 168 169 170 171 172 173 1331 1331 1331 1331 1331 174 175 176 177 178 179 1331 1331 1331 1331 1331 180 181 182 183 184 185 1331 1331 1331 1331 1331 186 187 188 189 190 191 1331 1331 1331 1331 1331 192 193 194 195 196 197 1331 1331 1331 1331 1331 198 199 200 201 202 203 1331 1331 1331 1331 1331 204 205 206 207 208 209 1331 1331 1331 1331 1331 210 211 212 213 214 215 1331 1331 1331 1331 1331 216 217 218 219 220 221 1331 1331 1331 1331 1331 222 223 224 225 226 227 1331 1331 1331 1331 1331 228 229 230 231 232 233 1331 1331 1331 1331 1331 234 235 236 237 238 239 1331 1331 1331 1331 1331 240 241 242 243 244 245 1331 1331 1331 1331 1331 246 247 248 249 250 251 1331 1331 1331 1331 1331 252 253 254 255 256 257 1331 1331 1331 1331 1331 258 259 260 261 262 263 1331 1331 1331 1331 1331 264 265 266 267 268 269 1331 1331 1331 1331 1331 270 271 272 273 274 275 1331 1331 1331 1331 1331 276 277 278 279 280 281 1331 1331 1331 1331 1331 282 283 284 285 286 287 1331 1331 1331 1331 1331 288 289 290 291 292 293 1331 1331 1331 1331 1331 294 295 296 297 298 299 1331 1331 1331 1331 1331 300 301 302 303 304 305 1331 1331 1331 1331 1331 306 307 308 309 310 311 1331 1331 1331 1331 1331 312 313 314 315 316 317 1331 1331 1331 1331 1331 318 319 320 321 322 323 1331 1331 1331 1331 1331 324 325 326 327 328 329 1331 1331 1331 1331 1331 330 331 332 333 334 335 1331 1331 1331 1331 1331 336 337 338 339 340 341 1331 1331 1331 1331 1331 342 343 344 345 346 347 1331 1331 1331 1331 1331 348 349 350 351 352 353 1331 1331 1331 1331 1331 354 355 356 357 358 359 1331 1331 1331 1331 1331 360 361 362 363 364 365 1331 1331 1331 1331 1331 366 367 368 369 370 371 1331 1331 1331 1331 1331 372 373 374 375 376 377 1331 1331 1331 1331 1331 378 379 380 381 382 383 1331 1331 1331 1331 1331 384 385 386 387 388 389 1331 1331 1331 1331 1331 390 391 392 393 394 395 1331 1331 1331 1331 1331 396 397 398 399 400 401 1331 1331 1331 1331 1331 402 403 404 405 406 407 1331 1331 1331 1331 1331 408 409 410 411 412 413 1331 1331 1331 1331 1331 414 415 416 417 418 419 1331 1331 1331 1331 1331 420 421 422 423 424 425 1331 1331 1331 1331 1331 426 427 428 429 430 431 1331 1331 1331 1331 1331 432 433 434 435 436 437 1331 1331 1331 1331 1331 438 439 440 441 442 443 1331 1331 1331 1331 1331 444 445 446 447 448 449 1331 1331 1331 1331 1331 450 451 452 453 454 455 1331 1331 1331 1331 1331 456 457 458 459 460 461 1331 1331 1331 1331 1331 462 463 464 465 466 467 1331 1331 1331 1331 1331 468 469 470 471 472 473 1331 1331 1331 1331 1331 474 475 476 477 478 479 1331 1331 1331 1331 1331 480 481 482 483 484 485 1331 1331 1331 1331 1331 486 487 488 489 490 491 1331 1331 1331 1331 1331 492 493 494 495 496 497 1331 1331 1331 1331 1331 498 499 500 501 502 503 1331 1331 1331 1331 1331 504 505 506 507 508 509 1331 1331 1331 1331 1331 510 511 512 513 514 515 1331 1331 1331 1331 1331 516 517 518 519 520 521 1331 1331 1331 1331 1331 522 523 524 525 526 527 1331 1331 1331 1331 1331 528 529 530 531 532 533 1331 1331 1331 1331 1331 534 535 536 537 538 539 1331 1331 1331 1331 1331 540 541 542 543 544 545 1331 1331 1331 1331 1331 546 547 548 549 550 551 1331 1331 1331 1331 1331 552 553 554 555 556 557 1331 1331 1331 1331 1331 558 559 560 561 562 563 1331 1331 1331 1331 1331 564 565 566 567 568 569 1331 1331 1331 1331 1331 570 571 572 573 574 575 1331 1331 1331 1331 1331 576 577 578 579 580 581 1331 1331 1331 1331 1331 582 583 584 585 586 587 1331 1331 1331 1331 1331 588 589 590 591 592 593 1331 1331 1331 1331 1331 594 595 596 597 598 599 1331 1331 1331 1331 1331 600 601 602 603 604 605 1331 1331 1331 1331 1331 606 607 608 609 610 611 1331 1331 1331 1331 1331 612 613 614 615 616 617 1331 1331 1331 1331 1331 618 619 620 621 622 623 1331 1331 1331 1331 1331 624 625 626 627 628 629 1331 1331 1331 1331 1331 630 631 632 633 634 635 1331 1331 1331 1331 1331 636 637 638 639 640 641 1331 1331 1331 1331 1331 642 643 644 645 646 647 1331 1331 1331 1331 1331 648 649 650 651 652 653 1331 1331 1331 1331 1331 654 655 656 657 658 659 1331 1331 1331 1331 1331 660 661 662 663 664 665 1331 1331 1331 1331 1331 666 667 668 669 670 671 1331 1331 1331 1331 1331 672 673 674 675 676 677 1331 1331 1331 1331 1331 678 679 680 681 682 683 1331 1331 1331 1331 1331 684 685 686 687 688 689 1331 1331 1331 1331 1331 690 691 692 693 694 695 1331 1331 1331 1331 1331 696 697 698 699 700 701 1331 1331 1331 1331 1331 702 703 704 705 706 707 1331 1331 1331 1331 1331 708 709 710 711 712 713 1331 1331 1331 1331 1331 714 715 716 717 718 719 1331 1331 1331 1331 1331 720 721 722 723 724 725 1331 1331 1331 1331 1331 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x8123a04
+	nodeG2D (ptr): 0x8068930
 	nodeG2D[0-1331]:   000 001 002 003 004 005 1331 1331 1331 1331 1331 006 007 008 009 010 011 1331 1331 1331 1331 1331 012 013 014 015 016 017 1331 1331 1331 1331 1331 018 019 020 021 022 023 1331 1331 1331 1331 1331 024 025 026 027 028 029 1331 1331 1331 1331 1331 030 031 032 033 034 035 1331 1331 1331 1331 1331 036 037 038 039 040 041 1331 1331 1331 1331 1331 042 043 044 045 046 047 1331 1331 1331 1331 1331 048 049 050 051 052 053 1331 1331 1331 1331 1331 054 055 056 057 058 059 1331 1331 1331 1331 1331 060 061 062 063 064 065 1331 1331 1331 1331 1331 066 067 068 069 070 071 1331 1331 1331 1331 1331 072 073 074 075 076 077 1331 1331 1331 1331 1331 078 079 080 081 082 083 1331 1331 1331 1331 1331 084 085 086 087 088 089 1331 1331 1331 1331 1331 090 091 092 093 094 095 1331 1331 1331 1331 1331 096 097 098 099 100 101 1331 1331 1331 1331 1331 102 103 104 105 106 107 1331 1331 1331 1331 1331 108 109 110 111 112 113 1331 1331 1331 1331 1331 114 115 116 117 118 119 1331 1331 1331 1331 1331 120 121 122 123 124 125 1331 1331 1331 1331 1331 126 127 128 129 130 131 1331 1331 1331 1331 1331 132 133 134 135 136 137 1331 1331 1331 1331 1331 138 139 140 141 142 143 1331 1331 1331 1331 1331 144 145 146 147 148 149 1331 1331 1331 1331 1331 150 151 152 153 154 155 1331 1331 1331 1331 1331 156 157 158 159 160 161 1331 1331 1331 1331 1331 162 163 164 165 166 167 1331 1331 1331 1331 1331 168 169 170 171 172 173 1331 1331 1331 1331 1331 174 175 176 177 178 179 1331 1331 1331 1331 1331 180 181 182 183 184 185 1331 1331 1331 1331 1331 186 187 188 189 190 191 1331 1331 1331 1331 1331 192 193 194 195 196 197 1331 1331 1331 1331 1331 198 199 200 201 202 203 1331 1331 1331 1331 1331 204 205 206 207 208 209 1331 1331 1331 1331 1331 210 211 212 213 214 215 1331 1331 1331 1331 1331 216 217 218 219 220 221 1331 1331 1331 1331 1331 222 223 224 225 226 227 1331 1331 1331 1331 1331 228 229 230 231 232 233 1331 1331 1331 1331 1331 234 235 236 237 238 239 1331 1331 1331 1331 1331 240 241 242 243 244 245 1331 1331 1331 1331 1331 246 247 248 249 250 251 1331 1331 1331 1331 1331 252 253 254 255 256 257 1331 1331 1331 1331 1331 258 259 260 261 262 263 1331 1331 1331 1331 1331 264 265 266 267 268 269 1331 1331 1331 1331 1331 270 271 272 273 274 275 1331 1331 1331 1331 1331 276 277 278 279 280 281 1331 1331 1331 1331 1331 282 283 284 285 286 287 1331 1331 1331 1331 1331 288 289 290 291 292 293 1331 1331 1331 1331 1331 294 295 296 297 298 299 1331 1331 1331 1331 1331 300 301 302 303 304 305 1331 1331 1331 1331 1331 306 307 308 309 310 311 1331 1331 1331 1331 1331 312 313 314 315 316 317 1331 1331 1331 1331 1331 318 319 320 321 322 323 1331 1331 1331 1331 1331 324 325 326 327 328 329 1331 1331 1331 1331 1331 330 331 332 333 334 335 1331 1331 1331 1331 1331 336 337 338 339 340 341 1331 1331 1331 1331 1331 342 343 344 345 346 347 1331 1331 1331 1331 1331 348 349 350 351 352 353 1331 1331 1331 1331 1331 354 355 356 357 358 359 1331 1331 1331 1331 1331 360 361 362 363 364 365 1331 1331 1331 1331 1331 366 367 368 369 370 371 1331 1331 1331 1331 1331 372 373 374 375 376 377 1331 1331 1331 1331 1331 378 379 380 381 382 383 1331 1331 1331 1331 1331 384 385 386 387 388 389 1331 1331 1331 1331 1331 390 391 392 393 394 395 1331 1331 1331 1331 1331 396 397 398 399 400 401 1331 1331 1331 1331 1331 402 403 404 405 406 407 1331 1331 1331 1331 1331 408 409 410 411 412 413 1331 1331 1331 1331 1331 414 415 416 417 418 419 1331 1331 1331 1331 1331 420 421 422 423 424 425 1331 1331 1331 1331 1331 426 427 428 429 430 431 1331 1331 1331 1331 1331 432 433 434 435 436 437 1331 1331 1331 1331 1331 438 439 440 441 442 443 1331 1331 1331 1331 1331 444 445 446 447 448 449 1331 1331 1331 1331 1331 450 451 452 453 454 455 1331 1331 1331 1331 1331 456 457 458 459 460 461 1331 1331 1331 1331 1331 462 463 464 465 466 467 1331 1331 1331 1331 1331 468 469 470 471 472 473 1331 1331 1331 1331 1331 474 475 476 477 478 479 1331 1331 1331 1331 1331 480 481 482 483 484 485 1331 1331 1331 1331 1331 486 487 488 489 490 491 1331 1331 1331 1331 1331 492 493 494 495 496 497 1331 1331 1331 1331 1331 498 499 500 501 502 503 1331 1331 1331 1331 1331 504 505 506 507 508 509 1331 1331 1331 1331 1331 510 511 512 513 514 515 1331 1331 1331 1331 1331 516 517 518 519 520 521 1331 1331 1331 1331 1331 522 523 524 525 526 527 1331 1331 1331 1331 1331 528 529 530 531 532 533 1331 1331 1331 1331 1331 534 535 536 537 538 539 1331 1331 1331 1331 1331 540 541 542 543 544 545 1331 1331 1331 1331 1331 546 547 548 549 550 551 1331 1331 1331 1331 1331 552 553 554 555 556 557 1331 1331 1331 1331 1331 558 559 560 561 562 563 1331 1331 1331 1331 1331 564 565 566 567 568 569 1331 1331 1331 1331 1331 570 571 572 573 574 575 1331 1331 1331 1331 1331 576 577 578 579 580 581 1331 1331 1331 1331 1331 582 583 584 585 586 587 1331 1331 1331 1331 1331 588 589 590 591 592 593 1331 1331 1331 1331 1331 594 595 596 597 598 599 1331 1331 1331 1331 1331 600 601 602 603 604 605 1331 1331 1331 1331 1331 606 607 608 609 610 611 1331 1331 1331 1331 1331 612 613 614 615 616 617 1331 1331 1331 1331 1331 618 619 620 621 622 623 1331 1331 1331 1331 1331 624 625 626 627 628 629 1331 1331 1331 1331 1331 630 631 632 633 634 635 1331 1331 1331 1331 1331 636 637 638 639 640 641 1331 1331 1331 1331 1331 642 643 644 645 646 647 1331 1331 1331 1331 1331 648 649 650 651 652 653 1331 1331 1331 1331 1331 654 655 656 657 658 659 1331 1331 1331 1331 1331 660 661 662 663 664 665 1331 1331 1331 1331 1331 666 667 668 669 670 671 1331 1331 1331 1331 1331 672 673 674 675 676 677 1331 1331 1331 1331 1331 678 679 680 681 682 683 1331 1331 1331 1331 1331 684 685 686 687 688 689 1331 1331 1331 1331 1331 690 691 692 693 694 695 1331 1331 1331 1331 1331 696 697 698 699 700 701 1331 1331 1331 1331 1331 702 703 704 705 706 707 1331 1331 1331 1331 1331 708 709 710 711 712 713 1331 1331 1331 1331 1331 714 715 716 717 718 719 1331 1331 1331 1331 1331 720 721 722 723 724 725 1331 1331 1331 1331 1331 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x8124edc
+	nodeNeighbourCountTbl (ptr): 0x8069e08
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x8125a3c
+	nodeNeighbourTbl (ptr): 0x806a970
 	nodeNeighbourTbl[0-726]:
 		nodeNeighbourTbl[0][0-6]: 001 006 066 1331 1331 1331 
 		nodeNeighbourTbl[1][0-6]: 002 007 067 000 1331 1331 
@@ -869,9 +874,9 @@
 		nodeNeighbourTbl[724][0-6]: 725 1331 1331 723 718 658 
 		nodeNeighbourTbl[725][0-6]: 1331 1331 1331 724 719 659 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x812b954
+	nodeElementCountTbl (ptr): 0x8070898
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x812c4b4
+	nodeElementTbl (ptr): 0x8071400
 	nodeElementTbl[0-726]:
 		nodeElementTbl[0][0-8]: 1000 1000 1000 1000 1000 1000 1000 000 
 		nodeElementTbl[1][0-8]: 1000 1000 1000 1000 1000 1000 000 001 
@@ -1599,27 +1604,27 @@
 		nodeElementTbl[723][0-8]: 497 498 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[724][0-8]: 498 499 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[725][0-8]: 499 1000 1000 1000 1000 1000 1000 1000 
-	element (ptr): 0x812a9ac
+	element (ptr): 0x806f8e8
 	elementLocalCount: 500
 	elementDomainCount: 500
 	elementShadowCount: 0
 	elementGlobalCount: 1000
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8132ad4
+	elementL2G (ptr): 0x8077a28
 	elementL2G[0-500]:   000 001 002 003 004 010 011 012 013 014 020 021 022 023 024 030 031 032 033 034 040 041 042 043 044 050 051 052 053 054 060 061 062 063 064 070 071 072 073 074 080 081 082 083 084 090 091 092 093 094 100 101 102 103 104 110 111 112 113 114 120 121 122 123 124 130 131 132 133 134 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 170 171 172 173 174 180 181 182 183 184 190 191 192 193 194 200 201 202 203 204 210 211 212 213 214 220 221 222 223 224 230 231 232 233 234 240 241 242 243 244 250 251 252 253 254 260 261 262 263 264 270 271 272 273 274 280 281 282 283 284 290 291 292 293 294 300 301 302 303 304 310 311 312 313 314 320 321 322 323 324 330 331 332 333 334 340 341 342 343 344 350 351 352 353 354 360 361 362 363 364 370 371 372 373 374 380 381 382 383 384 390 391 392 393 394 400 401 402 403 404 410 411 412 413 414 420 421 422 423 424 430 431 432 433 434 440 441 442 443 444 450 451 452 453 454 460 461 462 463 464 470 471 472 473 474 480 481 482 483 484 490 491 492 493 494 500 501 502 503 504 510 511 512 513 514 520 521 522 523 524 530 531 532 533 534 540 541 542 543 544 550 551 552 553 554 560 561 562 563 564 570 571 572 573 574 580 581 582 583 584 590 591 592 593 594 600 601 602 603 604 610 611 612 613 614 620 621 622 623 624 630 631 632 633 634 640 641 642 643 644 650 651 652 653 654 660 661 662 663 664 670 671 672 673 674 680 681 682 683 684 690 691 692 693 694 700 701 702 703 704 710 711 712 713 714 720 721 722 723 724 730 731 732 733 734 740 741 742 743 744 750 751 752 753 754 760 761 762 763 764 770 771 772 773 774 780 781 782 783 784 790 791 792 793 794 800 801 802 803 804 810 811 812 813 814 820 821 822 823 824 830 831 832 833 834 840 841 842 843 844 850 851 852 853 854 860 861 862 863 864 870 871 872 873 874 880 881 882 883 884 890 891 892 893 894 900 901 902 903 904 910 911 912 913 914 920 921 922 923 924 930 931 932 933 934 940 941 942 943 944 950 951 952 953 954 960 961 962 963 964 970 971 972 973 974 980 981 982 983 984 990 991 992 993 994 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8132ad4
+	elementD2G (ptr): 0x8077a28
 	elementD2G[0-500]:   000 001 002 003 004 010 011 012 013 014 020 021 022 023 024 030 031 032 033 034 040 041 042 043 044 050 051 052 053 054 060 061 062 063 064 070 071 072 073 074 080 081 082 083 084 090 091 092 093 094 100 101 102 103 104 110 111 112 113 114 120 121 122 123 124 130 131 132 133 134 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 170 171 172 173 174 180 181 182 183 184 190 191 192 193 194 200 201 202 203 204 210 211 212 213 214 220 221 222 223 224 230 231 232 233 234 240 241 242 243 244 250 251 252 253 254 260 261 262 263 264 270 271 272 273 274 280 281 282 283 284 290 291 292 293 294 300 301 302 303 304 310 311 312 313 314 320 321 322 323 324 330 331 332 333 334 340 341 342 343 344 350 351 352 353 354 360 361 362 363 364 370 371 372 373 374 380 381 382 383 384 390 391 392 393 394 400 401 402 403 404 410 411 412 413 414 420 421 422 423 424 430 431 432 433 434 440 441 442 443 444 450 451 452 453 454 460 461 462 463 464 470 471 472 473 474 480 481 482 483 484 490 491 492 493 494 500 501 502 503 504 510 511 512 513 514 520 521 522 523 524 530 531 532 533 534 540 541 542 543 544 550 551 552 553 554 560 561 562 563 564 570 571 572 573 574 580 581 582 583 584 590 591 592 593 594 600 601 602 603 604 610 611 612 613 614 620 621 622 623 624 630 631 632 633 634 640 641 642 643 644 650 651 652 653 654 660 661 662 663 664 670 671 672 673 674 680 681 682 683 684 690 691 692 693 694 700 701 702 703 704 710 711 712 713 714 720 721 722 723 724 730 731 732 733 734 740 741 742 743 744 750 751 752 753 754 760 761 762 763 764 770 771 772 773 774 780 781 782 783 784 790 791 792 793 794 800 801 802 803 804 810 811 812 813 814 820 821 822 823 824 830 831 832 833 834 840 841 842 843 844 850 851 852 853 854 860 861 862 863 864 870 871 872 873 874 880 881 882 883 884 890 891 892 893 894 900 901 902 903 904 910 911 912 913 914 920 921 922 923 924 930 931 932 933 934 940 941 942 943 944 950 951 952 953 954 960 961 962 963 964 970 971 972 973 974 980 981 982 983 984 990 991 992 993 994 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x81332ac
+	elementG2L (ptr): 0x8078208
 	elementG2L[0-1000]:   000 001 002 003 004 1000 1000 1000 1000 1000 005 006 007 008 009 1000 1000 1000 1000 1000 010 011 012 013 014 1000 1000 1000 1000 1000 015 016 017 018 019 1000 1000 1000 1000 1000 020 021 022 023 024 1000 1000 1000 1000 1000 025 026 027 028 029 1000 1000 1000 1000 1000 030 031 032 033 034 1000 1000 1000 1000 1000 035 036 037 038 039 1000 1000 1000 1000 1000 040 041 042 043 044 1000 1000 1000 1000 1000 045 046 047 048 049 1000 1000 1000 1000 1000 050 051 052 053 054 1000 1000 1000 1000 1000 055 056 057 058 059 1000 1000 1000 1000 1000 060 061 062 063 064 1000 1000 1000 1000 1000 065 066 067 068 069 1000 1000 1000 1000 1000 070 071 072 073 074 1000 1000 1000 1000 1000 075 076 077 078 079 1000 1000 1000 1000 1000 080 081 082 083 084 1000 1000 1000 1000 1000 085 086 087 088 089 1000 1000 1000 1000 1000 090 091 092 093 094 1000 1000 1000 1000 1000 095 096 097 098 099 1000 1000 1000 1000 1000 100 101 102 103 104 1000 1000 1000 1000 1000 105 106 107 108 109 1000 1000 1000 1000 1000 110 111 112 113 114 1000 1000 1000 1000 1000 115 116 117 118 119 1000 1000 1000 1000 1000 120 121 122 123 124 1000 1000 1000 1000 1000 125 126 127 128 129 1000 1000 1000 1000 1000 130 131 132 133 134 1000 1000 1000 1000 1000 135 136 137 138 139 1000 1000 1000 1000 1000 140 141 142 143 144 1000 1000 1000 1000 1000 145 146 147 148 149 1000 1000 1000 1000 1000 150 151 152 153 154 1000 1000 1000 1000 1000 155 156 157 158 159 1000 1000 1000 1000 1000 160 161 162 163 164 1000 1000 1000 1000 1000 165 166 167 168 169 1000 1000 1000 1000 1000 170 171 172 173 174 1000 1000 1000 1000 1000 175 176 177 178 179 1000 1000 1000 1000 1000 180 181 182 183 184 1000 1000 1000 1000 1000 185 186 187 188 189 1000 1000 1000 1000 1000 190 191 192 193 194 1000 1000 1000 1000 1000 195 196 197 198 199 1000 1000 1000 1000 1000 200 201 202 203 204 1000 1000 1000 1000 1000 205 206 207 208 209 1000 1000 1000 1000 1000 210 211 212 213 214 1000 1000 1000 1000 1000 215 216 217 218 219 1000 1000 1000 1000 1000 220 221 222 223 224 1000 1000 1000 1000 1000 225 226 227 228 229 1000 1000 1000 1000 1000 230 231 232 233 234 1000 1000 1000 1000 1000 235 236 237 238 239 1000 1000 1000 1000 1000 240 241 242 243 244 1000 1000 1000 1000 1000 245 246 247 248 249 1000 1000 1000 1000 1000 250 251 252 253 254 1000 1000 1000 1000 1000 255 256 257 258 259 1000 1000 1000 1000 1000 260 261 262 263 264 1000 1000 1000 1000 1000 265 266 267 268 269 1000 1000 1000 1000 1000 270 271 272 273 274 1000 1000 1000 1000 1000 275 276 277 278 279 1000 1000 1000 1000 1000 280 281 282 283 284 1000 1000 1000 1000 1000 285 286 287 288 289 1000 1000 1000 1000 1000 290 291 292 293 294 1000 1000 1000 1000 1000 295 296 297 298 299 1000 1000 1000 1000 1000 300 301 302 303 304 1000 1000 1000 1000 1000 305 306 307 308 309 1000 1000 1000 1000 1000 310 311 312 313 314 1000 1000 1000 1000 1000 315 316 317 318 319 1000 1000 1000 1000 1000 320 321 322 323 324 1000 1000 1000 1000 1000 325 326 327 328 329 1000 1000 1000 1000 1000 330 331 332 333 334 1000 1000 1000 1000 1000 335 336 337 338 339 1000 1000 1000 1000 1000 340 341 342 343 344 1000 1000 1000 1000 1000 345 346 347 348 349 1000 1000 1000 1000 1000 350 351 352 353 354 1000 1000 1000 1000 1000 355 356 357 358 359 1000 1000 1000 1000 1000 360 361 362 363 364 1000 1000 1000 1000 1000 365 366 367 368 369 1000 1000 1000 1000 1000 370 371 372 373 374 1000 1000 1000 1000 1000 375 376 377 378 379 1000 1000 1000 1000 1000 380 381 382 383 384 1000 1000 1000 1000 1000 385 386 387 388 389 1000 1000 1000 1000 1000 390 391 392 393 394 1000 1000 1000 1000 1000 395 396 397 398 399 1000 1000 1000 1000 1000 400 401 402 403 404 1000 1000 1000 1000 1000 405 406 407 408 409 1000 1000 1000 1000 1000 410 411 412 413 414 1000 1000 1000 1000 1000 415 416 417 418 419 1000 1000 1000 1000 1000 420 421 422 423 424 1000 1000 1000 1000 1000 425 426 427 428 429 1000 1000 1000 1000 1000 430 431 432 433 434 1000 1000 1000 1000 1000 435 436 437 438 439 1000 1000 1000 1000 1000 440 441 442 443 444 1000 1000 1000 1000 1000 445 446 447 448 449 1000 1000 1000 1000 1000 450 451 452 453 454 1000 1000 1000 1000 1000 455 456 457 458 459 1000 1000 1000 1000 1000 460 461 462 463 464 1000 1000 1000 1000 1000 465 466 467 468 469 1000 1000 1000 1000 1000 470 471 472 473 474 1000 1000 1000 1000 1000 475 476 477 478 479 1000 1000 1000 1000 1000 480 481 482 483 484 1000 1000 1000 1000 1000 485 486 487 488 489 1000 1000 1000 1000 1000 490 491 492 493 494 1000 1000 1000 1000 1000 495 496 497 498 499 1000 1000 1000 1000 1000 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x81332ac
+	elementG2D (ptr): 0x8078208
 	elementG2D[0-1000]:   000 001 002 003 004 1000 1000 1000 1000 1000 005 006 007 008 009 1000 1000 1000 1000 1000 010 011 012 013 014 1000 1000 1000 1000 1000 015 016 017 018 019 1000 1000 1000 1000 1000 020 021 022 023 024 1000 1000 1000 1000 1000 025 026 027 028 029 1000 1000 1000 1000 1000 030 031 032 033 034 1000 1000 1000 1000 1000 035 036 037 038 039 1000 1000 1000 1000 1000 040 041 042 043 044 1000 1000 1000 1000 1000 045 046 047 048 049 1000 1000 1000 1000 1000 050 051 052 053 054 1000 1000 1000 1000 1000 055 056 057 058 059 1000 1000 1000 1000 1000 060 061 062 063 064 1000 1000 1000 1000 1000 065 066 067 068 069 1000 1000 1000 1000 1000 070 071 072 073 074 1000 1000 1000 1000 1000 075 076 077 078 079 1000 1000 1000 1000 1000 080 081 082 083 084 1000 1000 1000 1000 1000 085 086 087 088 089 1000 1000 1000 1000 1000 090 091 092 093 094 1000 1000 1000 1000 1000 095 096 097 098 099 1000 1000 1000 1000 1000 100 101 102 103 104 1000 1000 1000 1000 1000 105 106 107 108 109 1000 1000 1000 1000 1000 110 111 112 113 114 1000 1000 1000 1000 1000 115 116 117 118 119 1000 1000 1000 1000 1000 120 121 122 123 124 1000 1000 1000 1000 1000 125 126 127 128 129 1000 1000 1000 1000 1000 130 131 132 133 134 1000 1000 1000 1000 1000 135 136 137 138 139 1000 1000 1000 1000 1000 140 141 142 143 144 1000 1000 1000 1000 1000 145 146 147 148 149 1000 1000 1000 1000 1000 150 151 152 153 154 1000 1000 1000 1000 1000 155 156 157 158 159 1000 1000 1000 1000 1000 160 161 162 163 164 1000 1000 1000 1000 1000 165 166 167 168 169 1000 1000 1000 1000 1000 170 171 172 173 174 1000 1000 1000 1000 1000 175 176 177 178 179 1000 1000 1000 1000 1000 180 181 182 183 184 1000 1000 1000 1000 1000 185 186 187 188 189 1000 1000 1000 1000 1000 190 191 192 193 194 1000 1000 1000 1000 1000 195 196 197 198 199 1000 1000 1000 1000 1000 200 201 202 203 204 1000 1000 1000 1000 1000 205 206 207 208 209 1000 1000 1000 1000 1000 210 211 212 213 214 1000 1000 1000 1000 1000 215 216 217 218 219 1000 1000 1000 1000 1000 220 221 222 223 224 1000 1000 1000 1000 1000 225 226 227 228 229 1000 1000 1000 1000 1000 230 231 232 233 234 1000 1000 1000 1000 1000 235 236 237 238 239 1000 1000 1000 1000 1000 240 241 242 243 244 1000 1000 1000 1000 1000 245 246 247 248 249 1000 1000 1000 1000 1000 250 251 252 253 254 1000 1000 1000 1000 1000 255 256 257 258 259 1000 1000 1000 1000 1000 260 261 262 263 264 1000 1000 1000 1000 1000 265 266 267 268 269 1000 1000 1000 1000 1000 270 271 272 273 274 1000 1000 1000 1000 1000 275 276 277 278 279 1000 1000 1000 1000 1000 280 281 282 283 284 1000 1000 1000 1000 1000 285 286 287 288 289 1000 1000 1000 1000 1000 290 291 292 293 294 1000 1000 1000 1000 1000 295 296 297 298 299 1000 1000 1000 1000 1000 300 301 302 303 304 1000 1000 1000 1000 1000 305 306 307 308 309 1000 1000 1000 1000 1000 310 311 312 313 314 1000 1000 1000 1000 1000 315 316 317 318 319 1000 1000 1000 1000 1000 320 321 322 323 324 1000 1000 1000 1000 1000 325 326 327 328 329 1000 1000 1000 1000 1000 330 331 332 333 334 1000 1000 1000 1000 1000 335 336 337 338 339 1000 1000 1000 1000 1000 340 341 342 343 344 1000 1000 1000 1000 1000 345 346 347 348 349 1000 1000 1000 1000 1000 350 351 352 353 354 1000 1000 1000 1000 1000 355 356 357 358 359 1000 1000 1000 1000 1000 360 361 362 363 364 1000 1000 1000 1000 1000 365 366 367 368 369 1000 1000 1000 1000 1000 370 371 372 373 374 1000 1000 1000 1000 1000 375 376 377 378 379 1000 1000 1000 1000 1000 380 381 382 383 384 1000 1000 1000 1000 1000 385 386 387 388 389 1000 1000 1000 1000 1000 390 391 392 393 394 1000 1000 1000 1000 1000 395 396 397 398 399 1000 1000 1000 1000 1000 400 401 402 403 404 1000 1000 1000 1000 1000 405 406 407 408 409 1000 1000 1000 1000 1000 410 411 412 413 414 1000 1000 1000 1000 1000 415 416 417 418 419 1000 1000 1000 1000 1000 420 421 422 423 424 1000 1000 1000 1000 1000 425 426 427 428 429 1000 1000 1000 1000 1000 430 431 432 433 434 1000 1000 1000 1000 1000 435 436 437 438 439 1000 1000 1000 1000 1000 440 441 442 443 444 1000 1000 1000 1000 1000 445 446 447 448 449 1000 1000 1000 1000 1000 450 451 452 453 454 1000 1000 1000 1000 1000 455 456 457 458 459 1000 1000 1000 1000 1000 460 461 462 463 464 1000 1000 1000 1000 1000 465 466 467 468 469 1000 1000 1000 1000 1000 470 471 472 473 474 1000 1000 1000 1000 1000 475 476 477 478 479 1000 1000 1000 1000 1000 480 481 482 483 484 1000 1000 1000 1000 1000 485 486 487 488 489 1000 1000 1000 1000 1000 490 491 492 493 494 1000 1000 1000 1000 1000 495 496 497 498 499 1000 1000 1000 1000 1000 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8134254
+	elementNeighbourCountTbl (ptr): 0x80791b8
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x8134a2c
+	elementNeighbourTbl (ptr): 0x8079998
 	elementNeighbourTbl[0-500]:
 		elementNeighbourTbl[0][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 001 1000 005 006 1000 1000 1000 1000 050 051 1000 055 056 
 		elementNeighbourTbl[1][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 000 002 005 006 007 1000 1000 1000 050 051 052 055 056 057 
@@ -2122,9 +2127,9 @@
 		elementNeighbourTbl[498][0-26]: 442 443 444 447 448 449 1000 1000 1000 492 493 494 497 499 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 		elementNeighbourTbl[499][0-26]: 443 444 1000 448 449 1000 1000 1000 1000 493 494 1000 498 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8141d24
+	elementNodeCountTbl (ptr): 0x8086c98
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x81424fc
+	elementNodeTbl (ptr): 0x8087478
 	elementNodeTbl[0-500]:
 		elementNodeTbl[0][0-8]: 000 001 007 006 066 067 073 072 
 		elementNodeTbl[1][0-8]: 001 002 008 007 067 068 074 073 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testMeshCoarsener_Hexa.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
-Mesh (ptr): (0x811ae74)
-Component (ptr): 0x811ae74
-Stg_Object (ptr): 0x811ae74
-	Stg_Class (ptr): 0x811ae74
-		sizeOfSelf: 380
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
+Mesh (ptr): (0x80602b8)
+Stg_Component (ptr): 0x80602b8
+Stg_Object (ptr): 0x80602b8
+	Stg_Class (ptr): 0x80602b8
+		sizeOfSelf: 400
 		_deleteSelf: Yes
 		type: Mesh
-		_delete (func ptr): 0x8057fa0
-		_print (func ptr): 0x8058831
-		_copy (func ptr): 0x8059a1d
+		_delete (func ptr): 0xb7ecb1dd
+		_print (func ptr): 0xb7ecba6a
+		_copy (func ptr): 0xb7eccc4e
 	name: Mesh
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x80574d0
-	_construct (func ptr): 0x8057f96
-	_build (func ptr): 0x805a0d9
-	_initialise (func ptr): 0x805b005
-	_execute (func ptr): 0x805b02e
-	_destroy (func ptr): 0x8057f9b
+	_defaultConstructor (func ptr): 0xb7eca51c
+	_construct (func ptr): 0xb7ecb00e
+	_build (func ptr): 0xb7ecd322
+	_initialise (func ptr): 0xb7ece214
+	_execute (func ptr): 0xb7ece219
+	_destroy (func ptr): 0xb7ecb1d8
 	isConstructed: True
 	isBuilt: True
 	isInitialised: True
 	hasExecuted: False
 	isDestroyed: False
-	dictionary (ptr): 0x811870c
-	layout (ptr): 0x811ad54
-Extension (ptr):0x811affc
-Stg_Object (ptr): 0x811affc
-	Stg_Class (ptr): 0x811affc
-		sizeOfSelf: 72
+	constructor function name: Mesh-Construct
+	build function name: Mesh-Build
+	initialise function name: Mesh-Initialise
+	execute function name: Mesh-Execute
+	destroy function name: Mesh-Destroy
+	dictionary (ptr): 0x805c540
+	layout (ptr): 0x805ff70
+Extension (ptr):0x8060688
+Stg_Object (ptr): 0x8060688
+	Stg_Class (ptr): 0x8060688
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e43018
+		_print (func ptr): 0xb7e43066
+		_copy (func ptr): 0xb7e43200
 	name: node
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811b04c
-Stg_ObjectList (ptr):0x811b04c
-	Stg_Class (ptr): 0x811b04c
+	extInfos (ptr): 0x80606e8
+Stg_ObjectList (ptr):0x80606e8
+	Stg_Class (ptr): 0x80606e8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7e74f3e
+		_print (func ptr): 0xb7e74f75
+		_copy (func ptr): 0xb7e75217
+	_append(func ptr): 0xb7e75e7b
+	_prepend(func ptr): 0xb7e75f41
+	_replaceAll(func ptr): 0xb7e76005
+	_replace(func ptr): 0xb7e760be
+	_insertBefore(func ptr): 0xb7e7625b
+	_insertAfter(func ptr): 0xb7e76416
+	_remove(func ptr): 0xb7e765d3
+	_getIndex(func ptr): 0xb7e76679
+	_get(func ptr): 0xb7e76727
+	_allocMoreMemory(func ptr): 0xb7e768fa
+	_insertAtIndex(func ptr): 0xb7e76980
+	_removeByIndex(func ptr): 0xb7e769fe
+	_deleteAllObjects(func ptr): 0xb7e7687b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -71,42 +76,42 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-Extension (ptr):0x811b0dc
-Stg_Object (ptr): 0x811b0dc
-	Stg_Class (ptr): 0x811b0dc
-		sizeOfSelf: 72
+Extension (ptr):0x8060788
+Stg_Object (ptr): 0x8060788
+	Stg_Class (ptr): 0x8060788
+		sizeOfSelf: 80
 		_deleteSelf: Yes
 		type: Extension
-		_delete (func ptr): 0x806b91c
-		_print (func ptr): 0x806b96a
-		_copy (func ptr): 0x806bafd
+		_delete (func ptr): 0xb7e43018
+		_print (func ptr): 0xb7e43066
+		_copy (func ptr): 0xb7e43200
 	name: element
 	nameAllocationType: NON_GLOBAL
 	initialSize 8
 	finalSize 8
 	count: 0
-	extInfos (ptr): 0x811b12c
-Stg_ObjectList (ptr):0x811b12c
-	Stg_Class (ptr): 0x811b12c
+	extInfos (ptr): 0x80607e8
+Stg_ObjectList (ptr):0x80607e8
+	Stg_Class (ptr): 0x80607e8
 		sizeOfSelf: 96
 		_deleteSelf: Yes
 		type: Stg_ObjectList
-		_delete (func ptr): 0x807cca2
-		_print (func ptr): 0x807ccd9
-		_copy (func ptr): 0x807cf7b
-	_append(func ptr): 0x807db6d
-	_prepend(func ptr): 0x807dc33
-	_replaceAll(func ptr): 0x807dcf7
-	_replace(func ptr): 0x807ddb2
-	_insertBefore(func ptr): 0x807df53
-	_insertAfter(func ptr): 0x807e112
-	_remove(func ptr): 0x807e2d3
-	_getIndex(func ptr): 0x807e379
-	_get(func ptr): 0x807e42b
-	_allocMoreMemory(func ptr): 0x807e603
-	_insertAtIndex(func ptr): 0x807e689
-	_removeByIndex(func ptr): 0x807e707
-	_deleteAllObjects(func ptr): 0x807e582
+		_delete (func ptr): 0xb7e74f3e
+		_print (func ptr): 0xb7e74f75
+		_copy (func ptr): 0xb7e75217
+	_append(func ptr): 0xb7e75e7b
+	_prepend(func ptr): 0xb7e75f41
+	_replaceAll(func ptr): 0xb7e76005
+	_replace(func ptr): 0xb7e760be
+	_insertBefore(func ptr): 0xb7e7625b
+	_insertAfter(func ptr): 0xb7e76416
+	_remove(func ptr): 0xb7e765d3
+	_getIndex(func ptr): 0xb7e76679
+	_get(func ptr): 0xb7e76727
+	_allocMoreMemory(func ptr): 0xb7e768fa
+	_insertAtIndex(func ptr): 0xb7e76980
+	_removeByIndex(func ptr): 0xb7e769fe
+	_deleteAllObjects(func ptr): 0xb7e7687b
 	_size: 8
 	_delta: 8
 	_noJournalingInCopy: 0
@@ -118,29 +123,29 @@
 	itemSize 0
 	em (ptr) (nil)
 	count 0
-	node (ptr): 0x811c1ec
+	node (ptr): 0x8061be0
 	nodeLocalCount: 726
 	nodeDomainCount: 726
 	nodeShadowCount: 0
 	nodeGlobalCount: 1331
-	nodeCoord (ptr): 0x811e72c
+	nodeCoord (ptr): 0x8063988
 	nodeCoord[0-726]:   (0.50,0.00,0.00), (0.60,0.00,0.00), (0.70,0.00,0.00), (0.80,0.00,0.00), (0.90,0.00,0.00), (1.00,0.00,0.00), (0.50,0.10,0.00), (0.60,0.10,0.00), (0.70,0.10,0.00), (0.80,0.10,0.00), (0.90,0.10,0.00), (1.00,0.10,0.00), (0.50,0.20,0.00), (0.60,0.20,0.00), (0.70,0.20,0.00), (0.80,0.20,0.00), (0.90,0.20,0.00), (1.00,0.20,0.00), (0.50,0.30,0.00), (0.60,0.30,0.00), (0.70,0.30,0.00), (0.80,0.30,0.00), (0.90,0.30,0.00), (1.00,0.30,0.00), (0.50,0.40,0.00), (0.60,0.40,0.00), (0.70,0.40,0.00), (0.80,0.40,0.00), (0.90,0.40,0.00), (1.00,0.40,0.00), (0.50,0.50,0.00), (0.60,0.50,0.00), (0.70,0.50,0.00), (0.80,0.50,0.00), (0.90,0.50,0.00), (1.00,0.50,0.00), (0.50,0.60,0.00), (0.60,0.60,0.00), (0.70,0.60,0.00), (0.80,0.60,0.00), (0.90,0.60,0.00), (1.00,0.60,0.00), (0.50,0.70,0.00), (0.60,0.70,0.00), (0.70,0.70,0.00), (0.80,0.70,0.00), (0.90,0.70,0.00), (1.00,0.70,0.00), (0.50,0.80,0.00), (0.60,0.80,0.00), (0.70,0.80,0.00), (0.80,0.80,0.00), (0.90,0.80,0.00), (1.00,0.80,0.00), (0.50,0.90,0.00), (0.60,0.90,0.00), (0.70,0.90,0.00), (0.80,0.90,0.00), (0.90,0.90,0.00), (1.00,0.90,0.00), (0.50,1.00,0.00), (0.60,1.00,0.00), (0.70,1.00,0.00), (0.80,1.00,0.00), (0.90,1.00,0.00), (1.00,1.00,0.00), (0.50,0.00,0.10), (0.60,0.00,0.10), (0.70,0.00,0.10), (0.80,0.00,0.10), (0.90,0.00,0.10), (1.00,0.00,0.10), (0.50,0.10,0.10), (0.60,0.10,0.10), (0.70,0.10,0.10), (0.80,0.10,0.10), (0.90,0.10,0.10), (1.00,0.10,0.10), (0.50,0.20,0.10), (0.60,0.20,0.10), (0.70,0.20,0.10), (0.80,0.20,0.10), (0.90,0.20,0.10), (1.00,0.20,0.10), (0.50,0.30,0.10), (0.60,0.30,0.10), (0.70,0.30,0.10), (0.80,0.30,0.10), (0.90,0.30,0.10), (1.00,0.30,0.10), (0.50,0.40,0.10), (0.60,0.40,0.10), (0.70,0.40,0.10), (0.80,0.40,0.10), (0.90,0.40,0.10), (1.00,0.40,0.10), (0.50,0.50,0.10), (0.60,0.50,0.10), (0.70,0.50,0.10), (0.80,0.50,0.10), (0.90,0.50,0.10), (1.00,0.50,0.10), (0.50,0.60,0.10), (0.60,0.60,0.10), (0.70,0.60,0.10), (0.80,0.60,0.10), (0.90,0.60,0.10), (1.00,0.60,0.10), (0.50,0.70,0.10), (0.60,0.70,0.10), (0.70,0.70,0.10), (0.80,0.70,0.10), (0.90,0.70,0.10), (1.00,0.70,0.10), (0.50,0.80,0.10), (0.60,0.80,0.10), (0.70,0.80,0.10), (0.80,0.80,0.10), (0.90,0.80,0.10), (1.00,0.80,0.10), (0.50,0.90,0.10), (0.60,0.90,0.10), (0.70,0.90,0.10), (0.80,0.90,0.10), (0.90,0.90,0.10), (1.00,0.90,0.10), (0.50,1.00,0.10), (0.60,1.00,0.10), (0.70,1.00,0.10), (0.80,1.00,0.10), (0.90,1.00,0.10), (1.00,1.00,0.10), (0.50,0.00,0.20), (0.60,0.00,0.20), (0.70,0.00,0.20), (0.80,0.00,0.20), (0.90,0.00,0.20), (1.00,0.00,0.20), (0.50,0.10,0.20), (0.60,0.10,0.20), (0.70,0.10,0.20), (0.80,0.10,0.20), (0.90,0.10,0.20), (1.00,0.10,0.20), (0.50,0.20,0.20), (0.60,0.20,0.20), (0.70,0.20,0.20), (0.80,0.20,0.20), (0.90,0.20,0.20), (1.00,0.20,0.20), (0.50,0.30,0.20), (0.60,0.30,0.20), (0.70,0.30,0.20), (0.80,0.30,0.20), (0.90,0.30,0.20), (1.00,0.30,0.20), (0.50,0.40,0.20), (0.60,0.40,0.20), (0.70,0.40,0.20), (0.80,0.40,0.20), (0.90,0.40,0.20), (1.00,0.40,0.20), (0.50,0.50,0.20), (0.60,0.50,0.20), (0.70,0.50,0.20), (0.80,0.50,0.20), (0.90,0.50,0.20), (1.00,0.50,0.20), (0.50,0.60,0.20), (0.60,0.60,0.20), (0.70,0.60,0.20), (0.80,0.60,0.20), (0.90,0.60,0.20), (1.00,0.60,0.20), (0.50,0.70,0.20), (0.60,0.70,0.20), (0.70,0.70,0.20), (0.80,0.70,0.20), (0.90,0.70,0.20), (1.00,0.70,0.20), (0.50,0.80,0.20), (0.60,0.80,0.20), (0.70,0.80,0.20), (0.80,0.80,0.20), (0.90,0.80,0.20), (1.00,0.80,0.20), (0.50,0.90,0.20), (0.60,0.90,0.20), (0.70,0.90,0.20), (0.80,0.90,0.20), (0.90,0.90,0.20), (1.00,0.90,0.20), (0.50,1.00,0.20), (0.60,1.00,0.20), (0.70,1.00,0.20), (0.80,1.00,0.20), (0.90,1.00,0.20), (1.00,1.00,0.20), (0.50,0.00,0.30), (0.60,0.00,0.30), (0.70,0.00,0.30), (0.80,0.00,0.30), (0.90,0.00,0.30), (1.00,0.00,0.30), (0.50,0.10,0.30), (0.60,0.10,0.30), (0.70,0.10,0.30), (0.80,0.10,0.30), (0.90,0.10,0.30), (1.00,0.10,0.30), (0.50,0.20,0.30), (0.60,0.20,0.30), (0.70,0.20,0.30), (0.80,0.20,0.30), (0.90,0.20,0.30), (1.00,0.20,0.30), (0.50,0.30,0.30), (0.60,0.30,0.30), (0.70,0.30,0.30), (0.80,0.30,0.30), (0.90,0.30,0.30), (1.00,0.30,0.30), (0.50,0.40,0.30), (0.60,0.40,0.30), (0.70,0.40,0.30), (0.80,0.40,0.30), (0.90,0.40,0.30), (1.00,0.40,0.30), (0.50,0.50,0.30), (0.60,0.50,0.30), (0.70,0.50,0.30), (0.80,0.50,0.30), (0.90,0.50,0.30), (1.00,0.50,0.30), (0.50,0.60,0.30), (0.60,0.60,0.30), (0.70,0.60,0.30), (0.80,0.60,0.30), (0.90,0.60,0.30), (1.00,0.60,0.30), (0.50,0.70,0.30), (0.60,0.70,0.30), (0.70,0.70,0.30), (0.80,0.70,0.30), (0.90,0.70,0.30), (1.00,0.70,0.30), (0.50,0.80,0.30), (0.60,0.80,0.30), (0.70,0.80,0.30), (0.80,0.80,0.30), (0.90,0.80,0.30), (1.00,0.80,0.30), (0.50,0.90,0.30), (0.60,0.90,0.30), (0.70,0.90,0.30), (0.80,0.90,0.30), (0.90,0.90,0.30), (1.00,0.90,0.30), (0.50,1.00,0.30), (0.60,1.00,0.30), (0.70,1.00,0.30), (0.80,1.00,0.30), (0.90,1.00,0.30), (1.00,1.00,0.30), (0.50,0.00,0.40), (0.60,0.00,0.40), (0.70,0.00,0.40), (0.80,0.00,0.40), (0.90,0.00,0.40), (1.00,0.00,0.40), (0.50,0.10,0.40), (0.60,0.10,0.40), (0.70,0.10,0.40), (0.80,0.10,0.40), (0.90,0.10,0.40), (1.00,0.10,0.40), (0.50,0.20,0.40), (0.60,0.20,0.40), (0.70,0.20,0.40), (0.80,0.20,0.40), (0.90,0.20,0.40), (1.00,0.20,0.40), (0.50,0.30,0.40), (0.60,0.30,0.40), (0.70,0.30,0.40), (0.80,0.30,0.40), (0.90,0.30,0.40), (1.00,0.30,0.40), (0.50,0.40,0.40), (0.60,0.40,0.40), (0.70,0.40,0.40), (0.80,0.40,0.40), (0.90,0.40,0.40), (1.00,0.40,0.40), (0.50,0.50,0.40), (0.60,0.50,0.40), (0.70,0.50,0.40), (0.80,0.50,0.40), (0.90,0.50,0.40), (1.00,0.50,0.40), (0.50,0.60,0.40), (0.60,0.60,0.40), (0.70,0.60,0.40), (0.80,0.60,0.40), (0.90,0.60,0.40), (1.00,0.60,0.40), (0.50,0.70,0.40), (0.60,0.70,0.40), (0.70,0.70,0.40), (0.80,0.70,0.40), (0.90,0.70,0.40), (1.00,0.70,0.40), (0.50,0.80,0.40), (0.60,0.80,0.40), (0.70,0.80,0.40), (0.80,0.80,0.40), (0.90,0.80,0.40), (1.00,0.80,0.40), (0.50,0.90,0.40), (0.60,0.90,0.40), (0.70,0.90,0.40), (0.80,0.90,0.40), (0.90,0.90,0.40), (1.00,0.90,0.40), (0.50,1.00,0.40), (0.60,1.00,0.40), (0.70,1.00,0.40), (0.80,1.00,0.40), (0.90,1.00,0.40), (1.00,1.00,0.40), (0.50,0.00,0.50), (0.60,0.00,0.50), (0.70,0.00,0.50), (0.80,0.00,0.50), (0.90,0.00,0.50), (1.00,0.00,0.50), (0.50,0.10,0.50), (0.60,0.10,0.50), (0.70,0.10,0.50), (0.80,0.10,0.50), (0.90,0.10,0.50), (1.00,0.10,0.50), (0.50,0.20,0.50), (0.60,0.20,0.50), (0.70,0.20,0.50), (0.80,0.20,0.50), (0.90,0.20,0.50), (1.00,0.20,0.50), (0.50,0.30,0.50), (0.60,0.30,0.50), (0.70,0.30,0.50), (0.80,0.30,0.50), (0.90,0.30,0.50), (1.00,0.30,0.50), (0.50,0.40,0.50), (0.60,0.40,0.50), (0.70,0.40,0.50), (0.80,0.40,0.50), (0.90,0.40,0.50), (1.00,0.40,0.50), (0.50,0.50,0.50), (0.60,0.50,0.50), (0.70,0.50,0.50), (0.80,0.50,0.50), (0.90,0.50,0.50), (1.00,0.50,0.50), (0.50,0.60,0.50), (0.60,0.60,0.50), (0.70,0.60,0.50), (0.80,0.60,0.50), (0.90,0.60,0.50), (1.00,0.60,0.50), (0.50,0.70,0.50), (0.60,0.70,0.50), (0.70,0.70,0.50), (0.80,0.70,0.50), (0.90,0.70,0.50), (1.00,0.70,0.50), (0.50,0.80,0.50), (0.60,0.80,0.50), (0.70,0.80,0.50), (0.80,0.80,0.50), (0.90,0.80,0.50), (1.00,0.80,0.50), (0.50,0.90,0.50), (0.60,0.90,0.50), (0.70,0.90,0.50), (0.80,0.90,0.50), (0.90,0.90,0.50), (1.00,0.90,0.50), (0.50,1.00,0.50), (0.60,1.00,0.50), (0.70,1.00,0.50), (0.80,1.00,0.50), (0.90,1.00,0.50), (1.00,1.00,0.50), (0.50,0.00,0.60), (0.60,0.00,0.60), (0.70,0.00,0.60), (0.80,0.00,0.60), (0.90,0.00,0.60), (1.00,0.00,0.60), (0.50,0.10,0.60), (0.60,0.10,0.60), (0.70,0.10,0.60), (0.80,0.10,0.60), (0.90,0.10,0.60), (1.00,0.10,0.60), (0.50,0.20,0.60), (0.60,0.20,0.60), (0.70,0.20,0.60), (0.80,0.20,0.60), (0.90,0.20,0.60), (1.00,0.20,0.60), (0.50,0.30,0.60), (0.60,0.30,0.60), (0.70,0.30,0.60), (0.80,0.30,0.60), (0.90,0.30,0.60), (1.00,0.30,0.60), (0.50,0.40,0.60), (0.60,0.40,0.60), (0.70,0.40,0.60), (0.80,0.40,0.60), (0.90,0.40,0.60), (1.00,0.40,0.60), (0.50,0.50,0.60), (0.60,0.50,0.60), (0.70,0.50,0.60), (0.80,0.50,0.60), (0.90,0.50,0.60), (1.00,0.50,0.60), (0.50,0.60,0.60), (0.60,0.60,0.60), (0.70,0.60,0.60), (0.80,0.60,0.60), (0.90,0.60,0.60), (1.00,0.60,0.60), (0.50,0.70,0.60), (0.60,0.70,0.60), (0.70,0.70,0.60), (0.80,0.70,0.60), (0.90,0.70,0.60), (1.00,0.70,0.60), (0.50,0.80,0.60), (0.60,0.80,0.60), (0.70,0.80,0.60), (0.80,0.80,0.60), (0.90,0.80,0.60), (1.00,0.80,0.60), (0.50,0.90,0.60), (0.60,0.90,0.60), (0.70,0.90,0.60), (0.80,0.90,0.60), (0.90,0.90,0.60), (1.00,0.90,0.60), (0.50,1.00,0.60), (0.60,1.00,0.60), (0.70,1.00,0.60), (0.80,1.00,0.60), (0.90,1.00,0.60), (1.00,1.00,0.60), (0.50,0.00,0.70), (0.60,0.00,0.70), (0.70,0.00,0.70), (0.80,0.00,0.70), (0.90,0.00,0.70), (1.00,0.00,0.70), (0.50,0.10,0.70), (0.60,0.10,0.70), (0.70,0.10,0.70), (0.80,0.10,0.70), (0.90,0.10,0.70), (1.00,0.10,0.70), (0.50,0.20,0.70), (0.60,0.20,0.70), (0.70,0.20,0.70), (0.80,0.20,0.70), (0.90,0.20,0.70), (1.00,0.20,0.70), (0.50,0.30,0.70), (0.60,0.30,0.70), (0.70,0.30,0.70), (0.80,0.30,0.70), (0.90,0.30,0.70), (1.00,0.30,0.70), (0.50,0.40,0.70), (0.60,0.40,0.70), (0.70,0.40,0.70), (0.80,0.40,0.70), (0.90,0.40,0.70), (1.00,0.40,0.70), (0.50,0.50,0.70), (0.60,0.50,0.70), (0.70,0.50,0.70), (0.80,0.50,0.70), (0.90,0.50,0.70), (1.00,0.50,0.70), (0.50,0.60,0.70), (0.60,0.60,0.70), (0.70,0.60,0.70), (0.80,0.60,0.70), (0.90,0.60,0.70), (1.00,0.60,0.70), (0.50,0.70,0.70), (0.60,0.70,0.70), (0.70,0.70,0.70), (0.80,0.70,0.70), (0.90,0.70,0.70), (1.00,0.70,0.70), (0.50,0.80,0.70), (0.60,0.80,0.70), (0.70,0.80,0.70), (0.80,0.80,0.70), (0.90,0.80,0.70), (1.00,0.80,0.70), (0.50,0.90,0.70), (0.60,0.90,0.70), (0.70,0.90,0.70), (0.80,0.90,0.70), (0.90,0.90,0.70), (1.00,0.90,0.70), (0.50,1.00,0.70), (0.60,1.00,0.70), (0.70,1.00,0.70), (0.80,1.00,0.70), (0.90,1.00,0.70), (1.00,1.00,0.70), (0.50,0.00,0.80), (0.60,0.00,0.80), (0.70,0.00,0.80), (0.80,0.00,0.80), (0.90,0.00,0.80), (1.00,0.00,0.80), (0.50,0.10,0.80), (0.60,0.10,0.80), (0.70,0.10,0.80), (0.80,0.10,0.80), (0.90,0.10,0.80), (1.00,0.10,0.80), (0.50,0.20,0.80), (0.60,0.20,0.80), (0.70,0.20,0.80), (0.80,0.20,0.80), (0.90,0.20,0.80), (1.00,0.20,0.80), (0.50,0.30,0.80), (0.60,0.30,0.80), (0.70,0.30,0.80), (0.80,0.30,0.80), (0.90,0.30,0.80), (1.00,0.30,0.80), (0.50,0.40,0.80), (0.60,0.40,0.80), (0.70,0.40,0.80), (0.80,0.40,0.80), (0.90,0.40,0.80), (1.00,0.40,0.80), (0.50,0.50,0.80), (0.60,0.50,0.80), (0.70,0.50,0.80), (0.80,0.50,0.80), (0.90,0.50,0.80), (1.00,0.50,0.80), (0.50,0.60,0.80), (0.60,0.60,0.80), (0.70,0.60,0.80), (0.80,0.60,0.80), (0.90,0.60,0.80), (1.00,0.60,0.80), (0.50,0.70,0.80), (0.60,0.70,0.80), (0.70,0.70,0.80), (0.80,0.70,0.80), (0.90,0.70,0.80), (1.00,0.70,0.80), (0.50,0.80,0.80), (0.60,0.80,0.80), (0.70,0.80,0.80), (0.80,0.80,0.80), (0.90,0.80,0.80), (1.00,0.80,0.80), (0.50,0.90,0.80), (0.60,0.90,0.80), (0.70,0.90,0.80), (0.80,0.90,0.80), (0.90,0.90,0.80), (1.00,0.90,0.80), (0.50,1.00,0.80), (0.60,1.00,0.80), (0.70,1.00,0.80), (0.80,1.00,0.80), (0.90,1.00,0.80), (1.00,1.00,0.80), (0.50,0.00,0.90), (0.60,0.00,0.90), (0.70,0.00,0.90), (0.80,0.00,0.90), (0.90,0.00,0.90), (1.00,0.00,0.90), (0.50,0.10,0.90), (0.60,0.10,0.90), (0.70,0.10,0.90), (0.80,0.10,0.90), (0.90,0.10,0.90), (1.00,0.10,0.90), (0.50,0.20,0.90), (0.60,0.20,0.90), (0.70,0.20,0.90), (0.80,0.20,0.90), (0.90,0.20,0.90), (1.00,0.20,0.90), (0.50,0.30,0.90), (0.60,0.30,0.90), (0.70,0.30,0.90), (0.80,0.30,0.90), (0.90,0.30,0.90), (1.00,0.30,0.90), (0.50,0.40,0.90), (0.60,0.40,0.90), (0.70,0.40,0.90), (0.80,0.40,0.90), (0.90,0.40,0.90), (1.00,0.40,0.90), (0.50,0.50,0.90), (0.60,0.50,0.90), (0.70,0.50,0.90), (0.80,0.50,0.90), (0.90,0.50,0.90), (1.00,0.50,0.90), (0.50,0.60,0.90), (0.60,0.60,0.90), (0.70,0.60,0.90), (0.80,0.60,0.90), (0.90,0.60,0.90), (1.00,0.60,0.90), (0.50,0.70,0.90), (0.60,0.70,0.90), (0.70,0.70,0.90), (0.80,0.70,0.90), (0.90,0.70,0.90), (1.00,0.70,0.90), (0.50,0.80,0.90), (0.60,0.80,0.90), (0.70,0.80,0.90), (0.80,0.80,0.90), (0.90,0.80,0.90), (1.00,0.80,0.90), (0.50,0.90,0.90), (0.60,0.90,0.90), (0.70,0.90,0.90), (0.80,0.90,0.90), (0.90,0.90,0.90), (1.00,0.90,0.90), (0.50,1.00,0.90), (0.60,1.00,0.90), (0.70,1.00,0.90), (0.80,1.00,0.90), (0.90,1.00,0.90), (1.00,1.00,0.90), (0.50,0.00,1.00), (0.60,0.00,1.00), (0.70,0.00,1.00), (0.80,0.00,1.00), (0.90,0.00,1.00), (1.00,0.00,1.00), (0.50,0.10,1.00), (0.60,0.10,1.00), (0.70,0.10,1.00), (0.80,0.10,1.00), (0.90,0.10,1.00), (1.00,0.10,1.00), (0.50,0.20,1.00), (0.60,0.20,1.00), (0.70,0.20,1.00), (0.80,0.20,1.00), (0.90,0.20,1.00), (1.00,0.20,1.00), (0.50,0.30,1.00), (0.60,0.30,1.00), (0.70,0.30,1.00), (0.80,0.30,1.00), (0.90,0.30,1.00), (1.00,0.30,1.00), (0.50,0.40,1.00), (0.60,0.40,1.00), (0.70,0.40,1.00), (0.80,0.40,1.00), (0.90,0.40,1.00), (1.00,0.40,1.00), (0.50,0.50,1.00), (0.60,0.50,1.00), (0.70,0.50,1.00), (0.80,0.50,1.00), (0.90,0.50,1.00), (1.00,0.50,1.00), (0.50,0.60,1.00), (0.60,0.60,1.00), (0.70,0.60,1.00), (0.80,0.60,1.00), (0.90,0.60,1.00), (1.00,0.60,1.00), (0.50,0.70,1.00), (0.60,0.70,1.00), (0.70,0.70,1.00), (0.80,0.70,1.00), (0.90,0.70,1.00), (1.00,0.70,1.00), (0.50,0.80,1.00), (0.60,0.80,1.00), (0.70,0.80,1.00), (0.80,0.80,1.00), (0.90,0.80,1.00), (1.00,0.80,1.00), (0.50,0.90,1.00), (0.60,0.90,1.00), (0.70,0.90,1.00), (0.80,0.90,1.00), (0.90,0.90,1.00), (1.00,0.90,1.00), (0.50,1.00,1.00), (0.60,1.00,1.00), (0.70,1.00,1.00), (0.80,1.00,1.00), (0.90,1.00,1.00), (1.00,1.00,1.00), 
 	ownsNodeLocalToGlobalMap: 1
-	nodeL2G (ptr): 0x811d8a4
+	nodeL2G (ptr): 0x8067da8
 	nodeL2G[0-726]:   005 006 007 008 009 010 016 017 018 019 020 021 027 028 029 030 031 032 038 039 040 041 042 043 049 050 051 052 053 054 060 061 062 063 064 065 071 072 073 074 075 076 082 083 084 085 086 087 093 094 095 096 097 098 104 105 106 107 108 109 115 116 117 118 119 120 126 127 128 129 130 131 137 138 139 140 141 142 148 149 150 151 152 153 159 160 161 162 163 164 170 171 172 173 174 175 181 182 183 184 185 186 192 193 194 195 196 197 203 204 205 206 207 208 214 215 216 217 218 219 225 226 227 228 229 230 236 237 238 239 240 241 247 248 249 250 251 252 258 259 260 261 262 263 269 270 271 272 273 274 280 281 282 283 284 285 291 292 293 294 295 296 302 303 304 305 306 307 313 314 315 316 317 318 324 325 326 327 328 329 335 336 337 338 339 340 346 347 348 349 350 351 357 358 359 360 361 362 368 369 370 371 372 373 379 380 381 382 383 384 390 391 392 393 394 395 401 402 403 404 405 406 412 413 414 415 416 417 423 424 425 426 427 428 434 435 436 437 438 439 445 446 447 448 449 450 456 457 458 459 460 461 467 468 469 470 471 472 478 479 480 481 482 483 489 490 491 492 493 494 500 501 502 503 504 505 511 512 513 514 515 516 522 523 524 525 526 527 533 534 535 536 537 538 544 545 546 547 548 549 555 556 557 558 559 560 566 567 568 569 570 571 577 578 579 580 581 582 588 589 590 591 592 593 599 600 601 602 603 604 610 611 612 613 614 615 621 622 623 624 625 626 632 633 634 635 636 637 643 644 645 646 647 648 654 655 656 657 658 659 665 666 667 668 669 670 676 677 678 679 680 681 687 688 689 690 691 692 698 699 700 701 702 703 709 710 711 712 713 714 720 721 722 723 724 725 731 732 733 734 735 736 742 743 744 745 746 747 753 754 755 756 757 758 764 765 766 767 768 769 775 776 777 778 779 780 786 787 788 789 790 791 797 798 799 800 801 802 808 809 810 811 812 813 819 820 821 822 823 824 830 831 832 833 834 835 841 842 843 844 845 846 852 853 854 855 856 857 863 864 865 866 867 868 874 875 876 877 878 879 885 886 887 888 889 890 896 897 898 899 900 901 907 908 909 910 911 912 918 919 920 921 922 923 929 930 931 932 933 934 940 941 942 943 944 945 951 952 953 954 955 956 962 963 964 965 966 967 973 974 975 976 977 978 984 985 986 987 988 989 995 996 997 998 999 1000 1006 1007 1008 1009 1010 1011 1017 1018 1019 1020 1021 1022 1028 1029 1030 1031 1032 1033 1039 1040 1041 1042 1043 1044 1050 1051 1052 1053 1054 1055 1061 1062 1063 1064 1065 1066 1072 1073 1074 1075 1076 1077 1083 1084 1085 1086 1087 1088 1094 1095 1096 1097 1098 1099 1105 1106 1107 1108 1109 1110 1116 1117 1118 1119 1120 1121 1127 1128 1129 1130 1131 1132 1138 1139 1140 1141 1142 1143 1149 1150 1151 1152 1153 1154 1160 1161 1162 1163 1164 1165 1171 1172 1173 1174 1175 1176 1182 1183 1184 1185 1186 1187 1193 1194 1195 1196 1197 1198 1204 1205 1206 1207 1208 1209 1215 1216 1217 1218 1219 1220 1226 1227 1228 1229 1230 1231 1237 1238 1239 1240 1241 1242 1248 1249 1250 1251 1252 1253 1259 1260 1261 1262 1263 1264 1270 1271 1272 1273 1274 1275 1281 1282 1283 1284 1285 1286 1292 1293 1294 1295 1296 1297 1303 1304 1305 1306 1307 1308 1314 1315 1316 1317 1318 1319 1325 1326 1327 1328 1329 1330 
 	ownsNodeDomainToGlobalMap: 1
-	nodeD2G (ptr): 0x811d8a4
+	nodeD2G (ptr): 0x8067da8
 	nodeD2G[0-726]:   005 006 007 008 009 010 016 017 018 019 020 021 027 028 029 030 031 032 038 039 040 041 042 043 049 050 051 052 053 054 060 061 062 063 064 065 071 072 073 074 075 076 082 083 084 085 086 087 093 094 095 096 097 098 104 105 106 107 108 109 115 116 117 118 119 120 126 127 128 129 130 131 137 138 139 140 141 142 148 149 150 151 152 153 159 160 161 162 163 164 170 171 172 173 174 175 181 182 183 184 185 186 192 193 194 195 196 197 203 204 205 206 207 208 214 215 216 217 218 219 225 226 227 228 229 230 236 237 238 239 240 241 247 248 249 250 251 252 258 259 260 261 262 263 269 270 271 272 273 274 280 281 282 283 284 285 291 292 293 294 295 296 302 303 304 305 306 307 313 314 315 316 317 318 324 325 326 327 328 329 335 336 337 338 339 340 346 347 348 349 350 351 357 358 359 360 361 362 368 369 370 371 372 373 379 380 381 382 383 384 390 391 392 393 394 395 401 402 403 404 405 406 412 413 414 415 416 417 423 424 425 426 427 428 434 435 436 437 438 439 445 446 447 448 449 450 456 457 458 459 460 461 467 468 469 470 471 472 478 479 480 481 482 483 489 490 491 492 493 494 500 501 502 503 504 505 511 512 513 514 515 516 522 523 524 525 526 527 533 534 535 536 537 538 544 545 546 547 548 549 555 556 557 558 559 560 566 567 568 569 570 571 577 578 579 580 581 582 588 589 590 591 592 593 599 600 601 602 603 604 610 611 612 613 614 615 621 622 623 624 625 626 632 633 634 635 636 637 643 644 645 646 647 648 654 655 656 657 658 659 665 666 667 668 669 670 676 677 678 679 680 681 687 688 689 690 691 692 698 699 700 701 702 703 709 710 711 712 713 714 720 721 722 723 724 725 731 732 733 734 735 736 742 743 744 745 746 747 753 754 755 756 757 758 764 765 766 767 768 769 775 776 777 778 779 780 786 787 788 789 790 791 797 798 799 800 801 802 808 809 810 811 812 813 819 820 821 822 823 824 830 831 832 833 834 835 841 842 843 844 845 846 852 853 854 855 856 857 863 864 865 866 867 868 874 875 876 877 878 879 885 886 887 888 889 890 896 897 898 899 900 901 907 908 909 910 911 912 918 919 920 921 922 923 929 930 931 932 933 934 940 941 942 943 944 945 951 952 953 954 955 956 962 963 964 965 966 967 973 974 975 976 977 978 984 985 986 987 988 989 995 996 997 998 999 1000 1006 1007 1008 1009 1010 1011 1017 1018 1019 1020 1021 1022 1028 1029 1030 1031 1032 1033 1039 1040 1041 1042 1043 1044 1050 1051 1052 1053 1054 1055 1061 1062 1063 1064 1065 1066 1072 1073 1074 1075 1076 1077 1083 1084 1085 1086 1087 1088 1094 1095 1096 1097 1098 1099 1105 1106 1107 1108 1109 1110 1116 1117 1118 1119 1120 1121 1127 1128 1129 1130 1131 1132 1138 1139 1140 1141 1142 1143 1149 1150 1151 1152 1153 1154 1160 1161 1162 1163 1164 1165 1171 1172 1173 1174 1175 1176 1182 1183 1184 1185 1186 1187 1193 1194 1195 1196 1197 1198 1204 1205 1206 1207 1208 1209 1215 1216 1217 1218 1219 1220 1226 1227 1228 1229 1230 1231 1237 1238 1239 1240 1241 1242 1248 1249 1250 1251 1252 1253 1259 1260 1261 1262 1263 1264 1270 1271 1272 1273 1274 1275 1281 1282 1283 1284 1285 1286 1292 1293 1294 1295 1296 1297 1303 1304 1305 1306 1307 1308 1314 1315 1316 1317 1318 1319 1325 1326 1327 1328 1329 1330 
 	ownsNodeGlobalToLocalMap: 1
-	nodeG2L (ptr): 0x8122b44
+	nodeG2L (ptr): 0x8068910
 	nodeG2L[0-1331]:   1331 1331 1331 1331 1331 000 001 002 003 004 005 1331 1331 1331 1331 1331 006 007 008 009 010 011 1331 1331 1331 1331 1331 012 013 014 015 016 017 1331 1331 1331 1331 1331 018 019 020 021 022 023 1331 1331 1331 1331 1331 024 025 026 027 028 029 1331 1331 1331 1331 1331 030 031 032 033 034 035 1331 1331 1331 1331 1331 036 037 038 039 040 041 1331 1331 1331 1331 1331 042 043 044 045 046 047 1331 1331 1331 1331 1331 048 049 050 051 052 053 1331 1331 1331 1331 1331 054 055 056 057 058 059 1331 1331 1331 1331 1331 060 061 062 063 064 065 1331 1331 1331 1331 1331 066 067 068 069 070 071 1331 1331 1331 1331 1331 072 073 074 075 076 077 1331 1331 1331 1331 1331 078 079 080 081 082 083 1331 1331 1331 1331 1331 084 085 086 087 088 089 1331 1331 1331 1331 1331 090 091 092 093 094 095 1331 1331 1331 1331 1331 096 097 098 099 100 101 1331 1331 1331 1331 1331 102 103 104 105 106 107 1331 1331 1331 1331 1331 108 109 110 111 112 113 1331 1331 1331 1331 1331 114 115 116 117 118 119 1331 1331 1331 1331 1331 120 121 122 123 124 125 1331 1331 1331 1331 1331 126 127 128 129 130 131 1331 1331 1331 1331 1331 132 133 134 135 136 137 1331 1331 1331 1331 1331 138 139 140 141 142 143 1331 1331 1331 1331 1331 144 145 146 147 148 149 1331 1331 1331 1331 1331 150 151 152 153 154 155 1331 1331 1331 1331 1331 156 157 158 159 160 161 1331 1331 1331 1331 1331 162 163 164 165 166 167 1331 1331 1331 1331 1331 168 169 170 171 172 173 1331 1331 1331 1331 1331 174 175 176 177 178 179 1331 1331 1331 1331 1331 180 181 182 183 184 185 1331 1331 1331 1331 1331 186 187 188 189 190 191 1331 1331 1331 1331 1331 192 193 194 195 196 197 1331 1331 1331 1331 1331 198 199 200 201 202 203 1331 1331 1331 1331 1331 204 205 206 207 208 209 1331 1331 1331 1331 1331 210 211 212 213 214 215 1331 1331 1331 1331 1331 216 217 218 219 220 221 1331 1331 1331 1331 1331 222 223 224 225 226 227 1331 1331 1331 1331 1331 228 229 230 231 232 233 1331 1331 1331 1331 1331 234 235 236 237 238 239 1331 1331 1331 1331 1331 240 241 242 243 244 245 1331 1331 1331 1331 1331 246 247 248 249 250 251 1331 1331 1331 1331 1331 252 253 254 255 256 257 1331 1331 1331 1331 1331 258 259 260 261 262 263 1331 1331 1331 1331 1331 264 265 266 267 268 269 1331 1331 1331 1331 1331 270 271 272 273 274 275 1331 1331 1331 1331 1331 276 277 278 279 280 281 1331 1331 1331 1331 1331 282 283 284 285 286 287 1331 1331 1331 1331 1331 288 289 290 291 292 293 1331 1331 1331 1331 1331 294 295 296 297 298 299 1331 1331 1331 1331 1331 300 301 302 303 304 305 1331 1331 1331 1331 1331 306 307 308 309 310 311 1331 1331 1331 1331 1331 312 313 314 315 316 317 1331 1331 1331 1331 1331 318 319 320 321 322 323 1331 1331 1331 1331 1331 324 325 326 327 328 329 1331 1331 1331 1331 1331 330 331 332 333 334 335 1331 1331 1331 1331 1331 336 337 338 339 340 341 1331 1331 1331 1331 1331 342 343 344 345 346 347 1331 1331 1331 1331 1331 348 349 350 351 352 353 1331 1331 1331 1331 1331 354 355 356 357 358 359 1331 1331 1331 1331 1331 360 361 362 363 364 365 1331 1331 1331 1331 1331 366 367 368 369 370 371 1331 1331 1331 1331 1331 372 373 374 375 376 377 1331 1331 1331 1331 1331 378 379 380 381 382 383 1331 1331 1331 1331 1331 384 385 386 387 388 389 1331 1331 1331 1331 1331 390 391 392 393 394 395 1331 1331 1331 1331 1331 396 397 398 399 400 401 1331 1331 1331 1331 1331 402 403 404 405 406 407 1331 1331 1331 1331 1331 408 409 410 411 412 413 1331 1331 1331 1331 1331 414 415 416 417 418 419 1331 1331 1331 1331 1331 420 421 422 423 424 425 1331 1331 1331 1331 1331 426 427 428 429 430 431 1331 1331 1331 1331 1331 432 433 434 435 436 437 1331 1331 1331 1331 1331 438 439 440 441 442 443 1331 1331 1331 1331 1331 444 445 446 447 448 449 1331 1331 1331 1331 1331 450 451 452 453 454 455 1331 1331 1331 1331 1331 456 457 458 459 460 461 1331 1331 1331 1331 1331 462 463 464 465 466 467 1331 1331 1331 1331 1331 468 469 470 471 472 473 1331 1331 1331 1331 1331 474 475 476 477 478 479 1331 1331 1331 1331 1331 480 481 482 483 484 485 1331 1331 1331 1331 1331 486 487 488 489 490 491 1331 1331 1331 1331 1331 492 493 494 495 496 497 1331 1331 1331 1331 1331 498 499 500 501 502 503 1331 1331 1331 1331 1331 504 505 506 507 508 509 1331 1331 1331 1331 1331 510 511 512 513 514 515 1331 1331 1331 1331 1331 516 517 518 519 520 521 1331 1331 1331 1331 1331 522 523 524 525 526 527 1331 1331 1331 1331 1331 528 529 530 531 532 533 1331 1331 1331 1331 1331 534 535 536 537 538 539 1331 1331 1331 1331 1331 540 541 542 543 544 545 1331 1331 1331 1331 1331 546 547 548 549 550 551 1331 1331 1331 1331 1331 552 553 554 555 556 557 1331 1331 1331 1331 1331 558 559 560 561 562 563 1331 1331 1331 1331 1331 564 565 566 567 568 569 1331 1331 1331 1331 1331 570 571 572 573 574 575 1331 1331 1331 1331 1331 576 577 578 579 580 581 1331 1331 1331 1331 1331 582 583 584 585 586 587 1331 1331 1331 1331 1331 588 589 590 591 592 593 1331 1331 1331 1331 1331 594 595 596 597 598 599 1331 1331 1331 1331 1331 600 601 602 603 604 605 1331 1331 1331 1331 1331 606 607 608 609 610 611 1331 1331 1331 1331 1331 612 613 614 615 616 617 1331 1331 1331 1331 1331 618 619 620 621 622 623 1331 1331 1331 1331 1331 624 625 626 627 628 629 1331 1331 1331 1331 1331 630 631 632 633 634 635 1331 1331 1331 1331 1331 636 637 638 639 640 641 1331 1331 1331 1331 1331 642 643 644 645 646 647 1331 1331 1331 1331 1331 648 649 650 651 652 653 1331 1331 1331 1331 1331 654 655 656 657 658 659 1331 1331 1331 1331 1331 660 661 662 663 664 665 1331 1331 1331 1331 1331 666 667 668 669 670 671 1331 1331 1331 1331 1331 672 673 674 675 676 677 1331 1331 1331 1331 1331 678 679 680 681 682 683 1331 1331 1331 1331 1331 684 685 686 687 688 689 1331 1331 1331 1331 1331 690 691 692 693 694 695 1331 1331 1331 1331 1331 696 697 698 699 700 701 1331 1331 1331 1331 1331 702 703 704 705 706 707 1331 1331 1331 1331 1331 708 709 710 711 712 713 1331 1331 1331 1331 1331 714 715 716 717 718 719 1331 1331 1331 1331 1331 720 721 722 723 724 725 
 	ownsNodeGlobalToDomainMap: 1
-	nodeG2D (ptr): 0x8122b44
+	nodeG2D (ptr): 0x8068910
 	nodeG2D[0-1331]:   1331 1331 1331 1331 1331 000 001 002 003 004 005 1331 1331 1331 1331 1331 006 007 008 009 010 011 1331 1331 1331 1331 1331 012 013 014 015 016 017 1331 1331 1331 1331 1331 018 019 020 021 022 023 1331 1331 1331 1331 1331 024 025 026 027 028 029 1331 1331 1331 1331 1331 030 031 032 033 034 035 1331 1331 1331 1331 1331 036 037 038 039 040 041 1331 1331 1331 1331 1331 042 043 044 045 046 047 1331 1331 1331 1331 1331 048 049 050 051 052 053 1331 1331 1331 1331 1331 054 055 056 057 058 059 1331 1331 1331 1331 1331 060 061 062 063 064 065 1331 1331 1331 1331 1331 066 067 068 069 070 071 1331 1331 1331 1331 1331 072 073 074 075 076 077 1331 1331 1331 1331 1331 078 079 080 081 082 083 1331 1331 1331 1331 1331 084 085 086 087 088 089 1331 1331 1331 1331 1331 090 091 092 093 094 095 1331 1331 1331 1331 1331 096 097 098 099 100 101 1331 1331 1331 1331 1331 102 103 104 105 106 107 1331 1331 1331 1331 1331 108 109 110 111 112 113 1331 1331 1331 1331 1331 114 115 116 117 118 119 1331 1331 1331 1331 1331 120 121 122 123 124 125 1331 1331 1331 1331 1331 126 127 128 129 130 131 1331 1331 1331 1331 1331 132 133 134 135 136 137 1331 1331 1331 1331 1331 138 139 140 141 142 143 1331 1331 1331 1331 1331 144 145 146 147 148 149 1331 1331 1331 1331 1331 150 151 152 153 154 155 1331 1331 1331 1331 1331 156 157 158 159 160 161 1331 1331 1331 1331 1331 162 163 164 165 166 167 1331 1331 1331 1331 1331 168 169 170 171 172 173 1331 1331 1331 1331 1331 174 175 176 177 178 179 1331 1331 1331 1331 1331 180 181 182 183 184 185 1331 1331 1331 1331 1331 186 187 188 189 190 191 1331 1331 1331 1331 1331 192 193 194 195 196 197 1331 1331 1331 1331 1331 198 199 200 201 202 203 1331 1331 1331 1331 1331 204 205 206 207 208 209 1331 1331 1331 1331 1331 210 211 212 213 214 215 1331 1331 1331 1331 1331 216 217 218 219 220 221 1331 1331 1331 1331 1331 222 223 224 225 226 227 1331 1331 1331 1331 1331 228 229 230 231 232 233 1331 1331 1331 1331 1331 234 235 236 237 238 239 1331 1331 1331 1331 1331 240 241 242 243 244 245 1331 1331 1331 1331 1331 246 247 248 249 250 251 1331 1331 1331 1331 1331 252 253 254 255 256 257 1331 1331 1331 1331 1331 258 259 260 261 262 263 1331 1331 1331 1331 1331 264 265 266 267 268 269 1331 1331 1331 1331 1331 270 271 272 273 274 275 1331 1331 1331 1331 1331 276 277 278 279 280 281 1331 1331 1331 1331 1331 282 283 284 285 286 287 1331 1331 1331 1331 1331 288 289 290 291 292 293 1331 1331 1331 1331 1331 294 295 296 297 298 299 1331 1331 1331 1331 1331 300 301 302 303 304 305 1331 1331 1331 1331 1331 306 307 308 309 310 311 1331 1331 1331 1331 1331 312 313 314 315 316 317 1331 1331 1331 1331 1331 318 319 320 321 322 323 1331 1331 1331 1331 1331 324 325 326 327 328 329 1331 1331 1331 1331 1331 330 331 332 333 334 335 1331 1331 1331 1331 1331 336 337 338 339 340 341 1331 1331 1331 1331 1331 342 343 344 345 346 347 1331 1331 1331 1331 1331 348 349 350 351 352 353 1331 1331 1331 1331 1331 354 355 356 357 358 359 1331 1331 1331 1331 1331 360 361 362 363 364 365 1331 1331 1331 1331 1331 366 367 368 369 370 371 1331 1331 1331 1331 1331 372 373 374 375 376 377 1331 1331 1331 1331 1331 378 379 380 381 382 383 1331 1331 1331 1331 1331 384 385 386 387 388 389 1331 1331 1331 1331 1331 390 391 392 393 394 395 1331 1331 1331 1331 1331 396 397 398 399 400 401 1331 1331 1331 1331 1331 402 403 404 405 406 407 1331 1331 1331 1331 1331 408 409 410 411 412 413 1331 1331 1331 1331 1331 414 415 416 417 418 419 1331 1331 1331 1331 1331 420 421 422 423 424 425 1331 1331 1331 1331 1331 426 427 428 429 430 431 1331 1331 1331 1331 1331 432 433 434 435 436 437 1331 1331 1331 1331 1331 438 439 440 441 442 443 1331 1331 1331 1331 1331 444 445 446 447 448 449 1331 1331 1331 1331 1331 450 451 452 453 454 455 1331 1331 1331 1331 1331 456 457 458 459 460 461 1331 1331 1331 1331 1331 462 463 464 465 466 467 1331 1331 1331 1331 1331 468 469 470 471 472 473 1331 1331 1331 1331 1331 474 475 476 477 478 479 1331 1331 1331 1331 1331 480 481 482 483 484 485 1331 1331 1331 1331 1331 486 487 488 489 490 491 1331 1331 1331 1331 1331 492 493 494 495 496 497 1331 1331 1331 1331 1331 498 499 500 501 502 503 1331 1331 1331 1331 1331 504 505 506 507 508 509 1331 1331 1331 1331 1331 510 511 512 513 514 515 1331 1331 1331 1331 1331 516 517 518 519 520 521 1331 1331 1331 1331 1331 522 523 524 525 526 527 1331 1331 1331 1331 1331 528 529 530 531 532 533 1331 1331 1331 1331 1331 534 535 536 537 538 539 1331 1331 1331 1331 1331 540 541 542 543 544 545 1331 1331 1331 1331 1331 546 547 548 549 550 551 1331 1331 1331 1331 1331 552 553 554 555 556 557 1331 1331 1331 1331 1331 558 559 560 561 562 563 1331 1331 1331 1331 1331 564 565 566 567 568 569 1331 1331 1331 1331 1331 570 571 572 573 574 575 1331 1331 1331 1331 1331 576 577 578 579 580 581 1331 1331 1331 1331 1331 582 583 584 585 586 587 1331 1331 1331 1331 1331 588 589 590 591 592 593 1331 1331 1331 1331 1331 594 595 596 597 598 599 1331 1331 1331 1331 1331 600 601 602 603 604 605 1331 1331 1331 1331 1331 606 607 608 609 610 611 1331 1331 1331 1331 1331 612 613 614 615 616 617 1331 1331 1331 1331 1331 618 619 620 621 622 623 1331 1331 1331 1331 1331 624 625 626 627 628 629 1331 1331 1331 1331 1331 630 631 632 633 634 635 1331 1331 1331 1331 1331 636 637 638 639 640 641 1331 1331 1331 1331 1331 642 643 644 645 646 647 1331 1331 1331 1331 1331 648 649 650 651 652 653 1331 1331 1331 1331 1331 654 655 656 657 658 659 1331 1331 1331 1331 1331 660 661 662 663 664 665 1331 1331 1331 1331 1331 666 667 668 669 670 671 1331 1331 1331 1331 1331 672 673 674 675 676 677 1331 1331 1331 1331 1331 678 679 680 681 682 683 1331 1331 1331 1331 1331 684 685 686 687 688 689 1331 1331 1331 1331 1331 690 691 692 693 694 695 1331 1331 1331 1331 1331 696 697 698 699 700 701 1331 1331 1331 1331 1331 702 703 704 705 706 707 1331 1331 1331 1331 1331 708 709 710 711 712 713 1331 1331 1331 1331 1331 714 715 716 717 718 719 1331 1331 1331 1331 1331 720 721 722 723 724 725 
 	ownsNodeNeighbourCountTbl: 1
-	nodeNeighbourCountTbl (ptr): 0x812401c
+	nodeNeighbourCountTbl (ptr): 0x8069de8
 	ownsNodeNeighbourTbl: 1
-	nodeNeighbourTbl (ptr): 0x8124b7c
+	nodeNeighbourTbl (ptr): 0x806a950
 	nodeNeighbourTbl[0-726]:
 		nodeNeighbourTbl[0][0-6]: 001 006 066 1331 1331 1331 
 		nodeNeighbourTbl[1][0-6]: 002 007 067 000 1331 1331 
@@ -869,9 +874,9 @@
 		nodeNeighbourTbl[724][0-6]: 725 1331 1331 723 718 658 
 		nodeNeighbourTbl[725][0-6]: 1331 1331 1331 724 719 659 
 	ownsNodeElementCountTbl: 1
-	nodeElementCountTbl (ptr): 0x812aa94
+	nodeElementCountTbl (ptr): 0x8070878
 	ownsNodeElementTbl: 1
-	nodeElementTbl (ptr): 0x812b5f4
+	nodeElementTbl (ptr): 0x80713e0
 	nodeElementTbl[0-726]:
 		nodeElementTbl[0][0-8]: 1000 1000 1000 1000 1000 1000 1000 000 
 		nodeElementTbl[1][0-8]: 1000 1000 1000 1000 1000 1000 000 001 
@@ -1599,27 +1604,27 @@
 		nodeElementTbl[723][0-8]: 497 498 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[724][0-8]: 498 499 1000 1000 1000 1000 1000 1000 
 		nodeElementTbl[725][0-8]: 499 1000 1000 1000 1000 1000 1000 1000 
-	element (ptr): 0x8129aec
+	element (ptr): 0x806f8c8
 	elementLocalCount: 500
 	elementDomainCount: 500
 	elementShadowCount: 0
 	elementGlobalCount: 1000
 	ownsElementLocalToGlobalMap: 1
-	elementL2G (ptr): 0x8131c14
+	elementL2G (ptr): 0x8077a08
 	elementL2G[0-500]:   005 006 007 008 009 015 016 017 018 019 025 026 027 028 029 035 036 037 038 039 045 046 047 048 049 055 056 057 058 059 065 066 067 068 069 075 076 077 078 079 085 086 087 088 089 095 096 097 098 099 105 106 107 108 109 115 116 117 118 119 125 126 127 128 129 135 136 137 138 139 145 146 147 148 149 155 156 157 158 159 165 166 167 168 169 175 176 177 178 179 185 186 187 188 189 195 196 197 198 199 205 206 207 208 209 215 216 217 218 219 225 226 227 228 229 235 236 237 238 239 245 246 247 248 249 255 256 257 258 259 265 266 267 268 269 275 276 277 278 279 285 286 287 288 289 295 296 297 298 299 305 306 307 308 309 315 316 317 318 319 325 326 327 328 329 335 336 337 338 339 345 346 347 348 349 355 356 357 358 359 365 366 367 368 369 375 376 377 378 379 385 386 387 388 389 395 396 397 398 399 405 406 407 408 409 415 416 417 418 419 425 426 427 428 429 435 436 437 438 439 445 446 447 448 449 455 456 457 458 459 465 466 467 468 469 475 476 477 478 479 485 486 487 488 489 495 496 497 498 499 505 506 507 508 509 515 516 517 518 519 525 526 527 528 529 535 536 537 538 539 545 546 547 548 549 555 556 557 558 559 565 566 567 568 569 575 576 577 578 579 585 586 587 588 589 595 596 597 598 599 605 606 607 608 609 615 616 617 618 619 625 626 627 628 629 635 636 637 638 639 645 646 647 648 649 655 656 657 658 659 665 666 667 668 669 675 676 677 678 679 685 686 687 688 689 695 696 697 698 699 705 706 707 708 709 715 716 717 718 719 725 726 727 728 729 735 736 737 738 739 745 746 747 748 749 755 756 757 758 759 765 766 767 768 769 775 776 777 778 779 785 786 787 788 789 795 796 797 798 799 805 806 807 808 809 815 816 817 818 819 825 826 827 828 829 835 836 837 838 839 845 846 847 848 849 855 856 857 858 859 865 866 867 868 869 875 876 877 878 879 885 886 887 888 889 895 896 897 898 899 905 906 907 908 909 915 916 917 918 919 925 926 927 928 929 935 936 937 938 939 945 946 947 948 949 955 956 957 958 959 965 966 967 968 969 975 976 977 978 979 985 986 987 988 989 995 996 997 998 999 
 	ownsElementDomainToGlobalMap: 1
-	elementD2G (ptr): 0x8131c14
+	elementD2G (ptr): 0x8077a08
 	elementD2G[0-500]:   005 006 007 008 009 015 016 017 018 019 025 026 027 028 029 035 036 037 038 039 045 046 047 048 049 055 056 057 058 059 065 066 067 068 069 075 076 077 078 079 085 086 087 088 089 095 096 097 098 099 105 106 107 108 109 115 116 117 118 119 125 126 127 128 129 135 136 137 138 139 145 146 147 148 149 155 156 157 158 159 165 166 167 168 169 175 176 177 178 179 185 186 187 188 189 195 196 197 198 199 205 206 207 208 209 215 216 217 218 219 225 226 227 228 229 235 236 237 238 239 245 246 247 248 249 255 256 257 258 259 265 266 267 268 269 275 276 277 278 279 285 286 287 288 289 295 296 297 298 299 305 306 307 308 309 315 316 317 318 319 325 326 327 328 329 335 336 337 338 339 345 346 347 348 349 355 356 357 358 359 365 366 367 368 369 375 376 377 378 379 385 386 387 388 389 395 396 397 398 399 405 406 407 408 409 415 416 417 418 419 425 426 427 428 429 435 436 437 438 439 445 446 447 448 449 455 456 457 458 459 465 466 467 468 469 475 476 477 478 479 485 486 487 488 489 495 496 497 498 499 505 506 507 508 509 515 516 517 518 519 525 526 527 528 529 535 536 537 538 539 545 546 547 548 549 555 556 557 558 559 565 566 567 568 569 575 576 577 578 579 585 586 587 588 589 595 596 597 598 599 605 606 607 608 609 615 616 617 618 619 625 626 627 628 629 635 636 637 638 639 645 646 647 648 649 655 656 657 658 659 665 666 667 668 669 675 676 677 678 679 685 686 687 688 689 695 696 697 698 699 705 706 707 708 709 715 716 717 718 719 725 726 727 728 729 735 736 737 738 739 745 746 747 748 749 755 756 757 758 759 765 766 767 768 769 775 776 777 778 779 785 786 787 788 789 795 796 797 798 799 805 806 807 808 809 815 816 817 818 819 825 826 827 828 829 835 836 837 838 839 845 846 847 848 849 855 856 857 858 859 865 866 867 868 869 875 876 877 878 879 885 886 887 888 889 895 896 897 898 899 905 906 907 908 909 915 916 917 918 919 925 926 927 928 929 935 936 937 938 939 945 946 947 948 949 955 956 957 958 959 965 966 967 968 969 975 976 977 978 979 985 986 987 988 989 995 996 997 998 999 
 	ownsElementGlobalToLocalMap: 1
-	elementG2L (ptr): 0x81323ec
+	elementG2L (ptr): 0x80781e8
 	elementG2L[0-1000]:   1000 1000 1000 1000 1000 000 001 002 003 004 1000 1000 1000 1000 1000 005 006 007 008 009 1000 1000 1000 1000 1000 010 011 012 013 014 1000 1000 1000 1000 1000 015 016 017 018 019 1000 1000 1000 1000 1000 020 021 022 023 024 1000 1000 1000 1000 1000 025 026 027 028 029 1000 1000 1000 1000 1000 030 031 032 033 034 1000 1000 1000 1000 1000 035 036 037 038 039 1000 1000 1000 1000 1000 040 041 042 043 044 1000 1000 1000 1000 1000 045 046 047 048 049 1000 1000 1000 1000 1000 050 051 052 053 054 1000 1000 1000 1000 1000 055 056 057 058 059 1000 1000 1000 1000 1000 060 061 062 063 064 1000 1000 1000 1000 1000 065 066 067 068 069 1000 1000 1000 1000 1000 070 071 072 073 074 1000 1000 1000 1000 1000 075 076 077 078 079 1000 1000 1000 1000 1000 080 081 082 083 084 1000 1000 1000 1000 1000 085 086 087 088 089 1000 1000 1000 1000 1000 090 091 092 093 094 1000 1000 1000 1000 1000 095 096 097 098 099 1000 1000 1000 1000 1000 100 101 102 103 104 1000 1000 1000 1000 1000 105 106 107 108 109 1000 1000 1000 1000 1000 110 111 112 113 114 1000 1000 1000 1000 1000 115 116 117 118 119 1000 1000 1000 1000 1000 120 121 122 123 124 1000 1000 1000 1000 1000 125 126 127 128 129 1000 1000 1000 1000 1000 130 131 132 133 134 1000 1000 1000 1000 1000 135 136 137 138 139 1000 1000 1000 1000 1000 140 141 142 143 144 1000 1000 1000 1000 1000 145 146 147 148 149 1000 1000 1000 1000 1000 150 151 152 153 154 1000 1000 1000 1000 1000 155 156 157 158 159 1000 1000 1000 1000 1000 160 161 162 163 164 1000 1000 1000 1000 1000 165 166 167 168 169 1000 1000 1000 1000 1000 170 171 172 173 174 1000 1000 1000 1000 1000 175 176 177 178 179 1000 1000 1000 1000 1000 180 181 182 183 184 1000 1000 1000 1000 1000 185 186 187 188 189 1000 1000 1000 1000 1000 190 191 192 193 194 1000 1000 1000 1000 1000 195 196 197 198 199 1000 1000 1000 1000 1000 200 201 202 203 204 1000 1000 1000 1000 1000 205 206 207 208 209 1000 1000 1000 1000 1000 210 211 212 213 214 1000 1000 1000 1000 1000 215 216 217 218 219 1000 1000 1000 1000 1000 220 221 222 223 224 1000 1000 1000 1000 1000 225 226 227 228 229 1000 1000 1000 1000 1000 230 231 232 233 234 1000 1000 1000 1000 1000 235 236 237 238 239 1000 1000 1000 1000 1000 240 241 242 243 244 1000 1000 1000 1000 1000 245 246 247 248 249 1000 1000 1000 1000 1000 250 251 252 253 254 1000 1000 1000 1000 1000 255 256 257 258 259 1000 1000 1000 1000 1000 260 261 262 263 264 1000 1000 1000 1000 1000 265 266 267 268 269 1000 1000 1000 1000 1000 270 271 272 273 274 1000 1000 1000 1000 1000 275 276 277 278 279 1000 1000 1000 1000 1000 280 281 282 283 284 1000 1000 1000 1000 1000 285 286 287 288 289 1000 1000 1000 1000 1000 290 291 292 293 294 1000 1000 1000 1000 1000 295 296 297 298 299 1000 1000 1000 1000 1000 300 301 302 303 304 1000 1000 1000 1000 1000 305 306 307 308 309 1000 1000 1000 1000 1000 310 311 312 313 314 1000 1000 1000 1000 1000 315 316 317 318 319 1000 1000 1000 1000 1000 320 321 322 323 324 1000 1000 1000 1000 1000 325 326 327 328 329 1000 1000 1000 1000 1000 330 331 332 333 334 1000 1000 1000 1000 1000 335 336 337 338 339 1000 1000 1000 1000 1000 340 341 342 343 344 1000 1000 1000 1000 1000 345 346 347 348 349 1000 1000 1000 1000 1000 350 351 352 353 354 1000 1000 1000 1000 1000 355 356 357 358 359 1000 1000 1000 1000 1000 360 361 362 363 364 1000 1000 1000 1000 1000 365 366 367 368 369 1000 1000 1000 1000 1000 370 371 372 373 374 1000 1000 1000 1000 1000 375 376 377 378 379 1000 1000 1000 1000 1000 380 381 382 383 384 1000 1000 1000 1000 1000 385 386 387 388 389 1000 1000 1000 1000 1000 390 391 392 393 394 1000 1000 1000 1000 1000 395 396 397 398 399 1000 1000 1000 1000 1000 400 401 402 403 404 1000 1000 1000 1000 1000 405 406 407 408 409 1000 1000 1000 1000 1000 410 411 412 413 414 1000 1000 1000 1000 1000 415 416 417 418 419 1000 1000 1000 1000 1000 420 421 422 423 424 1000 1000 1000 1000 1000 425 426 427 428 429 1000 1000 1000 1000 1000 430 431 432 433 434 1000 1000 1000 1000 1000 435 436 437 438 439 1000 1000 1000 1000 1000 440 441 442 443 444 1000 1000 1000 1000 1000 445 446 447 448 449 1000 1000 1000 1000 1000 450 451 452 453 454 1000 1000 1000 1000 1000 455 456 457 458 459 1000 1000 1000 1000 1000 460 461 462 463 464 1000 1000 1000 1000 1000 465 466 467 468 469 1000 1000 1000 1000 1000 470 471 472 473 474 1000 1000 1000 1000 1000 475 476 477 478 479 1000 1000 1000 1000 1000 480 481 482 483 484 1000 1000 1000 1000 1000 485 486 487 488 489 1000 1000 1000 1000 1000 490 491 492 493 494 1000 1000 1000 1000 1000 495 496 497 498 499 
 	ownsElementGlobalToDomainMap: 1
-	elementG2D (ptr): 0x81323ec
+	elementG2D (ptr): 0x80781e8
 	elementG2D[0-1000]:   1000 1000 1000 1000 1000 000 001 002 003 004 1000 1000 1000 1000 1000 005 006 007 008 009 1000 1000 1000 1000 1000 010 011 012 013 014 1000 1000 1000 1000 1000 015 016 017 018 019 1000 1000 1000 1000 1000 020 021 022 023 024 1000 1000 1000 1000 1000 025 026 027 028 029 1000 1000 1000 1000 1000 030 031 032 033 034 1000 1000 1000 1000 1000 035 036 037 038 039 1000 1000 1000 1000 1000 040 041 042 043 044 1000 1000 1000 1000 1000 045 046 047 048 049 1000 1000 1000 1000 1000 050 051 052 053 054 1000 1000 1000 1000 1000 055 056 057 058 059 1000 1000 1000 1000 1000 060 061 062 063 064 1000 1000 1000 1000 1000 065 066 067 068 069 1000 1000 1000 1000 1000 070 071 072 073 074 1000 1000 1000 1000 1000 075 076 077 078 079 1000 1000 1000 1000 1000 080 081 082 083 084 1000 1000 1000 1000 1000 085 086 087 088 089 1000 1000 1000 1000 1000 090 091 092 093 094 1000 1000 1000 1000 1000 095 096 097 098 099 1000 1000 1000 1000 1000 100 101 102 103 104 1000 1000 1000 1000 1000 105 106 107 108 109 1000 1000 1000 1000 1000 110 111 112 113 114 1000 1000 1000 1000 1000 115 116 117 118 119 1000 1000 1000 1000 1000 120 121 122 123 124 1000 1000 1000 1000 1000 125 126 127 128 129 1000 1000 1000 1000 1000 130 131 132 133 134 1000 1000 1000 1000 1000 135 136 137 138 139 1000 1000 1000 1000 1000 140 141 142 143 144 1000 1000 1000 1000 1000 145 146 147 148 149 1000 1000 1000 1000 1000 150 151 152 153 154 1000 1000 1000 1000 1000 155 156 157 158 159 1000 1000 1000 1000 1000 160 161 162 163 164 1000 1000 1000 1000 1000 165 166 167 168 169 1000 1000 1000 1000 1000 170 171 172 173 174 1000 1000 1000 1000 1000 175 176 177 178 179 1000 1000 1000 1000 1000 180 181 182 183 184 1000 1000 1000 1000 1000 185 186 187 188 189 1000 1000 1000 1000 1000 190 191 192 193 194 1000 1000 1000 1000 1000 195 196 197 198 199 1000 1000 1000 1000 1000 200 201 202 203 204 1000 1000 1000 1000 1000 205 206 207 208 209 1000 1000 1000 1000 1000 210 211 212 213 214 1000 1000 1000 1000 1000 215 216 217 218 219 1000 1000 1000 1000 1000 220 221 222 223 224 1000 1000 1000 1000 1000 225 226 227 228 229 1000 1000 1000 1000 1000 230 231 232 233 234 1000 1000 1000 1000 1000 235 236 237 238 239 1000 1000 1000 1000 1000 240 241 242 243 244 1000 1000 1000 1000 1000 245 246 247 248 249 1000 1000 1000 1000 1000 250 251 252 253 254 1000 1000 1000 1000 1000 255 256 257 258 259 1000 1000 1000 1000 1000 260 261 262 263 264 1000 1000 1000 1000 1000 265 266 267 268 269 1000 1000 1000 1000 1000 270 271 272 273 274 1000 1000 1000 1000 1000 275 276 277 278 279 1000 1000 1000 1000 1000 280 281 282 283 284 1000 1000 1000 1000 1000 285 286 287 288 289 1000 1000 1000 1000 1000 290 291 292 293 294 1000 1000 1000 1000 1000 295 296 297 298 299 1000 1000 1000 1000 1000 300 301 302 303 304 1000 1000 1000 1000 1000 305 306 307 308 309 1000 1000 1000 1000 1000 310 311 312 313 314 1000 1000 1000 1000 1000 315 316 317 318 319 1000 1000 1000 1000 1000 320 321 322 323 324 1000 1000 1000 1000 1000 325 326 327 328 329 1000 1000 1000 1000 1000 330 331 332 333 334 1000 1000 1000 1000 1000 335 336 337 338 339 1000 1000 1000 1000 1000 340 341 342 343 344 1000 1000 1000 1000 1000 345 346 347 348 349 1000 1000 1000 1000 1000 350 351 352 353 354 1000 1000 1000 1000 1000 355 356 357 358 359 1000 1000 1000 1000 1000 360 361 362 363 364 1000 1000 1000 1000 1000 365 366 367 368 369 1000 1000 1000 1000 1000 370 371 372 373 374 1000 1000 1000 1000 1000 375 376 377 378 379 1000 1000 1000 1000 1000 380 381 382 383 384 1000 1000 1000 1000 1000 385 386 387 388 389 1000 1000 1000 1000 1000 390 391 392 393 394 1000 1000 1000 1000 1000 395 396 397 398 399 1000 1000 1000 1000 1000 400 401 402 403 404 1000 1000 1000 1000 1000 405 406 407 408 409 1000 1000 1000 1000 1000 410 411 412 413 414 1000 1000 1000 1000 1000 415 416 417 418 419 1000 1000 1000 1000 1000 420 421 422 423 424 1000 1000 1000 1000 1000 425 426 427 428 429 1000 1000 1000 1000 1000 430 431 432 433 434 1000 1000 1000 1000 1000 435 436 437 438 439 1000 1000 1000 1000 1000 440 441 442 443 444 1000 1000 1000 1000 1000 445 446 447 448 449 1000 1000 1000 1000 1000 450 451 452 453 454 1000 1000 1000 1000 1000 455 456 457 458 459 1000 1000 1000 1000 1000 460 461 462 463 464 1000 1000 1000 1000 1000 465 466 467 468 469 1000 1000 1000 1000 1000 470 471 472 473 474 1000 1000 1000 1000 1000 475 476 477 478 479 1000 1000 1000 1000 1000 480 481 482 483 484 1000 1000 1000 1000 1000 485 486 487 488 489 1000 1000 1000 1000 1000 490 491 492 493 494 1000 1000 1000 1000 1000 495 496 497 498 499 
 	ownsElementNeighbourCountTbl: 1
-	elementNeighbourCountTbl (ptr): 0x8133394
+	elementNeighbourCountTbl (ptr): 0x8079198
 	ownsElementNeighbourTbl: 1
-	elementNeighbourTbl (ptr): 0x8133b6c
+	elementNeighbourTbl (ptr): 0x8079978
 	elementNeighbourTbl[0-500]:
 		elementNeighbourTbl[0][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 001 1000 005 006 1000 1000 1000 1000 050 051 1000 055 056 
 		elementNeighbourTbl[1][0-26]: 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 000 002 005 006 007 1000 1000 1000 050 051 052 055 056 057 
@@ -2122,9 +2127,9 @@
 		elementNeighbourTbl[498][0-26]: 442 443 444 447 448 449 1000 1000 1000 492 493 494 497 499 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 		elementNeighbourTbl[499][0-26]: 443 444 1000 448 449 1000 1000 1000 1000 493 494 1000 498 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 
 	ownsElementNodeCountTbl: 1
-	elementNodeCountTbl (ptr): 0x8140e64
+	elementNodeCountTbl (ptr): 0x8086c78
 	ownsElementNodeTbl: 1
-	elementNodeTbl (ptr): 0x814163c
+	elementNodeTbl (ptr): 0x8087458
 	elementNodeTbl[0-500]:
 		elementNodeTbl[0][0-8]: 000 001 007 006 066 067 073 072 
 		elementNodeTbl[1][0-8]: 001 002 008 007 067 068 074 073 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of1.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of1.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x5200a4
+	_entryTbl (ptr): 0x8069430
 		_entryTbl[0]:
-			varName (ptr): 0x5100e4
+			varName (ptr): 0x8067e10
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x510b54
+			varName (ptr): 0x8067c88
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510654
+			varName (ptr): 0x80681f8
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x523154
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069600
 	indexCount: 16
-	indexTbl (ptr): 0x523264
+	indexTbl (ptr): 0x806e0f8
 		indexTbl[0]: 48
 		indexTbl[1]: 49
 		indexTbl[2]: 50
@@ -76,7 +81,7 @@
 		indexTbl[13]: 61
 		indexTbl[14]: 62
 		indexTbl[15]: 63
-	vcVarCountTbl (ptr): 0x523314
+	vcVarCountTbl (ptr): 0x8069640
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -93,7 +98,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x523524
+	vcTbl (ptr): 0x8069690
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -239,7 +244,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x523854
+	valueTbl (ptr): 0x8068518
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -276,60 +281,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x523334
+	_entryTbl (ptr): 0x8068208
 		_entryTbl[0]:
-			varName (ptr): 0x512b34
+			varName (ptr): 0x805efb8
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x525db4
+				asDoubleArray (ptr): 0x806d9e8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x525e84
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069600
 	indexCount: 16
-	indexTbl (ptr): 0x525f84
+	indexTbl (ptr): 0x8069640
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -346,7 +356,7 @@
 		indexTbl[13]: 13
 		indexTbl[14]: 14
 		indexTbl[15]: 15
-	vcVarCountTbl (ptr): 0x526034
+	vcVarCountTbl (ptr): 0x80685b8
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -363,7 +373,7 @@
 		vcVarCountTbl[13]: 1
 		vcVarCountTbl[14]: 1
 		vcVarCountTbl[15]: 1
-	vcTbl (ptr): 0x5260e4
+	vcTbl (ptr): 0x80699e8
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -413,11 +423,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x523354
+	valueTbl (ptr): 0x8068ca8
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525db4
+			asDoubleArray (ptr): 0x806d9e8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -450,66 +460,71 @@
 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x527534
+	_entryTbl (ptr): 0x8069600
 		_entryTbl[0]:
-			varName (ptr): 0x518fa4
+			varName (ptr): 0x8066510
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519a24
+			varName (ptr): 0x80669c0
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51a4a4
+			varName (ptr): 0x8066b90
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x5275d4
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069430
 	indexCount: 16
-	indexTbl (ptr): 0x5276b4
+	indexTbl (ptr): 0x8069640
 		indexTbl[0]: 0
 		indexTbl[1]: 4
 		indexTbl[2]: 8
@@ -526,7 +541,7 @@
 		indexTbl[13]: 52
 		indexTbl[14]: 56
 		indexTbl[15]: 60
-	vcVarCountTbl (ptr): 0x527764
+	vcVarCountTbl (ptr): 0x80685b8
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -543,7 +558,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x527814
+	vcTbl (ptr): 0x8069ad0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -689,7 +704,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x527a94
+	valueTbl (ptr): 0x8068518
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -726,66 +741,71 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x5276b4
+	_entryTbl (ptr): 0x8069430
 		_entryTbl[0]:
-			varName (ptr): 0x51ba54
+			varName (ptr): 0x8067ed0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51c4d4
+			varName (ptr): 0x8067158
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51cf54
+			varName (ptr): 0x8067328
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x529a64
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069600
 	indexCount: 16
-	indexTbl (ptr): 0x529b44
+	indexTbl (ptr): 0x8069640
 		indexTbl[0]: 3
 		indexTbl[1]: 7
 		indexTbl[2]: 11
@@ -802,7 +822,7 @@
 		indexTbl[13]: 55
 		indexTbl[14]: 59
 		indexTbl[15]: 63
-	vcVarCountTbl (ptr): 0x529bf4
+	vcVarCountTbl (ptr): 0x80685b8
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -819,7 +839,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x529ca4
+	vcTbl (ptr): 0x8069ca0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -965,7 +985,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x529f24
+	valueTbl (ptr): 0x8068518
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -1002,60 +1022,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x529b64
+	_entryTbl (ptr): 0x8068208
 		_entryTbl[0]:
-			varName (ptr): 0x514834
+			varName (ptr): 0x805f420
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x52bed4
+				asDoubleArray (ptr): 0x8069640
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x52bf44
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069600
 	indexCount: 16
-	indexTbl (ptr): 0x52c044
+	indexTbl (ptr): 0x80685b8
 		indexTbl[0]: 12
 		indexTbl[1]: 13
 		indexTbl[2]: 14
@@ -1072,7 +1097,7 @@
 		indexTbl[13]: 61
 		indexTbl[14]: 62
 		indexTbl[15]: 63
-	vcVarCountTbl (ptr): 0x52c0f4
+	vcVarCountTbl (ptr): 0x806e188
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -1089,7 +1114,7 @@
 		vcVarCountTbl[13]: 1
 		vcVarCountTbl[14]: 1
 		vcVarCountTbl[15]: 1
-	vcTbl (ptr): 0x52c1a4
+	vcTbl (ptr): 0x8069e70
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -1139,11 +1164,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x529b84
+	valueTbl (ptr): 0x8068bc0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x52bed4
+			asDoubleArray (ptr): 0x8069640
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -1176,66 +1201,71 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x5222f4
-	dictionary (ptr): 0x507ed4
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x8068798
+	dictionary (ptr): 0x805e4c0
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52d5f4
+	_entryTbl (ptr): 0x8069600
 		_entryTbl[0]:
-			varName (ptr): 0x516554
+			varName (ptr): 0x80680b8
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x516fc4
+			varName (ptr): 0x805ecc8
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x516ac4
+			varName (ptr): 0x8067f00
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51d6e4
-VariableCondition (ptr): 0x5222f4
-Component (ptr): 0x5222f4
-Stg_Object (ptr): 0x5222f4
-	Stg_Class (ptr): 0x5222f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8060eb0
+VariableCondition (ptr): 0x8068798
+Stg_Component (ptr): 0x8068798
+Stg_Object (ptr): 0x8068798
+	Stg_Class (ptr): 0x8068798
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f96fd3
+		_print (func ptr): 0xb7f97019
+		_copy (func ptr): 0xb7f975ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f962a4
+	_construct (func ptr): 0xb7f977df
+	_build (func ptr): 0xb7f9779d
+	_initialise (func ptr): 0xb7efade2
+	_execute (func ptr): 0xb7efaea6
+	_destroy (func ptr): 0xb7efaed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x51fbb4
-	conFunc_Register (ptr): 0x51f874
-	_set (ptr): 0x52d694
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7f9782e
+	_getVariableCount (func ptr): 0xb7f97bc4
+	_getVariableIndex (func ptr): 0xb7f97bdb
+	_getValueIndex (func ptr): 0xb7f97cb6
+	_getValueCount (func ptr): 0xb7f97cbe
+	_getValue (func ptr): 0xb7f97cd5
+	variable_Register (ptr): 0x806e1e8
+	conFunc_Register (ptr): 0x805b9c0
+	_set (ptr): 0x8069430
 	indexCount: 16
-	indexTbl (ptr): 0x52d774
+	indexTbl (ptr): 0x80685b8
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -1252,7 +1282,7 @@
 		indexTbl[13]: 49
 		indexTbl[14]: 50
 		indexTbl[15]: 51
-	vcVarCountTbl (ptr): 0x52d824
+	vcVarCountTbl (ptr): 0x8068280
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -1269,7 +1299,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x52d8d4
+	vcTbl (ptr): 0x8069f40
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -1415,7 +1445,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52db54
+	valueTbl (ptr): 0x8068518
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x520c44
+	_entryTbl (ptr): 0x806e260
 		_entryTbl[0]:
-			varName (ptr): 0x510674
+			varName (ptr): 0x8067ee0
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x5110e4
+			varName (ptr): 0x805eb30
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510be4
+			varName (ptr): 0x805eb90
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x524484
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e348
 	indexCount: 12
-	indexTbl (ptr): 0x524594
+	indexTbl (ptr): 0x806e0d8
 		indexTbl[0]: 36
 		indexTbl[1]: 37
 		indexTbl[2]: 38
@@ -72,7 +77,7 @@
 		indexTbl[9]: 45
 		indexTbl[10]: 46
 		indexTbl[11]: 47
-	vcVarCountTbl (ptr): 0x524634
+	vcVarCountTbl (ptr): 0x806e170
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -85,7 +90,7 @@
 		vcVarCountTbl[9]: 3
 		vcVarCountTbl[10]: 3
 		vcVarCountTbl[11]: 3
-	vcTbl (ptr): 0x5248a4
+	vcTbl (ptr): 0x806c540
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -195,7 +200,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x520814
+	valueTbl (ptr): 0x806c6a0
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -232,60 +237,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x5244a4
+	_entryTbl (ptr): 0x806dfa0
 		_entryTbl[0]:
-			varName (ptr): 0x5130c4
+			varName (ptr): 0x805f088
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x526ad4
+				asDoubleArray (ptr): 0x806c3b0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x526ba4
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e170
 	indexCount: 12
-	indexTbl (ptr): 0x526ca4
+	indexTbl (ptr): 0x806e0d8
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -298,7 +308,7 @@
 		indexTbl[9]: 9
 		indexTbl[10]: 10
 		indexTbl[11]: 11
-	vcVarCountTbl (ptr): 0x526d44
+	vcVarCountTbl (ptr): 0x806e348
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -311,7 +321,7 @@
 		vcVarCountTbl[9]: 1
 		vcVarCountTbl[10]: 1
 		vcVarCountTbl[11]: 1
-	vcTbl (ptr): 0x526de4
+	vcTbl (ptr): 0x806c840
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -349,11 +359,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x524104
+	valueTbl (ptr): 0x806c6d0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x526ad4
+			asDoubleArray (ptr): 0x806c3b0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -386,66 +396,71 @@
 000 000 000 000 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x527f94
+	_entryTbl (ptr): 0x806e348
 		_entryTbl[0]:
-			varName (ptr): 0x519534
+			varName (ptr): 0x80665e0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519fb4
+			varName (ptr): 0x8066a90
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51aa34
+			varName (ptr): 0x8066c60
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x528034
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e0d8
 	indexCount: 16
-	indexTbl (ptr): 0x528114
+	indexTbl (ptr): 0x8068688
 		indexTbl[0]: 0
 		indexTbl[1]: 3
 		indexTbl[2]: 6
@@ -462,7 +477,7 @@
 		indexTbl[13]: 39
 		indexTbl[14]: 42
 		indexTbl[15]: 45
-	vcVarCountTbl (ptr): 0x5281c4
+	vcVarCountTbl (ptr): 0x8068348
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -479,7 +494,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x528274
+	vcTbl (ptr): 0x806c8f8
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -625,7 +640,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x5284f4
+	valueTbl (ptr): 0x806c6a0
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -662,70 +677,75 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x528114
+	_entryTbl (ptr): 0x806e0d8
 		_entryTbl[0]:
-			varName (ptr): 0x51bfe4
+			varName (ptr): 0x8067fa0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51ca64
+			varName (ptr): 0x8067228
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51d4e4
+			varName (ptr): 0x80673f8
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x52a4e4
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e348
 	indexCount: 0
-	indexTbl (ptr): 0x528204
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x52a624
+	valueTbl (ptr): 0x806c6a0
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -762,60 +782,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x52afc4
+	_entryTbl (ptr): 0x806dfa0
 		_entryTbl[0]:
-			varName (ptr): 0x514dc4
+			varName (ptr): 0x8065d10
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x52b064
+				asDoubleArray (ptr): 0x806e038
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x52b0d4
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e348
 	indexCount: 12
-	indexTbl (ptr): 0x52b1d4
+	indexTbl (ptr): 0x806e0d8
 		indexTbl[0]: 9
 		indexTbl[1]: 10
 		indexTbl[2]: 11
@@ -828,7 +853,7 @@
 		indexTbl[9]: 45
 		indexTbl[10]: 46
 		indexTbl[11]: 47
-	vcVarCountTbl (ptr): 0x52b274
+	vcVarCountTbl (ptr): 0x806e170
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -841,7 +866,7 @@
 		vcVarCountTbl[9]: 1
 		vcVarCountTbl[10]: 1
 		vcVarCountTbl[11]: 1
-	vcTbl (ptr): 0x52b314
+	vcTbl (ptr): 0x806cac8
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -879,11 +904,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x52a644
+	valueTbl (ptr): 0x806c528
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x52b064
+			asDoubleArray (ptr): 0x806e038
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -916,66 +941,71 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX 000 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x523684
-	dictionary (ptr): 0x5083e4
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x806da70
+	dictionary (ptr): 0x805e578
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52c4b4
+	_entryTbl (ptr): 0x806e170
 		_entryTbl[0]:
-			varName (ptr): 0x516ae4
+			varName (ptr): 0x8068188
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x517554
+			varName (ptr): 0x80681b0
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x517054
+			varName (ptr): 0x8067fd0
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e0f4
-VariableCondition (ptr): 0x523684
-Component (ptr): 0x523684
-Stg_Object (ptr): 0x523684
-	Stg_Class (ptr): 0x523684
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061020
+VariableCondition (ptr): 0x806da70
+Stg_Component (ptr): 0x806da70
+Stg_Object (ptr): 0x806da70
+	Stg_Class (ptr): 0x806da70
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7fbffd3
+		_print (func ptr): 0xb7fc0019
+		_copy (func ptr): 0xb7fc05ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7fbf2a4
+	_construct (func ptr): 0xb7fc07df
+	_build (func ptr): 0xb7fc079d
+	_initialise (func ptr): 0xb7f23de2
+	_execute (func ptr): 0xb7f23ea6
+	_destroy (func ptr): 0xb7f23ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5205e4
-	conFunc_Register (ptr): 0x5202a4
-	_set (ptr): 0x52c554
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7fc082e
+	_getVariableCount (func ptr): 0xb7fc0bc4
+	_getVariableIndex (func ptr): 0xb7fc0bdb
+	_getValueIndex (func ptr): 0xb7fc0cb6
+	_getValueCount (func ptr): 0xb7fc0cbe
+	_getValue (func ptr): 0xb7fc0cd5
+	variable_Register (ptr): 0x806e2b0
+	conFunc_Register (ptr): 0x805ba18
+	_set (ptr): 0x806e0d8
 	indexCount: 12
-	indexTbl (ptr): 0x52c634
+	indexTbl (ptr): 0x806e348
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -988,7 +1018,7 @@
 		indexTbl[9]: 36
 		indexTbl[10]: 37
 		indexTbl[11]: 38
-	vcVarCountTbl (ptr): 0x52c6d4
+	vcVarCountTbl (ptr): 0x806e260
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -1001,7 +1031,7 @@
 		vcVarCountTbl[9]: 3
 		vcVarCountTbl[10]: 3
 		vcVarCountTbl[11]: 3
-	vcTbl (ptr): 0x52c774
+	vcTbl (ptr): 0x806cb68
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -1111,7 +1141,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52c974
+	valueTbl (ptr): 0x806c6a0
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.0of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x520894
+	_entryTbl (ptr): 0x806e300
 		_entryTbl[0]:
-			varName (ptr): 0x510584
+			varName (ptr): 0x8067ee8
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x510ff4
+			varName (ptr): 0x805eb38
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510af4
+			varName (ptr): 0x805eb98
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x523df4
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e0e0
 	indexCount: 8
-	indexTbl (ptr): 0x523f04
+	indexTbl (ptr): 0x806c100
 		indexTbl[0]: 24
 		indexTbl[1]: 25
 		indexTbl[2]: 26
@@ -68,7 +73,7 @@
 		indexTbl[5]: 29
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x523f94
+	vcVarCountTbl (ptr): 0x806c130
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -77,7 +82,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x5241f4
+	vcTbl (ptr): 0x806c160
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -151,7 +156,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x5204e4
+	valueTbl (ptr): 0x806c250
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -188,60 +193,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x523f04
+	_entryTbl (ptr): 0x806e1c8
 		_entryTbl[0]:
-			varName (ptr): 0x512fd4
+			varName (ptr): 0x805f090
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x525e64
+				asDoubleArray (ptr): 0x806bf60
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x525f34
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e0e0
 	indexCount: 8
-	indexTbl (ptr): 0x526034
+	indexTbl (ptr): 0x806c250
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -250,7 +260,7 @@
 		indexTbl[5]: 5
 		indexTbl[6]: 6
 		indexTbl[7]: 7
-	vcVarCountTbl (ptr): 0x5260c4
+	vcVarCountTbl (ptr): 0x806c130
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -259,7 +269,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x526154
+	vcTbl (ptr): 0x806c3d8
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -285,11 +295,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x523fb4
+	valueTbl (ptr): 0x806c0d8
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525e64
+			asDoubleArray (ptr): 0x806bf60
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -322,66 +332,71 @@
 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x527064
+	_entryTbl (ptr): 0x806e0e0
 		_entryTbl[0]:
-			varName (ptr): 0x519444
+			varName (ptr): 0x80665e8
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519ec4
+			varName (ptr): 0x8066a98
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51a944
+			varName (ptr): 0x8066c68
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x527104
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e300
 	indexCount: 16
-	indexTbl (ptr): 0x5271e4
+	indexTbl (ptr): 0x8068690
 		indexTbl[0]: 0
 		indexTbl[1]: 2
 		indexTbl[2]: 4
@@ -398,7 +413,7 @@
 		indexTbl[13]: 26
 		indexTbl[14]: 28
 		indexTbl[15]: 30
-	vcVarCountTbl (ptr): 0x527294
+	vcVarCountTbl (ptr): 0x8068350
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -415,7 +430,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x527344
+	vcTbl (ptr): 0x806c460
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -561,7 +576,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x5275c4
+	valueTbl (ptr): 0x806c130
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -598,70 +613,75 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x5271e4
+	_entryTbl (ptr): 0x806e300
 		_entryTbl[0]:
-			varName (ptr): 0x51bef4
+			varName (ptr): 0x8067fa8
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51c974
+			varName (ptr): 0x8067230
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51d3f4
+			varName (ptr): 0x8067400
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x529594
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e0e0
 	indexCount: 0
-	indexTbl (ptr): 0x5272d4
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x5296d4
+	valueTbl (ptr): 0x806c130
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -698,60 +718,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x52a074
+	_entryTbl (ptr): 0x806e1c8
 		_entryTbl[0]:
-			varName (ptr): 0x514cd4
+			varName (ptr): 0x8065d18
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x52a114
+				asDoubleArray (ptr): 0x806dfa8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x52a184
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e0e0
 	indexCount: 8
-	indexTbl (ptr): 0x52a284
+	indexTbl (ptr): 0x806c130
 		indexTbl[0]: 6
 		indexTbl[1]: 7
 		indexTbl[2]: 14
@@ -760,7 +785,7 @@
 		indexTbl[5]: 23
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x52a314
+	vcVarCountTbl (ptr): 0x806c250
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -769,7 +794,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x52a3a4
+	vcTbl (ptr): 0x806c630
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -795,11 +820,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x5296f4
+	valueTbl (ptr): 0x806c0d8
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x52a114
+			asDoubleArray (ptr): 0x806dfa8
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -832,66 +857,71 @@
 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x523054
-	dictionary (ptr): 0x5082f4
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x806da78
+	dictionary (ptr): 0x805e580
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52b2c4
+	_entryTbl (ptr): 0x806e0e0
 		_entryTbl[0]:
-			varName (ptr): 0x5169f4
+			varName (ptr): 0x8068190
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x517464
+			varName (ptr): 0x80681b8
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x516f64
+			varName (ptr): 0x8067fd8
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51dd94
-VariableCondition (ptr): 0x523054
-Component (ptr): 0x523054
-Stg_Object (ptr): 0x523054
-	Stg_Class (ptr): 0x523054
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061028
+VariableCondition (ptr): 0x806da78
+Stg_Component (ptr): 0x806da78
+Stg_Object (ptr): 0x806da78
+	Stg_Class (ptr): 0x806da78
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7edefd3
+		_print (func ptr): 0xb7edf019
+		_copy (func ptr): 0xb7edf5ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7ede2a4
+	_construct (func ptr): 0xb7edf7df
+	_build (func ptr): 0xb7edf79d
+	_initialise (func ptr): 0xb7e42de2
+	_execute (func ptr): 0xb7e42ea6
+	_destroy (func ptr): 0xb7e42ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x5202b4
-	conFunc_Register (ptr): 0x51ff74
-	_set (ptr): 0x52b364
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7edf82e
+	_getVariableCount (func ptr): 0xb7edfbc4
+	_getVariableIndex (func ptr): 0xb7edfbdb
+	_getValueIndex (func ptr): 0xb7edfcb6
+	_getValueCount (func ptr): 0xb7edfcbe
+	_getValue (func ptr): 0xb7edfcd5
+	variable_Register (ptr): 0x806e2b8
+	conFunc_Register (ptr): 0x805ba20
+	_set (ptr): 0x806e300
 	indexCount: 8
-	indexTbl (ptr): 0x52b444
+	indexTbl (ptr): 0x806c250
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 8
@@ -900,7 +930,7 @@
 		indexTbl[5]: 17
 		indexTbl[6]: 24
 		indexTbl[7]: 25
-	vcVarCountTbl (ptr): 0x52b4d4
+	vcVarCountTbl (ptr): 0x806c130
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -909,7 +939,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x52b564
+	vcTbl (ptr): 0x806c6a0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -983,7 +1013,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52b6e4
+	valueTbl (ptr): 0x806c100
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of2.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of2.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of2.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x520b34
+	_entryTbl (ptr): 0x806e240
 		_entryTbl[0]:
-			varName (ptr): 0x5105e4
+			varName (ptr): 0x8067ec0
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x511054
+			varName (ptr): 0x805eb10
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510b54
+			varName (ptr): 0x805eb70
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x524094
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e328
 	indexCount: 8
-	indexTbl (ptr): 0x5241a4
+	indexTbl (ptr): 0x806c0d8
 		indexTbl[0]: 24
 		indexTbl[1]: 25
 		indexTbl[2]: 26
@@ -68,7 +73,7 @@
 		indexTbl[5]: 29
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x524234
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -77,7 +82,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x524494
+	vcTbl (ptr): 0x806c138
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -151,7 +156,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x520784
+	valueTbl (ptr): 0x806c228
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -188,60 +193,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x5241a4
+	_entryTbl (ptr): 0x806e150
 		_entryTbl[0]:
-			varName (ptr): 0x513034
+			varName (ptr): 0x805f068
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x526104
+				asDoubleArray (ptr): 0x806bf38
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x5261d4
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e328
 	indexCount: 8
-	indexTbl (ptr): 0x5262d4
+	indexTbl (ptr): 0x806c228
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -250,7 +260,7 @@
 		indexTbl[5]: 5
 		indexTbl[6]: 6
 		indexTbl[7]: 7
-	vcVarCountTbl (ptr): 0x526364
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -259,7 +269,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x5263f4
+	vcTbl (ptr): 0x806c3b0
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -285,11 +295,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x524254
+	valueTbl (ptr): 0x806c0b0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x526104
+			asDoubleArray (ptr): 0x806bf38
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -322,70 +332,75 @@
 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x527304
+	_entryTbl (ptr): 0x806e328
 		_entryTbl[0]:
-			varName (ptr): 0x5194a4
+			varName (ptr): 0x80665c0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519f24
+			varName (ptr): 0x8066a70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51a9a4
+			varName (ptr): 0x8066c40
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x5273a4
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e240
 	indexCount: 0
-	indexTbl (ptr): 0x5262f4
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x5274e4
+	valueTbl (ptr): 0x806c108
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -422,66 +437,71 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x527ea4
+	_entryTbl (ptr): 0x806e240
 		_entryTbl[0]:
-			varName (ptr): 0x51bf54
+			varName (ptr): 0x8067f80
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51c9d4
+			varName (ptr): 0x8067208
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51d454
+			varName (ptr): 0x80673d8
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x527f44
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e328
 	indexCount: 16
-	indexTbl (ptr): 0x528024
+	indexTbl (ptr): 0x8068668
 		indexTbl[0]: 1
 		indexTbl[1]: 3
 		indexTbl[2]: 5
@@ -498,7 +518,7 @@
 		indexTbl[13]: 27
 		indexTbl[14]: 29
 		indexTbl[15]: 31
-	vcVarCountTbl (ptr): 0x5280d4
+	vcVarCountTbl (ptr): 0x8068328
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -515,7 +535,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x528184
+	vcTbl (ptr): 0x806c438
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -661,7 +681,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x528404
+	valueTbl (ptr): 0x806c108
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -698,60 +718,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x5280f4
+	_entryTbl (ptr): 0x806e150
 		_entryTbl[0]:
-			varName (ptr): 0x514d34
+			varName (ptr): 0x8065cf0
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x52a3c4
+				asDoubleArray (ptr): 0x806e1a0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x52a434
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e328
 	indexCount: 8
-	indexTbl (ptr): 0x52a534
+	indexTbl (ptr): 0x806c108
 		indexTbl[0]: 6
 		indexTbl[1]: 7
 		indexTbl[2]: 14
@@ -760,7 +785,7 @@
 		indexTbl[5]: 23
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x52a5c4
+	vcVarCountTbl (ptr): 0x806c228
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -769,7 +794,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x52a654
+	vcTbl (ptr): 0x806c608
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -795,11 +820,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x528114
+	valueTbl (ptr): 0x806c0b0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x52a3c4
+			asDoubleArray (ptr): 0x806e1a0
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -832,66 +857,71 @@
 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x5232f4
-	dictionary (ptr): 0x508354
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52b564
+	_entryTbl (ptr): 0x806e328
 		_entryTbl[0]:
-			varName (ptr): 0x516a54
+			varName (ptr): 0x8068168
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x5174c4
+			varName (ptr): 0x8068190
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x516fc4
+			varName (ptr): 0x8067fb0
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e034
-VariableCondition (ptr): 0x5232f4
-Component (ptr): 0x5232f4
-Stg_Object (ptr): 0x5232f4
-	Stg_Class (ptr): 0x5232f4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061048
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f78fd3
+		_print (func ptr): 0xb7f79019
+		_copy (func ptr): 0xb7f795ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f782a4
+	_construct (func ptr): 0xb7f797df
+	_build (func ptr): 0xb7f7979d
+	_initialise (func ptr): 0xb7edcde2
+	_execute (func ptr): 0xb7edcea6
+	_destroy (func ptr): 0xb7edced6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520554
-	conFunc_Register (ptr): 0x520214
-	_set (ptr): 0x52b604
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7f7982e
+	_getVariableCount (func ptr): 0xb7f79bc4
+	_getVariableIndex (func ptr): 0xb7f79bdb
+	_getValueIndex (func ptr): 0xb7f79cb6
+	_getValueCount (func ptr): 0xb7f79cbe
+	_getValue (func ptr): 0xb7f79cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e240
 	indexCount: 8
-	indexTbl (ptr): 0x52b6e4
+	indexTbl (ptr): 0x806c228
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 8
@@ -900,7 +930,7 @@
 		indexTbl[5]: 17
 		indexTbl[6]: 24
 		indexTbl[7]: 25
-	vcVarCountTbl (ptr): 0x52b774
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -909,7 +939,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x52b804
+	vcTbl (ptr): 0x806c678
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -983,7 +1013,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52b984
+	valueTbl (ptr): 0x806c0d8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.1of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x520f24
+	_entryTbl (ptr): 0x806e2d8
 		_entryTbl[0]:
-			varName (ptr): 0x510614
+			varName (ptr): 0x8067ec0
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x511084
+			varName (ptr): 0x805eb10
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510b84
+			varName (ptr): 0x805eb70
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x524484
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x524594
+	indexTbl (ptr): 0x806c090
 		indexTbl[0]: 24
 		indexTbl[1]: 25
 		indexTbl[2]: 26
@@ -68,7 +73,7 @@
 		indexTbl[5]: 29
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x524624
+	vcVarCountTbl (ptr): 0x806c0c0
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -77,7 +82,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x524884
+	vcTbl (ptr): 0x806c0f0
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -151,7 +156,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x520b74
+	valueTbl (ptr): 0x806c1e0
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -188,60 +193,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x524594
+	_entryTbl (ptr): 0x806e1a0
 		_entryTbl[0]:
-			varName (ptr): 0x513064
+			varName (ptr): 0x805f068
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x5264f4
+				asDoubleArray (ptr): 0x806de00
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x5265c4
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x5266c4
+	indexTbl (ptr): 0x806c1e0
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -250,7 +260,7 @@
 		indexTbl[5]: 5
 		indexTbl[6]: 6
 		indexTbl[7]: 7
-	vcVarCountTbl (ptr): 0x526754
+	vcVarCountTbl (ptr): 0x806c0c0
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -259,7 +269,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x5267e4
+	vcTbl (ptr): 0x806c368
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -285,11 +295,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x524644
+	valueTbl (ptr): 0x80686a0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x5264f4
+			asDoubleArray (ptr): 0x806de00
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -322,70 +332,75 @@
 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x5276f4
+	_entryTbl (ptr): 0x806e0b8
 		_entryTbl[0]:
-			varName (ptr): 0x5194d4
+			varName (ptr): 0x80665c0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519f54
+			varName (ptr): 0x8066a70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51a9d4
+			varName (ptr): 0x8066c40
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x527794
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e2d8
 	indexCount: 0
-	indexTbl (ptr): 0x5266e4
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x5278d4
+	valueTbl (ptr): 0x806c0c0
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -422,70 +437,75 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x528294
+	_entryTbl (ptr): 0x806e2d8
 		_entryTbl[0]:
-			varName (ptr): 0x51bf84
+			varName (ptr): 0x8067f80
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51ca04
+			varName (ptr): 0x8067208
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51d484
+			varName (ptr): 0x80673d8
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x528334
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 0
-	indexTbl (ptr): 0x5266e4
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x528474
+	valueTbl (ptr): 0x806c0c0
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -522,60 +542,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x528e24
+	_entryTbl (ptr): 0x806e1a0
 		_entryTbl[0]:
-			varName (ptr): 0x514d64
+			varName (ptr): 0x8065cf0
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x528ec4
+				asDoubleArray (ptr): 0x806df80
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x528f34
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x529034
+	indexTbl (ptr): 0x806c0c0
 		indexTbl[0]: 6
 		indexTbl[1]: 7
 		indexTbl[2]: 14
@@ -584,7 +609,7 @@
 		indexTbl[5]: 23
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x5290c4
+	vcVarCountTbl (ptr): 0x806c1e0
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -593,7 +618,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x529154
+	vcTbl (ptr): 0x806c3d8
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -619,11 +644,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x5278f4
+	valueTbl (ptr): 0x80686a0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x528ec4
+			asDoubleArray (ptr): 0x806df80
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -656,66 +681,71 @@
 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x5236e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52a074
+	_entryTbl (ptr): 0x806e0b8
 		_entryTbl[0]:
-			varName (ptr): 0x516a84
+			varName (ptr): 0x8068168
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x5174f4
+			varName (ptr): 0x8068190
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x516ff4
+			varName (ptr): 0x8067fb0
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51e424
-VariableCondition (ptr): 0x5236e4
-Component (ptr): 0x5236e4
-Stg_Object (ptr): 0x5236e4
-	Stg_Class (ptr): 0x5236e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061018
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f9efd3
+		_print (func ptr): 0xb7f9f019
+		_copy (func ptr): 0xb7f9f5ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f9e2a4
+	_construct (func ptr): 0xb7f9f7df
+	_build (func ptr): 0xb7f9f79d
+	_initialise (func ptr): 0xb7f02de2
+	_execute (func ptr): 0xb7f02ea6
+	_destroy (func ptr): 0xb7f02ed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520944
-	conFunc_Register (ptr): 0x520604
-	_set (ptr): 0x52a114
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7f9f82e
+	_getVariableCount (func ptr): 0xb7f9fbc4
+	_getVariableIndex (func ptr): 0xb7f9fbdb
+	_getValueIndex (func ptr): 0xb7f9fcb6
+	_getValueCount (func ptr): 0xb7f9fcbe
+	_getValue (func ptr): 0xb7f9fcd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e2d8
 	indexCount: 8
-	indexTbl (ptr): 0x52a1f4
+	indexTbl (ptr): 0x806c1e0
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 8
@@ -724,7 +754,7 @@
 		indexTbl[5]: 17
 		indexTbl[6]: 24
 		indexTbl[7]: 25
-	vcVarCountTbl (ptr): 0x52a284
+	vcVarCountTbl (ptr): 0x806c0c0
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -733,7 +763,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x52a314
+	vcTbl (ptr): 0x806c448
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -807,7 +837,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52a494
+	valueTbl (ptr): 0x806c090
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.2of3.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.2of3.expected	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Utils/tests/testWallVC.2of3.expected	2006-06-28 09:59:25 UTC (rev 3898)
@@ -1,65 +1,70 @@
-StGermain Framework. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3605. Copyright (C) 2003-2005 VPAC.
 Testing for WallVC_Front
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6af98
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ea8
 		_dictionaryEntryName: WallVC_Front
 	_wall: Front
 	_entryCount: 3
-	_entryTbl (ptr): 0x520924
+	_entryTbl (ptr): 0x806e2d8
 		_entryTbl[0]:
-			varName (ptr): 0x510614
+			varName (ptr): 0x8067ec0
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x511084
+			varName (ptr): 0x805eb10
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x510b84
+			varName (ptr): 0x805eb70
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_FrontName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x523e84
+	constructor function name: WallVC_FrontName-Construct
+	build function name: WallVC_FrontName-Build
+	initialise function name: WallVC_FrontName-Initialise
+	execute function name: WallVC_FrontName-Execute
+	destroy function name: WallVC_FrontName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x523f94
+	indexTbl (ptr): 0x806c0d8
 		indexTbl[0]: 24
 		indexTbl[1]: 25
 		indexTbl[2]: 26
@@ -68,7 +73,7 @@
 		indexTbl[5]: 29
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x524024
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -77,7 +82,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x524284
+	vcTbl (ptr): 0x806c138
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -151,7 +156,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x520574
+	valueTbl (ptr): 0x806c228
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2
@@ -188,60 +193,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Back
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afa8
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eb5
 		_dictionaryEntryName: WallVC_Back
 	_wall: Back
 	_entryCount: 1
-	_entryTbl (ptr): 0x523f94
+	_entryTbl (ptr): 0x806e1a0
 		_entryTbl[0]:
-			varName (ptr): 0x513064
+			varName (ptr): 0x805f068
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x525ef4
+				asDoubleArray (ptr): 0x806bf38
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_BackName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x525fc4
+	constructor function name: WallVC_BackName-Construct
+	build function name: WallVC_BackName-Build
+	initialise function name: WallVC_BackName-Initialise
+	execute function name: WallVC_BackName-Execute
+	destroy function name: WallVC_BackName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x5260c4
+	indexTbl (ptr): 0x806c228
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 2
@@ -250,7 +260,7 @@
 		indexTbl[5]: 5
 		indexTbl[6]: 6
 		indexTbl[7]: 7
-	vcVarCountTbl (ptr): 0x526154
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -259,7 +269,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x5261e4
+	vcTbl (ptr): 0x806c3b0
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -285,11 +295,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x524044
+	valueTbl (ptr): 0x806c0b0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x525ef4
+			asDoubleArray (ptr): 0x806bf38
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -322,70 +332,75 @@
 000 000 000 000 000 000 000 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Left
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afb4
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ec1
 		_dictionaryEntryName: WallVC_Left
 	_wall: Left
 	_entryCount: 3
-	_entryTbl (ptr): 0x5270f4
+	_entryTbl (ptr): 0x806e0b8
 		_entryTbl[0]:
-			varName (ptr): 0x5194d4
+			varName (ptr): 0x80665c0
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[1]:
-			varName (ptr): 0x519f54
+			varName (ptr): 0x8066a70
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
 		_entryTbl[2]:
-			varName (ptr): 0x51a9d4
+			varName (ptr): 0x8066c40
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 0
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_LeftName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x527194
+	constructor function name: WallVC_LeftName-Construct
+	build function name: WallVC_LeftName-Build
+	initialise function name: WallVC_LeftName-Initialise
+	execute function name: WallVC_LeftName-Execute
+	destroy function name: WallVC_LeftName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e2d8
 	indexCount: 0
-	indexTbl (ptr): 0x5260e4
-	vcVarCountTbl (ptr): 0x0
-	vcTbl (ptr): 0x0
+	indexTbl (ptr): (nil)
+	vcVarCountTbl (ptr): (nil)
+	vcTbl (ptr): (nil)
 	valueCount: 3
-	valueTbl (ptr): 0x5272d4
+	valueTbl (ptr): 0x806c108
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 0
@@ -422,66 +437,71 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Right
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afc0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ecd
 		_dictionaryEntryName: WallVC_Right
 	_wall: Right
 	_entryCount: 3
-	_entryTbl (ptr): 0x527c94
+	_entryTbl (ptr): 0x806e2d8
 		_entryTbl[0]:
-			varName (ptr): 0x51bf84
+			varName (ptr): 0x8067f80
 				varName: vx
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[1]:
-			varName (ptr): 0x51ca04
+			varName (ptr): 0x8067208
 				varName: vy
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
 		_entryTbl[2]:
-			varName (ptr): 0x51d484
+			varName (ptr): 0x80673d8
 				varName: vz
 			value:
 				type: VC_ValueType_CFIndex
 				asCFIndex: 1
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_RightName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x527d34
+	constructor function name: WallVC_RightName-Construct
+	build function name: WallVC_RightName-Build
+	initialise function name: WallVC_RightName-Initialise
+	execute function name: WallVC_RightName-Execute
+	destroy function name: WallVC_RightName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 16
-	indexTbl (ptr): 0x527e14
+	indexTbl (ptr): 0x8068668
 		indexTbl[0]: 1
 		indexTbl[1]: 3
 		indexTbl[2]: 5
@@ -498,7 +518,7 @@
 		indexTbl[13]: 27
 		indexTbl[14]: 29
 		indexTbl[15]: 31
-	vcVarCountTbl (ptr): 0x527ec4
+	vcVarCountTbl (ptr): 0x8068328
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -515,7 +535,7 @@
 		vcVarCountTbl[13]: 3
 		vcVarCountTbl[14]: 3
 		vcVarCountTbl[15]: 3
-	vcTbl (ptr): 0x527f74
+	vcTbl (ptr): 0x806c438
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -661,7 +681,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x5281f4
+	valueTbl (ptr): 0x806c108
 		valueTbl[0]:
 			type: VC_ValueType_CFIndex
 			asCFIndex: 1
@@ -698,60 +718,65 @@
 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 
 
 Testing for WallVC_Top
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afd0
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049eda
 		_dictionaryEntryName: WallVC_Top
 	_wall: Top
 	_entryCount: 1
-	_entryTbl (ptr): 0x527ee4
+	_entryTbl (ptr): 0x806e1a0
 		_entryTbl[0]:
-			varName (ptr): 0x514d64
+			varName (ptr): 0x8065cf0
 				varName: temp
 			value:
 				type: VC_ValueType_DoubleArray
 				arraySize: 5
-				asDoubleArray (ptr): 0x52a1b4
+				asDoubleArray (ptr): 0x806df80
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
 				asDoubleArray[3]: 8
 				asDoubleArray[4]: 9
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_TopName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x52a224
+	constructor function name: WallVC_TopName-Construct
+	build function name: WallVC_TopName-Build
+	initialise function name: WallVC_TopName-Initialise
+	execute function name: WallVC_TopName-Execute
+	destroy function name: WallVC_TopName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e0b8
 	indexCount: 8
-	indexTbl (ptr): 0x52a324
+	indexTbl (ptr): 0x806c108
 		indexTbl[0]: 6
 		indexTbl[1]: 7
 		indexTbl[2]: 14
@@ -760,7 +785,7 @@
 		indexTbl[5]: 23
 		indexTbl[6]: 30
 		indexTbl[7]: 31
-	vcVarCountTbl (ptr): 0x52a3b4
+	vcVarCountTbl (ptr): 0x806c228
 		vcVarCountTbl[0]: 1
 		vcVarCountTbl[1]: 1
 		vcVarCountTbl[2]: 1
@@ -769,7 +794,7 @@
 		vcVarCountTbl[5]: 1
 		vcVarCountTbl[6]: 1
 		vcVarCountTbl[7]: 1
-	vcTbl (ptr): 0x52a444
+	vcTbl (ptr): 0x806c608
 		vcTbl[0][0]:
 			varIndex: 6
 			valIndex: 0
@@ -795,11 +820,11 @@
 			varIndex: 6
 			valIndex: 0
 	valueCount: 1
-	valueTbl (ptr): 0x527f04
+	valueTbl (ptr): 0x806c0b0
 		valueTbl[0]:
 			type: VC_ValueType_DoubleArray
 			arraySize: 5
-			asDoubleArray (ptr): 0x52a1b4
+			asDoubleArray (ptr): 0x806df80
 				asDoubleArray[0]: 5
 				asDoubleArray[1]: 6
 				asDoubleArray[2]: 7
@@ -832,66 +857,71 @@
 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 XXX XXX XXX XXX XXX XXX 000 000 
 
 Testing for WallVC_Bottom
-WallVC (ptr): 0x5230e4
-	dictionary (ptr): 0x508384
-	_dictionaryEntryName (ptr): 0x6afdc
+WallVC (ptr): 0x806da50
+	dictionary (ptr): 0x805e558
+	_dictionaryEntryName (ptr): 0x8049ee5
 		_dictionaryEntryName: WallVC_Bottom
 	_wall: Bottom
 	_entryCount: 3
-	_entryTbl (ptr): 0x52b354
+	_entryTbl (ptr): 0x806e0b8
 		_entryTbl[0]:
-			varName (ptr): 0x516a84
+			varName (ptr): 0x8068168
 				varName: vx
 			value:
 				type: VC_ValueType_Double
 				asDouble: 2
 		_entryTbl[1]:
-			varName (ptr): 0x5174f4
+			varName (ptr): 0x8068190
 				varName: vy
 			value:
 				type: VC_ValueType_Double
 				asDouble: 3
 		_entryTbl[2]:
-			varName (ptr): 0x516ff4
+			varName (ptr): 0x8067fb0
 				varName: vz
 			value:
 				type: VC_ValueType_Double
 				asDouble: 1
-	_mesh (ptr): 0x51de24
-VariableCondition (ptr): 0x5230e4
-Component (ptr): 0x5230e4
-Stg_Object (ptr): 0x5230e4
-	Stg_Class (ptr): 0x5230e4
-		sizeOfSelf: 172
+	_mesh (ptr): 0x8061000
+VariableCondition (ptr): 0x806da50
+Stg_Component (ptr): 0x806da50
+Stg_Object (ptr): 0x806da50
+	Stg_Class (ptr): 0x806da50
+		sizeOfSelf: 192
 		_deleteSelf: Yes
 		type: WallVC
-		_delete (func ptr): 0x4688
-		_print (func ptr): 0x46e8
-		_copy (func ptr): 0x4ce4
+		_delete (func ptr): 0xb7f17fd3
+		_print (func ptr): 0xb7f18019
+		_copy (func ptr): 0xb7f185ca
 	name: WallVC_BottomName
 	nameAllocationType: NON_GLOBAL
-	_defaultConstructor (func ptr): 0x373c
-	_construct (func ptr): 0x4f2c
-	_build (func ptr): 0x4ed4
-	_initialise (func ptr): 0x3ca68
-	_execute (func ptr): 0x3cb6c
-	_destroy (func ptr): 0x3cbb8
+	_defaultConstructor (func ptr): 0xb7f172a4
+	_construct (func ptr): 0xb7f187df
+	_build (func ptr): 0xb7f1879d
+	_initialise (func ptr): 0xb7e7bde2
+	_execute (func ptr): 0xb7e7bea6
+	_destroy (func ptr): 0xb7e7bed6
 	isConstructed: True
 	isBuilt: True
 	isInitialised: False
 	hasExecuted: False
 	isDestroyed: False
-	_getSet (func ptr): 0x4fc8
-	_getVariableCount (func ptr): 0x53bc
-	_getVariableIndex (func ptr): 0x5408
-	_getValueIndex (func ptr): 0x5510
-	_getValueCount (func ptr): 0x5554
-	_getValue (func ptr): 0x559c
-	variable_Register (ptr): 0x520344
-	conFunc_Register (ptr): 0x520004
-	_set (ptr): 0x52b3f4
+	constructor function name: WallVC_BottomName-Construct
+	build function name: WallVC_BottomName-Build
+	initialise function name: WallVC_BottomName-Initialise
+	execute function name: WallVC_BottomName-Execute
+	destroy function name: WallVC_BottomName-Destroy
+	_getSet (func ptr): 0xb7f1882e
+	_getVariableCount (func ptr): 0xb7f18bc4
+	_getVariableIndex (func ptr): 0xb7f18bdb
+	_getValueIndex (func ptr): 0xb7f18cb6
+	_getValueCount (func ptr): 0xb7f18cbe
+	_getValue (func ptr): 0xb7f18cd5
+	variable_Register (ptr): 0x806e290
+	conFunc_Register (ptr): 0x805b9f8
+	_set (ptr): 0x806e2d8
 	indexCount: 8
-	indexTbl (ptr): 0x52b4d4
+	indexTbl (ptr): 0x806c228
 		indexTbl[0]: 0
 		indexTbl[1]: 1
 		indexTbl[2]: 8
@@ -900,7 +930,7 @@
 		indexTbl[5]: 17
 		indexTbl[6]: 24
 		indexTbl[7]: 25
-	vcVarCountTbl (ptr): 0x52b564
+	vcVarCountTbl (ptr): 0x806c108
 		vcVarCountTbl[0]: 3
 		vcVarCountTbl[1]: 3
 		vcVarCountTbl[2]: 3
@@ -909,7 +939,7 @@
 		vcVarCountTbl[5]: 3
 		vcVarCountTbl[6]: 3
 		vcVarCountTbl[7]: 3
-	vcTbl (ptr): 0x52b5f4
+	vcTbl (ptr): 0x806c678
 		vcTbl[0][0]:
 			varIndex: 3
 			valIndex: 0
@@ -983,7 +1013,7 @@
 			varIndex: 5
 			valIndex: 2
 	valueCount: 3
-	valueTbl (ptr): 0x52b774
+	valueTbl (ptr): 0x806c0d8
 		valueTbl[0]:
 			type: VC_ValueType_Double
 			asDouble: 2

Modified: long/3D/Gale/trunk/src/StGermain/FD/tests/testMeshContext0.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/FD/tests/testMeshContext0.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/FD/tests/testMeshContext0.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -144,9 +144,28 @@
 	nLayout = (NodeLayout*)CornerNL_New( "CornerNL", dictionary, eLayout, nTopology );
 	decomp = (MeshDecomp*)HexaMD_New( "HexaMD", dictionary, MPI_COMM_WORLD, eLayout, nLayout );
 	meshLayout = MeshLayout_New( "MeshLayout", eLayout, nLayout, decomp );
-	meshContext = _MeshContext_New( sizeof(MeshContext), "TestContext", MyDelete, MyPrint, NULL,
-			NULL, NULL, NULL, NULL, NULL, NULL, "meshContext", True, MySetDt, 0, 10, meshLayout, sizeof(Node), 
-		sizeof(Element), CommWorld, dictionary );
+	meshContext = _MeshContext_New( 
+		sizeof(MeshContext), 
+		"TestContext", 
+		MyDelete, 
+		MyPrint, 
+		NULL,
+		NULL, 
+		NULL, 
+		_AbstractContext_Build, 
+		_AbstractContext_Initialise, 
+		_AbstractContext_Execute, 
+		_AbstractContext_Destroy, 
+		"meshContext", 
+		True, 
+		MySetDt, 
+		0, 
+		10, 
+		meshLayout, 
+		sizeof(Node), 
+		sizeof(Element), 
+		CommWorld, 
+		dictionary );
 
 	/* Add entry points to the context */
 	EntryPoint_ReplaceAll( 
@@ -181,11 +200,12 @@
 	
 	/* Run the context */
 	if( rank == procToWatch ) {
-		Context_Setup( meshContext );
-		Context_Run( meshContext );
+		AbstractContext_Setup( meshContext );
+		Stg_Component_Execute( meshContext, 0 /* dummy */, False );
 	}
 	
 	/* Stg_Class_Delete stuff */
+	Stg_Component_Destroy( meshContext, 0 /* dummy */, False );
 	Stg_Class_Delete( meshContext );
 	Stg_Class_Delete( meshLayout );
 	Stg_Class_Delete( decomp );

Modified: long/3D/Gale/trunk/src/StGermain/libStGermain/src/StGermain.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/libStGermain/src/StGermain.h	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/libStGermain/src/StGermain.h	2006-06-28 09:59:25 UTC (rev 3898)
@@ -42,6 +42,9 @@
 #ifndef __StGermain_StGermain_h__
 #define __StGermain_StGermain_h__
 
+	#define EP_APPLICATIONS_FINALISE "StGermain_EP_ApplicationsFinalise"
+	#define EP_APPLICATIONS_POST_COMPONENTS_CONSTRUCT "StGermain_EP_ApplicationsPostComponentsConstruct"
+
 	#include "Base/Base.h"
 	#include "Discretisation/Discretisation.h"
 	

Modified: long/3D/Gale/trunk/src/StGermain/src/main.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/src/main.c	2006-06-28 09:56:23 UTC (rev 3897)
+++ long/3D/Gale/trunk/src/StGermain/src/main.c	2006-06-28 09:59:25 UTC (rev 3898)
@@ -20,6 +20,7 @@
 **	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
 **	Julian Giordani, Research Assistant, Monash University. (julian.giordani at sci.monash.edu.au)
 **	Vincent Lemiale, Postdoctoral Fellow, Monash University. (vincent.lemiale at sci.monash.edu.au)
+**	Kent Humphries, Software Engineer, VPAC. (kenth at vpac.org)
 **
 **  This library is free software; you can redistribute it and/or
 **  modify it under the terms of the GNU Lesser General Public
@@ -43,36 +44,16 @@
 	#include <Python.h>
 #endif
 #include <mpi.h>
+//EP_APPLICATIONS_FINALISE defined in StGermain.h
 #include <StGermain/StGermain.h>
-//#include <StG_FEM/StG_FEM.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-/*
-struct _Element {
-	__FiniteElement_Element
-};
+const Type StGermain_Type = "StGermain";
+const char* APPLICATIONS = "application_plugins";
 
-struct _Particle {
-	__IntegrationPoint
-};
-*/
-
-
-
-void MySetDt( void* context, double _dt ) {
-        //Journal_Printf( (void*) stream, "This is SetDt... setting to %g\n", _dt );
-        //dt = _dt;
-}
-
-
-	
-//Read in The plugins....which will be hooks to start up other apps. :)
-//
-//
-
 int main( int argc, char* argv[] ) 
 {
 	/* StGermain standard bits & pieces */
@@ -81,13 +62,20 @@
 	int				numProcessors;
 	Dictionary*			dictionary;
 	Dictionary*			componentDict;
-	Dictionary_Entry_Value* 	plugins;
+	Dictionary_Entry_Value* 	apps;
+	Dictionary_Entry_Value* 	application;
+	int				index;
 	XML_IO_Handler*			ioHandler;
+	EntryPoint* 			applicationsFinalise_EP;
+	EntryPoint* 			applicationsPostConstruct_EP;
+
+	Stream* 			infoStream;
 	
 	/* context */
 	AbstractContext*		context = NULL;
+	//This context may be initialised iff application plugins are loaded.
+	AbstractContext*		replacedContext = NULL;
 
-	
 	/* Initialise PETSc, get world info */
 	MPI_Init( &argc, &argv );
 	MPI_Comm_dup( MPI_COMM_WORLD, &CommWorld );
@@ -108,27 +96,28 @@
 	IO_Handler_ReadAllFromCommandLine( ioHandler, argc, argv, dictionary );
 
 	Journal_ReadFromDictionary( dictionary );
+	
 
 	/* Construction phase ----------------------------------------------------------------------------------------------*/
-	context = _AbstractContext_New( //"context", 0, 0, CommWorld, dictionary );
-		sizeof(AbstractContext),
-                AbstractContext_Type,
-                _AbstractContext_Delete,
-                _AbstractContext_Print,
-                NULL,
-                NULL,
-                NULL,
-                NULL,
-                NULL,
-                NULL,
-                NULL,
-                "context",
-                True,
-                MySetDt,
-                0,
-                10,
-                CommWorld,
-                dictionary );
+	context = _AbstractContext_New( 
+			sizeof(AbstractContext),
+	       	        AbstractContext_Type,
+	                _AbstractContext_Delete,
+	                _AbstractContext_Print,
+	                NULL,
+	                NULL,
+	                NULL,
+	                _AbstractContext_Build,
+	                _AbstractContext_Initialise,
+	                _AbstractContext_Execute,
+	                _AbstractContext_Destroy,
+	                "context",
+	                True,
+	                NULL,
+	                0,
+	                10,
+	                CommWorld,
+	                dictionary );
 
 	componentDict = Dictionary_GetDictionary( dictionary, "components" );
 
@@ -139,79 +128,78 @@
 
 	LiveComponentRegister_Add( context->CF->LCRegister, (Stg_Component*) context );
 
-
+	/*check components dictionary for double entries */
+	char* errMessage = "Component dictionary must have unique names\n";
+	CheckDictionaryKeys(componentDict, errMessage);
+	
 	/************* LOAD IN APPLICATION PLUGINS ********************/
 
 	//NEED TO LOAD IN APPLICATION PLUGINS BEFORE COMPONENTS
-	//This is because plugins load in specific applications so that
-	//components can then use those apps (ie stgFEM_init);
-	printf("About to try loading Application plugins....\n\n");
+	//This is because plugins load in specific applications so that components can then use those apps (ie stgFEM_init)
 
-	//Check if there's any plugins ending in "Application" in the 
-	//dictionary. Note that currently only the LAST application listed
-	//in the plugins will be used.
-	
-	plugins = Dictionary_Get( dictionary, "plugins" );
 
-	Dictionary_Entry_Value* temp;
-	char* appName = NULL;
-	char* appSubString = NULL;
-	const char* APP = "Application";
-	int index = 0;
-	for(index = 0; index < Dictionary_Entry_Value_GetCount(plugins);index++)
+	//Get the application_plujgins dictionary.
+	apps = Dictionary_Get(dictionary, (char*) APPLICATIONS );
+
+	if(apps != NULL)
 	{
-		temp = Dictionary_Entry_Value_GetElement(plugins, index);
-		appSubString =strstr(Dictionary_Entry_Value_AsString(temp),APP);
+		for(index = 0; index < Dictionary_Entry_Value_GetCount(apps); index++)
+		{
+			application = Dictionary_Entry_Value_GetElement(apps, index);
+				
 
-		if(appSubString != NULL && strlen(appSubString) == strlen(APP))
-		//if( stringEndsIn( "Application", Dictionary_Entry_Value_AsString(temp) ) == 0)
-		{
-			appName = malloc(1 + ( strlen(Dictionary_Entry_Value_AsString(temp) ) * sizeof(char)));
-			sprintf(appName, "%s", Dictionary_Entry_Value_AsString(temp) );
+			//Load the new plugin.
+			//NOTE: that this will call the initialise for that type of application
+			Journal_Firewall(
+				PluginsManager_LoadPlugin( context->plugins, application->as.typeString, context ),
+				Journal_Register(Error_Type, StGermain_Type),
+				"Error: Application Plugin %s not found. Ensure it is"" a valid plugin, and has been built.\n",
+					application->as.typeString
+				);
 		}
-	}
-	
-	if(appName == NULL) //reached end without *Application plugin.
-		printf("No Application plugins found.\n\n");
-	else
-	{
-		//Just load the application plugin.
-		PluginsManager_LoadPlugin( context->plugins, 
-				      appName, //"StG_FEM_Application",
-				      context );
 
-		//Construct the application plugin (it's the only one loaded)
-		PluginsManager_ConstructPlugins(context->plugins, context->CF);
+		//Plugins loaded -> ie ALL application environments enabled. NOW, construct in reverse order. Ensuring that 
+		//only the first (ie largest context) plugin builds a new context.
+		for(index = Dictionary_Entry_Value_GetCount(apps) - 1; index >= 0; index--)
+		{
+			application = Dictionary_Entry_Value_GetElement(apps, index);
+
+			//Construct the new plugin.
+			Journal_Firewall(
+			      PluginsManager_ConstructPlugin( context->plugins, application->as.typeString, context->CF ),
+			      Journal_Register(Error_Type, StGermain_Type),
+			      "Error: Application Plugin %s could not be constructed."
+			      " Ensure it has a valid construction function.\n",
+				      application->as.typeString
+			      );
 	
-		//Now.... The app plugin will assign a new context to the 
-		//context->CF->LCRegister->componentList->data (where the 
-		// context) is stored. Thus, if an Application plugin was 
-		//loaded, then context and context->CF->LCR->compList->data 
-		//will be DIFFERENT. If this is the
-		//case, free context & reassign it to CF->LCR->compList->data!!
-
-		if( context !=  (AbstractContext*)
-			      context->CF->LCRegister->componentList->data[0] )
-		{
-			( (AbstractContext*)context->CF->LCRegister->componentList->data[0] )->plugins = context->plugins;
-			context = (AbstractContext*) 
-				context->CF->LCRegister->componentList->data[0];
+			//Reassign the context if necessary. -> will happen (at most) in first iteration.
+			if( context !=  (AbstractContext*) context->CF->LCRegister->componentList->data[0] )
+			{
+				//Save a pointer to the current context being replaced so it can be deleted later.
+				replacedContext = context;
+				( (AbstractContext*)context->CF->LCRegister->componentList->data[0] )->plugins = context->plugins;
+				context = (AbstractContext*)context->CF->LCRegister->componentList->data[0];
+			}
 		}
 	}
-
 	/************* APPLICATION PLUGINS LOADED ********************/
 
-	//Should find App plugin is already loaded, but then carry on.
+	//Should find App plugins are already loaded, but then carry on.
 	PluginsManager_Load( context->plugins, context, dictionary );
 
 	Stg_ComponentFactory_CreateComponents( context->CF );
 	Stg_ComponentFactory_ConstructComponents( context->CF );
 
-	//Should find App plugin is already constructed, but then carry on.
-	//(Note that I changed how PluginsManager works to do this -> it now
-	//  skips plugins that have already been constructed).
+	//Run any application plugin hooks that must occur AFTER component construction. (ie UnderworldContext_AssignPointers)
+	applicationsPostConstruct_EP = Context_GetEntryPoint( context, EP_APPLICATIONS_POST_COMPONENTS_CONSTRUCT);
+	//If there exists an applications Finalise Entry Point, get in there and run hooks!
+	if(applicationsPostConstruct_EP != NULL)
+		((EntryPoint_VoidPtr_CallCast*) applicationsPostConstruct_EP->run)( applicationsPostConstruct_EP, context);
+
+	//Should find App plugins are already constructed, but then carry on.
+	//(Note that PluginsManager skips plugins that have already been constructed).
 	PluginsManager_ConstructPlugins( context->plugins, context->CF );
-		
 
 	KeyCall( context, context->constructExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(context,context->constructExtensionsK), context );
 	
@@ -223,16 +211,27 @@
 	}	
 
 	/* Building phase ---------------------------------------------------------------------------------------------------*/
-	KeyCall( context, context->buildK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(context,context->buildK), context );
+	Stg_Component_Build( context, 0 /* dummy */, False );
 	
 	/* Initialisaton phase ----------------------------------------------------------------------------------------------*/
-	Context_Initialise( context );
+	Stg_Component_Initialise( context, 0 /* dummy */, False );
 	
 	/* Run (Solve) phase ------------------------------------------------------------------------------------------------*/
 	AbstractContext_Dump( context );
-	Context_Run( context );		
+	Stg_Component_Execute( context, 0 /* dummy */, False );
 
 	/* Destruct phase ---------------------------------------------------------------------------------------------------*/
+
+	//Finalise any application plugins.
+	applicationsFinalise_EP = Context_GetEntryPoint( context, EP_APPLICATIONS_FINALISE );
+	//If there exists an applications Finalise Entry Point, get in there and run hooks!
+	if(applicationsFinalise_EP != NULL)
+		((EntryPoint_VoidPtr_CallCast*) applicationsFinalise_EP->run)( applicationsFinalise_EP, NULL);
+
+	//If the context got replaced, replacedContext != NULL & needs to be deleted.
+	Stg_Component_Destroy( context, 0 /* dummy */, False );
+	if(replacedContext != NULL)
+		Stg_Class_Delete( replacedContext );
 	Stg_Class_Delete( context );
 	Stg_Class_Delete( dictionary );
 
@@ -241,7 +240,8 @@
 		Py_Finalize();
 	#endif
 
-	//StG_FEM_Finalise();
+	infoStream = Journal_Register(Info_Type, "StGermainFinalise");
+	Journal_Printf( infoStream, "Finalised: StGermain Framework.\n");
 	StGermain_Finalise();
 		
 	/* Close off MPI */



More information about the Cig-commits mailing list