#include #include "FileReader.h" #include "Renderer.h" #include //Print the File Read in in the same format as it was read in void printFile() { std::cout << (unsigned int)Renderer::getInstance()->triangles->size() << " " << (unsigned int)Renderer::getInstance()->points->size() << std::endl << std::endl; std::vector::iterator t_iter = Renderer::getInstance()->triangles->begin(); for (;t_iter != Renderer::getInstance()->triangles->end(); t_iter++) { std::cout << t_iter->a1 << " " << t_iter->a2 << " " << t_iter->a3 << std::endl; } std::cout << "\n"; std::vector::iterator p_iter = Renderer::getInstance()->points->begin(); for (; p_iter != Renderer::getInstance()->points->end(); p_iter++) { std::cout << p_iter->x << " " << p_iter->y << " " << p_iter->z << std::endl; } } int main(int argc, char** argv) { if (argc < 4) { std::cout << "Usage: \n" << " ./project4 number_of_subdivisions kind_of_subdivision input_file_name\n" << " number_of_subdivisions integer >= 0\n" << " kind_of_subdivision: 'B' for Butterfly, 'L' for Loop\n" << " Anything else just splits triangles into 4.\n" ; return 0; } if (*argv[2] == 'b' || *argv[2] == 'B') { *argv[2] = 'B'; std::cout << "Using Butterfly Subdivision " << atoi(argv[1]) << " times.\n"; } else if (*argv[2] == 'l' || *argv[2] == 'L') { *argv[2] = 'L'; std::cout << "Using Loop Subdivision. " << atoi(argv[1]) << " times.\n"; } else { std::cout << "Splitting triangles into 4 " << atoi(argv[1]) << " times.\n"; } FileReader::getInstance()->readFile(argv[3]); Renderer::getInstance()->init(&argc,argv); glutMainLoop(); return 0; }