YetAnotherCoupler 3.5.2
|
algorithm for searching cells and points on a grid More...
Go to the source code of this file.
Functions | |
struct point_sphere_part_search * | yac_point_sphere_part_search_new (size_t num_points, yac_const_coordinate_pointer coordinates_xyz, yac_int const *ids) |
struct point_sphere_part_search * | yac_point_sphere_part_search_mask_new (size_t num_points, yac_const_coordinate_pointer coordinates_xyz, yac_int const *ids, int const *mask) |
void | yac_delete_point_sphere_part_search (struct point_sphere_part_search *search) |
void | yac_point_sphere_part_search_NN (struct point_sphere_part_search *search, size_t num_points, double(*coordinates_xyz)[3], double *cos_angles, double(**result_coordinates_xyz)[3], size_t *result_coordinates_xyz_array_size, size_t **local_point_ids, size_t *local_point_ids_array_size, size_t *num_local_point_ids) |
void | yac_point_sphere_part_search_NNN (struct point_sphere_part_search *search, size_t num_points, double(*coordinates_xyz)[3], size_t n, double **cos_angles, size_t *cos_angles_array_size, double(**result_coordinates_xyz)[3], size_t *result_coordinates_xyz_array_size, size_t **local_point_ids, size_t *local_point_ids_array_size, size_t *num_local_point_ids) |
void | yac_point_sphere_part_search_NNN_bnd_circle (struct point_sphere_part_search *search, size_t num_bnd_circles, struct bounding_circle *bnd_circles, size_t n, size_t **local_point_ids, size_t *local_point_ids_array_size, size_t *num_local_point_ids) |
void | yac_point_sphere_part_search_NNN_ubound (struct point_sphere_part_search *search, size_t num_points, yac_coordinate_pointer coordinates_xyz, size_t n, struct sin_cos_angle *angles) |
struct bnd_sphere_part_search * | yac_bnd_sphere_part_search_new (struct bounding_circle *circles, size_t num_circles) |
void | yac_bnd_sphere_part_search_delete (struct bnd_sphere_part_search *search) |
void | yac_bnd_sphere_part_search_do_point_search (struct bnd_sphere_part_search *search, yac_coordinate_pointer coordinates_xyz, size_t count, size_t **cells, size_t *num_cells_per_coordinate) |
void | yac_bnd_sphere_part_search_do_bnd_circle_search (struct bnd_sphere_part_search *search, struct bounding_circle *bnd_circles, size_t count, size_t **cells, size_t *num_cells_per_bnd_circle) |
algorithm for searching cells and points on a grid
yac_point_sphere_part_search_new generates a tree structure, which makes it easy to look for points. A documentation of the respective algorithm can be found at Sphere Partitioning Algorithm.
Definition in file sphere_part.h.
void yac_bnd_sphere_part_search_delete | ( | struct bnd_sphere_part_search * | search | ) |
Definition at line 2141 of file sphere_part.c.
void yac_bnd_sphere_part_search_do_bnd_circle_search | ( | struct bnd_sphere_part_search * | search, |
struct bounding_circle * | bnd_circles, | ||
size_t | count, | ||
size_t ** | cells, | ||
size_t * | num_cells_per_bnd_circle ) |
Definition at line 2057 of file sphere_part.c.
void yac_bnd_sphere_part_search_do_point_search | ( | struct bnd_sphere_part_search * | search, |
yac_coordinate_pointer | coordinates_xyz, | ||
size_t | count, | ||
size_t ** | cells, | ||
size_t * | num_cells_per_coordinate ) |
Definition at line 2011 of file sphere_part.c.
struct bnd_sphere_part_search * yac_bnd_sphere_part_search_new | ( | struct bounding_circle * | circles, |
size_t | num_circles ) |
Definition at line 544 of file sphere_part.c.
void yac_delete_point_sphere_part_search | ( | struct point_sphere_part_search * | search | ) |
Definition at line 2131 of file sphere_part.c.
struct point_sphere_part_search * yac_point_sphere_part_search_mask_new | ( | size_t | num_points, |
yac_const_coordinate_pointer | coordinates_xyz, | ||
yac_int const * | ids, | ||
int const * | mask ) |
Definition at line 686 of file sphere_part.c.
struct point_sphere_part_search * yac_point_sphere_part_search_new | ( | size_t | num_points, |
yac_const_coordinate_pointer | coordinates_xyz, | ||
yac_int const * | ids ) |
Definition at line 660 of file sphere_part.c.
void yac_point_sphere_part_search_NN | ( | struct point_sphere_part_search * | search, |
size_t | num_points, | ||
double(*) | coordinates_xyz[3], | ||
double * | cos_angles, | ||
double(**) | result_coordinates_xyz[3], | ||
size_t * | result_coordinates_xyz_array_size, | ||
size_t ** | local_point_ids, | ||
size_t * | local_point_ids_array_size, | ||
size_t * | num_local_point_ids ) |
This routine does a nearest neighbour search between the points provided to this routine and the matching yac_point_sphere_part_search_new call.
Definition at line 1130 of file sphere_part.c.
void yac_point_sphere_part_search_NNN | ( | struct point_sphere_part_search * | search, |
size_t | num_points, | ||
double(*) | coordinates_xyz[3], | ||
size_t | n, | ||
double ** | cos_angles, | ||
size_t * | cos_angles_array_size, | ||
double(**) | result_coordinates_xyz[3], | ||
size_t * | result_coordinates_xyz_array_size, | ||
size_t ** | local_point_ids, | ||
size_t * | local_point_ids_array_size, | ||
size_t * | num_local_point_ids ) |
This routine does a n nearest neighbour search between the points provided to this routine and the matching yac_point_sphere_part_search_new call.
Definition at line 1483 of file sphere_part.c.
void yac_point_sphere_part_search_NNN_bnd_circle | ( | struct point_sphere_part_search * | search, |
size_t | num_bnd_circles, | ||
struct bounding_circle * | bnd_circles, | ||
size_t | n, | ||
size_t ** | local_point_ids, | ||
size_t * | local_point_ids_array_size, | ||
size_t * | num_local_point_ids ) |
This routine does a n nearest neighbour search between the points provided to this routine and the matching yac_point_sphere_part_search_new call. The search for each provided point is limited for each point, by the bounding circle.
Definition at line 1663 of file sphere_part.c.
void yac_point_sphere_part_search_NNN_ubound | ( | struct point_sphere_part_search * | search, |
size_t | num_points, | ||
yac_coordinate_pointer | coordinates_xyz, | ||
size_t | n, | ||
struct sin_cos_angle * | angles ) |
This routine does a n nearest neighbour search and returns the angle for the furthest point.
Definition at line 1797 of file sphere_part.c.