FiberBundleHDF5  FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
Loading...
Searching...
No Matches
F5Path.h
Go to the documentation of this file.
1/*
2 *
3 * $Id: F5Path.h,v 1.7 2008/02/22 23:51:25 werner Exp $
4 *
5 */
6
7#ifndef __F5Path_H
8#define __F5Path_H
9
10#include "F5L.h"
11#include "F5Bchart.h"
12
13#ifdef __cplusplus
14extern "C"
15{
16#endif
17
18/**\defgroup F5F Field Operations
19 Interfacing data set creation/write routines using the F5Path structure.
20 Calls the low-level Field operation functions, but is designed for the
21 end-user.
22 */
23
24/**
25 Field identifiers.
26 This structure contains all HDF5 identifiers that describe a path
27 in an HDF5 file towards a field structure.
28 Each or all may be empty (null or negative) as well.
29*/
30typedef struct
31{
32 /** Chart domain ID's as they reside in memory */
34 /** Chart domain ID's as they are committed in the file */
36
37 char *field_info; /**< A textual description from F5contents.h */
38
39 /**
40 The field enum type for this file.
41 If none is defined here, then F5Ttransient_F5field_enum() is
42 to be used, but on first write access to a file then
43 F5Tsave_F5field_enum() is to be called.
44 This field type may also refer to a type loaded from a disc,
45 and may then contain versioning information about the field
46 descriptions within this file.
47 */
49
50 hid_t File_hid, /**< Reference to file ID */
51 ContentsGroup_hid, /**< The TableOfContents group ID */
52 Slice_hid, /**< HDF5 Slice Group (uppermost group) */
53 Grid_hid, /**< Grid ID */
54 GlobalChart_hid, /**< Global chart group */
55 Charts_hid, /**< Group of all charts per grid */
56 Chart_hid, /**< ID of currently used chart that is valid for the field */
57 Topology_hid, /**< ID of the grid's topological space (e.g. refinement level) */
58 Representation_hid, /**< Representation group ID (the group containing all datasets) */
59 Field_hid; /**< ID of the field (can be group or dataset ID) */
60
61}
62 F5Path;
63
64
65F5_API F5Path* newF5Path(hid_t File_id);
67
68/** \ingroup F5L
69 Low-level creation function for F5Path objects.
70 @param time Pointer to the time instance of the current parameter space slices, or NULL
71 if the data reside in a zero-dimensional parameter space, i.e. they are static.
72 In a future extension, this may be a point to a multidimensional structure
73 specifying the location in multidimensional parameter space.
74
75 @param SkeletonDimensionality The dimensionality of the k-cells that is described by this
76 Skeleton of a Grid.
77
78 @param DataspaceDimensionality The dimensionality of the data that is used for the data
79 on this Skeleton. This is best to be identical to the SkeletonDimensionality,
80 but may differ, for instance one can store data in one-dimensional arrays
81 over a 2D grid, or have some kind of irregular point distribution.
82 */
83F5_API F5Path* F5LTcreate(hid_t File_id, const double*time,
84 const char*gridname,
85 ChartDomain_IDs*ChartDomain,
86 new_global_chart_f coord_creator,
87 const char*coordinate_system,
88 const char*TopologyName,
89 int IndexDepth, int SkeletonDimensionality,
90 int DataspaceDimensionality,
91 const hsize_t*refinement);
92
93
94/**
95 Get the field enum type associated with this F5Path.
96 May be used to check versioning information of field
97 descriptions.
98 \TODO Retrieve versioning from existing file, current
99 implementation just writes.
100 */
101F5_API hid_t F5LTmake_enum_type(F5Path*fpath);
102
103
104#ifdef __cplusplus
105} /* extern "C" */
106#endif
107
108
109#endif /* __F5Path_H */
ChartDomain_IDs *(* new_global_chart_f)()
Definition F5Bchart.h:183
F5_API void deleteF5Path(F5Path *f)
Definition F5Path.c:18
F5_API hid_t F5LTmake_enum_type(F5Path *fpath)
Definition F5LT.c:179
F5_API F5Path * newF5Path(hid_t File_id)
Definition F5Path.c:5
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
F5_API F5Path * F5LTcreate(hid_t File_id, const double *time, const char *gridname, ChartDomain_IDs *ChartDomain, new_global_chart_f coord_creator, const char *coordinate_system, const char *TopologyName, int IndexDepth, int SkeletonDimensionality, int DataspaceDimensionality, const hsize_t *refinement)
hid_t GlobalChart_hid
Definition F5Path.h:54
hid_t Grid_hid
Definition F5Path.h:53
char * field_info
Definition F5Path.h:37
ChartDomain_IDs * FileIDs
Definition F5Path.h:35
hid_t field_enum_type_hid
Definition F5Path.h:48
hid_t Charts_hid
Definition F5Path.h:55
hid_t Representation_hid
Definition F5Path.h:58
hid_t ContentsGroup_hid
Definition F5Path.h:51
hid_t Slice_hid
Definition F5Path.h:52
hid_t Field_hid
Definition F5Path.h:59
hid_t Topology_hid
Definition F5Path.h:57
hid_t Chart_hid
Definition F5Path.h:56
ChartDomain_IDs * myChart
Definition F5Path.h:33
hid_t File_hid
Definition F5Path.h:50