59 lines
1.9 KiB
C++
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;
|
|
}
|