|
EpetraExt Development
|
00001 //------------------------------------------------------------------------- 00002 // Copyright Notice 00003 // 00004 // Copyright (c) 2000, Sandia Corporation, Albuquerque, NM. 00005 //------------------------------------------------------------------------- 00006 00007 //------------------------------------------------------------------------- 00008 // Filename : $Zoltan_QueryObject.C$ 00009 // 00010 // Purpose : Base Class for dynamic versions of query 00011 // functions to be used by Zoltan. The application 00012 // requires a class derived from this base to 00013 // be instantiated and registered with the 00014 // Zoltan_LoadBalance object. 00015 // 00016 // Special Notes : 00017 // 00018 // Creator : Robert J. Hoekstra 00019 // 00020 // Creation Date : 08/04/2000 00021 // 00022 // Revision Information: 00023 // --------------------- 00024 // 00025 // Revision Number: $Revision$ 00026 // 00027 // Revision Date : $Date$ 00028 // 00029 // Current Owner : $Author$ 00030 //------------------------------------------------------------------------- 00031 00032 #include <Zoltan_QueryObject.h> 00033 00034 //General Functions 00035 int Zoltan::QueryObject::Number_Objects ( void * data, 00036 int * ierr ) 00037 { 00038 std::cout << "Error: Zoltan::QueryObject::Number_Objects( void *, " 00039 << "int * ) must be implemented." << std::endl; 00040 00041 *ierr = ZOLTAN_FATAL; 00042 00043 return 0; 00044 } 00045 00046 void Zoltan::QueryObject::Object_List ( void * data, 00047 int num_gid_entries, 00048 int num_lid_entries, 00049 ZOLTAN_ID_PTR global_ids, 00050 ZOLTAN_ID_PTR local_ids, 00051 int weight_dim, 00052 float * object_weights, 00053 int * ierr ) 00054 { 00055 std::cout << "Error: Zoltan::QueryObject::Object_List( void *, int, int, " 00056 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00057 << std::endl; 00058 00059 *ierr = ZOLTAN_FATAL; 00060 } 00061 00062 int Zoltan::QueryObject::First_Object ( void * data, 00063 int num_gid_entries, 00064 int num_lid_entries, 00065 ZOLTAN_ID_PTR first_global_id, 00066 ZOLTAN_ID_PTR first_local_id, 00067 int weight_dim, 00068 float * first_weight, 00069 int * ierr ) 00070 { 00071 std::cout << "Error: Zoltan::QueryObject::First_Object( void *, int, int, " 00072 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00073 << std::endl; 00074 00075 *ierr = ZOLTAN_FATAL; 00076 00077 return 0; 00078 } 00079 00080 int Zoltan::QueryObject::Next_Object ( void * data, 00081 int num_gid_entries, 00082 int num_lid_entries, 00083 ZOLTAN_ID_PTR global_id, 00084 ZOLTAN_ID_PTR local_id, 00085 ZOLTAN_ID_PTR next_global_id, 00086 ZOLTAN_ID_PTR next_local_id, 00087 int weight_dim, 00088 float * next_weight, 00089 int * ierr ) 00090 { 00091 std::cout << "Error: Zoltan::QueryObject::Next_Object( void *, int, int, " 00092 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) " 00093 << "must be implemented." 00094 << std::endl; 00095 00096 *ierr = ZOLTAN_FATAL; 00097 00098 return 0; 00099 } 00100 00101 int Zoltan::QueryObject::Number_Border_Objects ( void * data, 00102 int number_neighbor_procs, 00103 int * ierr ) 00104 { 00105 std::cout << "Error: Zoltan::QueryObject::Number_Border_Objects( void *, " 00106 << "int, int * ) must be implemented." 00107 << std::endl; 00108 00109 *ierr = ZOLTAN_FATAL; 00110 00111 return 0; 00112 } 00113 00114 void Zoltan::QueryObject::Border_Object_List ( void * data, 00115 int num_gid_entities, 00116 int num_lid_entities, 00117 int number_neighbor_procs, 00118 ZOLTAN_ID_PTR global_ids, 00119 ZOLTAN_ID_PTR local_ids, 00120 int weight_dim, 00121 float * object_weights, 00122 int * ierr ) 00123 { 00124 std::cout << "Error: Zoltan::QueryObject::Border_Object_List( void *, int, " 00125 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be " 00126 << "implemented." << std::endl; 00127 00128 *ierr = ZOLTAN_FATAL; 00129 } 00130 00131 int Zoltan::QueryObject::First_Border_Object ( void * data, 00132 int num_gid_entities, 00133 int num_lid_entities, 00134 int number_neighbor_procs, 00135 ZOLTAN_ID_PTR first_global_id, 00136 ZOLTAN_ID_PTR first_local_id, 00137 int weight_dim, 00138 float * first_weight, 00139 int * ierr ) 00140 { 00141 std::cout << "Error: Zoltan::QueryObject::First_Border_Object( void *, " 00142 << "int, int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be " 00143 << "implemented." << std::endl; 00144 00145 *ierr = ZOLTAN_FATAL; 00146 00147 return 0; 00148 } 00149 00150 int Zoltan::QueryObject::Next_Border_Object ( void * data, 00151 int num_gid_entities, 00152 int num_lid_entities, 00153 ZOLTAN_ID_PTR global_id, 00154 ZOLTAN_ID_PTR local_id, 00155 int number_neighbor_procs, 00156 ZOLTAN_ID_PTR next_global_id, 00157 ZOLTAN_ID_PTR next_local_id, 00158 int weight_dim, 00159 float * next_weight, 00160 int * ierr ) 00161 { 00162 std::cout << "Error: Zoltan::QueryObject::Next_Border_Object( void *, " 00163 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, ZOLTAN_GID *, ZOLTAN_LID *, int, " 00164 << "float *, int * ) must be " 00165 << "implemented." << std::endl; 00166 00167 *ierr = ZOLTAN_FATAL; 00168 00169 return 0; 00170 } 00171 00172 //Geometry Based Functions 00173 int Zoltan::QueryObject::Number_Geometry_Objects ( void * data, 00174 int * ierr ) 00175 { 00176 std::cout << "Error: Zoltan::QueryObject::Number_Geometry_Objects( void *, " 00177 << "int * ) must be implemented." << std::endl; 00178 00179 *ierr = ZOLTAN_FATAL; 00180 00181 return 0; 00182 } 00183 00184 void Zoltan::QueryObject::Geometry_Values ( void * data, 00185 int num_gid_entities, 00186 int num_lid_entities, 00187 ZOLTAN_ID_PTR global_id, 00188 ZOLTAN_ID_PTR local_id, 00189 double * geometry_vector, 00190 int * ierr ) 00191 { 00192 std::cout << "Error: Zoltan::QueryObject::Geometry_Values( void *, int, int, " 00193 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, double *, int * ) must be implemented." 00194 << std::endl; 00195 00196 *ierr = ZOLTAN_FATAL; 00197 } 00198 00199 //Graph Based Functions 00200 int Zoltan::QueryObject::Number_Edges ( void * data, 00201 int num_gid_entities, 00202 int num_lid_entities, 00203 ZOLTAN_ID_PTR global_id, 00204 ZOLTAN_ID_PTR local_id, 00205 int * ierr ) 00206 { 00207 std::cout << "Error: Zoltan::QueryObject::Number_Edges( void *, int, int, " 00208 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int * ) must be implemented." 00209 << std::endl; 00210 00211 *ierr = ZOLTAN_FATAL; 00212 00213 return 0; 00214 } 00215 00216 void Zoltan::QueryObject::Edge_List ( void * data, 00217 int num_gid_entities, 00218 int num_lid_entities, 00219 ZOLTAN_ID_PTR global_id, 00220 ZOLTAN_ID_PTR local_id, 00221 ZOLTAN_ID_PTR neighbor_global_ids, 00222 int * neighbor_procs, 00223 int weight_dim, 00224 float * edge_weights, 00225 int * ierr ) 00226 { 00227 std::cout << "Error: Zoltan::QueryObject::Edge_List( void *, int, int, " 00228 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) " 00229 << "must be implemented." 00230 << std::endl; 00231 00232 *ierr = ZOLTAN_FATAL; 00233 } 00234 00235 //Tree Based Functions 00236 int Zoltan::QueryObject::Number_Coarse_Objects ( void * data, 00237 int * ierr ) 00238 { 00239 std::cout << "Error: Zoltan::QueryObject::Number_Coarse_Objects( void *, " 00240 << "int * ) must be implemented." << std::endl; 00241 00242 *ierr = ZOLTAN_FATAL; 00243 00244 return 0; 00245 } 00246 00247 void Zoltan::QueryObject::Coarse_Object_List ( void * data, 00248 int num_gid_entities, 00249 int num_lid_entities, 00250 ZOLTAN_ID_PTR global_ids, 00251 ZOLTAN_ID_PTR local_ids, 00252 int * assigned, 00253 int * number_vertices, 00254 ZOLTAN_ID_PTR vertices, 00255 int * in_order, 00256 ZOLTAN_ID_PTR in_vertex, 00257 ZOLTAN_ID_PTR out_vertex, 00258 int * ierr ) 00259 { 00260 std::cout << "Error: Zoltan::QueryObject::Coarse_Object_List( void *, " 00261 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, int *, " 00262 << "int *, int * ) " 00263 << "must be implemented." << std::endl; 00264 00265 *ierr = ZOLTAN_FATAL; 00266 } 00267 00268 int Zoltan::QueryObject::First_Coarse_Object ( void * data, 00269 int num_gid_entities, 00270 int num_lid_entities, 00271 ZOLTAN_ID_PTR first_global_id, 00272 ZOLTAN_ID_PTR first_local_id, 00273 int * assigned, 00274 int * number_vertices, 00275 ZOLTAN_ID_PTR vertices, 00276 int * in_order, 00277 ZOLTAN_ID_PTR in_vertex, 00278 ZOLTAN_ID_PTR out_vertex, 00279 int * ierr ) 00280 { 00281 std::cout << "Error: Zoltan::QueryObject::First_Coarse_Object( void *, " 00282 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, int *, " 00283 << "int *, int * ) " 00284 << "must be implemented." << std::endl; 00285 00286 *ierr = ZOLTAN_FATAL; 00287 00288 return 0; 00289 } 00290 00291 int Zoltan::QueryObject::Next_Coarse_Object ( void * data, 00292 int num_gid_entities, 00293 int num_lid_entities, 00294 ZOLTAN_ID_PTR global_id, 00295 ZOLTAN_ID_PTR local_id, 00296 ZOLTAN_ID_PTR next_global_id, 00297 ZOLTAN_ID_PTR next_local_id, 00298 int * assigned, 00299 int * number_vertices, 00300 ZOLTAN_ID_PTR vertices, 00301 ZOLTAN_ID_PTR in_vertex, 00302 ZOLTAN_ID_PTR out_vertex, 00303 int * ierr ) 00304 { 00305 std::cout << "Error: Zoltan::QueryObject::Next_Coarse_Object( void *, " 00306 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, " 00307 << "int *, int *, int *, int * ) " 00308 << "must be implemented." << std::endl; 00309 00310 *ierr = ZOLTAN_FATAL; 00311 00312 return 0; 00313 } 00314 00315 int Zoltan::QueryObject::Number_Children ( void * data, 00316 int num_gid_entities, 00317 int num_lid_entities, 00318 ZOLTAN_ID_PTR global_id, 00319 ZOLTAN_ID_PTR local_id, 00320 int * ierr ) 00321 { 00322 std::cout << "Error: Zoltan::QueryObject::Number_Children( void *, int, int, " 00323 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int * ) " 00324 << "must be implemented." << std::endl; 00325 00326 *ierr = ZOLTAN_FATAL; 00327 00328 return 0; 00329 } 00330 00331 void Zoltan::QueryObject::Child_List ( void * data, 00332 int num_gid_entities, 00333 int num_lid_entities, 00334 ZOLTAN_ID_PTR parent_global_id, 00335 ZOLTAN_ID_PTR parent_local_id, 00336 ZOLTAN_ID_PTR child_global_ids, 00337 ZOLTAN_ID_PTR child_local_ids, 00338 int * assigned, 00339 int * number_vertices, 00340 ZOLTAN_ID_PTR vertices, 00341 ZOLTAN_REF_TYPE * reference_type, 00342 ZOLTAN_ID_PTR in_vertex, 00343 ZOLTAN_ID_PTR out_vertex, 00344 int * ierr ) 00345 { 00346 std::cout << "Error: Zoltan::QueryObject::Child_List( void *, int, int, " 00347 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, " 00348 << "ZOLTAN_REF_TYPE *, int *, int *, int * ) must be implemented." 00349 << std::endl; 00350 00351 *ierr = ZOLTAN_FATAL; 00352 } 00353 00354 void Zoltan::QueryObject::Child_Weight ( void * data, 00355 int num_gid_entities, 00356 int num_lid_entities, 00357 ZOLTAN_ID_PTR global_id, 00358 ZOLTAN_ID_PTR local_id, 00359 int weight_dim, 00360 float * object_weight, 00361 int * ierr ) 00362 { 00363 std::cout << "Error: Zoltan::QueryObject::Child_Weight( void *, int, int, " 00364 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00365 << std::endl; 00366 00367 *ierr = ZOLTAN_FATAL; 00368 }
1.7.4