// Copyright 2018-2022 David Robillard // SPDX-License-Identifier: GPL-2.0-or-later #include "chilbert/chilbert.hpp" #include #include #include #include #include int main(int argc, char** argv) { if (argc != 2) { fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); return 1; } const unsigned long num_points = std::strtoul(argv[1], nullptr, 10); if (num_points == 0 || num_points == ULONG_MAX) { fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); return 1; } // Vertices for (uint64_t i = 0; i < num_points; ++i) { std::array point{}; chilbert::index_to_coords(point, 16, 3, i); printf("v %u %u %u\n", point[0], point[1], point[2]); } // One polyline through all vertices printf("\nl"); for (unsigned i = 0; i < num_points - 1; ++i) { printf(" %u", i + 1); } printf("\n"); return 0; }