F5P.h

00001 /*/////////////////////////////////////////////////////////////////
00002 //
00003 // $Id: F5P.h,v 1.6 2007/04/02 22:41:12 werner Exp $
00004 //
00005 // $Log: F5P.h,v $
00006 // Revision 1.6  2007/04/02 22:41:12  werner
00007 // Added #defines for the cell domains
00008 // Added attribute for the dimensionality of the cells, in addition to multiplicity
00009 //
00010 // Revision 1.5  2003/11/04 20:14:23  werner
00011 // Corrected include path to avoid header file naming conflict for corrupted include paths.
00012 //
00013 // Revision 1.4  2003/11/04 19:24:10  werner
00014 // Revised version including a table of contents and field info per grid, and
00015 // also telling the grids per field (reverse look). The API has been revised
00016 // somewhat, such that F5F... function are all functions operation on F5Path
00017 // objects with fields defined.
00018 //
00019 // Revision 1.3  2003/06/16 11:00:20  werner
00020 // Changed the iterator functions to use F5Path objects instead of HDF5 ID's.
00021 // This makes encapsulates more of HDF5 and insists more of using F5,
00022 // but makes retrieving the F5 information easier.
00023 // Also changed back the shared data types to nameless types. Thus type
00024 // attributes cannot be determined directly, but when using F5 functions this
00025 // information, e.g. the Memory Order that is associated with a coordinate system
00026 // is available anyway.
00027 //
00028 // Revision 1.2  2003/05/27 11:52:15  zib
00029 // added F5_API stuff to build dll, if you like to build
00030 // a static lib you'll have to define F5_STATIC during every
00031 // build using the headers
00032 //
00033 // Revision 1.1  2003/04/28 19:33:38  werner
00034 // Improved iterator functions, added interface for grid property functions.
00035 //
00036 // Revision 1.3  2001/10/27 15:39:53  werner
00037 // addec cplusplus wrappe.
00038 */
00039 #ifndef __F5Gproperty_H
00040 #define __F5Gproperty_H
00041 
00042 #include <F5/hdf5inc.h>
00043 
00044 #include "F5WinDLLApi.h"
00045 
00046 #include <F5/F5F.h>
00047 
00048 #ifdef  __cplusplus
00049 extern "C"
00050 {
00051 #endif
00052 
00063 typedef int F5_gridproperty_t(F5Path*grid, const char*coordinate_system);
00064 
00065 F5_API int F5P_is_uniform(F5Path*grid, const char*coordinate_system);
00066 F5_API int F5P_is_Zstacked(F5Path*grid, const char*coordinate_system); 
00067 F5_API int F5P_is_rectilinear(F5Path*grid, const char*coordinate_system);
00068 F5_API int F5P_is_curvilinear(F5Path*grid, const char*coordinate_system);       
00069 
00070 F5_API int F5P_is_triangular_surface(F5Path*grid, const char*coordinate_system);
00071 F5_API int F5P_is_particle_system(F5Path*grid, const char*coordinate_system);
00072 
00074 F5_API int F5P_has_vertices(F5Path*grid, const char*coordinate_system);
00076 F5_API int F5P_has_vertex_fields(F5Path*grid, const char*coordinate_system);
00078 F5_API int F5P_has_cell_fields(F5Path*grid, const char*coordinate_system); 
00079         
00082 #ifdef  __cplusplus
00083 }    /* extern "C" */
00084 #endif
00085 
00086 #endif  /* __F5Gproperty_H */
00087