YAC 3.12.0
Yet Another Coupler
Loading...
Searching...
No Matches
point_selection.h
Go to the documentation of this file.
1// Copyright (c) 2025 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef POINT_SELECTION_H
6#define POINT_SELECTION_H
7
8#include <stdint.h>
9#include <mpi.h>
10
11#include "yac_types.h"
12
13// YAC PUBLIC HEADER START
14
24
26
40 double center_lon, double center_lat, double inc_angle);
41
45void yac_point_selection_delete(struct yac_point_selection * point_select);
46
47// YAC PUBLIC HEADER STOP
48
56 struct yac_point_selection const * point_select);
57
66 struct yac_point_selection const * point_select, MPI_Comm comm);
67
77 struct yac_point_selection const * point_select,
78 void * buffer, int buffer_size, int * position, MPI_Comm comm);
79
89 void const * buffer, int buffer_size, int * position, MPI_Comm comm);
90
98 struct yac_point_selection const * a, struct yac_point_selection const * b);
99
114 struct yac_point_selection const * point_select,
115 yac_coordinate_pointer point_coordinates, size_t * point_indices,
116 size_t num_points, size_t * num_selected_points);
117
124 struct yac_point_selection const * point_select);
125
137 struct yac_point_selection const * point_selection,
138 double * center_lon, double * center_lat, double * inc_angle);
139
140#endif // POINT_SELECTION_H
int yac_point_selection_compare(struct yac_point_selection const *a, struct yac_point_selection const *b)
struct yac_point_selection * yac_point_selection_bnd_circle_new(double center_lon, double center_lat, double inc_angle)
struct yac_point_selection * yac_point_selection_unpack(void const *buffer, int buffer_size, int *position, MPI_Comm comm)
struct yac_point_selection * yac_point_selection_copy(struct yac_point_selection const *point_select)
void yac_point_selection_pack(struct yac_point_selection const *point_select, void *buffer, int buffer_size, int *position, MPI_Comm comm)
void yac_point_selection_apply(struct yac_point_selection const *point_select, yac_coordinate_pointer point_coordinates, size_t *point_indices, size_t num_points, size_t *num_selected_points)
size_t yac_point_selection_get_pack_size(struct yac_point_selection const *point_select, MPI_Comm comm)
void yac_point_selection_delete(struct yac_point_selection *point_select)
void yac_point_selection_bnd_circle_get_config(struct yac_point_selection const *point_selection, double *center_lon, double *center_lat, double *inc_angle)
enum yac_point_selection_type yac_point_selection_get_type(struct yac_point_selection const *point_select)
yac_point_selection_type
@ YAC_POINT_SELECTION_TYPE_BND_CIRCLE
@ YAC_POINT_SELECTION_TYPE_EMPTY
double * buffer
static size_t num_points
Definition yac.c:159
double(* yac_coordinate_pointer)[3]
Definition yac_types.h:19