#include "string.h"
#include "point_selection.h"
#include "utils_core.h"
#include "yac_mpi_internal.h"
#include "geometry.h"
Go to the source code of this file.
|
| 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_copy (struct yac_point_selection const *point_select) |
| |
| void | yac_point_selection_delete (struct yac_point_selection *point_select) |
| |
| size_t | yac_point_selection_get_pack_size (struct yac_point_selection const *point_select, MPI_Comm comm) |
| |
| void | yac_point_selection_pack (struct yac_point_selection const *point_select, void *buffer, int buffer_size, int *position, MPI_Comm comm) |
| |
| struct yac_point_selection * | yac_point_selection_unpack (void const *buffer, int buffer_size, int *position, MPI_Comm comm) |
| |
| int | yac_point_selection_compare (struct yac_point_selection const *a, struct yac_point_selection const *b) |
| |
| static void | flag_sort (size_t *array_size_t, yac_coordinate_pointer array_coord, int *flag, size_t false_count) |
| |
| void | yac_point_selection_apply (struct yac_point_selection const *point_select, yac_coordinate_pointer point_coords, size_t *point_indices, size_t num_points, size_t *num_selected_points) |
| |
| enum yac_point_selection_type | yac_point_selection_get_type (struct yac_point_selection const *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) |
| |
◆ flag_sort()
| static void flag_sort |
( |
size_t * | array_size_t, |
|
|
yac_coordinate_pointer | array_coord, |
|
|
int * | flag, |
|
|
size_t | false_count ) |
|
static |
◆ yac_point_selection_apply()
Generates a list of points that match a given point selection criterion.
- Parameters
-
| [in] | point_select | point selection criterion |
| [in,out] | point_coordinates | point coordinates |
| [in,out] | point_indices | indices of point associated with the provided coordinates |
| [in] | num_points | number of entries in point_indices and point_coordinates |
| [out] | num_selected_points | number of entries in selected_point_indices |
Definition at line 248 of file point_selection.c.
◆ yac_point_selection_bnd_circle_get_config()
| void yac_point_selection_bnd_circle_get_config |
( |
struct yac_point_selection const * | point_selection, |
|
|
double * | center_lon, |
|
|
double * | center_lat, |
|
|
double * | inc_angle ) |
Gets the configuration of a bounding circle point selection
- Parameters
-
| [in] | point_selection | point selection criterion |
| [out] | center_lon | longitude coordinate of the center of the bounding circle (in radians) |
| [out] | center_lat | latitude coordinate of the center of the bounding circle (in radians) |
| [out] | inc_angle | the angle between center vector and a vector pointing to any point on the bounding circle (in radians) |
Definition at line 307 of file point_selection.c.
◆ yac_point_selection_bnd_circle_new()
| struct yac_point_selection * yac_point_selection_bnd_circle_new |
( |
double | center_lon, |
|
|
double | center_lat, |
|
|
double | inc_angle ) |
Generates a point selection based on a bounding circle
- Parameters
-
| [in] | center_lon | longitude coordinate of the center of the bounding circle (in radians) |
| [in] | center_lat | latitude coordinate of the center of the bounding circle (in radians) |
| [in] | inc_angle | the angle between center vector and a vector pointing to any point on the bounding circle (in radians) |
- Returns
- point selection
Definition at line 23 of file point_selection.c.
◆ yac_point_selection_compare()
Compares two point selections
- Parameters
-
| [in] | a | point selection a |
| [in] | b | point selection b |
- Returns
- -1, 0, or 1 depending on a and b
Definition at line 179 of file point_selection.c.
◆ yac_point_selection_copy()
Copies a given point selection
- Parameters
-
| [in] | point_select | point selection to be copied |
- Returns
- copy of the provided point selection
Definition at line 48 of file point_selection.c.
◆ yac_point_selection_delete()
◆ yac_point_selection_get_pack_size()
| size_t yac_point_selection_get_pack_size |
( |
struct yac_point_selection const * | point_select, |
|
|
MPI_Comm | comm ) |
Computes the minimum size required for packing a give point selection using MPI_Pack
- Parameters
-
| [in] | point_select | point selection |
| [in] | comm | MPI communicator going to be used for the packing |
- Returns
- minimum packing size
Definition at line 77 of file point_selection.c.
◆ yac_point_selection_get_type()
Gets the type of a provided point selection
- Parameters
-
| [in] | point_select | point selection criterion |
- Returns
- point selection type
Definition at line 300 of file point_selection.c.
◆ yac_point_selection_pack()
| void yac_point_selection_pack |
( |
struct yac_point_selection const * | point_select, |
|
|
void * | buffer, |
|
|
int | buffer_size, |
|
|
int * | position, |
|
|
MPI_Comm | comm ) |
Packs a given point selection into a buffer using MPI_Pack
- Parameters
-
| [in] | point_select | point selection |
| [in,out] | buffer | packing buffer |
| [in] | buffer_size | size of packing buffer |
| [in,out] | position | current packing position |
| [in] | comm | MPI communicator used to communicate the buffer |
Definition at line 106 of file point_selection.c.
◆ yac_point_selection_unpack()
| struct yac_point_selection * yac_point_selection_unpack |
( |
void const * | buffer, |
|
|
int | buffer_size, |
|
|
int * | position, |
|
|
MPI_Comm | comm ) |
Unpack a point selection from a given buffer using MPI_Unpack
- Parameters
-
| [in] | buffer | packing buffer |
| [in] | buffer_size | buffer size |
| [in,out] | position | current unpacking position |
| [in] | comm | MPI communicator used to receive the buffer |
- Returns
- unpacked point selection
Definition at line 140 of file point_selection.c.