11 size_t nbr_vertices[2], int cyclic[2],
12 double *lon_vertices,
double *lat_vertices,
13 void (*LLtoXYZ_ptr)(double, double,
double[])) {
17 "ERROR(yac_generate_basic_grid_data_curve_2d): "
18 "cyclic[1] != 0 not yet supported")
20 size_t num_cells_2d[2] =
21 {nbr_vertices[0] - (cyclic[0]?0:1), nbr_vertices[1] - (cyclic[1]?0:1)};
22 size_t num_vertices_2d[2] = {num_cells_2d[0] + 1, num_cells_2d[1] + 1};
23 size_t num_vertices = num_vertices_2d[0] * num_vertices_2d[1];
25 (num_cells_2d[0] + 1) * num_cells_2d[1] +
26 num_cells_2d[0] * (num_cells_2d[1] + 1);
31 LLtoXYZ_ptr(lon_vertices[i], lat_vertices[i],
45 size_t nbr_vertices[2], int cyclic[2],
46 double *lon_vertices,
double *lat_vertices) {
50 nbr_vertices, cyclic, lon_vertices, lat_vertices,
LLtoXYZ);
54 size_t nbr_vertices[2], int cyclic[2],
55 double *lon_vertices,
double *lat_vertices) {
59 nbr_vertices, cyclic, lon_vertices, lat_vertices,
LLtoXYZ_deg);
static void LLtoXYZ_deg(double lon, double lat, double p_out[])
static void LLtoXYZ(double lon, double lat, double p_out[])
@ YAC_GREAT_CIRCLE_EDGE
great circle
static struct yac_basic_grid_data yac_generate_basic_grid_data_curve_2d_(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices, void(*LLtoXYZ_ptr)(double, double, double[]))
struct yac_basic_grid_data yac_generate_basic_grid_data_curve_2d_deg(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
struct yac_basic_grid_data yac_generate_basic_grid_data_curve_2d(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
struct yac_basic_grid_data yac_generate_basic_grid_data_reg2d_common(size_t nbr_vertices[2], int cyclic[2])
yac_coordinate_pointer vertex_coordinates
enum yac_edge_type * edge_type
#define YAC_ASSERT(exp, msg)
double(* yac_coordinate_pointer)[3]