YAC 3.21.0
Yet Another Coupler
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
70#include "yac_types.h"
71#include "geometry.h"
72
74
76
78 size_t num_points, yac_const_coordinate_pointer coordinates_xyz,
79 yac_int const * ids);
80
82 size_t num_points, yac_const_coordinate_pointer coordinates_xyz,
83 yac_int const * ids, int const * mask);
84
86 struct point_sphere_part_search * search);
87
93 size_t num_points,
94 double (*coordinates_xyz)[3],
95 double * cos_angles,
96 double (**result_coordinates_xyz)[3],
97 size_t * result_coordinates_xyz_array_size,
98 size_t ** local_point_ids,
99 size_t * local_point_ids_array_size,
100 size_t * num_local_point_ids);
101
107 size_t num_points,
108 double (*coordinates_xyz)[3], size_t n,
109 double ** cos_angles,
110 size_t * cos_angles_array_size,
111 double (**result_coordinates_xyz)[3],
112 size_t * result_coordinates_xyz_array_size,
113 size_t ** local_point_ids,
114 size_t * local_point_ids_array_size,
115 size_t * num_local_point_ids);
116
123 struct point_sphere_part_search * search,
124 size_t num_bnd_circles, struct bounding_circle * bnd_circles,
125 size_t n, size_t ** local_point_ids, size_t * local_point_ids_array_size,
126 size_t * num_local_point_ids);
127
133 struct point_sphere_part_search * search,
134 size_t num_points, yac_coordinate_pointer coordinates_xyz,
135 size_t n, struct sin_cos_angle * angles);
136
152 struct point_sphere_part_search * search,
153 size_t num_bnd_circles, const_bounding_circle_pointer bnd_circles,
154 size_t ** local_point_ids, size_t * local_point_ids_array_size,
155 size_t * num_local_point_ids);
156
159 struct bounding_circle * circles, size_t num_circles);
162 struct bnd_sphere_part_search * search, yac_coordinate_pointer coordinates_xyz,
163 size_t count, size_t ** cells, size_t * num_cells_per_coordinate);
165 struct bnd_sphere_part_search * search, struct bounding_circle * bnd_circles,
166 size_t count, size_t ** cells, size_t * num_cells_per_bnd_circle);
167
168#endif // SPHERE_PART_H
169
struct bounding_circle const *const const_bounding_circle_pointer
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 bounding_circle const *const const_bounding_circle_pointer
Definition sphere_part.h:75
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)
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)
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)
void yac_point_sphere_part_search_bnd_circle(struct point_sphere_part_search *search, size_t num_bnd_circles, const_bounding_circle_pointer bnd_circles, size_t **local_point_ids, size_t *local_point_ids_array_size, size_t *num_local_point_ids)
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 int mask[16]
double const (* yac_const_coordinate_pointer)[3]
Definition yac_types.h:22
YAC_INT yac_int
Definition yac_types.h:15
double(* yac_coordinate_pointer)[3]
Definition yac_types.h:21