00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00033 #ifndef __SPModel_SurfaceRegularMesh_h__
00034 #define __SPModel_SurfaceRegularMesh_h__
00035
00036 typedef struct RegularNode_t{
00037 int id; \
00038 float x;
00039 float y;
00040 }RegularNode;
00041
00042 #define __SurfaceRegularMesh \
00043 __Stg_Component \
00044 Dictionary *dictionary; \
00045 int nx; \
00046 int ny; \
00047 float **dataArray; \
00048 RegularNode **regularNodes; \
00049 SurfaceMesh *mesh;
00050 struct SurfaceRegularMesh{ __SurfaceRegularMesh };
00051
00052 SurfaceRegularMesh *SurfaceRegularMesh_DefaultNew( Name name );
00053
00054 SurfaceRegularMesh *SurfaceRegularMesh_New( Name name, Dictionary *dictionary,
00055 SurfaceMesh *mesh );
00056
00057 SurfaceRegularMesh *_SurfaceRegularMesh_New( SizeT _sizeOfSelf,
00058 Type type,
00059 Stg_Class_DeleteFunction* _delete,
00060 Stg_Class_PrintFunction* _print,
00061 Stg_Class_CopyFunction* _copy,
00062 Stg_Component_DefaultConstructorFunction* _defaultConstructor,
00063 Stg_Component_ConstructFunction* _construct,
00064 Stg_Component_BuildFunction* _build,
00065 Stg_Component_InitialiseFunction* _initialise,
00066 Stg_Component_ExecuteFunction* _execute,
00067 Stg_Component_DestroyFunction* _destroy,
00068 Name name,
00069 Bool initFlag,
00070 Dictionary *dictionary,
00071 SurfaceMesh *mesh );
00072
00073 void _SurfaceRegularMesh_Init( SurfaceRegularMesh *self );
00074
00075 void _SurfaceRegularMesh_Print( void *surfaceRegularMesh, Stream *stream );
00076
00077 void _SurfaceRegularMesh_Delete( void *surfaceRegularMesh );
00078
00079 void _SurfaceRegularMesh_Construct( void *surfaceRegularMesh, Stg_ComponentFactory *cf );
00080
00081 void _SurfaceRegularMesh_Build( void *surfaceRegularMesh, void *data );
00082
00083 void _SurfaceRegularMesh_Initialise( void *surfaceRegularMesh, void *data );
00084
00085 void _SurfaceRegularMesh_Execute( void *surfaceRegularMesh, void *data );
00086
00087 void _SurfaceRegularMesh_Destroy( void *surfaceRegularMesh, void *data );
00088
00089 void SurfaceRegularMeshPrintFunction( void *data, void *stream );
00090
00091 void SurfaceRegularMesh_GatherData( SurfaceRegularMesh *regularMesh, _Interpolator *interpolator );
00092
00093 void SurfaceRegularMesh_BroadcastData( SurfaceRegularMesh *regularMesh );
00094
00095 #endif
00096