|
EpetraExt Development
|
00001 // @HEADER 00002 // ************************************************************************ 00003 // 00004 // Zoltan_CPP: An Object-Oriented Interface To Zoltan 00005 // Copyright (2001) Sandia Corporation 00006 // 00007 // Questions? Contact Robert J. Hoekstra (rjhoeks@sandia.gov) 00008 // 00009 // ************************************************************************ 00010 // @HEADER 00011 00012 #ifndef ZOLTAN_MIGRATIONOBJECT_H_ 00013 #define ZOLTAN_MIGRATIONOBJECT_H_ 00014 00015 #include "EpetraExt_ConfigDefs.h" 00016 00017 #include <zoltan.h> 00018 00019 namespace Zoltan { 00020 00022 00027 class MigrationObject 00028 { 00029 00030 public: 00031 00033 00035 virtual int Object_Size ( void * data, 00036 int num_gid_entries, 00037 int num_lid_entries, 00038 ZOLTAN_ID_PTR global_id, 00039 ZOLTAN_ID_PTR local_id, 00040 int * ierr ); 00041 00043 00045 00047 virtual void Pre_Migrate ( void * data, 00048 int num_gid_entries, 00049 int num_lid_entries, 00050 int num_import, 00051 ZOLTAN_ID_PTR import_global_ids, 00052 ZOLTAN_ID_PTR import_local_ids, 00053 int * import_procs, 00054 int num_export, 00055 ZOLTAN_ID_PTR export_global_ids, 00056 ZOLTAN_ID_PTR export_local_ids, 00057 int * export_procs, 00058 int * ierr ); 00059 00061 virtual void Mid_Migrate ( void * data, 00062 int num_gid_entries, 00063 int num_lid_entries, 00064 int num_import, 00065 ZOLTAN_ID_PTR import_global_ids, 00066 ZOLTAN_ID_PTR import_local_ids, 00067 int * import_procs, 00068 int num_export, 00069 ZOLTAN_ID_PTR export_global_ids, 00070 ZOLTAN_ID_PTR export_local_ids, 00071 int * export_procs, 00072 int * ierr ); 00073 00075 virtual void Post_Migrate ( void * data, 00076 int num_gid_entries, 00077 int num_lid_entries, 00078 int num_import, 00079 ZOLTAN_ID_PTR import_global_ids, 00080 ZOLTAN_ID_PTR import_local_ids, 00081 int * import_procs, 00082 int num_export, 00083 ZOLTAN_ID_PTR export_global_ids, 00084 ZOLTAN_ID_PTR export_local_ids, 00085 int * export_procs, 00086 int * ierr ); 00087 00089 00091 00093 virtual void Pack_Object ( void * data, 00094 int num_gid_entries, 00095 int num_lid_entries, 00096 ZOLTAN_ID_PTR global_id, 00097 ZOLTAN_ID_PTR local_id, 00098 int destination_processor, 00099 int size, 00100 char * buffer, 00101 int * ierr ); 00102 00104 virtual void Unpack_Object ( void * data, 00105 int num_gid_entries, 00106 ZOLTAN_ID_PTR global_id, 00107 int size, 00108 char * buffer, 00109 int * ierr ); 00110 00112 00113 }; 00114 00115 } //namespace Zoltan 00116 00117 #endif
1.7.4