File indexing completed on 2024-04-21 03:44:01
0001 #include <iostream> 0002 0003 #include "HTMesh.h" 0004 #include "MeshIterator.h" 0005 0006 int main() 0007 { 0008 int level = 5; 0009 printf("level = %d\n", level); 0010 HTMesh *mesh = new HTMesh(level, level); 0011 mesh->setDebug(17); 0012 0013 double ra = 6.75 * 15.; 0014 double dec = -16.72; 0015 0016 //Lookup the triangle containing (ra,dec) 0017 long id = mesh->index(ra, dec); 0018 const char *name = mesh->indexToName(id); 0019 printf("(%8.4f %8.4f): %s\n", ra, dec, name); 0020 0021 double vr1, vd1, vr2, vd2, vr3, vd3; 0022 mesh->vertices(id, &vr1, &vd1, &vr2, &vd2, &vr3, &vd3); 0023 0024 printf("\nThe three vertices of %s are:\n", name); 0025 printf(" (%6.2f, %6.2f)\n", vr1, vd1); 0026 printf(" (%6.2f, %6.2f)\n", vr2, vd2); 0027 printf(" (%6.2f, %6.2f)\n", vr3, vd3); 0028 0029 printf("\n"); 0030 //Loop over triangles within one degree of (ra,dec) 0031 0032 double radius = 2.0; 0033 //printf("Leak test! ...\n"); 0034 for (int ii = 0; ii < 1; ii++) 0035 { 0036 mesh->intersect(ra, dec, ra - radius, dec, ra - radius, dec + radius); 0037 mesh->intersect(ra, dec, ra - radius, dec, ra - radius, dec + radius, ra, dec + radius); 0038 0039 mesh->intersect(ra, dec, radius); 0040 //continue; 0041 0042 MeshIterator iterator(mesh); 0043 0044 printf("Number of trixels = %d\n\n", mesh->intersectSize()); 0045 printf("Triangles within %5.2f degrees of (%6.2f, %6.2f)\n", radius, ra, dec); 0046 0047 while (iterator.hasNext()) 0048 { 0049 printf("%s\n", mesh->indexToName(iterator.next())); 0050 } 0051 } 0052 0053 double ra1, dec1, ra2, dec2; 0054 ra1 = 275.874939; 0055 ra2 = 274.882451; 0056 dec1 = -82.470360; 0057 dec2 = -82.482475; 0058 0059 printf("Testing Line intersection: (%f, %f) -->\n", ra1, dec1); 0060 printf(" (%f, %f)\n", ra2, dec2); 0061 0062 mesh->intersect(ra1, dec1, ra2, dec2); 0063 printf("found %d trixels\n", mesh->intersectSize()); 0064 0065 return 0; 0066 }