FiberBundleHDF5  FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
Loading...
Searching...
No Matches
F5L.h
Go to the documentation of this file.
1/*
2 *
3 * $Id: F5L.h,v 1.23 2008/03/19 21:21:43 werner Exp $
4 *
5 */
6
7#ifndef __F5Lield_H
8#define __F5Lield_H
9
10#include "hdf5inc.h"
11
12#include "F5WinDLLApi.h"
13#include "F5defs.h"
14
15#ifdef __cplusplus
16extern "C"
17{
18#endif
19
20#define F5P_DEFAULT (-1)
21
22
23/**\defgroup F5L Low-Level Field Operations
24
25 @todo Separate these functions into F5-Dataset functions, with prefix F5D,
26 of the form:
27
28 -# Functions taking contigous compounds (data given as void*), zero components
29 not supported:
30 - F5Dcreate()
31 - F5Dwrite()
32 - F5Dsave() (convenience function: create + write with same field type, no I/O type conversion)
33 - F5Dis()
34 - F5Dopen()
35 - F5Dread()
36 - F5Dload() (convenience function: open + read)
37 -# Functions taking separated compounds (data given as void**), missing components
38 supported:
39 - F5DS...() (6 functions)
40
41 -# Special datasets:
42 - F5D*_fraction()
43 - F5D*_linear()
44 - F5D*_entity()
45
46 -# Utility functions:
47 - F5Dget_type()
48 - F5Dget_space()
49
50 -# Low-level functions:
51 - F5Dset_type_attribute()
52 */
53
54/**\ingroup F5L
55
56 Create an HDF5 dataset for further treatment with raw HDF5 functions, e.g.
57 to write an hyperslab instead of the full dataset at once.
58
59 @return A HDF5 \b dataset ID. The caller must issue H5Dclose() on the returned identifier.
60
61 @param property_id An HDF5 dataset property ID. If it is negative,
62 then a default property will be created locally
63 via <PRE>H5Pcreate(H5P_DATASET_CREATE)</PRE>.
64
65 @param dataspace_id Pointer to an HDF5 identifier, that will be used to store
66 a shared dataspace. It may be NULL, in which case a local
67 dataspace is created. Until shared dataspaces are implemented
68 in HDF5, this will make no difference in the actual HDF5 file.
69
70 @param R_id The group ID where the field shall be inserted, preferably a representation
71 group ID that has been created by an F5create_representation() call.
72
73 @param fieldname The name of the field. It may be chosen arbitrarily, but must not contain slashes "/".
74 It is furthermore recommended to avoid special characters - even if
75 they work - and to keep the name short and concise).
76
77 @param dimension The dimensionality of the data set.
78 @param dims The extension of the data set.
79 @param fieldtype An HDF5 type identifier.
80*/
81F5_API hid_t F5Lcreate(hid_t R_id, const char*fieldname, int dimension, const hsize_t*dims,
82 hid_t fieldtype, hid_t property_id);
83
84
85/** \ingroup F5L
86 */
87F5_API hid_t F5LTcreate_topology(hid_t Grid_hid,
88 const char*TopologyName,
89 int IndexDepth,
90 int SkeletonDimensionality,
91 int DataspaceDimensionality,
92 const hsize_t*refinement);
93
94/** \ingroup F5L
95 Update the maximal refinement level for a certain Grid.
96 @param IndexDepth There can be different levels of refinement depending
97 on the topological type of the Skeleton. Usually
98 refinement will only be relevant for vertices, thus
99 IndexDepth=0, but it is also possible for higher
100 dimensional skeletons such as edges, lines, triangles...
101 */
102F5_API int F5LTset_maximal_grid_refinement(hid_t ContentsGroup_id,
103 const char*gridname,
104 int IndexDepth,
105 int Dimensionality,
106 const hsize_t*refinement);
107
108/** \ingroup F5L
109 Get the maximal refinement level for a certain Grid.
110 @code
111 hsize_t MaxRefinement[ FIBER_MAX_RANK ];
112 int Dims;
113
114 Dims = F5LTget_maximal_grid_refinement(fpath->ContentsGroup_hid, "MyGridOfInterest", MaxRefinement);
115 @endcode
116 */
117F5_API int F5LTget_maximal_grid_refinement(hid_t ContentsGroup_id,
118 const char*gridname,
119 hsize_t*refinement);
120
121
122/** \ingroup F5L
123 Get the maximal refinement level for a certain topological property of a Grid.
124 For example, get the maximum refinement level for faces on a Grid:
125 @code
126 hsize_t MaxRefinement[ FIBER_MAX_RANK ];
127 int Dims;
128
129 Dims = F5LTget_maximal_skeleton_refinement(fpath->ContentsGroup_hid, "MyGridOfInterest", MaxRefinement, 1, 2);
130 @endcode
131 */
132F5_API int F5LTget_maximal_skeleton_refinement(hid_t ContentsGroup_id,
133 const char*gridname,
134 hsize_t*refinement,
135 int IndexDepth,
136 int Dimensionality);
137
138
139/** \ingroup F5L
140 Get the index depth of a certain Topology ID.
141 */
142F5_API int F5LTget_index_depth(hid_t Top_hid);
143
144
145/**\ingroup F5L
146 @return A HDF5 \b dataset ID. The caller must issue H5Dclose() on the returned identifier.
147
148 @param property_id An HDF5 dataset property ID. If it is negative,
149 then a default property will be created locally
150 via <PRE>H5Pcreate(H5P_DATASET_CREATE)</PRE>.
151
152 @param dimension The dimensionality of the data set. You may use F5Lwrite1D() as a convenience
153 shortcut for one-dimensional data sets.
154
155 @param dims The extension of the data set.
156
157 @note Fields are always associated to certain coordinates system.
158 The field type must be consistent with its coordinate system,
159 e.g. one may not store a vector field in polar coordinates
160 in a cartesian chart. Formally, this can be done because not
161 all API functions have the ability to check for this consistency.
162 However, a field type which is not part of a certain coordinate
163 system will be treated as non-existent when reading the file
164 later.
165
166 @note If a field is a structure made by separate data arrays, e.g. a
167 vector field with components x,y,z stored as three arrays of floats,
168 then use function F5Lwrites().
169
170 @param enum_type The Atomic Field enumeration type that is associated with
171 the current file. Get it via F5LTmake_enum_type(fpath).
172*/
173F5_API hid_t F5Lwrite(hid_t R_id, const char*fieldname,
174 int dimension, const hsize_t*dims,
175 hid_t fieldtype, hid_t memtype, const void * dataPtr,
176 hid_t enum_type, hid_t property_id);
177
178
179/**\ingroup F5L
180 Write a contiguous compound data set as
181 separated compound data into the file, which involves
182 data transformation.
183
184 @return The ID of the group, i.e. Container_id -> name
185 */
186F5_API hid_t F5LwriteS(hid_t Container_id, const char*name, int dimension, const hsize_t*dims,
187 hid_t fieldtype, hid_t memtype, const void * dataPtr,
188 hid_t enum_type, hid_t dcpl_id);
189
190/**\ingroup F5L
191 Read a dataset stored as separated compound as a continiguous compound dataset,
192 involving some data transformation.
193 Internally, hyperslabs are used.
194 */
195F5_API int F5LreadS(hid_t Container_id, hid_t memtype, void * dataPtr,
196 hid_t ElementLoadID);
197
198
199/**\ingroup F5L
200 Write a dataset which only covers a fraction of the entire representation's domain.
201 @param dimension The dimension of the data set.
202 @param datastart The (multidimensional) start index of the saved data set.
203 @param dataend The (multidimensional) end index of the saved data set.
204 @param fraction_name An optional string to name this fraction.
205 It may be NULL to use an internal default.
206 @note Subsampling can not be specified here. Subsampled data need to go into another
207 Topology group.
208 @return A HDF5 \b dataset ID. The caller must issue H5Dclose() on the returned identifier.
209 */
210F5_API hid_t F5Lwrite_fraction(hid_t R_id, const char*fieldname,
211 int dimension, const hsize_t*full_dims,
212 const hsize_t*datasize,
213 hid_t fieldtype, hid_t memtype, const void * dataPtr,
214 const hsize_t*datastart,
215 const hsize_t*start_border, const hsize_t*end_border,
216 const char*fraction_name, hid_t enum_type, hid_t property_id);
217
218/**
219 Write a contiguious compound data set as
220 separated compound data into the file, which involves
221 data transformation.
222
223 Calls F5LwriteS().
224 */
225F5_API hid_t F5Lwrite_fractionS(hid_t R_id, const char*fieldname,
226 int dimension, const hsize_t*full_dims,
227 const hsize_t*datasize,
228 hid_t fieldtype, hid_t memtype, const void * dataPtr,
229 const hsize_t*datastart,
230 const hsize_t*start_border, const hsize_t*end_border,
231 const char*fraction_name, hid_t enum_type, hid_t property_id);
232
233
234F5_API hid_t F5Lwrite_fraction_external(hid_t R_id, const char*fieldname,
235
236 const char *target_file_name,
237 const char *target_obj_name,
238 const char *prefix,
239
240 int rank, const hsize_t*full_dims,
241 const hsize_t*datasize,
242 hid_t fieldtype, hid_t memtype, const void * dataPtr,
243 const hsize_t*datastart,
244 const hsize_t*start_border, const hsize_t*end_border,
245 const char*fraction_name,
246 hid_t enum_type, hid_t property_id);
247
248
249/**\ingroup F5L
250 Write a dataset of separate components that only cover a fraction of the entire
251 representation's domain.
252 @param dimension The dimension of the data set.
253 @param datastart The (multidimensional) start index of the saved data set.
254 @param dataend The (multidimensional) end index of the saved data set.
255 @param fraction_name An optional string to name this fraction.
256 It may be NULL to use an internal default.
257 @note Subsampling can not be specified here. Subsampled data need to go into another
258 Topology group.
259 @return A HDF5 \b dataset ID. The caller must issue H5Dclose() on the returned identifier.
260 */
261F5_API hid_t F5LSwrite_fraction(hid_t R_id, const char*fieldname,
262 int dimension, const hsize_t*full_dims,
263 const hsize_t*datasize,
264 hid_t fieldtype, hid_t memtype, const void *const* dataPtr,
265 const hsize_t*datastart,
266 const hsize_t*start_border, const hsize_t*end_border,
267 const char*fraction_name,
268 hid_t enum_type, hid_t property_id);
269
270
271
272/**\ingroup F5L
273 Convenience function for writing one-dimensional data. Calls F5Lwrite();
274 */
275F5_API hid_t F5Lwrite1D(hid_t R_id, const char*fieldname, hsize_t nElements,
276 hid_t fieldtype, hid_t memtype, const void * dataPtr,
277 hid_t enum_type, hid_t property_id);
278
279
280/**\ingroup F5L
281 Write a field that is a linear map from coordinate indices to some data value.
282 @todo Remove dimension parameter, it is clear from the fieldtype's members.
283 @param dims The extensions of an HDF5 dataspace.
284 @return A HDF5 \b group ID. The caller must issue H5Gclose() on the returned identifier.
285 */
286F5_API hid_t F5Lwrite_linear(hid_t R_id, const char*fieldname,
287 int dimension, const hsize_t*dataspace_dims,
288 hid_t fieldtype, const void * base, const void * delta);
289
290
291F5_API int F5Lis_linear(hid_t Rep_id, const char*fieldname);
292
293/**\ingroup F5L
294
295 Try to read a field as if it were a linear mapping of indices to some values.
296
297 @param dims The extensions of an HDF5 dataspace.
298
299 @return An HDF5 \b group ID. The caller must issue H5Gclose() on the returned identifier.
300
301 @todo Add error checkings if the used attributes do not exist.
302 */
303F5_API hid_t F5Lread_linear(hid_t F_id,
304 hsize_t*dims,
305 hid_t fieldtype,
306 void * base, void * delta);
307
308
309/**\ingroup F5L
310 Write a field that is a constant for all elements.
311 @return A HDF5 \b dataset ID. The caller must issue H5Dclose() on the returned identifier.
312 */
313F5_API hid_t F5Lwrite_entity(hid_t R_id, const char*fieldname,
314 hid_t fieldtype,
315 const void * value);
316
317
318
319/**\ingroup F5L
320 @param enum_type The Atomic Field enumeration type that is associated with
321 the current file. Get it via F5LTmake_enum_type(fpath).
322
323 @return A HDF5 \b group ID. The caller must issue H5Gclose() on the returned identifier.
324
325 @todo should be named F5DSwrite() instead
326*/
327F5_API hid_t F5Lwrites(hid_t F_id, const char*fieldname,
328 int dimension, const hsize_t*dims,
329 hid_t fieldtype, hid_t memtype,
330 const void *const*dataPtr,
331 hid_t enum_type,
332 hid_t property_id);
333
334/**
335 Write a field as an n-dimensional direct product, where each dimensional
336 extend is given as an explicit dataset or a polynom.
337 Used e.g. for as rectilinear coordinates, uniform coordinates or "stacked"
338 coordinates.
339 @param rank The rank n (dimensionality) of the dataset.
340 @param dims The extent (size) of the dataset in each dimension.
341 @param fieldtype The type of the dataset; it must be a compound type with n members.
342 @param memtype The type of the dataset how it resides in memory;
343 it must be a compound type with n members where the ith member
344 must be convertible to the field type's ith member.
345 @param polynom_order For each dimension, provides the order of the respective
346 polynom. If it is negative, then the respective coordinate
347 is interpreted as given explicitely by a dataset containing
348 each point and the extent is taken from the dims parameter.
349
350 @param property_id Data creation properties, may be F5P_DEFAULT.
351 @param ProcIDLocation Group ID where the enumeration type is stored in the file.
352
353 @note The component order of the field and memory type do not need to be identical,
354 i.e. the field type may be {x,y,z}, while the memory type specifies {z,y,x}.
355 The data are accessed in memory according to the memory type, but written
356 into the file in the order as specified by the field type.
357
358 */
359F5_API hid_t F5LwriteX(hid_t R_id, const char*fieldname,
360 int Mrank, const hsize_t dims[],
361 hid_t fieldtype, hid_t memtype,
362 const void *const dataPtr[], const int polynom_order[],
363 const int component_map[],
364 hid_t property_id, hid_t ProcIDLocation);
365
366#if 0 /* use hyperslabs instead? */
367/**\ingroup F5L
368 Write a field which is accessed via some index permutation.
369 In addition to the raw data values, also some index array needs
370 to be specified.
371 @param R_id An hdf5 identifier of the representation group in charge.
372 @param size The number of elements in the representation group.
373 @param permutation_indices A mapping from element indices to value indices.
374 @param nvalues How many data values are actually here.
375 @param fieldtype Hdf5 identifier of the data type.
376 @param dataPtr The data
377 @return A HDF5 \b group ID. The caller must issue H5Gclose() on the returned identifier.
378 \todo implement
379 \todo add structure function
380 \todo add possibility to share permutation index datasets
381 */
382F5_API hid_t F5Lwrite_permutation(hid_t R_id, const char*fieldname,
383 hsize_t size,
384 hsize_t*permutation_indices,
385 hsize_t nvalues,
386 hid_t fieldtype, const void * dataPtr);
387#endif
388
389/**\ingroup F5L
390 Retrieve type information for a specific field.
391*/
392F5_API hid_t F5Lget_type(hid_t Field_hid, int FieldIDisGroup, hid_t elink_fapl_id);
393
394
395/**@ingroup F5L
396 Retrieve dimensional and type information for a specific field.
397*/
398F5_API int F5Lget_field_dimension_and_type(hid_t Representation_hid,
399 const char*fieldname,
400 hsize_t dims[FIBER_MAX_RANK], hid_t*type_id);
401
402/**@ingroup F5L
403 Save dimensional information to a certain location.
404 @return 1 if successfull, 0 if some problem occurred during writing.
405 */
406F5_API int F5LAsave_dimensions(hid_t Field_id, const char*aname, int rank, const hsize_t*dims);
407
408/**@ingroup F5L
409 Read an n-dimensional attribute.
410 @param dims The n values, maximally FIBER_MAX_RANK
411 @return The actual rank.
412 */
413F5_API int F5LAget_dimensions(hid_t Field_id, const char*aname, hsize_t dims[FIBER_MAX_RANK]);
414
415/**@ingroup F5L
416 Save dimensional information to a certain location.
417 @return 1 if successfull, 0 if some problem occurred during writing.
418 */
419F5_API int F5Lset_space(hid_t Field_id, int rank, const hsize_t*dims);
420
421F5_API int F5Dset_type_attribute(hid_t F_id, hid_t fieldtype);
422
423
424/**
425 Get the dataspace of an F5 field.
426 The field id may be a group or a dataset ID.
427 If it has an dimensions attribute, then this one is
428 taken for dataspace information.
429 Otherwise, the dataspace of the dataset is used.
430 If it's not a dataset and does not have a dimension attribute,
431 then it's an error.
432*/
433F5_API hid_t F5Lget_space(hid_t Field_id);
434
435/**@ingroup F5L
436 Get the dataspace extension from a compound group.
437 */
438F5_API int F5Lget_compound_extent_dims(hid_t CompoundGroupID, hsize_t*dims);
439
440/**@ingroup F5L
441 Get the dataspace of a compound group.
442 */
443F5_API hid_t F5Lget_compound_space(hid_t CompoundGroupID);
444
445#ifdef __cplusplus
446} /* extern "C" */
447
448#ifdef F5_CPLUSPLUS_XXXXXXXXXXXX
449
450namespace F5
451{
452
453template <int N, typename Trait>
454inline hid_t LwriteX(hid_t R_id, const char*fieldname,
455 const Extent<N, hsize_t, Trait>&dims,
456 hid_t fieldtype, hid_t memtype,
457 const Extent<N, const void*, Trait>&dataPtr,
458 const Extent<N, int, Trait>&polynom_order,
459 hid_t property_id = F5P_DEFAULT)
460{
461 return F5LwriteX(R_id, fieldname, N, dims.data,
462 fieldtype, memtype,
463 dataPtr.data, polynom_order.data,
464 property_id);
465
466}
467
468template <int N, typename Trait>
469inline hid_t LwriteX(hid_t R_id, const char*fieldname,
470 const Extent<N, hsize_t, Trait>&dims,
471 hid_t fieldtype,
472 const Extent<N, const void*, Trait>&dataPtr,
473 const Extent<N, int, Trait>&polynom_order,
474 hid_t property_id = F5P_DEFAULT)
475{
476 return F5LwriteX(R_id, fieldname, N, dims.data,
477 fieldtype, 0,
478 dataPtr.data, polynom_order.data,
479 property_id = F5P_DEFAULT);
480
481}
482
483template <typename T, typename value>
484inline T evalPolynom(const value&v, const T*data, int n)
485{
486 if (n==0) return 0;
487 if (n==1) return T[0];
488 if (n==1) return T[0] + v*T[1];
489 return T[0] + v*evalPolynom(v, data+1, n-1);
490}
491
492
493} /* namespace F5 */
494
495#endif /* F5_CPLUSPLUS */
496
497#endif
498
499#endif /* __F5Lield_H */
hid_t F5LwriteX(hid_t R_id, const char *fieldname, int rank, const hsize_t *dims, hid_t fieldtype, hid_t memtype, const void *const *dataPtr, const int *polynom_order, const int component_map[], hid_t property_id, hid_t ProcIDLocation)
Definition F5L.c:1202
#define F5P_DEFAULT
Definition F5L.h:20
F5_API int F5Lis_linear(hid_t Rep_id, const char *fieldname)
Definition F5L.c:985
F5_API hid_t F5Lwrite_fractionS(hid_t R_id, const char *fieldname, int dimension, const hsize_t *full_dims, const hsize_t *datasize, hid_t fieldtype, hid_t memtype, const void *dataPtr, const hsize_t *datastart, const hsize_t *start_border, const hsize_t *end_border, const char *fraction_name, hid_t enum_type, hid_t property_id)
Definition F5L.c:691
F5_API hid_t F5Lwrite_fraction_external(hid_t R_id, const char *fieldname, const char *target_file_name, const char *target_obj_name, const char *prefix, int rank, const hsize_t *full_dims, const hsize_t *datasize, hid_t fieldtype, hid_t memtype, const void *dataPtr, const hsize_t *datastart, const hsize_t *start_border, const hsize_t *end_border, const char *fraction_name, hid_t enum_type, hid_t property_id)
Definition F5L.c:738
F5_API int F5Dset_type_attribute(hid_t F_id, hid_t fieldtype)
Definition F5L.c:1052
F5_API hid_t F5LwriteX(hid_t R_id, const char *fieldname, int Mrank, const hsize_t dims[], hid_t fieldtype, hid_t memtype, const void *const dataPtr[], const int polynom_order[], const int component_map[], hid_t property_id, hid_t ProcIDLocation)
F5_API hid_t F5Lget_space(hid_t Field_id)
Definition F5L.c:250
name
Definition F5P.c:82
void TopologyName(char *name, int nlength, const hsize_t *level, int Centering, int dims)
Definition F5R.c:300
#define F5_API
Definition F5WinDLLApi.h:11
#define FIBER_MAX_RANK
Definition F5defs.h:105
F5_API hid_t F5Lread_linear(hid_t F_id, hsize_t *dims, hid_t fieldtype, void *base, void *delta)
Definition F5L.c:911
F5_API int F5LAsave_dimensions(hid_t Field_id, const char *aname, int rank, const hsize_t *dims)
Definition F5A.c:192
F5_API hid_t F5Lcreate(hid_t R_id, const char *fieldname, int dimension, const hsize_t *dims, hid_t fieldtype, hid_t property_id)
Definition F5L.c:60
F5_API int F5LTset_maximal_grid_refinement(hid_t ContentsGroup_id, const char *gridname, int IndexDepth, int Dimensionality, const hsize_t *refinement)
Definition F5LT.c:240
F5_API hid_t F5Lwrite(hid_t R_id, const char *fieldname, int dimension, const hsize_t *dims, hid_t fieldtype, hid_t memtype, const void *dataPtr, hid_t enum_type, hid_t property_id)
Definition F5L.c:357
F5_API int F5Lset_space(hid_t Field_id, int rank, const hsize_t *dims)
Definition F5L.c:292
F5_API int F5Lget_compound_extent_dims(hid_t CompoundGroupID, hsize_t *dims)
Definition F5L.c:302
F5_API int F5LAget_dimensions(hid_t Field_id, const char *aname, hsize_t dims[FIBER_MAX_RANK])
Definition F5A.c:233
F5_API hid_t F5Lwrite_fraction(hid_t R_id, const char *fieldname, int dimension, const hsize_t *full_dims, const hsize_t *datasize, hid_t fieldtype, hid_t memtype, const void *dataPtr, const hsize_t *datastart, const hsize_t *start_border, const hsize_t *end_border, const char *fraction_name, hid_t enum_type, hid_t property_id)
Definition F5L.c:631
F5_API hid_t F5LwriteS(hid_t Container_id, const char *name, int dimension, const hsize_t *dims, hid_t fieldtype, hid_t memtype, const void *dataPtr, hid_t enum_type, hid_t dcpl_id)
Definition F5L.c:418
F5_API int F5LreadS(hid_t Container_id, hid_t memtype, void *dataPtr, hid_t ElementLoadID)
Definition F5L.c:552
F5_API int F5LTget_maximal_skeleton_refinement(hid_t ContentsGroup_id, const char *gridname, hsize_t *refinement, int IndexDepth, int Dimensionality)
Definition F5LT.c:211
F5_API hid_t F5Lwrites(hid_t F_id, const char *fieldname, int dimension, const hsize_t *dims, hid_t fieldtype, hid_t memtype, const void *const *dataPtr, hid_t enum_type, hid_t property_id)
Definition F5L.c:1096
F5_API hid_t F5Lwrite_entity(hid_t R_id, const char *fieldname, hid_t fieldtype, const void *value)
Definition F5L.c:1029
F5_API hid_t F5Lget_compound_space(hid_t CompoundGroupID)
Definition F5L.c:327
F5_API hid_t F5Lwrite_linear(hid_t R_id, const char *fieldname, int dimension, const hsize_t *dataspace_dims, hid_t fieldtype, const void *base, const void *delta)
Definition F5L.c:852
F5_API hid_t F5LSwrite_fraction(hid_t R_id, const char *fieldname, int dimension, const hsize_t *full_dims, const hsize_t *datasize, hid_t fieldtype, hid_t memtype, const void *const *dataPtr, const hsize_t *datastart, const hsize_t *start_border, const hsize_t *end_border, const char *fraction_name, hid_t enum_type, hid_t property_id)
Definition F5L.c:793
F5_API hid_t F5LTcreate_topology(hid_t Grid_hid, const char *TopologyName, int IndexDepth, int SkeletonDimensionality, int DataspaceDimensionality, const hsize_t *refinement)
Definition F5LT.c:329
F5_API int F5Lget_field_dimension_and_type(hid_t Representation_hid, const char *fieldname, hsize_t dims[FIBER_MAX_RANK], hid_t *type_id)
Definition F5uniform.c:449
F5_API int F5LTget_index_depth(hid_t Top_hid)
Definition F5LT.c:21
F5_API int F5LTget_maximal_grid_refinement(hid_t ContentsGroup_id, const char *gridname, hsize_t *refinement)
Definition F5LT.c:192
F5_API hid_t F5Lget_type(hid_t Field_hid, int FieldIDisGroup, hid_t elink_fapl_id)
Definition F5L.c:173
F5_API hid_t F5Lwrite1D(hid_t R_id, const char *fieldname, hsize_t nElements, hid_t fieldtype, hid_t memtype, const void *dataPtr, hid_t enum_type, hid_t property_id)
Definition F5L.c:408