FiberBundleHDF5  FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
Loading...
Searching...
No Matches
F5particles.h
Go to the documentation of this file.
1#ifndef __F5particles_H
2#define __F5particles_H
3
4#include "F5coordinates.h"
5#include "F5F.h"
6#include "F5WinDLLApi.h"
7
8#ifdef __cplusplus
9extern "C"
10{
11#endif
12
13/**\defgroup particles Particle Systems
14 */
15
16/** @{ */
17
18
19/**\ingroup particles
20 Write positions of some particles to the Fiber HDF5 file.
21
22 @param fileID Some HDF5 id corresponding to some already opened HDF5 file.
23 @param time The physical time for this data set.
24 @param name Some textual description of this particle set; should be simple
25 (avoid spaces, special characters and extensively long names).
26 It is used to identify surfaces over multiple timesteps,
27 so must be identical for subsequent calls on evolving surfaces.
28 @param Coords The cartesian coordinates of the points
29 @param nCoords How many points are there
30 @param coordinate_system The coordinate system.
31 May be NULL to refer to a standard chart.
32*/
33F5_API F5ErrorCode F5write_particle_positions(hid_t fileID, double time,
34 const char*name,
35 const F5_vec3_point_t*Coords, int nCoords,
36 const char*coordinate_system);
37
38/**\ingroup particles
39Write a bunch of data fields given on the same uniform cartesian grid.
40This variation of the uniform grid writer function uses a variable number
41of arguments list. Each field is defined by a triple of
42<PRE>
43 const char *fieldname
44 hid_t fieldtype
45 const void *dataPtr
46</PRE>
47If either the fieldname or the dataPtr are NULL, then the traversal of the
48argument is terminated.
49
50@param coordinate_system The coordinate system.
51 May be NULL to refer to a standard chart.
52
53@return The number of successfully written fields.
54 */
55F5_API int F5write_particle_cartesian3Dv(hid_t file_id, double time, const char*gridname,
56 const F5_vec3_point_t*Coords, int nCoords,
57 const char*coordinate_system,
58 ...);
59
60F5_API int F5write_particle_double_cartesian3Dv(hid_t File_id, double time, const char*gridname,
61 const F5_point3_double_t*Coords, int nCoords,
62 const char*coordinate_system,
63 ...);
64
65F5_API int F5write_particle_cartesian3DvU(hid_t File_id, double time, const char*gridname,
66 const F5_vec3_point_t*Coords, const char*CoordUnit, int nCoords,
67 const char*coordinate_system,
68 ...);
69
70 /**\ingroup particles
71 Write particle field with data given on each element.
72 \todo Implement
73 \todo use newer field interface
74 */
75F5_API void F5write_particle_positions_with_field_d(hid_t fileID, double time,
76 const char*name,
77 const F5_vec3_point_t*Coords, int nCoords,
78 const double*data);
79
80
81/**\ingroup particles
82 Write particle position in polar coordinates.
83 \todo Implement.
84 */
85F5_API void F5write_polar_particle_positions(hid_t fileID, double time,
86 const char*name,
87 const F5_polar_point3_float_t*Coords, int nCoords);
88
89/**\ingroup particles
90 Like F5write_particle_positions(), but particle positions are given in
91 separate memory arrays.
92 \todo Implement.
93 \note Naming convention is inspired by OpenGL
94 \todo use newer field interface
95 */
96F5_API void F5write_particle_positions3fv(hid_t fileID, double time,
97 const char*name,
98 const float*x, const float*y, const float*z,
99 int nCoords);
100
101
102/** @} */
103
104
105#ifdef __cplusplus
106} /* extern "C" */
107#endif
108
109#endif /* __F5particles_H */
110
enum F5ErrorCode_type F5ErrorCode
Definition F5F.h:267
name
Definition F5P.c:82
#define F5_API
Definition F5WinDLLApi.h:11
F5_point3f_t F5_vec3_point_t
F5_API void F5write_polar_particle_positions(hid_t fileID, double time, const char *name, const F5_polar_point3_float_t *Coords, int nCoords)
F5_API F5ErrorCode F5write_particle_positions(hid_t fileID, double time, const char *name, const F5_vec3_point_t *Coords, int nCoords, const char *coordinate_system)
Definition F5particles.c:16
F5_API void F5write_particle_positions3fv(hid_t fileID, double time, const char *name, const float *x, const float *y, const float *z, int nCoords)
F5_API void F5write_particle_positions_with_field_d(hid_t fileID, double time, const char *name, const F5_vec3_point_t *Coords, int nCoords, const double *data)
F5_API int F5write_particle_cartesian3Dv(hid_t file_id, double time, const char *gridname, const F5_vec3_point_t *Coords, int nCoords, const char *coordinate_system,...)
Definition F5particles.c:38
F5_API int F5write_particle_cartesian3DvU(hid_t File_id, double time, const char *gridname, const F5_vec3_point_t *Coords, const char *CoordUnit, int nCoords, const char *coordinate_system,...)
F5_API int F5write_particle_double_cartesian3Dv(hid_t File_id, double time, const char *gridname, const F5_point3_double_t *Coords, int nCoords, const char *coordinate_system,...)