Files
GTSchoolShit/CS4451/proj5/main.cpp
2025-06-07 01:59:34 -04:00

59 lines
1.9 KiB
C++

#include <iostream>
#include "FileReader.h"
#include "Renderer.h"
#include <GL/glut.h>
//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<Triangle>::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<Point>::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;
}