F5defs.h

00001 /*
00002   $Id: F5defs.h,v 1.34 2008/02/22 23:51:25 werner Exp $
00003 */
00004 
00005 #ifndef __F5_DEFINES_H
00006 #define __F5_DEFINES_H "Fiber HDF5 Defines: $Id: F5defs.h,v 1.34 2008/02/22 23:51:25 werner Exp $"
00007 
00008 #define FIBER_MAJOR_VERSION                     0
00009 #define FIBER_MINOR_VERSION                     1
00010 #define FIBER_RELEASE_VERSION                   5
00011 
00012 #define FIBER_VERSION_ATTRIBUTE_NAME            "version"
00013 #define FIBER_VERSION_URL_LOCATION              "URL"
00014 #define FIBER_VERSION_URL                       "http://www.fiberbundle.net/F5-0.1.5/"
00015 
00016 #define FIBER_CONTENTS                          "TableOfContents"
00017 #define FIBER_CONTENT_GRIDS                     "Grids"
00018 #define FIBER_CONTENT_FIELDS                    "Fields"
00019 
00020 #define FIBER_FIELDS_TAG                        "Fields"
00021 #define FIBER_CONTENT_TYPE_TAG                  "ContentType"
00022 #define FIBER_CONTENT_TYPE_MAXTAGLEN   511      
00023 
00024 #define FIBER_PARAMETER_SPACE                   "Parameters"
00025 
00026 
00031 #define FIBER_STATIC_DATA                       "StaticData"
00032 
00034 #define FIBER_HDF5_TIME_ATTRIB                  "Time"
00035 
00041 #define FIBER_HDF5_TIMESTEP_ATTRIB              "TimeStep"
00042 
00043 #define FIBER_HDF5_POINTS                       "Points"
00044 #define FIBER_HDF5_CELLS                        "Connectivity"
00045 #define FIBER_HDF5_EDGES                        "Edges"
00046 #define FIBER_HDF5_EDGES_SET                    "EdgesSet"
00047 #define FIBER_HDF5_FACES                        "Faces"
00048 #define FIBER_HDF5_GEOMETRY                     "Geometry"
00049 
00050 #define FIBER_HDF5_POSITIONS_STRING             "Positions"
00051 
00052 
00056 //#define FIBER_HDF5_ECHOS_SET                    "EchosSet"
00057 #define FIBER_HDF5_TIME_POLAR2D_CHART            "TimePolar2D" 
00058 #define WAVEFORMSIZE                             96
00059 #define FIBER_HDF5_POINTSFRAG_PER_LINESFRAG      "PointsFragmentPerLineFragment"
00060 #define FIBER_HDF5_POINTSFRAG                    "PointsFragments"
00061 
00066 #define FIBER_HDF5_REFINEMENT_INFO              "Refinement"
00067 
00068 #define FIBER_HDF5_DEFAULT_CHART                "StandardCartesianChart3D"
00069 #define FIBER_HDF5_STANDARD_CHART               FIBER_HDF5_DEFAULT_CHART
00070 #define FIBER_HDF5_CARTESIAN_CHART_DOMAIN       "Cartesian3D"
00071 
00072 /* do not use this naming, it's the old one and only here
00073   for backward compatibility...
00074 */
00075 #define FIBER_HDF5_DEPRECATED_OLD_DEFAULT_CHART         "Standard Cartesian Chart 3D"
00076 #define FIBER_HDF5_DEPRECATED_OLD_CARTESIAN_DOMAIN      "Cartesian 3D"
00077 
00078 
00079 #define F5_BACKWARD_COMPATIBILITY
00080 
00081 #define FIBER_HDF5_DEFAULT_POLAR_CHART          "StandardPolarChart3D"
00082 
00083 #define _FIBER_MAX_COORDNAME_LENGTH             256
00084 
00085 #ifdef H5S_MAX_RANK
00086 #define FIBER_MAX_RANK                          H5S_MAX_RANK
00087 #else
00088 
00092 #define FIBER_MAX_RANK                          32
00093 #endif
00094 
00095 
00096 #define FIBER_HDF5_GLOBAL_CHARTS                "Charts"
00097 #define FIBER_HDF5_CHARTS_PER_GRID              "Charts"
00098 #define FIBER_HDF5_CHART_TO_GLOBALCHART_REF     "GlobalChart"
00099 #define FIBER_HDF5_GLOBALCHART_COORDINATES      "Coordinates"
00100 #define FIBER_HDF5_CHART_DOMAIN                 "ChartDomain"
00101 #define FIBER_HDF5_REPRESENTER                  "Reference"
00102 
00103 /* Attribute for saving the chart's name additionally as an attribute
00104    for a given chart group. Makes retrieval easier.  */
00105 #define FIBER_HDF5_CHART_NAME                   "NAME"
00106 
00107 /* Some unique number per file to identify charts beyond the HDF5 ID,
00108    this is probably not required. */
00109 #define FIBER_HDF5_CHART_ID                     "ID"
00110 
00111 
00112 #define FIBER_HDF5_CHART_MEMLAYOUT              "MemoryOrder"
00113 
00114 #define FIBER_HDF5_CELLDIMENSIONALITY           "F5::CellDimensionality"
00115 
00116 #define FIBER_HDF5_CHART_POINT_TYPE             "Point"
00117 #define FIBER_HDF5_CHART_VECTOR_TYPE            "Vector"
00118 #define FIBER_HDF5_CHART_COVECTOR_TYPE          "Covector"
00119 
00120 #define FIBER_HDF5_CHART_BIVECTOR_TYPE          "Bivector"
00121 #define FIBER_HDF5_CHART_BICOVECTOR_TYPE        "Bicovector"
00122 #define FIBER_HDF5_CHART_METRIC_TYPE            "Metric"
00123 #define FIBER_HDF5_CHART_COMETRIC_TYPE          "Cometric"
00124 
00125 #define FIBER_HDF5_CHART_TENSOR_TYPE            "indices"
00126 
00127 #define FIBER_HDF5_CHART_PSEUDOSCALAR_TYPE      "PseudoScalar"
00128 #define FIBER_HDF5_CHART_PSEUDOCOSCALAR_TYPE    "PseudoCoScalar"
00129 
00130 
00131 #define FIBER_HDF5_CHART_SINGLE_PRECISION       "SinglePrecision"
00132 #define FIBER_HDF5_CHART_DOUBLE_PRECISION       "DoublePrecision"
00133 
00134 #define FIBER_HDF5_TYPEID_ATTRIB                "TypeID"
00135 
00136 #define FIBER_HDF5_COMPONENTMAP_ATTRIB          "F5::ComponentMap"
00137 #define FIBER_HDF5_RANK_ATTRIBUTE               "F5::rank"
00138 #define FIBER_HDF5_GRADE_ATTRIBUTE              "F5::grade"
00139 
00140 #define FIBER_FIELD_DATASPACE_DIMENSIONS_ATTRIBUTE "DataspaceDims"
00141 /*#define FIBER_FIELD_DIMENSIONS_ATTRIBUTE      "Size"*/
00142 #define FIBER_FIELD_SIZE_ATTRIBUTE              "size"
00143 
00144 #define FIBER_UNIFORMARRAY_ELEMENTS_ATTRIBUTE   "extent"
00145 #define FIBER_UNIFORMARRAY_BASE_ATTRIBUTE       "base"
00146 #define FIBER_UNIFORMARRAY_DELTA_ATTRIBUTE      "delta"
00147 /* (note: these two attributes should go away, they are superceded by
00148    the range attribute) */
00149 #define FIBER_UNIFORMARRAY_MIN_ATTRIBUTE        "min"
00150 #define FIBER_UNIFORMARRAY_MAX_ATTRIBUTE        "max"
00151 
00152 /*
00153    Attribute specifying the offset of an given dataset within
00154    a saved dataspace.
00155  */
00156 #define FIBER_FRAGMENT_OFFSET_ATTRIBUTE         "offset"
00157 #define FIBER_FRAGMENT_NOOVERLAP_START_ATTRIBUTE        "NoOverlapStart"
00158 #define FIBER_FRAGMENT_NOOVERLAP_END_ATTRIBUTE          "NoOverlapEnd"
00159 
00168 #define FIBER_FIELD_COMPONENT_RANGE             "Range"
00169 
00173 #define FIBER_FIELD_COMPONENT_AVERAGE           "Average"
00174 
00179 #define FIBER_FIELD_COMPONENT_DEVIATION         "Deviation"
00180 
00181 
00186 #define FIBER_HDF5_INDEXDEPTH_ATTRIB            "IndexDepth"
00187 
00191 #define F5_INVALID_INDEX_DEPTH          -1313
00192 
00197 #define F5_MIN_INDEX_DEPTH      -1
00198 
00203 #define F5_MAX_INDEX_DEPTH      +6
00204 
00205 
00214 #define FIBER_HDF5_SKELETON_DIMENSIONALITY_ATTRIB "F5::SkeletonDimensionality"
00215 
00219 #define FIBER_HDF5_INVALID_SKELETON_DIMENSIONALITY  -1313
00220 
00221 
00222 #define FIBER_HDF5_REPRESENTER_REFERENCE        "Reference"
00223 
00224 #define FIBER_HDF5_FIELD_INFO                   "FieldInfo"
00225 #define FIBER_HDF5_LINEARMAP_FIELD              "UniformSampling"
00226 #define FIBER_HDF5_REGULAR_FIELD                "Regular"
00227 #define FIBER_HDF5_SIMPLE_FIELD                 "Contiguous"
00228 #define FIBER_HDF5_FRAGMENTED_FIELD             "Fragmented"
00229 #define FIBER_HDF5_DIRECTPRODUCT_FIELD          "DirectProduct"
00230 
00231 typedef enum
00232 {
00233         UnknownArrayType = 0,
00234         Contiguous = 1,
00235         SeparatedCompound = 2,
00236         Constant = 3,
00237         FragmentedContiguous = 4,
00238         FragmentedSeparatedCompound = 5,
00239         DirectProduct = 6,
00240         IndexPermutation = 7,
00241         UniformSampling = 8,
00242         FragmentedUniformSampling = 9
00243 
00244 } ArrayType;
00245 
00246 
00247 typedef enum
00248 {
00249         UnknownProcArray    = 0,
00250         ExplicitProcArray   = 1,
00251         PolynomialProcArray = 2,
00252         FourierProcArray    = 3, /* not supported */
00253         ChebychevProcArray  = 4  /* not supported */
00254 
00255 } ProceduralArrayType;
00256 
00257 
00258 #define FIBER_ARRAY_TYPE_ENUM   "TypeInfo"
00259 
00260 
00261 /* Some Unit definitions */
00262 
00263 /* Name of an attribute that contains a metric unit description as string.*/
00264 #define F5_METRIC_UNIT_DESCRIPTION  "F5::Metric_Unit_Description"
00265 
00266 /* use ',' as a delimiter in compound types
00267    e.g: for a 3D point with mixed units of degree and meters: deg,deg,m
00268  */
00269 #define F5_UNIT_NOT_DEFINED "-"
00270 #define F5_UNIT_METERS "m"
00271 #define F5_UNIT_METERS_PER_SECONDS "m/s"
00272 #define F5_UNIT_METERS_PER_SQSECONDS "m/s^2"
00273 #define F5_UNIT_NEWTON_PER_SQMILLIMETER "N/mm^2"
00274 #define F5_UNIT_NEWTON "N"
00275 #define F5_UNIT_DEGREE "deg"
00276 
00277 #if 0
00278 #define ENABLE_F5_CPLUSPLUS
00279 #endif
00280 
00281 #endif  /* __F5_DEFINES_H */
00282