[cig-commits] commit:
Mercurial
hg at geodynamics.org
Mon Nov 24 11:59:23 PST 2008
changeset: 131:ef6976a2e48a
user: LukeHodkinson
date: Tue Aug 05 06:17:57 2008 +0000
files: Utils/src/RegularMeshUtils.c Utils/src/RegularRemesher.c Utils/src/RegularRemesher.def Utils/src/RegularRemesherCmpt.c Utils/src/RegularRemesherCmpt.h Utils/src/Remesher.c Utils/src/Remesher.h
description:
Needed some special remeshing options to handle
frictional boundary layers. We want to keep the
layers regular while allowing the rest of the
problem domain to deform slightly.
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/RegularMeshUtils.c
--- a/Utils/src/RegularMeshUtils.c Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/RegularMeshUtils.c Tue Aug 05 06:17:57 2008 +0000
@@ -847,8 +847,14 @@ IndexSet* RegularMeshUtils_CreateContact
nNodes = Mesh_GetDomainSize( mesh, 0 );
set = IndexSet_New( nNodes );
+/*
left = depth + 1;
right = grid->sizes[0] - (depth + 1) - 1;
+ bottom = 1;
+ top = depth;
+*/
+ left = 0;
+ right = grid->sizes[0] - 1;
bottom = 1;
top = depth;
for( ii = 0; ii < nNodes; ii++ ) {
@@ -876,9 +882,15 @@ IndexSet* RegularMeshUtils_CreateContact
nNodes = Mesh_GetDomainSize( mesh, 0 );
set = IndexSet_New( nNodes );
+/*
left = 1;
right = depth;
bottom = depth + 1;
+ top = grid->sizes[1] - 2;
+*/
+ left = 1;
+ right = depth;
+ bottom = 1;
top = grid->sizes[1] - 2;
if( includeTop ) top++;
for( ii = 0; ii < nNodes; ii++ ) {
@@ -906,9 +918,15 @@ IndexSet* RegularMeshUtils_CreateContact
nNodes = Mesh_GetDomainSize( mesh, 0 );
set = IndexSet_New( nNodes );
+/*
left = grid->sizes[0] - depth - 1;
right = grid->sizes[0] - 2;
bottom = depth + 1;
+ top = grid->sizes[1] - 2;
+*/
+ left = grid->sizes[0] - depth - 1;
+ right = grid->sizes[0] - 2;
+ bottom = 1;
top = grid->sizes[1] - 2;
if( includeTop ) top++;
for( ii = 0; ii < nNodes; ii++ ) {
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/RegularRemesher.c
--- a/Utils/src/RegularRemesher.c Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/RegularRemesher.c Tue Aug 05 06:17:57 2008 +0000
@@ -58,6 +58,7 @@ void _RegularRemesher_Init( void* _self
self->nWallVerts = NULL;
self->wallVerts = NULL;
self->wallCrds = NULL;
+ self->contactDepth = 0;
}
void _RegularRemesher_Copy( void* _self, const void* _op ) {
@@ -135,6 +136,47 @@ void _RegularRemesher_Remesh( void* _sel
}
}
+ /* If we have a contact depth set we'll need to manipulate the boundaries
+ a little. */
+ if( self->contactDepth ) {
+ int curInd;
+ int ii, d_j;
+
+ /* Reset static depths. */
+ curInd = 0;
+ for( ii = 0; ii < nVerts; ii++ ) {
+ Grid_Lift( vGrid, ii, inds );
+ if( inds[1] != self->contactDepth ) continue;
+ Mesh_GetVertex( mesh, ii )[1] = self->contactVerts[curInd++];
+ }
+
+ /* Also handle contact element boundaries. */
+ for( d_i = 0; d_i < nDims; d_i++ ) {
+ for( v_i = 0; v_i < nVerts; v_i++ ) {
+ ind = Sync_DomainToGlobal( meshSync, v_i );
+ Grid_Lift( vGrid, ind, (unsigned*)inds );
+ center = inds[d_i];
+ if( center == 0 || center == vGrid->sizes[d_i] - 1 ) {
+
+ /* If we're inside the contact depth range, we need to make
+ sure the side coordinates are aligned. */
+ if( d_i == 0 ) d_j = 1;
+ else if( d_i == 1 ) d_j = 0;
+ else if( d_i == 2 ) d_j = 1;
+ if( inds[d_j] < self->contactDepth )
+ inds[d_j] = self->contactDepth;
+ else if( inds[d_j] > vGrid->sizes[d_j] - self->contactDepth - 1 &&
+ d_i == 1 )
+ {
+ inds[d_j] = vGrid->sizes[d_j] - self->contactDepth - 1;
+ }
+ Mesh_GetVertex( mesh, v_i )[d_i] =
+ Mesh_GetVertex( mesh, Grid_Project( vGrid, inds ) )[d_i];
+ }
+ }
+ }
+ }
+
for( d_i = 0; d_i < nDims; d_i++ ) {
if( !ISet_Has( self->remeshDims, d_i ) )
continue;
@@ -167,9 +209,42 @@ void _RegularRemesher_Remesh( void* _sel
else
rightCrd = Mesh_GetVertex( mesh, ind)[d_i];
- mesh->verts[v_i][d_i] = leftCrd +
- (double)center * (rightCrd - leftCrd) /
- (double)(vGrid->sizes[d_i] - 1);
+ /* Account for contact depth. */
+ if( d_i == 1 ) {
+ if( center > self->contactDepth ) {
+
+ /* If we're past contact elements, adjust center to be
+ properly smoothed. */
+ center -= self->contactDepth;
+ inds[1] = self->contactDepth;
+ leftCrd = Mesh_GetVertex( mesh, Grid_Project( vGrid, inds ) )[1];
+
+ /* Blend coordinate. */
+ mesh->verts[v_i][d_i] = leftCrd +
+ (double)center * (rightCrd - leftCrd) /
+ (double)(vGrid->sizes[d_i] - self->contactDepth - 1);
+
+ }
+ else if( center < self->contactDepth ) {
+
+ /* If we're inside the contact depth smooth within the
+ contact range. */
+ inds[1] = self->contactDepth;
+ rightCrd = Mesh_GetVertex( mesh, Grid_Project( vGrid, inds ) )[1];
+ mesh->verts[v_i][d_i] = leftCrd +
+ (double)center * (rightCrd - leftCrd) /
+ (double)self->contactDepth;
+
+ }
+ }
+ else {
+
+ /* Blend coordinate. */
+ mesh->verts[v_i][d_i] = leftCrd +
+ (double)center * (rightCrd - leftCrd) /
+ (double)(vGrid->sizes[d_i] - 1);
+
+ }
}
}
@@ -290,8 +365,35 @@ void RegularRemesher_Build( void* _self
self->crds[d_i] = Class_Array( self, double, nRems );
}
+ NewClass_Delete( wallSet );
+
+ /* If we have some contact depth, copy the relevant vertices. */
+ if( self->contactDepth > 0 ) {
+ int curInd;
+ Grid* grid;
+ int ii;
+
+ /* Get the vertex grid from the mesh. */
+ grid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
+ assert( grid );
+
+ /* Allocate for all the contact vertices. */
+ nVerts = grid->sizes[0];
+ if( nDims == 3 ) nVerts *= grid->sizes[1];
+ self->contactVerts = MemArray( double, nVerts, "" );
+
+ /* Copy upper strip. */
+ nVerts = Mesh_GetLocalSize( mesh, 0 );
+ curInd = 0;
+ 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];
+ }
+
+ }
+
Class_Free( self, inds );
- NewClass_Delete( wallSet );
}
void RegularRemesher_SetRemeshState( void* _self, int dim, Bool state ) {
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/RegularRemesher.def
--- a/Utils/src/RegularRemesher.def Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/RegularRemesher.def Tue Aug 05 06:17:57 2008 +0000
@@ -38,6 +38,8 @@ MEMBER( int**, nWallVerts )
MEMBER( int**, nWallVerts )
MEMBER( int***, wallVerts )
MEMBER( double***, wallCrds )
+MEMBER( int, contactDepth )
+MEMBER( double*, contactVerts )
/*
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/RegularRemesherCmpt.c
--- a/Utils/src/RegularRemesherCmpt.c Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/RegularRemesherCmpt.c Tue Aug 05 06:17:57 2008 +0000
@@ -77,32 +77,14 @@ RegularRemesherCmpt* RegularRemesherCmpt
}
-RegularRemesherCmpt* _RegularRemesherCmpt_New( CLASS_ARGS,
- COMPONENT_ARGS,
- REMESHER_ARGS )
-{
+RegularRemesherCmpt* _RegularRemesherCmpt_New( REMESHER_ARGS ) {
RegularRemesherCmpt* self;
/* Allocate memory. */
- self = (RegularRemesherCmpt*)_Remesher_New( _sizeOfSelf,
- type,
- _delete,
- _print,
- _copy,
- _defaultConstructor,
- _construct,
- _build,
- _initialise,
- _execute,
- _destroy,
- name,
- initFlag,
- NULL );
-
- /* RegularRemesherCmpt info */
- if( initFlag ) {
- _RegularRemesherCmpt_Init( self );
- }
+ self = (RegularRemesherCmpt*)_Remesher_New( REMESHER_PASSARGS );
+
+ /* RegularRemesherCmpt info */
+ _RegularRemesherCmpt_Init( self );
return self;
}
@@ -188,6 +170,8 @@ void _RegularRemesherCmpt_Construct( voi
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" );
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/RegularRemesherCmpt.h
--- a/Utils/src/RegularRemesherCmpt.h Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/RegularRemesherCmpt.h Tue Aug 05 06:17:57 2008 +0000
@@ -67,9 +67,8 @@
RegularRemesherCmpt* RegularRemesherCmpt_New( Name name );
/* Creation implementation */
- RegularRemesherCmpt* _RegularRemesherCmpt_New( CLASS_ARGS,
- COMPONENT_ARGS,
- REMESHER_ARGS );
+ RegularRemesherCmpt* _RegularRemesherCmpt_New( REMESHER_ARGS );
+
/* Initialise a RegularRemesherCmpt */
void RegularRemesherCmpt_Init( RegularRemesherCmpt* self );
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/Remesher.c
--- a/Utils/src/Remesher.c Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/Remesher.c Tue Aug 05 06:17:57 2008 +0000
@@ -1,6 +1,7 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**
-** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+** 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)
@@ -26,7 +27,7 @@
**
** $Id: Remesher.c 2192 2004-10-15 02:45:38Z LukeHodkinson $
**
-**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#include <stdlib.h>
#include <stdio.h>
@@ -48,174 +49,108 @@ const Type Remesher_Type = "Remesher";
const Type Remesher_Type = "Remesher";
-/*----------------------------------------------------------------------------------------------------------------------------------
-** Constructors
-*/
+/*
+** Constructors */
-#define REMESH_DEFARGS \
- 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
+Remesher* _Remesher_New( REMESHER_ARGS ) {
+ Remesher* self;
+ /* Allocate memory. */
+ self = (Remesher*)_Stg_Component_New( STG_COMPONENT_PASSARGS );
-Remesher* _Remesher_New( CLASS_ARGS,
- COMPONENT_ARGS,
- REMESHER_ARGS )
-{
- Remesher* self;
+ /* Virtual functions. */
+ self->remeshFunc = remeshFunc;
- /* Allocate memory. */
- self = (Remesher*)_Stg_Component_New( _sizeOfSelf,
- type,
- _delete,
- _print,
- _copy,
- _defaultConstructor,
- _construct,
- _build,
- _initialise,
- _execute,
- _destroy,
- name,
- initFlag );
+ /* Remesher info */
+ _Remesher_Init( self );
- /* Virtual functions. */
- self->setMeshFunc = setMeshFunc;
-
- /* Remesher info */
- if( initFlag ) {
- _Remesher_Init( self );
- }
-
- return self;
+ return self;
}
-
void _Remesher_Init( Remesher* self ) {
- /* Remesher info */
- memset( &self->meshType,
- 0,
- (size_t)&self->comm - (size_t)&self->meshType + sizeof(MPI_Comm) );
+ /* Remesher info */
+ self->mesh = NULL;
}
-/*----------------------------------------------------------------------------------------------------------------------------------
-** Virtual functions
-*/
+/*
+** Virtual functions */
void _Remesher_Delete( void* remesher ) {
- Remesher* self = (Remesher*)remesher;
+ Remesher* self = (Remesher*)remesher;
- /* Delete the class itself */
+ /* Delete the class itself */
- /* Delete parent */
- _Stg_Component_Delete( self );
+ /* 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" );
-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 );
- /* Print parent */
- _Stg_Component_Print( self, stream );
+ /* General info */
+ Journal_Printf( myStream, "Remesher (ptr): (%p)\n", self );
- /* General info */
- Journal_Printf( myStream, "Remesher (ptr): (%p)\n", self );
+ /* Virtual info */
- /* Virtual info */
-
- /* Remesher info */
+ /* Remesher info */
}
-
Remesher* _Remesher_DefaultNew( Name name ) {
- return _Remesher_New( REMESH_DEFARGS );
+ 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;
-void _Remesher_Construct( void* remesher, Stg_ComponentFactory* cf, void* data ) {
- Remesher* self = (Remesher*)remesher;
- char* meshName;
+ assert( self );
+ assert( cf );
+ assert( cf->componentDict );
- assert( self );
- assert( cf );
- assert( cf->componentDict );
-
- meshName = Stg_ComponentFactory_GetString( cf, self->name, "mesh", "" );
- if( !strcmp( meshName, "" ) ) {
- return;
- }
-
- self->mesh = Stg_ComponentFactory_ConstructByName( cf, meshName, Mesh, True, data );
- self->meshType = Stg_ComponentFactory_GetString( cf, self->name, "meshType", "unknown" );
- if( !strcmp( self->meshType, "unknown" ) ) {
- fprintf( stderr, "Remesher: Unknown mesh type.\n" );
- assert( 0 );
- }
+ self->mesh = Stg_ComponentFactory_ConstructByKey( cf, self->name, "mesh", Mesh, True, data );
}
+void _Remesher_Build( void* remesher, void* data ) {
+ Remesher* self = (Remesher*)remesher;
-void _Remesher_Build( void* remesher, void* data ) {
- Remesher* self = (Remesher*)remesher;
+ assert( self );
+ assert( self->mesh );
- assert( self );
-
- if( !self->meshType ) {
- return;
- }
-
- assert( self->mesh );
-
- /* Build the mesh. */
- Stg_Component_Build( self->mesh, NULL, False );
- Remesher_SetMesh( self, self->mesh );
+ /* Build the mesh. */
+ Stg_Component_Build( self->mesh, NULL, False );
}
+void _Remesher_Initialise( void* remesher, void* data ) {
+ Remesher* self = (Remesher*)remesher;
-void _Remesher_Initialise( void* remesher, void* data ) {
- Remesher* self = (Remesher*)remesher;
-
- assert( self );
+ assert( self );
}
+void _Remesher_Execute( void* remesher, void* data ) {
+ Remesher* self = (Remesher*)remesher;
-void _Remesher_Execute( void* remesher, void* data ) {
- Remesher* self = (Remesher*)remesher;
-
- assert( self );
- assert( self->mesh );
+ assert( self );
}
+void _Remesher_Destroy( void* remesher, void* data ) {
+ Remesher* self = (Remesher*)remesher;
-void _Remesher_Destroy( void* remesher, void* data ) {
- Remesher* self = (Remesher*)remesher;
+ assert( self );
- assert( self );
-
- /* TODO: If delete deletes, what does destroy do? */
+ /* TODO: If delete deletes, what does destroy do? */
}
-/*----------------------------------------------------------------------------------------------------------------------------------
-** Public Functions
-*/
-
-
-/*----------------------------------------------------------------------------------------------------------------------------------
-** Private Functions
-*/
+/*
+** Public Functions */
diff -r af4a5d7869ea -r ef6976a2e48a Utils/src/Remesher.h
--- a/Utils/src/Remesher.h Tue Aug 05 06:17:01 2008 +0000
+++ b/Utils/src/Remesher.h Tue Aug 05 06:17:57 2008 +0000
@@ -1,6 +1,7 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**
-** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+** 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)
@@ -24,8 +25,6 @@
** 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:
@@ -36,91 +35,59 @@
**
** $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;
+/* Textual name of this class. */
+extern const Type Remesher_Type;
- /* Virtual function types. */
- typedef void (Remesher_SetMeshFunc)( void* remesher, Mesh* mesh );
+/* Virtual function types. */
+typedef void (Remesher_RemeshFunc)( void* _self );
- /* Class contents. */
- #define __Remesher \
- /* General info */ \
- __Stg_Component \
- \
- /* Virtual info */ \
- Remesher_SetMeshFunc* setMeshFunc; \
- \
- /* Remesher info ... */ \
- char* meshType; \
- Mesh* mesh; \
- MPI_Comm comm;
+/* Class contents. */
+#define __Remesher \
+ __Stg_Component \
+ Remesher_RemeshFunc* remeshFunc; \
+ Mesh* mesh;
- struct Remesher { __Remesher };
+struct Remesher { __Remesher };
- /*-----------------------------------------------------------------------------------------------------------------------------
- ** Constructors
- */
+/*
+** Constructors */
- #define CLASS_ARGS \
- SizeT _sizeOfSelf, \
- Type type, \
- Stg_Class_DeleteFunction* _delete, \
- Stg_Class_PrintFunction* _print, \
- Stg_Class_CopyFunction* _copy
+#define REMESHER_ARGS \
+ STG_COMPONENT_DEFARGS, \
+ Remesher_RemeshFunc* remeshFunc
- #define COMPONENT_ARGS \
- 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
+#define REMESHER_PASSARGS \
+ STG_COMPONENT_PASSARGS, remeshFunc
- #define REMESHER_ARGS \
- Remesher_SetMeshFunc* setMeshFunc
+Remesher* _Remesher_New( REMESHER_ARGS );
+void _Remesher_Init( Remesher* self );
- /* Creation implementation */
- Remesher* _Remesher_New( CLASS_ARGS,
- COMPONENT_ARGS,
- REMESHER_ARGS );
- /* Initialisation implementation functions */
- 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 );
- /*-----------------------------------------------------------------------------------------------------------------------------
- ** 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 )
- /*-----------------------------------------------------------------------------------------------------------------------------
- ** Public functions
- */
-
- #define Remesher_SetMesh( self, mesh ) \
- (self)->setMeshFunc( self, mesh )
-
-
- /*-----------------------------------------------------------------------------------------------------------------------------
- ** Private Member functions
- */
#endif
More information about the CIG-COMMITS
mailing list