EpetraExt Package Browser (Single Doxygen Collection) Development
Zoltan_MigrationObject.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines