Data Fields

ChartDomain_IDs Struct Reference

#include <F5Bchart.h>

Data Fields

const char * domain_name
unsigned refs
int perm_vector [FIBER_MAX_RANK]
int cell_dimensionality
F5_ChartPrecisionTypes QuaterPrecision
F5_ChartPrecisionTypes HalfPrecision
F5_ChartPrecisionTypes SinglePrecision
F5_ChartPrecisionTypes DoublePrecision
F5Ttensor_t ** TensorTypes

Detailed Description

Description of a class of coordinate systems, i.e. coordinate system that are allowed to share their positional types.

Field Documentation

name for this class of coordinate systems (e.g. cartesian 3D, polar 2D, ...)

int ChartDomain_IDs::perm_vector[FIBER_MAX_RANK]

Each type of coordinate system is associated with a certain ordering of multidimensional data. This is the place to specify whether FORTRAN or C order is used for multidimensional arrays.

The predefined F5 coordinate systems use FORTRAN order for compatibility with
  • numerical simulation programs, which are mostly written in FORTRAN
  • OpenGL, where the lowest dimension (x) runs fastest
  • the Amira visualization system
  • the canonical indexing of images, where the lowest dimension x runs faster than y This convention is reversed as compared to a native definition of a matrix using C arrays of the form
    		 float	matrix[X][Y];
    Here, the dimension Y would run faster in memory than X. If data are stored in this layout (C order), they have to be put into another coordinate system within the context of F5. Different indexing layouts can be mapped onto each other like a coordinate transformation rule. Such a mapping might be straightforward, but involves some computation (which is similar to true coordinate transformations).

reference counter

Array of pointers to tensor type descriptions. Terminated by NULL pointer;

The documentation for this struct was generated from the following file: