FiberBundleHDF5  FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
Loading...
Searching...
No Matches
F5Fmeta.h
Go to the documentation of this file.
1/*
2//
3// $Id: F5Fmeta.h, 2013/12/10 10:14 marcel $
4//
5*/
6
7#ifndef __F5F_META_H
8#define __F5F_META_H
9
10#include "F5L.h"
11#include "F5Bchart.h"
12#include "F5Path.h"
13
14#ifdef __cplusplus
15extern "C"
16{
17#endif
18
19F5_API int F5Fopen_group_or_dataset( F5Path*f, const char* name, hid_t*gid, hid_t*did );
20
21F5_DEPRECATED("Function is conflicting with F5F API", F5_API int F5Fopen_group_or_dataset_attribute( F5Path*f, const char* attribute_name, hid_t gid, hid_t did, hsize_t N, hid_t*attr_id, hid_t*space_id ); )
22
23F5_API int F5Fopen_or_create_group_or_dataset_attribute( F5Path*f, const char* attribute_name, hid_t gid, hid_t did, hsize_t N, hid_t type_id, int force, hid_t*space_id, hid_t*attr_id );
24
25F5_DEPRECATED( "Function does not provide benefits over raw HDF5 call", F5_API int F5Fread_attr_data( void*data, hsize_t N, hid_t type_id, hid_t attr_id, const char*attribute_name ) );
26F5_DEPRECATED( "Function does not provide benefits over raw HDF5 call", F5_API int F5Fwrite_attr_data( const void*data, hsize_t N, hid_t type_id, hid_t attr_id, const char*attribute_name ) );
27
28
29/**
30 Helper function.
31 Retrieve an attribute of 2 values (e.g. 2 float, 2 doubles, 2 ints, 2 F5_vec3_float_t ... ) from a fragment.
32 @return: 1 in case of error, 0 otherwise.
33*/
34F5_API int F5Fget_attribute( F5Path*f, const char*attribute_name,
35 void*data, hsize_t N, hid_t mem_type_id );
36
37F5_API int F5Fset_attribute( F5Path*f, const char*attribute_name,
38 const void*data, hsize_t N, hid_t mem_type_id, int force );
39
40F5_API int F5Fget_fragment_attribute( F5Path*f, const char*fragment_name, const char*attribute_name,
41 void*data, hsize_t N, hid_t mem_type_id );
42
43F5_API int F5Fset_fragment_attribute( F5Path*f, const char*fragment_name, const char*attribute_name,
44 const void*data, hsize_t N, hid_t mem_type_id, int force );
45
46F5_API int F5Fset_string_attribute(F5Path*f, const char*fragment_name, const char* attribute_name, const char*text, int force );
47F5_API int F5Fget_string_attribute(F5Path*f, const char*fragment_name, const char* attribute_name, char**text );
48
49/**
50 * Test whether a field attribute exists or not
51 * @return 1 if exists, 0 otherwise
52 */
53F5_API int F5Fhas_attribute(F5Path*f, const char*attr_name);
54
55F5_API hssize_t F5Fget_attribute_nr_elements( F5Path*f, const char*fragment_name, const char*attribute_name );
56
57/**
58 * Test whether a field fragment attribute exists or not
59 * @return 1 if exists, 0 otherwise
60 */
61
62F5_API int F5Fhas_fragment_attribute(F5Path*f, const char*fragment_name, const char*attribute_name);
63
64
65F5_API int F5Fis_attribute_of_type(F5Path*f, const char*attribute_name, hid_t HDF5_type);
66F5_API int F5Fis_fragment_attribute_of_type(F5Path*f, const char*attribute_name, const char*fragment_name, hid_t HDF5_type);
67
68/*F5_API int F5Fset_range2(F5Path*f, const char*fragment_name, const void*minmax, unsigned force);*/
69
70
71/**
72 * Test if range attribute is of certain type
73 * @return 1 if matching, 0 otherwise
74 */
75F5_API int F5Fis_range_of_type(F5Path*f, const char*fragment_name, hid_t HDF5_type);
76
77
78/**
79 Field attribute (optional): Bounding box including the ghost zone.
80 */
81F5_API int F5Fget_fragment_range_ghost(F5Path*f, const char*fragment_name, void*minmax, void*minmax_ghost, hid_t mem_type_id );
82F5_API int F5Fget_fragment_range_ghost2(F5Path*f, const char*fragment_name, void*minmax_ghost );
83F5_API int F5Fset_fragment_range_ghost2(F5Path*f, const char*fragment_name, const void*minmax, const void*minmax_ghost, unsigned force );
84F5_API int F5Fset_fragment_range_ghost(F5Path*f, const char*fragment_name, const void*minmax, const void*minmax_ghost );
85
86
87/** If available a data-array icludes values of a ghost zone and the array is partitioned in two contiguous parts. The first part contains the values inside the fragment and has size size_real, the second part contains the value inside the ghost zone with size size_ghost.
88 */
89F5_API int F5Fget_fragment_ghost_size(F5Path*f, const char*fragment_name, unsigned long* size_real, unsigned long* size_ghost);
90F5_API int F5Fset_fragment_ghost_size(F5Path*f, const char*fragment_name, unsigned long size_real, unsigned long size_ghost, int force);
91
92
93/**
94 Field attribute (optional): The average value of a dataset.
95 */
96F5_API int F5Fget_average(F5Path*f, const char*fragment_name, void*avg);
97F5_API int F5Fset_average2(F5Path*f, const char*fragment_name,const void*avg, int force);
98F5_API int F5Fset_average(F5Path*f, const char*fragment_name,const void*avg);
99
100/**
101 Field attribute (optional): The standard deviation
102 of data values from a field's average value.
103 */
104F5_API int F5Fget_deviation(F5Path*f, const char*fragment_name, void*dev);
105F5_API int F5Fset_deviation2(F5Path*f, const char*fragment_name, const void*dev, int force);
106F5_API int F5Fset_deviation(F5Path*f, const char*fragment_name, const void*dev);
107
108/**
109 Field attribute (optional): The histogram of a scalar field.
110 */
111F5_API int F5Fget_histogram( F5Path*f, const char*fragment_name, unsigned long*histogram, hsize_t size);
112F5_API int F5Fset_histogram2( F5Path*f, const char*fragment_name, const unsigned long*his, hsize_t size, int force);
113F5_API int F5Fset_histogram( F5Path*f, const char*fragment_name, const unsigned long*his, hsize_t size);
114
115
116F5_API int F5Fset_original_type2( F5Path*f, const char*fragment_name, int force);
117
118/** Field attribute (optional): A dictionary of words and a stored as string attribute, along with a seperator
119 i.e. used for a field containing integer indeces into the dictionary (label-field)
120 The get function does not allocate the string buffers
121 */
122F5_API int F5Fset_dictionary2( F5Path*f, const char*fragment_name, const char*dictionary, const F5_uint16_t* words, int word_count, int force );
123F5_API int F5Fset_dictionary( F5Path*f, const char*fragment_name, const char*dictionary, const F5_uint16_t* words, int word_count, int force );
124
125 /** Dictionary string has to be passed by reference. Dynamic memory is reserved for the dictionary and must be released afterwards.
126 e.g. :
127 char* dict;
128 F5Fget_dictionary(f, NULL, &dict, .. );
129 free(dictionary)
130 */
131F5_API int F5Fget_dictionary( F5Path*f, const char*fragment_name, char**dictionary, F5_uint16_t*words, int word_count );
132
133
134
135/** Adds a string attribute to describe units to a data field.
136 The F5Path must contain a valid Field_hid identifier, which2
137 may be either a group or a dataset.
138 This function will set an attribute named F5_METRIC_UNIT_DESCRIPTION
139 to the given object, which can be an arbitrary string.
140
141 @note This unit description is only supposed to provide means
142 for human interpretation, not for defining units in a programmatic
143 way. Thus, the given string can be arbitrary,
144
145
146 @return -1 in case of error
147
148 @todo Make this function using a char* and length such that it
149 can be called directly from an c++ string and does not
150 require the string to be 0-terminated. This needs to be
151 supported in the function implementation as well.
152 */
153F5_API int F5Fset_metric_unit_description(F5Path*f, const char*unit);
154
155
156#ifdef __cplusplus
157} /* extern "C" */
158#endif
159
160#endif /* __F5F_META_H */
161
F5_API int F5Fopen_group_or_dataset_attribute(F5Path *f, const char *attribute_name, hid_t gid, hid_t did, hsize_t N, hid_t *attr_id, hid_t *space_id)
Definition F5Fmeta.c:59
F5_API int F5Fwrite_attr_data(const void *data, hsize_t N, hid_t type_id, hid_t attr_id, const char *attribute_name)
Definition F5Fmeta.c:171
F5_API int F5Fread_attr_data(void *data, hsize_t N, hid_t type_id, hid_t attr_id, const char *attribute_name)
Definition F5Fmeta.c:152
F5_API int F5Fopen_or_create_group_or_dataset_attribute(F5Path *f, const char *attribute_name, hid_t gid, hid_t did, hsize_t N, hid_t type_id, int force, hid_t *space_id, hid_t *attr_id)
Definition F5Fmeta.c:117
F5_API int F5Fset_dictionary(F5Path *f, const char *fragment_name, const char *dictionary, const F5_uint16_t *words, int word_count, int force)
Definition F5Fmeta.c:940
F5_API int F5Fopen_group_or_dataset(F5Path *f, const char *name, hid_t *gid, hid_t *did)
Definition F5Fmeta.c:26
F5_API int F5Fis_range_of_type(F5Path *f, const char *fragment_name, hid_t HDF5_type)
Definition F5Fmeta.c:602
F5_API int F5Fset_fragment_range_ghost2(F5Path *f, const char *fragment_name, const void *minmax, const void *minmax_ghost, unsigned force)
Definition F5Fmeta.c:514
F5_API int F5Fget_fragment_range_ghost(F5Path *f, const char *fragment_name, void *minmax, void *minmax_ghost, hid_t mem_type_id)
Definition F5Fmeta.c:533
F5_API int F5Fset_fragment_range_ghost(F5Path *f, const char *fragment_name, const void *minmax, const void *minmax_ghost)
Definition F5Fmeta.c:528
F5_API int F5Fset_dictionary2(F5Path *f, const char *fragment_name, const char *dictionary, const F5_uint16_t *words, int word_count, int force)
Definition F5Fmeta.c:915
F5_API int F5Fset_average2(F5Path *f, const char *fragment_name, const void *avg, int force)
Definition F5Fmeta.c:794
F5_API int F5Fget_dictionary(F5Path *f, const char *fragment_name, char **dictionary, F5_uint16_t *words, int word_count)
Definition F5Fmeta.c:945
F5_API int F5Fget_string_attribute(F5Path *f, const char *fragment_name, const char *attribute_name, char **text)
Definition F5Fmeta.c:425
F5_API int F5Fset_metric_unit_description(F5Path *f, const char *unit)
Definition F5Fmeta.c:967
F5_API int F5Fget_fragment_attribute(F5Path *f, const char *fragment_name, const char *attribute_name, void *data, hsize_t N, hid_t mem_type_id)
Definition F5Fmeta.c:267
F5_API int F5Fset_original_type2(F5Path *f, const char *fragment_name, int force)
Definition F5Fmeta.c:867
F5_API int F5Fget_histogram(F5Path *f, const char *fragment_name, unsigned long *histogram, hsize_t size)
Definition F5Fmeta.c:846
F5_API int F5Fset_histogram(F5Path *f, const char *fragment_name, const unsigned long *his, hsize_t size)
Definition F5Fmeta.c:862
F5_API int F5Fis_fragment_attribute_of_type(F5Path *f, const char *attribute_name, const char *fragment_name, hid_t HDF5_type)
Definition F5Fmeta.c:611
F5_API int F5Fset_average(F5Path *f, const char *fragment_name, const void *avg)
Definition F5Fmeta.c:808
F5_API int F5Fhas_fragment_attribute(F5Path *f, const char *fragment_name, const char *attribute_name)
Definition F5Fmeta.c:732
F5_API int F5Fset_deviation2(F5Path *f, const char *fragment_name, const void *dev, int force)
Definition F5Fmeta.c:826
F5_API int F5Fset_deviation(F5Path *f, const char *fragment_name, const void *dev)
Definition F5Fmeta.c:841
F5_API int F5Fset_string_attribute(F5Path *f, const char *fragment_name, const char *attribute_name, const char *text, int force)
Definition F5Fmeta.c:350
F5_API int F5Fget_deviation(F5Path *f, const char *fragment_name, void *dev)
Definition F5Fmeta.c:813
F5_API hssize_t F5Fget_attribute_nr_elements(F5Path *f, const char *fragment_name, const char *attribute_name)
Definition F5Fmeta.c:667
F5_API int F5Fget_attribute(F5Path *f, const char *attribute_name, void *data, hsize_t N, hid_t mem_type_id)
Definition F5Fmeta.c:191
F5_API int F5Fset_fragment_ghost_size(F5Path *f, const char *fragment_name, unsigned long size_real, unsigned long size_ghost, int force)
Definition F5Fmeta.c:568
F5_API int F5Fget_average(F5Path *f, const char *fragment_name, void *avg)
Definition F5Fmeta.c:781
F5_API int F5Fis_attribute_of_type(F5Path *f, const char *attribute_name, hid_t HDF5_type)
Definition F5Fmeta.c:577
F5_API int F5Fset_fragment_attribute(F5Path *f, const char *fragment_name, const char *attribute_name, const void *data, hsize_t N, hid_t mem_type_id, int force)
Definition F5Fmeta.c:300
F5_API int F5Fset_histogram2(F5Path *f, const char *fragment_name, const unsigned long *his, hsize_t size, int force)
Definition F5Fmeta.c:854
F5_API int F5Fget_fragment_ghost_size(F5Path *f, const char *fragment_name, unsigned long *size_real, unsigned long *size_ghost)
Definition F5Fmeta.c:554
F5_API int F5Fget_fragment_range_ghost2(F5Path *f, const char *fragment_name, void *minmax_ghost)
Definition F5Fmeta.c:545
F5_API int F5Fhas_attribute(F5Path *f, const char *attr_name)
Definition F5Fmeta.c:646
F5_API int F5Fset_attribute(F5Path *f, const char *attribute_name, const void *data, hsize_t N, hid_t mem_type_id, int force)
Definition F5Fmeta.c:216
name
Definition F5P.c:82
#define F5_API
Definition F5WinDLLApi.h:11
#define F5_DEPRECATED(message, func)
Definition F5defs.h:323
F5_int16_t F5_uint16_t
Definition F5types.h:20