YetAnotherCoupler 3.2.0_a
Loading...
Searching...
No Matches
sphere_part.h
Go to the documentation of this file.
1// Copyright (c) 2024 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef SPHERE_PART_H
6#define SPHERE_PART_H
7
67#include "basic_grid.h"
68#include "geometry.h"
69
75
77 size_t num_points, yac_const_coordinate_pointer coordinates_xyz,
78 yac_int const * ids);
79
81 size_t num_points, yac_const_coordinate_pointer coordinates_xyz,
82 yac_int const * ids, int const * mask);
83
85 struct point_sphere_part_search * search);
86
92 size_t num_points,
93 double (*coordinates_xyz)[3],
94 double * cos_angles,
95 double (**result_coordinates_xyz)[3],
96 size_t * result_coordinates_xyz_array_size,
97 size_t ** local_point_ids,
98 size_t * local_point_ids_array_size,
99 size_t * num_local_point_ids);
100
106 size_t num_points,
107 double (*coordinates_xyz)[3], size_t n,
108 double ** cos_angles,
109 size_t * cos_angles_array_size,
110 double (**result_coordinates_xyz)[3],
111 size_t * result_coordinates_xyz_array_size,
112 size_t ** local_point_ids,
113 size_t * local_point_ids_array_size,
114 size_t * num_local_point_ids);
115
121 struct point_sphere_part_search * search, struct bounding_circle circle);
122
125 struct bounding_circle * circles, size_t num_circles);
128 struct bnd_sphere_part_search * search, yac_coordinate_pointer coordinates_xyz,
129 size_t count, size_t ** cells, size_t * num_cells_per_coordinate);
131 struct bnd_sphere_part_search * search, struct bounding_circle * bnd_circles,
132 size_t count, size_t ** cells, size_t * num_cells_per_bnd_circle);
133
134#endif // SPHERE_PART_H
135
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)
struct bnd_sphere_part_search * yac_bnd_sphere_part_search_new(struct bounding_circle *circles, size_t num_circles)
void yac_delete_point_sphere_part_search(struct point_sphere_part_search *search)
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_bnd_sphere_part_search_delete(struct bnd_sphere_part_search *search)
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)
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)
int yac_point_sphere_part_search_bnd_circle_contains_points(struct point_sphere_part_search *search, struct bounding_circle circle)
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)
static size_t num_points
Definition yac.c:121
Xt_int yac_int
Definition yac_types.h:15
double const (*const yac_const_coordinate_pointer)[3]
Definition yac_types.h:20
double(* yac_coordinate_pointer)[3]
Definition yac_types.h:19