EpetraExt Development
Zoltan_QueryObject.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_QUERYOBJECT_H_
00013 #define ZOLTAN_QUERYOBJECT_H_
00014 
00015 #include "EpetraExt_ConfigDefs.h"
00016 
00017 #include <zoltan.h>
00018 
00019 namespace Zoltan {
00020 
00022 
00028 class QueryObject
00029 {
00030 
00031 public:
00032 
00034 
00036   virtual int Number_Objects  ( void * data,
00037         int * ierr );
00038 
00040   virtual void Object_List    ( void * data,
00041         int num_gid_entries,
00042         int num_lid_entries,
00043         ZOLTAN_ID_PTR global_ids, 
00044         ZOLTAN_ID_PTR local_ids,
00045         int weight_dim,
00046         float * object_weights,
00047         int * ierr );
00048 
00050   virtual int First_Object    ( void * data,
00051         int num_gid_entries,
00052         int num_lid_entries,
00053         ZOLTAN_ID_PTR first_global_id, 
00054         ZOLTAN_ID_PTR first_local_id,
00055         int weight_dim,
00056         float * first_weight,
00057         int * ierr );
00058 
00060   virtual int Next_Object     ( void * data,
00061         int num_gid_entries,
00062         int num_lid_entries,
00063         ZOLTAN_ID_PTR global_id, 
00064         ZOLTAN_ID_PTR local_id,
00065         ZOLTAN_ID_PTR next_global_id, 
00066         ZOLTAN_ID_PTR next_local_id,
00067         int weight_dim,
00068         float * next_weight,
00069         int * ierr );
00070 
00072   virtual int Number_Border_Objects   ( void * data,
00073           int number_neighbor_procs,
00074           int * ierr );
00075 
00077   virtual void Border_Object_List     ( void * data,
00078           int num_gid_entries,
00079           int num_lid_entries,
00080           int number_neighbor_procs,
00081           ZOLTAN_ID_PTR global_ids,
00082           ZOLTAN_ID_PTR local_ids,
00083           int weight_dim,
00084           float * object_weights,
00085           int * ierr );
00086 
00088   virtual int First_Border_Object     ( void * data,
00089           int num_gid_entries,
00090           int num_lid_entries,
00091           int number_neighbor_procs,
00092           ZOLTAN_ID_PTR first_global_id,
00093           ZOLTAN_ID_PTR first_local_id,
00094           int weight_dim,
00095           float * first_weight,
00096           int * ierr );
00097 
00099   virtual int Next_Border_Object      ( void * data,
00100           int num_gid_entries,
00101           int num_lid_entries,
00102           ZOLTAN_ID_PTR global_id,
00103           ZOLTAN_ID_PTR local_id,
00104           int number_neighbor_procs,
00105           ZOLTAN_ID_PTR next_global_id,
00106           ZOLTAN_ID_PTR next_local_id,
00107           int weight_dim,
00108           float * next_weight,
00109           int * ierr );
00110 
00112 
00114  
00116   virtual int Number_Geometry_Objects ( void * data,
00117           int * ierr );
00118 
00120   virtual void Geometry_Values        ( void * data,
00121           int num_gid_entries,
00122           int num_lid_entries,
00123           ZOLTAN_ID_PTR global_id, 
00124           ZOLTAN_ID_PTR local_id,
00125           double * geometry_vector,
00126           int * ierr );
00127 
00129 
00131  
00133   virtual int Number_Edges    ( void * data,
00134         int num_gid_entries,
00135         int num_lid_entries,
00136         ZOLTAN_ID_PTR global_id,
00137         ZOLTAN_ID_PTR local_id,
00138         int * ierr );
00139 
00141   virtual void Edge_List      ( void * data,
00142         int num_gid_entries,
00143         int num_lid_entries,
00144         ZOLTAN_ID_PTR global_id,
00145         ZOLTAN_ID_PTR local_id,
00146         ZOLTAN_ID_PTR neighbor_global_ids,
00147         int * neighbor_procs,
00148         int weight_dim,
00149         float * edge_weights,
00150         int * ierr );
00151 
00153 
00155  
00157   virtual int Number_Coarse_Objects   ( void * data,
00158           int * ierr );
00159 
00161   virtual void Coarse_Object_List     ( void * data,
00162           int num_gid_entries,
00163           int num_lid_entries,
00164           ZOLTAN_ID_PTR global_ids,
00165           ZOLTAN_ID_PTR local_ids,
00166           int * assigned,
00167           int * number_vertices,
00168           ZOLTAN_ID_PTR vertices,
00169           int * in_order,
00170           ZOLTAN_ID_PTR in_vertex,
00171           ZOLTAN_ID_PTR out_vertex,
00172           int * ierr );
00173 
00175   virtual int First_Coarse_Object     ( void * data,
00176           int num_gid_entries,
00177           int num_lid_entries,
00178           ZOLTAN_ID_PTR first_global_id,
00179           ZOLTAN_ID_PTR first_local_id,
00180           int * assigned,
00181           int * number_vertices,
00182           ZOLTAN_ID_PTR vertices,
00183           int * in_order,
00184           ZOLTAN_ID_PTR in_vertex,
00185           ZOLTAN_ID_PTR out_vertex,
00186           int * ierr );
00187 
00189   virtual int Next_Coarse_Object      ( void * data,
00190           int num_gid_entries,
00191           int num_lid_entries,
00192           ZOLTAN_ID_PTR global_id,
00193           ZOLTAN_ID_PTR local_id,
00194           ZOLTAN_ID_PTR next_global_id,
00195           ZOLTAN_ID_PTR next_local_id,
00196           int * assigned,
00197           int * number_vertices,
00198           ZOLTAN_ID_PTR vertices,
00199           ZOLTAN_ID_PTR in_vertex,
00200           ZOLTAN_ID_PTR out_vertex,
00201           int * ierr );
00202 
00204   virtual int Number_Children ( void * data,
00205         int num_gid_entries,
00206         int num_lid_entries,
00207         ZOLTAN_ID_PTR global_id,
00208         ZOLTAN_ID_PTR local_id,
00209         int * ierr );
00210 
00212   virtual void Child_List     ( void * data,
00213         int num_gid_entries,
00214         int num_lid_entries,
00215         ZOLTAN_ID_PTR parent_global_id,
00216         ZOLTAN_ID_PTR parent_local_id,
00217         ZOLTAN_ID_PTR child_global_id,
00218         ZOLTAN_ID_PTR child_local_id,
00219         int * assigned,
00220         int * number_vertices,
00221         ZOLTAN_ID_PTR vertices,
00222         ZOLTAN_REF_TYPE * reference_type,
00223         ZOLTAN_ID_PTR in_vertex,
00224         ZOLTAN_ID_PTR out_vertex,
00225         int * ierr  );
00226 
00228   virtual void Child_Weight   ( void * data,
00229         int num_gid_entries,
00230         int num_lid_entries,
00231         ZOLTAN_ID_PTR global_id,
00232         ZOLTAN_ID_PTR local_id,
00233         int weight_dim,
00234         float * object_weight,
00235         int * ierr );
00236 
00238 
00239 };
00240 
00241 } //namespace Zoltan
00242 
00243 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines