EpetraExt Development
Zoltan_QueryObject.h
Go to the documentation of this file.
00001 //@HEADER
00002 // ***********************************************************************
00003 //
00004 //     EpetraExt: Epetra Extended - Linear Algebra Services Package
00005 //                 Copyright (2011) Sandia Corporation
00006 //
00007 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00008 // the U.S. Government retains certain rights in this software.
00009 //
00010 // Redistribution and use in source and binary forms, with or without
00011 // modification, are permitted provided that the following conditions are
00012 // met:
00013 //
00014 // 1. Redistributions of source code must retain the above copyright
00015 // notice, this list of conditions and the following disclaimer.
00016 //
00017 // 2. Redistributions in binary form must reproduce the above copyright
00018 // notice, this list of conditions and the following disclaimer in the
00019 // documentation and/or other materials provided with the distribution.
00020 //
00021 // 3. Neither the name of the Corporation nor the names of the
00022 // contributors may be used to endorse or promote products derived from
00023 // this software without specific prior written permission.
00024 //
00025 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
00026 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00027 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00028 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
00029 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00030 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00031 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00032 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00033 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00034 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00035 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00036 //
00037 // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
00038 //
00039 // ***********************************************************************
00040 //@HEADER
00041 
00042 #ifndef ZOLTAN_QUERYOBJECT_H_
00043 #define ZOLTAN_QUERYOBJECT_H_
00044 
00045 #include "EpetraExt_ConfigDefs.h"
00046 
00047 #include <zoltan.h>
00048 
00049 namespace Zoltan {
00050 
00052 
00058 class EPETRAEXT_DEPRECATED QueryObject
00059 {
00060 
00061 public:
00062 
00064 
00066   virtual int Number_Objects  ( void * data,
00067         int * ierr );
00068 
00070   virtual void Object_List    ( void * data,
00071         int num_gid_entries,
00072         int num_lid_entries,
00073         ZOLTAN_ID_PTR global_ids, 
00074         ZOLTAN_ID_PTR local_ids,
00075         int weight_dim,
00076         float * object_weights,
00077         int * ierr );
00078 
00080   virtual int First_Object    ( void * data,
00081         int num_gid_entries,
00082         int num_lid_entries,
00083         ZOLTAN_ID_PTR first_global_id, 
00084         ZOLTAN_ID_PTR first_local_id,
00085         int weight_dim,
00086         float * first_weight,
00087         int * ierr );
00088 
00090   virtual int Next_Object     ( void * data,
00091         int num_gid_entries,
00092         int num_lid_entries,
00093         ZOLTAN_ID_PTR global_id, 
00094         ZOLTAN_ID_PTR local_id,
00095         ZOLTAN_ID_PTR next_global_id, 
00096         ZOLTAN_ID_PTR next_local_id,
00097         int weight_dim,
00098         float * next_weight,
00099         int * ierr );
00100 
00102   virtual int Number_Border_Objects   ( void * data,
00103           int number_neighbor_procs,
00104           int * ierr );
00105 
00107   virtual void Border_Object_List     ( void * data,
00108           int num_gid_entries,
00109           int num_lid_entries,
00110           int number_neighbor_procs,
00111           ZOLTAN_ID_PTR global_ids,
00112           ZOLTAN_ID_PTR local_ids,
00113           int weight_dim,
00114           float * object_weights,
00115           int * ierr );
00116 
00118   virtual int First_Border_Object     ( void * data,
00119           int num_gid_entries,
00120           int num_lid_entries,
00121           int number_neighbor_procs,
00122           ZOLTAN_ID_PTR first_global_id,
00123           ZOLTAN_ID_PTR first_local_id,
00124           int weight_dim,
00125           float * first_weight,
00126           int * ierr );
00127 
00129   virtual int Next_Border_Object      ( void * data,
00130           int num_gid_entries,
00131           int num_lid_entries,
00132           ZOLTAN_ID_PTR global_id,
00133           ZOLTAN_ID_PTR local_id,
00134           int number_neighbor_procs,
00135           ZOLTAN_ID_PTR next_global_id,
00136           ZOLTAN_ID_PTR next_local_id,
00137           int weight_dim,
00138           float * next_weight,
00139           int * ierr );
00140 
00142 
00144  
00146   virtual int Number_Geometry_Objects ( void * data,
00147           int * ierr );
00148 
00150   virtual void Geometry_Values        ( void * data,
00151           int num_gid_entries,
00152           int num_lid_entries,
00153           ZOLTAN_ID_PTR global_id, 
00154           ZOLTAN_ID_PTR local_id,
00155           double * geometry_vector,
00156           int * ierr );
00157 
00159 
00161  
00163   virtual int Number_Edges    ( void * data,
00164         int num_gid_entries,
00165         int num_lid_entries,
00166         ZOLTAN_ID_PTR global_id,
00167         ZOLTAN_ID_PTR local_id,
00168         int * ierr );
00169 
00171   virtual void Edge_List      ( void * data,
00172         int num_gid_entries,
00173         int num_lid_entries,
00174         ZOLTAN_ID_PTR global_id,
00175         ZOLTAN_ID_PTR local_id,
00176         ZOLTAN_ID_PTR neighbor_global_ids,
00177         int * neighbor_procs,
00178         int weight_dim,
00179         float * edge_weights,
00180         int * ierr );
00181 
00183 
00185  
00187   virtual int Number_Coarse_Objects   ( void * data,
00188           int * ierr );
00189 
00191   virtual void Coarse_Object_List     ( void * data,
00192           int num_gid_entries,
00193           int num_lid_entries,
00194           ZOLTAN_ID_PTR global_ids,
00195           ZOLTAN_ID_PTR local_ids,
00196           int * assigned,
00197           int * number_vertices,
00198           ZOLTAN_ID_PTR vertices,
00199           int * in_order,
00200           ZOLTAN_ID_PTR in_vertex,
00201           ZOLTAN_ID_PTR out_vertex,
00202           int * ierr );
00203 
00205   virtual int First_Coarse_Object     ( void * data,
00206           int num_gid_entries,
00207           int num_lid_entries,
00208           ZOLTAN_ID_PTR first_global_id,
00209           ZOLTAN_ID_PTR first_local_id,
00210           int * assigned,
00211           int * number_vertices,
00212           ZOLTAN_ID_PTR vertices,
00213           int * in_order,
00214           ZOLTAN_ID_PTR in_vertex,
00215           ZOLTAN_ID_PTR out_vertex,
00216           int * ierr );
00217 
00219   virtual int Next_Coarse_Object      ( void * data,
00220           int num_gid_entries,
00221           int num_lid_entries,
00222           ZOLTAN_ID_PTR global_id,
00223           ZOLTAN_ID_PTR local_id,
00224           ZOLTAN_ID_PTR next_global_id,
00225           ZOLTAN_ID_PTR next_local_id,
00226           int * assigned,
00227           int * number_vertices,
00228           ZOLTAN_ID_PTR vertices,
00229           ZOLTAN_ID_PTR in_vertex,
00230           ZOLTAN_ID_PTR out_vertex,
00231           int * ierr );
00232 
00234   virtual int Number_Children ( void * data,
00235         int num_gid_entries,
00236         int num_lid_entries,
00237         ZOLTAN_ID_PTR global_id,
00238         ZOLTAN_ID_PTR local_id,
00239         int * ierr );
00240 
00242   virtual void Child_List     ( void * data,
00243         int num_gid_entries,
00244         int num_lid_entries,
00245         ZOLTAN_ID_PTR parent_global_id,
00246         ZOLTAN_ID_PTR parent_local_id,
00247         ZOLTAN_ID_PTR child_global_id,
00248         ZOLTAN_ID_PTR child_local_id,
00249         int * assigned,
00250         int * number_vertices,
00251         ZOLTAN_ID_PTR vertices,
00252         ZOLTAN_REF_TYPE * reference_type,
00253         ZOLTAN_ID_PTR in_vertex,
00254         ZOLTAN_ID_PTR out_vertex,
00255         int * ierr  );
00256 
00258   virtual void Child_Weight   ( void * data,
00259         int num_gid_entries,
00260         int num_lid_entries,
00261         ZOLTAN_ID_PTR global_id,
00262         ZOLTAN_ID_PTR local_id,
00263         int weight_dim,
00264         float * object_weight,
00265         int * ierr );
00266 
00268 
00269 };
00270 
00271 } //namespace Zoltan
00272 
00273 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines