[cig-commits] commit:

Mercurial hg at geodynamics.org
Mon Nov 24 11:59:24 PST 2008


changeset:   132:824bbf078d41
user:        LukeHodkinson
date:        Wed Aug 06 15:44:50 2008 +0000
files:       Mesh/src/Init.c Mesh/src/Mesh.h Mesh/src/MeshClass.c Mesh/src/Remesher.c Mesh/src/Remesher.h Mesh/src/Remesher.meta Mesh/src/SurfaceAdaptor.c Mesh/src/SurfaceAdaptor.h Mesh/src/types.h Utils/src/RegularRemesher.c Utils/src/RegularRemesher.def Utils/src/RegularRemesherCmpt.c Utils/src/RegularRemesherCmpt.h Utils/src/Remesher.c Utils/src/Remesher.h Utils/src/Remesher.meta Utils/src/Utils.h Utils/src/types.h
description:
Shifting around the remesher base class so
I can use the remesher to straighten out
meshes after they've been built.


diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/Init.c
--- a/Mesh/src/Init.c	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/Init.c	Wed Aug 06 15:44:50 2008 +0000
@@ -74,6 +74,8 @@ Bool StgDomainMesh_Init( int* argc, char
 				   CompressionAdaptor_Type, "0", (Stg_Component_DefaultConstructorFunction*)CompressionAdaptor_New );
 	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), 
 				   MeshVariable_Type, "0", (Stg_Component_DefaultConstructorFunction*)MeshVariable_New );
+	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), 
+				   Remesher_Type, "0", (Stg_Component_DefaultConstructorFunction*)_Remesher_DefaultNew );
 
 	RegisterParent( Mesh_ElementType_Type, Stg_Class_Type );
 	RegisterParent( Mesh_HexType_Type, Mesh_ElementType_Type );
@@ -90,6 +92,7 @@ Bool StgDomainMesh_Init( int* argc, char
 	RegisterParent( SurfaceAdaptor_Type, MeshAdaptor_Type );
 	RegisterParent( CompressionAdaptor_Type, MeshAdaptor_Type );
 	RegisterParent( MeshVariable_Type, Variable_Type );
+	RegisterParent( Remesher_Type, Stg_Component_Type );
 
 	return True;
 }
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/Mesh.h
--- a/Mesh/src/Mesh.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/Mesh.h	Wed Aug 06 15:44:50 2008 +0000
@@ -69,6 +69,7 @@
 #include "CompressionAdaptor.h"
 #include "MeshVariable.h"
 #include "SpatialTree.h"
+#include "Remesher.h"
 
 #include "Init.h"
 #include "Finalise.h"
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/MeshClass.c
--- a/Mesh/src/MeshClass.c	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/MeshClass.c	Wed Aug 06 15:44:50 2008 +0000
@@ -151,8 +151,10 @@ void _Mesh_Build( void* mesh, void* data
 
 	assert( self );
 
-	if( self->generator )
-		MeshGenerator_Generate( self->generator, self, data );
+	if( self->generator ) {
+	   Stg_Component_Build( self->generator, data, False );
+	   MeshGenerator_Generate( self->generator, self, data );
+	}
 
 	nDims = Mesh_GetDimSize( self );
 	if( !nDims )
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/Remesher.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Mesh/src/Remesher.c	Wed Aug 06 15:44:50 2008 +0000
@@ -0,0 +1,156 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** 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: Remesher.c 2192 2004-10-15 02:45:38Z LukeHodkinson $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include <assert.h>
+#include <mpi.h>
+
+#include <StGermain/StGermain.h>
+#include <StgDomain/Geometry/Geometry.h>
+#include <StgDomain/Shape/Shape.h>
+#include <StgDomain/Mesh/Mesh.h>
+
+#include "types.h"
+#include "Remesher.h"
+
+
+/* Textual name of this class */
+const Type Remesher_Type = "Remesher";
+
+
+/*
+** Constructors */
+
+Remesher* _Remesher_New( REMESHER_ARGS ) {
+   Remesher*	self;
+
+   /* Allocate memory. */
+   self = (Remesher*)_Stg_Component_New( STG_COMPONENT_PASSARGS );
+
+   /* Virtual functions. */
+   self->remeshFunc = remeshFunc;
+
+   /* Remesher info */
+   _Remesher_Init( self );
+
+   return self;
+}
+
+void _Remesher_Init( Remesher* self ) {
+   /* Remesher info */
+   self->mesh = NULL;
+}
+
+
+/*
+** Virtual functions */
+
+void _Remesher_Delete( void* remesher ) {
+   Remesher*	self = (Remesher*)remesher;
+
+   /* Delete the class itself */
+
+   /* Delete parent */
+   _Stg_Component_Delete( self );
+}
+
+void _Remesher_Print( void* remesher, Stream* stream ) {
+   Remesher*	self = (Remesher*)remesher;
+   Stream*		myStream;
+	
+   /* Set the Journal for printing informations */
+   myStream = Journal_Register( InfoStream_Type, "RemesherStream" );
+
+   /* Print parent */
+   _Stg_Component_Print( self, stream );
+
+   /* General info */
+   Journal_Printf( myStream, "Remesher (ptr): (%p)\n", self );
+
+   /* Virtual info */
+
+   /* Remesher info */
+}
+
+Remesher* _Remesher_DefaultNew( Name name ) {
+   return _Remesher_New( sizeof(Remesher), Remesher_Type, _Remesher_Delete,
+                         _Remesher_Print, NULL, (void*(*)(Name))_Remesher_DefaultNew,
+                         _Remesher_Construct, _Remesher_Build, _Remesher_Initialise,
+                         _Remesher_Execute, _Remesher_Destroy, name, False, NULL );
+}
+
+void _Remesher_Construct( void* remesher, Stg_ComponentFactory* cf, void* data ) {
+   Remesher*	self = (Remesher*)remesher;
+   char*		meshName;
+
+   assert( self );
+   assert( cf );
+   assert( cf->componentDict );
+
+   self->mesh = Stg_ComponentFactory_ConstructByKey( cf, self->name, "mesh", Mesh, True, data );
+}
+
+void _Remesher_Build( void* remesher, void* data ) {
+   Remesher*	self = (Remesher*)remesher;
+
+   assert( self );
+   assert( self->mesh );
+
+   /* Build the mesh. */
+   Stg_Component_Build( self->mesh, NULL, False );
+}
+
+void _Remesher_Initialise( void* remesher, void* data ) {
+   Remesher*	self = (Remesher*)remesher;
+
+   assert( self );
+}
+
+void _Remesher_Execute( void* remesher, void* data ) {
+   Remesher*	self = (Remesher*)remesher;
+
+   assert( self );
+}
+
+void _Remesher_Destroy( void* remesher, void* data ) {
+   Remesher*	self = (Remesher*)remesher;
+
+   assert( self );
+
+   /* TODO: If delete deletes, what does destroy do? */
+}
+
+
+/*
+** Public Functions */
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/Remesher.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Mesh/src/Remesher.h	Wed Aug 06 15:44:50 2008 +0000
@@ -0,0 +1,93 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** 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:
+**
+** Assumptions:
+**
+** Invariants:
+**
+** Comments:
+**
+** $Id: Remesher.h 2225 1970-01-02 13:48:23Z LukeHodkinson $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#ifndef __StGermain_Domain_Utils_Remesher_h__
+#define __StGermain_Domain_Utils_Remesher_h__
+
+/* Textual name of this class. */
+extern const Type Remesher_Type;
+
+/* Virtual function types. */
+typedef void (Remesher_RemeshFunc)( void* _self );
+
+/* Class contents. */
+#define __Remesher                              \
+  __Stg_Component                               \
+  Remesher_RemeshFunc*	remeshFunc;		\
+  Mesh* mesh;
+
+struct Remesher { __Remesher };
+
+
+/*
+** Constructors */
+
+#define REMESHER_ARGS				\
+  STG_COMPONENT_DEFARGS,                        \
+    Remesher_RemeshFunc* remeshFunc
+
+#define REMESHER_PASSARGS                       \
+  STG_COMPONENT_PASSARGS, remeshFunc
+
+
+Remesher* _Remesher_New( REMESHER_ARGS );
+void _Remesher_Init( Remesher* self );
+
+
+/*
+** Virtual functions */
+
+void _Remesher_Delete( void* remesher );
+void _Remesher_Print( void* remesher, Stream* stream );
+Remesher* _Remesher_DefaultNew( Name name );
+void _Remesher_Construct( void* remesher, Stg_ComponentFactory* cf, void* data );
+void _Remesher_Build( void* remesher, void* data );
+void _Remesher_Initialise( void* remesher, void* data );
+void _Remesher_Execute( void* remesher, void* data );
+void _Remesher_Destroy( void* remesher, void* data );
+
+
+/*
+** Public functions */
+
+#define Remesher_Remesh( self)                  \
+  (self)->remeshFunc( self )
+
+
+#endif
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/Remesher.meta
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Mesh/src/Remesher.meta	Wed Aug 06 15:44:50 2008 +0000
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+<param name="Name">Remesher</param>
+  <param name="Author">...</param>
+  <param name="Organisation">VPAC</param>
+<param name="Project">StgDomain</param>
+  <param name="Location">./StgDomain/Discretisation/Utils/src/</param>
+<param name="Project Web">http://www.stgermainproject.org/StgDomain.html</param>
+  <param name="Copyright">Copyright (C) 2004-2005 VPAC.</param>
+  <param name="License">https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense</param>
+  <param name="Parent"></param>
+  <param name="Reference">...</param>
+  <param name="Summary">An abstract class that helps to transform a mesh into a regular, well-formed format.</param>
+
+  <param name="Description">
+    Remesher assists with rearranging a mesh into a more regular, ordered format.  Giving
+    a mesh a simplified form results in it being easier to deal with.  For example, Remesher
+    is useful when a mesh has been advected to such an extent that it is no longer
+    well-formed.  A malformed mesh is slower to process and not as representative as a well-formed mesh.
+    Remesher is an abstract interface to classes, and therefore does not perform any
+    remeshing.  Other classes may be instructed to do the remeshing using a variety of
+    remesheing methods.
+  </param>
+
+  <list name="Params">
+  </list>
+
+  <list name="Dependencies">
+    <struct>
+      <param name="Essential">Yes</param>
+      <param name="Name">mesh</param>
+      <param name="Type">Mesh</param>
+      <param name="Description">
+        The mesh to remeshed.
+      </param>
+    </struct>
+  </list>
+
+  <param name="Example">
+  </param>
+
+</StGermainData>
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/SurfaceAdaptor.c
--- a/Mesh/src/SurfaceAdaptor.c	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/SurfaceAdaptor.c	Wed Aug 06 15:44:50 2008 +0000
@@ -51,6 +51,7 @@
 #include "MeshGenerator.h"
 #include "MeshAdaptor.h"
 #include "SurfaceAdaptor.h"
+#include "Remesher.h"
 
 
 typedef double (SurfaceAdaptor_DeformFunc)( SurfaceAdaptor* self, Mesh* mesh, 
@@ -185,11 +186,15 @@ void _SurfaceAdaptor_Construct( void* ad
 }
 
 void _SurfaceAdaptor_Build( void* adaptor, void* data ) {
-	_MeshAdaptor_Build( adaptor, data );
+   SurfaceAdaptor* self = (SurfaceAdaptor*)adaptor;
+
+   _MeshAdaptor_Build( adaptor, data );
 }
 
 void _SurfaceAdaptor_Initialise( void* adaptor, void* data ) {
-	_MeshAdaptor_Initialise( adaptor, data );
+   SurfaceAdaptor* self = (SurfaceAdaptor*)adaptor;
+
+   _MeshAdaptor_Initialise( adaptor, data );
 }
 
 void _SurfaceAdaptor_Execute( void* adaptor, void* data ) {
@@ -248,9 +253,9 @@ void SurfaceAdaptor_Generate( void* adap
 		gNode = Sync_DomainToGlobal( sync, n_i );
 		Grid_Lift( grid, gNode, inds );
 
-                /* If we're under the contact depth don't modify. */
-                if( self->contactDepth && inds[1] < (self->contactDepth + 1) )
-                   continue;
+		/* Check if we're inside the contact depth. */
+		if( inds[1] <= self->contactDepth )
+		   continue;
 
 		/* Calculate a height percentage. */
 		height = (double)(inds[1] - self->contactDepth) / (double)(grid->sizes[1] - 1);
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/SurfaceAdaptor.h
--- a/Mesh/src/SurfaceAdaptor.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/SurfaceAdaptor.h	Wed Aug 06 15:44:50 2008 +0000
@@ -80,7 +80,7 @@
 		/* SurfaceAdaptor info */			\
 		SurfaceAdaptor_SurfaceType	surfaceType;	\
 		SurfaceAdaptor_SurfaceInfo	info;           \
-                int                             contactDepth;
+		int                             contactDepth;
 
 
 	struct SurfaceAdaptor { __SurfaceAdaptor };
diff -r ef6976a2e48a -r 824bbf078d41 Mesh/src/types.h
--- a/Mesh/src/types.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Mesh/src/types.h	Wed Aug 06 15:44:50 2008 +0000
@@ -137,6 +137,7 @@ typedef enum {
 	typedef struct SurfaceAdaptor			SurfaceAdaptor;
 	typedef struct CompressionAdaptor		CompressionAdaptor;
 	typedef struct MeshVariable			MeshVariable;
+	typedef struct Remesher Remesher;
 
 	/* Streams */
 	extern Stream*	Mesh_VerboseConfig;
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/RegularRemesher.c
--- a/Utils/src/RegularRemesher.c	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/RegularRemesher.c	Wed Aug 06 15:44:50 2008 +0000
@@ -59,6 +59,7 @@ void _RegularRemesher_Init( void* _self 
    self->wallVerts = NULL;
    self->wallCrds = NULL;
    self->contactDepth = 0;
+   self->contactSize = 0.0;
 }
 
 void _RegularRemesher_Copy( void* _self, const void* _op ) {
@@ -388,7 +389,12 @@ void RegularRemesher_Build( void* _self 
       for( ii = 0; ii < nVerts; ii++ ) {
          Grid_Lift( grid, ii, inds );
          if( inds[1] != self->contactDepth ) continue;
-         self->contactVerts[curInd++] = Mesh_GetVertex( mesh, ii )[1];
+
+	 /* If we were given a contact size, insert that instead. */
+	 if( self->contactSize > 0.0 )
+	   self->contactVerts[curInd++] = self->contactSize;
+	 else
+	   self->contactVerts[curInd++] = Mesh_GetVertex( mesh, ii )[1];
       }
 
    }
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/RegularRemesher.def
--- a/Utils/src/RegularRemesher.def	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/RegularRemesher.def	Wed Aug 06 15:44:50 2008 +0000
@@ -40,6 +40,7 @@ MEMBER( double***, wallCrds )
 MEMBER( double***, wallCrds )
 MEMBER( int, contactDepth )
 MEMBER( double*, contactVerts )
+MEMBER( double, contactSize )
 
 
 /*
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/RegularRemesherCmpt.c
--- a/Utils/src/RegularRemesherCmpt.c	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/RegularRemesherCmpt.c	Wed Aug 06 15:44:50 2008 +0000
@@ -41,7 +41,6 @@
 #include <StgDomain/Mesh/Mesh.h>
 
 #include "types.h"
-#include "Remesher.h"
 #include "NewRemesher.h"
 #include "RegularRemesher.h"
 #include "RegularRemesherCmpt.h"
@@ -56,63 +55,63 @@ const Type RegularRemesherCmpt_Type = "R
 */
 
 #define REMESHER_DEFARGS				\
-	sizeof(RegularRemesherCmpt),				\
-	RegularRemesherCmpt_Type,				\
-	_RegularRemesherCmpt_Delete,				\
-	_RegularRemesherCmpt_Print,				\
-	NULL,						\
-	(void*(*)(Name))_RegularRemesherCmpt_DefaultNew,	\
-	_RegularRemesherCmpt_Construct,			\
-	_RegularRemesherCmpt_Build,				\
-	_RegularRemesherCmpt_Initialise,			\
-	_RegularRemesherCmpt_Execute,				\
-	_RegularRemesherCmpt_Destroy,				\
-	name,						\
-		False, 				\
-		NULL
+   sizeof(RegularRemesherCmpt),				\
+      RegularRemesherCmpt_Type,				\
+      _RegularRemesherCmpt_Delete,			\
+      _RegularRemesherCmpt_Print,			\
+      NULL,						\
+      (void*(*)(Name))_RegularRemesherCmpt_DefaultNew,	\
+      _RegularRemesherCmpt_Construct,			\
+      _RegularRemesherCmpt_Build,			\
+      _RegularRemesherCmpt_Initialise,			\
+      _RegularRemesherCmpt_Execute,			\
+      _RegularRemesherCmpt_Destroy,			\
+      name,						\
+      False,						\
+      NULL
 
 
 RegularRemesherCmpt* RegularRemesherCmpt_New( Name name ) {
-	return _RegularRemesherCmpt_New( REMESHER_DEFARGS );
+   return _RegularRemesherCmpt_New( REMESHER_DEFARGS );
 }
 
 
 RegularRemesherCmpt* _RegularRemesherCmpt_New( REMESHER_ARGS ) {
-	RegularRemesherCmpt*	self;
-
-	/* Allocate memory. */
-	self = (RegularRemesherCmpt*)_Remesher_New( REMESHER_PASSARGS );
-
-	/* RegularRemesherCmpt info */
-        _RegularRemesherCmpt_Init( self );
-
-	return self;
+   RegularRemesherCmpt*	self;
+
+   /* Allocate memory. */
+   self = (RegularRemesherCmpt*)_Remesher_New( REMESHER_PASSARGS );
+
+   /* RegularRemesherCmpt info */
+   _RegularRemesherCmpt_Init( self );
+
+   return self;
 }
 
 
 void RegularRemesherCmpt_Init( RegularRemesherCmpt* self ) {
-	assert( 0 ); /* TODO */
+   assert( 0 ); /* TODO */
 #if 0
-	/* General info */
-	self->type = RegularRemesherCmpt_Type;
-	self->_sizeOfSelf = sizeof(RegularRemesherCmpt);
-	self->_deleteSelf = False;
-	
-	/* Virtual info */
-	self->_delete = _RegularRemesherCmpt_Delete;
-	self->_print = _RegularRemesherCmpt_Print;
-	self->_copy = NULL;
-	_Stg_Class_Init( (Stg_Class*)self );
-	
-	/* RegularRemesherCmpt info */
-	_RegularRemesherCmpt_Init( self );
+   /* General info */
+   self->type = RegularRemesherCmpt_Type;
+   self->_sizeOfSelf = sizeof(RegularRemesherCmpt);
+   self->_deleteSelf = False;
+	
+   /* Virtual info */
+   self->_delete = _RegularRemesherCmpt_Delete;
+   self->_print = _RegularRemesherCmpt_Print;
+   self->_copy = NULL;
+   _Stg_Class_Init( (Stg_Class*)self );
+	
+   /* RegularRemesherCmpt info */
+   _RegularRemesherCmpt_Init( self );
 #endif
 }
 
 
 void _RegularRemesherCmpt_Init( RegularRemesherCmpt* self ) {
-	/* RegularRemesherCmpt info */
-	self->regRemesh = RegularRemesher_New();
+   /* RegularRemesherCmpt info */
+   self->regRemesh = RegularRemesher_New();
 }
 
 
@@ -121,113 +120,114 @@ void _RegularRemesherCmpt_Init( RegularR
 */
 
 void _RegularRemesherCmpt_Delete( void* remesher ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-
-	/* Delete the class itself */
-	NewClass_Delete( self->regRemesh );
-
-	/* Delete parent */
-	_Stg_Component_Delete( remesher );
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+
+   /* Delete the class itself */
+   NewClass_Delete( self->regRemesh );
+
+   /* Delete parent */
+   _Stg_Component_Delete( remesher );
 }
 
 
 void _RegularRemesherCmpt_Print( void* remesher, Stream* stream ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-	Stream*		myStream;
-	
-	/* Set the Journal for printing informations */
-	myStream = Journal_Register( InfoStream_Type, "RegularRemesherCmptStream" );
-
-	/* Print parent */
-	_Stg_Component_Print( self, stream );
-
-	/* General info */
-	Journal_Printf( myStream, "RegularRemesherCmpt (ptr): (%p)\n", self );
-
-	/* Virtual info */
-
-	/* RegularRemesherCmpt info */
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+   Stream*		myStream;
+	
+   /* Set the Journal for printing informations */
+   myStream = Journal_Register( InfoStream_Type, "RegularRemesherCmptStream" );
+
+   /* Print parent */
+   _Stg_Component_Print( self, stream );
+
+   /* General info */
+   Journal_Printf( myStream, "RegularRemesherCmpt (ptr): (%p)\n", self );
+
+   /* Virtual info */
+
+   /* RegularRemesherCmpt info */
 }
 
 
 RegularRemesherCmpt* _RegularRemesherCmpt_DefaultNew( Name name ) {
-	return _RegularRemesherCmpt_New( REMESHER_DEFARGS );
+   return _RegularRemesherCmpt_New( REMESHER_DEFARGS );
 }
 
 
 void _RegularRemesherCmpt_Construct( void* remesher, Stg_ComponentFactory* cf, void* data ) {
-	RegularRemesherCmpt* self = (RegularRemesherCmpt*)remesher;
-	Dictionary* dict;
-	Dictionary_Entry_Value* list;
-	Mesh* mesh;
-	int nItms, dim, wall;
-	int i_i;
-
-	assert( self );
-	assert( cf );
-
-	_RegularRemesherCmpt_Init( self );
-
-	mesh = Stg_ComponentFactory_ConstructByKey( cf, self->name, "mesh", Mesh, True, data );
-	NewRemesher_SetMesh( self->regRemesh, mesh );
-
-        self->regRemesh->contactDepth = Stg_ComponentFactory_GetInt( cf, self->name, "contactDepth", 0 );
-
-	dict = Dictionary_Entry_Value_AsDictionary( Dictionary_Get( cf->componentDict, self->name ) );
-	list = Dictionary_Get( dict, "remeshDims" );
-	if( list ) {
-		nItms = Dictionary_Entry_Value_GetCount( list );
-		for( i_i = 0; i_i < nItms; i_i++ ) {
-			dim = Dictionary_Entry_Value_AsInt( 
-				Dictionary_Entry_Value_GetElement( list, i_i ) );
-			RegularRemesher_SetRemeshState( self->regRemesh, dim, True );
-		}
-	}
-
-	list = Dictionary_Get( dict, "staticWalls" );
-	if( list ) {
-		nItms = Dictionary_Entry_Value_GetCount( list );
-		assert( nItms % 2 == 0 );
-		for( i_i = 0; i_i < nItms; i_i += 2 ) {
-			dim = Dictionary_Entry_Value_AsInt( 
-				Dictionary_Entry_Value_GetElement( list, i_i ) );
-			wall = Dictionary_Entry_Value_AsInt( 
-				Dictionary_Entry_Value_GetElement( list, i_i + 1 ) );
-			RegularRemesher_SetStaticWall( self->regRemesh, dim, wall, True );
-		}
-	}
+   RegularRemesherCmpt* self = (RegularRemesherCmpt*)remesher;
+   Dictionary* dict;
+   Dictionary_Entry_Value* list;
+   Mesh* mesh;
+   int nItms, dim, wall;
+   int i_i;
+
+   assert( self );
+   assert( cf );
+
+   _RegularRemesherCmpt_Init( self );
+
+   mesh = Stg_ComponentFactory_ConstructByKey( cf, self->name, "mesh", Mesh, True, data );
+   NewRemesher_SetMesh( self->regRemesh, mesh );
+
+   self->regRemesh->contactDepth = Stg_ComponentFactory_GetInt( cf, self->name, "contactDepth", 0 );
+   self->regRemesh->contactSize = Stg_ComponentFactory_GetDouble( cf, self->name, "contactSize", 0.0 );
+
+   dict = Dictionary_Entry_Value_AsDictionary( Dictionary_Get( cf->componentDict, self->name ) );
+   list = Dictionary_Get( dict, "remeshDims" );
+   if( list ) {
+      nItms = Dictionary_Entry_Value_GetCount( list );
+      for( i_i = 0; i_i < nItms; i_i++ ) {
+	 dim = Dictionary_Entry_Value_AsInt( 
+	    Dictionary_Entry_Value_GetElement( list, i_i ) );
+	 RegularRemesher_SetRemeshState( self->regRemesh, dim, True );
+      }
+   }
+
+   list = Dictionary_Get( dict, "staticWalls" );
+   if( list ) {
+      nItms = Dictionary_Entry_Value_GetCount( list );
+      assert( nItms % 2 == 0 );
+      for( i_i = 0; i_i < nItms; i_i += 2 ) {
+	 dim = Dictionary_Entry_Value_AsInt( 
+	    Dictionary_Entry_Value_GetElement( list, i_i ) );
+	 wall = Dictionary_Entry_Value_AsInt( 
+	    Dictionary_Entry_Value_GetElement( list, i_i + 1 ) );
+	 RegularRemesher_SetStaticWall( self->regRemesh, dim, wall, True );
+      }
+   }
 }
 
 
 void _RegularRemesherCmpt_Build( void* remesher, void* data ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-
-	assert( self );
-
-	RegularRemesher_Build( self->regRemesh );
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+
+   assert( self );
+
+   RegularRemesher_Build( self->regRemesh );
 }
 
 
 void _RegularRemesherCmpt_Initialise( void* remesher, void* data ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-
-	assert( self );
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+
+   assert( self );
 }
 
 
 void _RegularRemesherCmpt_Execute( void* remesher, void* data ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-
-	assert( self );
-
-	RegularRemesher_Remesh( self->regRemesh );
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+
+   assert( self );
+
+   RegularRemesher_Remesh( self->regRemesh );
 }
 
 
 void _RegularRemesherCmpt_Destroy( void* remesher, void* data ) {
-	RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
-
-	assert( self );
+   RegularRemesherCmpt*	self = (RegularRemesherCmpt*)remesher;
+
+   assert( self );
 }
 
 
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/RegularRemesherCmpt.h
--- a/Utils/src/RegularRemesherCmpt.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/RegularRemesherCmpt.h	Wed Aug 06 15:44:50 2008 +0000
@@ -26,77 +26,77 @@
 **
 */
 /** \file
-**  Role:
-**
-** Assumptions:
-**
-** Invariants:
-**
-** Comments:
-**
-** $Id: RegularRemesherCmpt.h 2225 1970-01-02 13:48:23Z LukeHodkinson $
-**
-**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+ **  Role:
+ **
+ ** Assumptions:
+ **
+ ** Invariants:
+ **
+ ** Comments:
+ **
+ ** $Id: RegularRemesherCmpt.h 2225 1970-01-02 13:48:23Z LukeHodkinson $
+ **
+ **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
 #ifndef __StGermain_Domain_Utils_RegularRemesherCmpt_h__
 #define __StGermain_Domain_Utils_RegularRemesherCmpt_h__
 
-	/* Textual name of this class. */
-	extern const Type RegularRemesherCmpt_Type;
+/* Textual name of this class. */
+extern const Type RegularRemesherCmpt_Type;
 
-	/* Virtual function types. */
+/* Virtual function types. */
 
-	/* Class contents. */
-	#define __RegularRemesherCmpt			\
-		/* General info */			\
-		__Remesher				\
-							\
-		/* Virtual info */			\
-							\
-		/* RegularRemesherCmpt info ... */	\
-		RegularRemesher*	regRemesh;
+/* Class contents. */
+#define __RegularRemesherCmpt			\
+   /* General info */				\
+   __Remesher					\
+						\
+   /* Virtual info */				\
+						\
+   /* RegularRemesherCmpt info ... */		\
+   RegularRemesher*	regRemesh;
 
-	struct RegularRemesherCmpt { __RegularRemesherCmpt };
+struct RegularRemesherCmpt { __RegularRemesherCmpt };
 
 
-	/*-----------------------------------------------------------------------------------------------------------------------------
-	** Constructors
-	*/
+/*-----------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
 
-	/* Create a RegularRemesherCmpt */
-	RegularRemesherCmpt* RegularRemesherCmpt_New( Name name );
+/* Create a RegularRemesherCmpt */
+RegularRemesherCmpt* RegularRemesherCmpt_New( Name name );
 
-	/* Creation implementation */
-	RegularRemesherCmpt* _RegularRemesherCmpt_New( REMESHER_ARGS );
+/* Creation implementation */
+RegularRemesherCmpt* _RegularRemesherCmpt_New( REMESHER_ARGS );
 
-	/* Initialise a RegularRemesherCmpt */
-	void RegularRemesherCmpt_Init( RegularRemesherCmpt* self );
+/* Initialise a RegularRemesherCmpt */
+void RegularRemesherCmpt_Init( RegularRemesherCmpt* self );
 
-	/* Initialisation implementation functions */
-	void _RegularRemesherCmpt_Init( RegularRemesherCmpt* self );
+/* Initialisation implementation functions */
+void _RegularRemesherCmpt_Init( RegularRemesherCmpt* self );
 
 
-	/*-----------------------------------------------------------------------------------------------------------------------------
-	** Virtual functions
-	*/
+/*-----------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
 
-	void _RegularRemesherCmpt_Delete( void* remesher );
-	void _RegularRemesherCmpt_Print( void* remesher, Stream* stream );
-	RegularRemesherCmpt* _RegularRemesherCmpt_DefaultNew( Name name );
-	void _RegularRemesherCmpt_Construct( void* remesher, Stg_ComponentFactory* cf, void* data );
-	void _RegularRemesherCmpt_Build( void* remesher, void* data );
-	void _RegularRemesherCmpt_Initialise( void* remesher, void* data );
-	void _RegularRemesherCmpt_Execute( void* remesher, void* data );
-	void _RegularRemesherCmpt_Destroy( void* remesher, void* data );
+void _RegularRemesherCmpt_Delete( void* remesher );
+void _RegularRemesherCmpt_Print( void* remesher, Stream* stream );
+RegularRemesherCmpt* _RegularRemesherCmpt_DefaultNew( Name name );
+void _RegularRemesherCmpt_Construct( void* remesher, Stg_ComponentFactory* cf, void* data );
+void _RegularRemesherCmpt_Build( void* remesher, void* data );
+void _RegularRemesherCmpt_Initialise( void* remesher, void* data );
+void _RegularRemesherCmpt_Execute( void* remesher, void* data );
+void _RegularRemesherCmpt_Destroy( void* remesher, void* data );
 
 
-	/*-----------------------------------------------------------------------------------------------------------------------------
-	** Public functions
-	*/
+/*-----------------------------------------------------------------------------------------------------------------------------
+** Public functions
+*/
 
 
-	/*-----------------------------------------------------------------------------------------------------------------------------
-	** Private Member functions
-	*/
+/*-----------------------------------------------------------------------------------------------------------------------------
+** Private Member functions
+*/
 
 #endif
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/Remesher.c
--- a/Utils/src/Remesher.c	Tue Aug 05 06:17:57 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-**
-** 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: Remesher.c 2192 2004-10-15 02:45:38Z LukeHodkinson $
-**
-**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include <assert.h>
-#include <mpi.h>
-
-#include <StGermain/StGermain.h>
-#include <StgDomain/Geometry/Geometry.h>
-#include <StgDomain/Shape/Shape.h>
-#include <StgDomain/Mesh/Mesh.h>
-
-#include "types.h"
-#include "Remesher.h"
-
-
-/* Textual name of this class */
-const Type Remesher_Type = "Remesher";
-
-
-/*
-** Constructors */
-
-Remesher* _Remesher_New( REMESHER_ARGS ) {
-   Remesher*	self;
-
-   /* Allocate memory. */
-   self = (Remesher*)_Stg_Component_New( STG_COMPONENT_PASSARGS );
-
-   /* Virtual functions. */
-   self->remeshFunc = remeshFunc;
-
-   /* Remesher info */
-   _Remesher_Init( self );
-
-   return self;
-}
-
-void _Remesher_Init( Remesher* self ) {
-   /* Remesher info */
-   self->mesh = NULL;
-}
-
-
-/*
-** Virtual functions */
-
-void _Remesher_Delete( void* remesher ) {
-   Remesher*	self = (Remesher*)remesher;
-
-   /* Delete the class itself */
-
-   /* Delete parent */
-   _Stg_Component_Delete( self );
-}
-
-void _Remesher_Print( void* remesher, Stream* stream ) {
-   Remesher*	self = (Remesher*)remesher;
-   Stream*		myStream;
-	
-   /* Set the Journal for printing informations */
-   myStream = Journal_Register( InfoStream_Type, "RemesherStream" );
-
-   /* Print parent */
-   _Stg_Component_Print( self, stream );
-
-   /* General info */
-   Journal_Printf( myStream, "Remesher (ptr): (%p)\n", self );
-
-   /* Virtual info */
-
-   /* Remesher info */
-}
-
-Remesher* _Remesher_DefaultNew( Name name ) {
-   return _Remesher_New( sizeof(Remesher), Remesher_Type, _Remesher_Delete,
-                         _Remesher_Print, NULL, (void*(*)(Name))_Remesher_DefaultNew,
-                         _Remesher_Construct, _Remesher_Build, _Remesher_Initialise,
-                         _Remesher_Execute, _Remesher_Destroy, name, False, NULL );
-}
-
-void _Remesher_Construct( void* remesher, Stg_ComponentFactory* cf, void* data ) {
-   Remesher*	self = (Remesher*)remesher;
-   char*		meshName;
-
-   assert( self );
-   assert( cf );
-   assert( cf->componentDict );
-
-   self->mesh = Stg_ComponentFactory_ConstructByKey( cf, self->name, "mesh", Mesh, True, data );
-}
-
-void _Remesher_Build( void* remesher, void* data ) {
-   Remesher*	self = (Remesher*)remesher;
-
-   assert( self );
-   assert( self->mesh );
-
-   /* Build the mesh. */
-   Stg_Component_Build( self->mesh, NULL, False );
-}
-
-void _Remesher_Initialise( void* remesher, void* data ) {
-   Remesher*	self = (Remesher*)remesher;
-
-   assert( self );
-}
-
-void _Remesher_Execute( void* remesher, void* data ) {
-   Remesher*	self = (Remesher*)remesher;
-
-   assert( self );
-}
-
-void _Remesher_Destroy( void* remesher, void* data ) {
-   Remesher*	self = (Remesher*)remesher;
-
-   assert( self );
-
-   /* TODO: If delete deletes, what does destroy do? */
-}
-
-
-/*
-** Public Functions */
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/Remesher.h
--- a/Utils/src/Remesher.h	Tue Aug 05 06:17:57 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-**
-** 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:
-**
-** Assumptions:
-**
-** Invariants:
-**
-** Comments:
-**
-** $Id: Remesher.h 2225 1970-01-02 13:48:23Z LukeHodkinson $
-**
-**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#ifndef __StGermain_Domain_Utils_Remesher_h__
-#define __StGermain_Domain_Utils_Remesher_h__
-
-/* Textual name of this class. */
-extern const Type Remesher_Type;
-
-/* Virtual function types. */
-typedef void (Remesher_RemeshFunc)( void* _self );
-
-/* Class contents. */
-#define __Remesher                              \
-  __Stg_Component                               \
-  Remesher_RemeshFunc*	remeshFunc;		\
-  Mesh* mesh;
-
-struct Remesher { __Remesher };
-
-
-/*
-** Constructors */
-
-#define REMESHER_ARGS				\
-  STG_COMPONENT_DEFARGS,                        \
-    Remesher_RemeshFunc* remeshFunc
-
-#define REMESHER_PASSARGS                       \
-  STG_COMPONENT_PASSARGS, remeshFunc
-
-
-Remesher* _Remesher_New( REMESHER_ARGS );
-void _Remesher_Init( Remesher* self );
-
-
-/*
-** Virtual functions */
-
-void _Remesher_Delete( void* remesher );
-void _Remesher_Print( void* remesher, Stream* stream );
-Remesher* _Remesher_DefaultNew( Name name );
-void _Remesher_Construct( void* remesher, Stg_ComponentFactory* cf, void* data );
-void _Remesher_Build( void* remesher, void* data );
-void _Remesher_Initialise( void* remesher, void* data );
-void _Remesher_Execute( void* remesher, void* data );
-void _Remesher_Destroy( void* remesher, void* data );
-
-
-/*
-** Public functions */
-
-#define Remesher_Remesh( self)                  \
-  (self)->reshFunc( self )
-
-
-#endif
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/Remesher.meta
--- a/Utils/src/Remesher.meta	Tue Aug 05 06:17:57 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
-<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
-
-<param name="Name">Remesher</param>
-  <param name="Author">...</param>
-  <param name="Organisation">VPAC</param>
-<param name="Project">StgDomain</param>
-  <param name="Location">./StgDomain/Discretisation/Utils/src/</param>
-<param name="Project Web">http://www.stgermainproject.org/StgDomain.html</param>
-  <param name="Copyright">Copyright (C) 2004-2005 VPAC.</param>
-  <param name="License">https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense</param>
-  <param name="Parent"></param>
-  <param name="Reference">...</param>
-  <param name="Summary">An abstract class that helps to transform a mesh into a regular, well-formed format.</param>
-
-  <param name="Description">
-    Remesher assists with rearranging a mesh into a more regular, ordered format.  Giving
-    a mesh a simplified form results in it being easier to deal with.  For example, Remesher
-    is useful when a mesh has been advected to such an extent that it is no longer
-    well-formed.  A malformed mesh is slower to process and not as representative as a well-formed mesh.
-    Remesher is an abstract interface to classes, and therefore does not perform any
-    remeshing.  Other classes may be instructed to do the remeshing using a variety of
-    remesheing methods.
-  </param>
-
-  <list name="Params">
-  </list>
-
-  <list name="Dependencies">
-    <struct>
-      <param name="Essential">Yes</param>
-      <param name="Name">mesh</param>
-      <param name="Type">Mesh</param>
-      <param name="Description">
-        The mesh to remeshed.
-      </param>
-    </struct>
-  </list>
-
-  <param name="Example">
-  </param>
-
-</StGermainData>
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/Utils.h
--- a/Utils/src/Utils.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/Utils.h	Wed Aug 06 15:44:50 2008 +0000
@@ -62,7 +62,6 @@
 	#include "LinearRegression.h"
 	#include "SobolGenerator.h"
 	#include "NewRemesher.h"
-	#include "Remesher.h"
 	#include "RegularRemesher.h"
 	#include "RegularRemesherCmpt.h"
 /*
diff -r ef6976a2e48a -r 824bbf078d41 Utils/src/types.h
--- a/Utils/src/types.h	Tue Aug 05 06:17:57 2008 +0000
+++ b/Utils/src/types.h	Wed Aug 06 15:44:50 2008 +0000
@@ -68,7 +68,6 @@ typedef struct RegularRemesherCmpt Regul
 	typedef struct TimeIntegratee            TimeIntegratee;
 	typedef struct TimeIntegrator            TimeIntegrator;
 	typedef struct ShapeAdvector             ShapeAdvector;
-	typedef struct Remesher			Remesher;
 	typedef struct StripRemesher		StripRemesher;
 	typedef struct CellRemesher		CellRemesher;
 



More information about the CIG-COMMITS mailing list