FiberBundleHDF5  FiberHDF5 Documentation, Revision 2026
High-Performance Fiber Bundle Data Model for Scientific Visualization
Loading...
Searching...
No Matches
F5coordinates.c File Reference
#include "F5Bchart.h"
#include "F5defs.h"
#include "F5coordinates.h"

Go to the source code of this file.

Macros

#define STANDARD_CHART(what)

Functions

hid_t F5T_IntegerFraction32 ()
hid_t F5T_IntegerFraction64 ()
ChartDomain_IDsF5B_new_global_cartesian_chart4D ()
ChartDomain_IDsF5B_new_global_polar_chart4D ()
ChartDomain_IDsF5B_new_integer_regular_domain3D ()
ChartDomain_IDsF5B_new_rational_regular_domain3D ()
ChartDomain_IDsF5B_new_global_cartesian_chart3D ()
ChartDomain_IDsF5B_new_global_triangle_cells_ijk ()
ChartDomain_IDsF5B_new_global_triangle_cells ()
ChartDomain_IDsF5B_new_global_edge_cells ()
ChartDomain_IDsF5B_new_global_quad_cells ()
ChartDomain_IDsold_F5B_new_global_tetrahedral_cells ()
ChartDomain_IDsF5B_new_global_tetrahedral_cells ()
ChartDomain_IDsF5B_new_global_hexahedral_cells ()
ChartDomain_IDsF5B_new_global_fragment_neighbour_domain (const char *coordnames[], int dimension, const char *name, const int perm_vector[], int cell_dimensionality)
ChartDomain_IDsF5B_new_global_fragname ()
ChartDomain_IDsF5B_standard_cartesian_chart3D ()
ChartDomain_IDsF5B_new_global_polar_chart3D ()
ChartDomain_IDsF5B_new_global_cylindrical_chart3D ()
ChartDomain_IDsF5B_new_global_texture_chart3D ()
ChartDomain_IDsF5B_new_global_t_polar2_chart3D ()
ChartDomain_IDsF5B_new_global_cartesian_chart2D ()
ChartDomain_IDsF5B_new_global_polar_chart2D ()
ChartDomain_IDsF5B_new_global_spherical_chart2D ()
ChartDomain_IDsF5B_new_global_axial_chart2D ()
ChartDomain_IDsF5B_new_global_cartesian_chart1D ()
ChartDomain_IDsF5B_new_global_spherical_chart1D ()
ChartDomain_IDsF5B_new_global_time_chart1D ()
ChartDomain_IDsF5B_new_global_texture_chart2D ()
ChartDomain_IDsF5B_standard_texture_chart2D ()
ChartDomain_IDsF5B_new_global_color_chart_rgba_real ()
ChartDomain_IDsF5B_new_global_color_chart_rgba_int ()
void F5Bcoordinate_cleanup ()

Macro Definition Documentation

◆ STANDARD_CHART

#define STANDARD_CHART ( what)
Value:
ChartDomain_IDs*F5B_standard_##what() \
{ \
static ChartDomain_IDs*myChart = 0; \
\
if (!myChart) \
myChart = F5B_new_global_##what(); \
\
return myChart; \
}

Definition at line 31 of file F5coordinates.c.

31#define STANDARD_CHART(what) \
32ChartDomain_IDs*F5B_standard_##what() \
33{ \
34static ChartDomain_IDs*myChart = 0; \
35 \
36 if (!myChart) \
37 myChart = F5B_new_global_##what(); \
38 \
39 return myChart; \
40}

Function Documentation

◆ F5B_new_global_axial_chart2D()

ChartDomain_IDs * F5B_new_global_axial_chart2D ( )

Definition at line 216 of file F5coordinates.c.

217{
218const char*coordnames[] = {"r", "theta" };
219 return F5B_new_global_float_chart(coordnames, 2, "Axial 2D", F5_FORTRAN_ORDER);
220}
ChartDomain_IDs * F5B_new_global_float_chart(const char *coordnames[], int dimension, const char *name, const int perm_vector[FIBER_MAX_RANK])
Definition F5Bchart.c:496
#define F5_FORTRAN_ORDER
Definition F5Bchart.h:267

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_cartesian_chart1D()

ChartDomain_IDs * F5B_new_global_cartesian_chart1D ( )

Definition at line 223 of file F5coordinates.c.

224{
225const char*coordnames[] = {"x"};
226 return F5B_new_global_float_chart(coordnames, 1, "Cartesian 1D", F5_FORTRAN_ORDER);
227}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_cartesian_chart2D()

ChartDomain_IDs * F5B_new_global_cartesian_chart2D ( )

Definition at line 198 of file F5coordinates.c.

199{
200const char*coordnames[] = {"x", "y" };
201 return F5B_new_global_float_chart(coordnames, 2, "Cartesian 2D", F5_FORTRAN_ORDER);
202}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_cartesian_chart4D()

ChartDomain_IDs * F5B_new_global_cartesian_chart4D ( )

Definition at line 58 of file F5coordinates.c.

59{
60const char*coordnames[] = { "t", "x", "y", "z" };
61 return F5B_new_global_float_chart(coordnames, 4, "Cartesian 4D", F5_FORTRAN_ORDER);
62}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_color_chart_rgba_int()

ChartDomain_IDs * F5B_new_global_color_chart_rgba_int ( )

Definition at line 265 of file F5coordinates.c.

266{
267const char*coordnames[] = {"r", "g", "b", "a" };
268 return F5B_new_global_int_chart(coordnames, 4, "RGBA", F5_FORTRAN_ORDER);
269}
ChartDomain_IDs * F5B_new_global_int_chart(const char *coordnames[], int dimension, const char *name, const int perm_vector[FIBER_MAX_RANK])
Definition F5Bchart.c:514

References F5_FORTRAN_ORDER, and F5B_new_global_int_chart().

◆ F5B_new_global_color_chart_rgba_real()

ChartDomain_IDs * F5B_new_global_color_chart_rgba_real ( )

Definition at line 259 of file F5coordinates.c.

260{
261const char*coordnames[] = {"r", "g", "b", "a" };
262 return F5B_new_global_float_chart(coordnames, 4, "RGBA", F5_FORTRAN_ORDER);
263}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_cylindrical_chart3D()

ChartDomain_IDs * F5B_new_global_cylindrical_chart3D ( )

Definition at line 177 of file F5coordinates.c.

178{
179const char*coordnames[] = {"r", "phi", "z"};
180 return F5B_new_global_float_chart(coordnames, 3, "Cylindrical 3D", F5_FORTRAN_ORDER);
181}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_edge_cells()

ChartDomain_IDs * F5B_new_global_edge_cells ( )

Definition at line 107 of file F5coordinates.c.

108{
109const char*coordnames[] = {"i", "j" };
111}
ChartDomain_IDs * F5B_new_global_int_domain(const char *coordnames[], int dimension, const char *name, const int perm_vector[FIBER_MAX_RANK], int cell_dimensionality)
Definition F5Bchart.c:529
#define F5_EDGE_CELL_DOMAIN

References F5_EDGE_CELL_DOMAIN, F5_FORTRAN_ORDER, F5B_new_global_edge_cells(), and F5B_new_global_int_domain().

Referenced by F5B_new_global_edge_cells(), and F5Rcreate_edges_as_vertices_topology().

◆ F5B_new_global_fragment_neighbour_domain()

ChartDomain_IDs * F5B_new_global_fragment_neighbour_domain ( const char * coordnames[],
int dimension,
const char * name,
const int perm_vector[],
int cell_dimensionality )
extern

Definition at line 551 of file F5Bchart.c.

556{
558 dimension,
559 name,
560 perm_vector,
561 cell_dimensionality,
562 H5T_NATIVE_CHAR,
563 H5T_NATIVE_CHAR);
564/*
565 F5Bchart_add_tangential_types(&IDs->SinglePrecision, coordnames, dimension, H5T_NATIVE_INT32);
566 F5Bchart_add_tangential_types(&IDs->DoublePrecision, coordnames, dimension, H5T_NATIVE_INT64);
567*/
568 return IDs;
569}
ChartDomain_IDs * F5B_new_global_domain(const char *coordnames[], int dimension, const char *name, const int perm_vector[], int cell_dimensionality, hid_t SinglePrecisionType, hid_t DoublePrecisionType)
Definition F5Bchart.c:212
name
Definition F5P.c:82

References F5B_new_global_domain(), and name.

Referenced by F5B_new_global_fragname().

◆ F5B_new_global_fragname()

ChartDomain_IDs * F5B_new_global_fragname ( )

Definition at line 152 of file F5coordinates.c.

153{
154static const char*coordnames[] = { "a", "b", "c", "d", "e", "f", "g", "h" };
156}
ChartDomain_IDs * F5B_new_global_fragment_neighbour_domain(const char *coordnames[], int dimension, const char *name, const int perm_vector[], int cell_dimensionality)
Definition F5Bchart.c:551
#define F5_FRAGMENT_NEIGHBOUR_CELL_DOMAIN

References F5_FORTRAN_ORDER, F5_FRAGMENT_NEIGHBOUR_CELL_DOMAIN, and F5B_new_global_fragment_neighbour_domain().

◆ F5B_new_global_hexahedral_cells()

ChartDomain_IDs * F5B_new_global_hexahedral_cells ( )

Definition at line 139 of file F5coordinates.c.

140{
141static const char*coordnames[8] = { "iii","iij","iji","ijj","jii","jij","jji","jjj" };
143}
#define F5_HEXAHEDRON_CELL_DOMAIN

References F5_FORTRAN_ORDER, F5_HEXAHEDRON_CELL_DOMAIN, F5B_new_global_hexahedral_cells(), and F5B_new_global_int_domain().

Referenced by F5B_new_global_hexahedral_cells(), and F5Rcreate_hexaedrons_as_vertices_topology().

◆ F5B_new_global_polar_chart2D()

ChartDomain_IDs * F5B_new_global_polar_chart2D ( )

Definition at line 204 of file F5coordinates.c.

205{
206const char*coordnames[] = {"r", "phi" };
207 return F5B_new_global_float_chart(coordnames, 2, "Polar 2D", F5_FORTRAN_ORDER);
208}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_polar_chart3D()

ChartDomain_IDs * F5B_new_global_polar_chart3D ( )

Definition at line 171 of file F5coordinates.c.

172{
173const char*coordnames[] = {"r", "theta", "phi" };
174 return F5B_new_global_float_chart(coordnames, 3, "Polar 3D", F5_FORTRAN_ORDER);
175}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_polar_chart4D()

ChartDomain_IDs * F5B_new_global_polar_chart4D ( )

Definition at line 64 of file F5coordinates.c.

65{
66const char*coordnames[] = { "t", "r", "theta", "phi" };
67 return F5B_new_global_float_chart(coordnames, 4, "Polar 4D", F5_FORTRAN_ORDER);
68}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_quad_cells()

ChartDomain_IDs * F5B_new_global_quad_cells ( )

Definition at line 116 of file F5coordinates.c.

117{
118/*const char*coordnames[4] = {"i00", "i01", "i11", "i10" };*/
119const char*coordnames[4] = { "ii","ij","ji","jj"};
121}
#define F5_QUAD_CELL_DOMAIN

References F5_FORTRAN_ORDER, F5_QUAD_CELL_DOMAIN, F5B_new_global_int_domain(), and F5B_new_global_quad_cells().

Referenced by F5B_new_global_quad_cells().

◆ F5B_new_global_spherical_chart1D()

ChartDomain_IDs * F5B_new_global_spherical_chart1D ( )

Definition at line 229 of file F5coordinates.c.

230{
231const char*coordnames[] = {"phi"};
232 return F5B_new_global_float_chart(coordnames, 1, "Spherical 1D", F5_FORTRAN_ORDER);
233}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_spherical_chart2D()

ChartDomain_IDs * F5B_new_global_spherical_chart2D ( )

Definition at line 210 of file F5coordinates.c.

211{
212const char*coordnames[] = {"phi", "theta" };
213 return F5B_new_global_float_chart(coordnames, 2, "Spherical 2D", F5_FORTRAN_ORDER);
214}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_t_polar2_chart3D()

ChartDomain_IDs * F5B_new_global_t_polar2_chart3D ( )

Definition at line 190 of file F5coordinates.c.

191{
192const char*coordnames[] = {"t", "r", "phi" };
193 return F5B_new_global_float_chart(coordnames, 3, "Time Polar 2D", F5_FORTRAN_ORDER);
194}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_tetrahedral_cells()

ChartDomain_IDs * F5B_new_global_tetrahedral_cells ( )

Definition at line 131 of file F5coordinates.c.

132{
133const char*coordnames[4] = { "iii", "iij", "ijj", "jjj" };
135}
#define F5_TETRAHEDRON_CELL_DOMAIN

References F5_FORTRAN_ORDER, F5_TETRAHEDRON_CELL_DOMAIN, and F5B_new_global_int_domain().

Referenced by F5Rcreate_tetrahedrons_as_vertices_topology().

◆ F5B_new_global_texture_chart2D()

ChartDomain_IDs * F5B_new_global_texture_chart2D ( )

Definition at line 242 of file F5coordinates.c.

243{
244const char*coordnames[] = {"u", "v" };
245 return F5B_new_global_float_chart(coordnames, 2, "Texture 2D", F5_FORTRAN_ORDER);
246}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

Referenced by F5B_standard_texture_chart2D().

◆ F5B_new_global_texture_chart3D()

ChartDomain_IDs * F5B_new_global_texture_chart3D ( )

Definition at line 184 of file F5coordinates.c.

185{
186const char*coordnames[] = {"u", "v", "w" };
187 return F5B_new_global_float_chart(coordnames, 3, "Texture 3D", F5_FORTRAN_ORDER);
188}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_time_chart1D()

ChartDomain_IDs * F5B_new_global_time_chart1D ( )

Definition at line 235 of file F5coordinates.c.

236{
237const char*coordnames[] = {"t"};
238 return F5B_new_global_float_chart(coordnames, 1, "Time 1D", F5_FORTRAN_ORDER);
239}

References F5_FORTRAN_ORDER, and F5B_new_global_float_chart().

◆ F5B_new_global_triangle_cells()

ChartDomain_IDs * F5B_new_global_triangle_cells ( )

Definition at line 99 of file F5coordinates.c.

100{
101const char*coordnames[] = {"ii","ij","jj"};
103}
#define F5_TRIANGLE_CELL_DOMAIN

References F5_FORTRAN_ORDER, F5_TRIANGLE_CELL_DOMAIN, F5B_new_global_int_domain(), and F5B_new_global_triangle_cells().

Referenced by F5B_new_global_triangle_cells(), and F5Rcreate_triangles_as_vertices_topology().

◆ F5B_new_global_triangle_cells_ijk()

ChartDomain_IDs * F5B_new_global_triangle_cells_ijk ( )

Definition at line 92 of file F5coordinates.c.

93{
94const char*coordnames[] = {"i", "j", "k" };
96}

References F5_FORTRAN_ORDER, F5_TRIANGLE_CELL_DOMAIN, and F5B_new_global_int_domain().

◆ F5B_standard_texture_chart2D()

ChartDomain_IDs * F5B_standard_texture_chart2D ( )

Standard chart for texture coordinates

Examples
ObjtoF5.c.

Definition at line 250 of file F5coordinates.c.

251{
252 if (!standard_texture_chart2D)
253 standard_texture_chart2D = F5B_new_global_texture_chart2D();
254
255 return standard_texture_chart2D;
256}
ChartDomain_IDs * F5B_new_global_texture_chart2D()

References F5B_new_global_texture_chart2D().

◆ F5Bcoordinate_cleanup()

void F5Bcoordinate_cleanup ( )

Definition at line 274 of file F5coordinates.c.

275{
276 F5B_delete_global_chart(standard_cartesian_chart3D);
277 F5B_delete_global_chart(standard_texture_chart2D);
278}
void F5B_delete_global_chart(ChartDomain_IDs *ID)
Definition F5Bchart.c:632

References F5B_delete_global_chart().

◆ F5T_IntegerFraction32()

hid_t F5T_IntegerFraction32 ( )

Definition at line 5 of file F5coordinates.c.

6{
7static hid_t IF_id = -1;
8
9 if (IF_id<0)
10 {
11 IF_id = H5Tcreate(H5T_COMPOUND, sizeof(IntegerFraction32) );
12 H5Tinsert(IF_id, "num" , 0, H5T_NATIVE_INT32);
13 H5Tinsert(IF_id, "denom", sizeof(F5_uint32_t), H5T_NATIVE_INT32);
14 }
15 return IF_id;
16}
uint32_t F5_uint32_t
Definition F5types.h:21

◆ F5T_IntegerFraction64()

hid_t F5T_IntegerFraction64 ( )

Definition at line 18 of file F5coordinates.c.

19{
20static hid_t IF_id = -1;
21
22 if (IF_id<0)
23 {
24 IF_id = H5Tcreate(H5T_COMPOUND, sizeof(IntegerFraction64) );
25 H5Tinsert(IF_id, "num" , 0, H5T_NATIVE_INT64);
26 H5Tinsert(IF_id, "denom", sizeof(F5_uint64_t), H5T_NATIVE_INT64);
27 }
28 return IF_id;
29}
uint64_t F5_uint64_t
Definition F5types.h:22

◆ old_F5B_new_global_tetrahedral_cells()

ChartDomain_IDs * old_F5B_new_global_tetrahedral_cells ( )

Definition at line 124 of file F5coordinates.c.

125{
126const char*coordnames[4] = {"i0", "i01", "i10", "i11" };
128}

References F5_FORTRAN_ORDER, F5_TETRAHEDRON_CELL_DOMAIN, F5B_new_global_int_domain(), and old_F5B_new_global_tetrahedral_cells().

Referenced by old_F5B_new_global_tetrahedral_cells().