+// ... (repeated n_bnds times)
+//
+// Note: Infinite lo_ and hi_bounds are printed as the special
+// values "-INF" and "+INF", respectively. We do not
+// check for this, because the current version of ANN
+// starts with a finite bounding box if the tree is
+// nonempty.
+//----------------------------------------------------------------------
+
+void readANN()
+{
+ int j;
+ char str[STRING_LEN]; // storage for string
+ char version[STRING_LEN]; // storage for version
+ int bkt_size; // bucket size
+
+ ifile >> str; // input header
+ if (strcmp(str, "#ANN") != 0) { // incorrect header
+ Error("Incorrect header for dump file", ANNabort);
+ }
+ ifile.getline(version, STRING_LEN); // get version (ignore)
+ ifile >> str; // get major heading
+ if (strcmp(str, "points") == 0) { // points section
+ ifile >> dim; // read dimension
+ ifile >> n_pts; // number of points
+ pts = annAllocPts(n_pts, dim); // allocate points
+ for (int i = 0; i < n_pts; i++) { // input point coordinates
+ int idx; // point index
+ ifile >> idx; // input point index
+ if (idx < 0 || idx >= n_pts) {
+ Error("Point index is out of range", ANNabort);
+ }
+ for (j = 0; j < dim; j++) {
+ ifile >> pts[idx][j]; // read point coordinates
+ }
+ }
+ ifile >> str; // get next major heading
+ }
+ if (strcmp(str, "tree") == 0) { // tree section
+ ifile >> dim; // read dimension
+ if (dim_x > dim || dim_y > dim) {
+ Error("Dimensions out of bounds", ANNabort);
+ }
+ ifile >> n_pts; // number of points
+ ifile >> bkt_size; // bucket size (ignored)
+ // read bounding box
+ ANNorthRect bnd_box(dim); // create bounding box
+ for (j = 0; j < dim; j++) {
+ ifile >> bnd_box.lo[j]; // read box low coordinates
+ }
+ for (j = 0; j < dim; j++) {
+ ifile >> bnd_box.hi[j]; // read box high coordinates
+ }
+ // compute scaling factors
+ double box_len_x = bnd_box.hi[dim_x] - bnd_box.lo[dim_x];
+ double box_len_y = bnd_box.hi[dim_y] - bnd_box.lo[dim_y];
+ // longer side determines scale
+ if (box_len_x > box_len_y) scale = u_size/box_len_x;
+ else scale = u_size/box_len_y;
+ // compute offsets
+ offset_x = u_low_x - scale*bnd_box.lo[dim_x];
+ offset_y = u_low_y + scale*bnd_box.hi[dim_y];
+ readTree(bnd_box); // read the tree and process
+ }
+ else if (strcmp(str, "null") == 0) return; // empty tree
+ else {
+ cerr << "Input string: " << str << "\n";
+ Error("Illegal ann format. Expecting section heading", ANNabort);
+ }
+}
+
+//----------------------------------------------------------------------
+// Main program
+//
+// Gets the command-line arguments and invokes the main scanning
+// procedure.
+//----------------------------------------------------------------------
+
+main(int argc, char **argv)
+{
+ getArgs(argc, argv); // get input arguments
+ readANN(); // read the dump file
+}
diff --git a/ann/doc/ANNmanual.pdf b/ann/doc/ANNmanual.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..00e9e909bb87561a9b7972d4aee6c11083939e82
GIT binary patch
literal 357854
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