31 #include "healpix_base.h"
64 h3c_ipix_t *retlist = NULL;
73 T_Healpix_Base<int64> healpix(order, NEST);
75 T_Healpix_Base<int64> healpix(order, RING);
79 Healpix_Base healpix(order, NEST);
81 Healpix_Base healpix(order, RING);
86 healpix.query_disc_inclusive(ptg,radius*H3C_DEGRA,list);
88 healpix.query_disc(ptg,radius*H3C_DEGRA,list);
90 if (list.size() > 0 && list.size() < H3C_DEFAULT_MAX_IPIX) {
91 retlist = (h3c_ipix_t*)malloc(
sizeof(h3c_ipix_t)*(list.size()));
92 for (i = 0; i < list.size(); i++)
96 retlist[i] = healpix.ring2nest(list[i]);
99 else h3c_log(H3C_INFO,
"too much ipix %d>%d", list.size(), H3C_DEFAULT_MAX_IPIX);
101 *nresult = list.size();
116 T_Healpix_Base<int64> healpix(order, RING);
118 Healpix_Base healpix(order, RING);
121 return healpix.Npix();
134 T_Healpix_Base<int64> healpix(order, RING);
136 Healpix_Base healpix(order, RING);
138 return healpix.max_pixrad()*H3C_RADEG;
149 static h3c_ipix_t neighbors[8];
153 T_Healpix_Base<int64> healpix(order, NEST);
154 fix_arr < int64, 8 > result;
156 Healpix_Base healpix(order, NEST);
157 fix_arr < int, 8 > result;
159 healpix.neighbors(ipix, result);
160 for (i = 0; i < 8; i++) neighbors[i] = result[i];
172 void h3cpp_pix2ang_nest(
long nside,
178 T_Healpix_Base<int64> healpix(order, NEST);
180 Healpix_Base healpix(order, NEST);
184 ptg = healpix.pix2ang(ipnest);
197 void h3cpp_ang2pix_nest(
long nside,
203 T_Healpix_Base<int64> healpix(order, NEST);
205 Healpix_Base healpix(order, NEST);
211 *ipnest = healpix.ang2pix(ptg);
225 T_Healpix_Base<int64> healpix(order, NEST);
227 Healpix_Base healpix(order, NEST);
230 *ipnest = healpix.ring2nest(ipring);