int R3Model:: ReadFile(const char *filename) { // Parse input filename extension const char *extension; if (!(extension = strrchr(filename, '.'))) { printf("Filename %s has no extension (e.g., .obj)\n", filename); return 0; } // Read file of appropriate type if (!strncmp(extension, ".obj", 4)) { if (!ReadObjFile(filename)) return 0; } else { RNFail("Unable to read file %s (unrecognized extension: %s)\n", filename, extension); return 0; } // Return success return 1; }
int main(int argc, char *argv[]) { int ret; if (argc == 2) { model_filename = argv[1]; if ((ret = ReadObjFile(model_filename, &model)) == 0) { return ModelViz_Main(&argc, argv); } else if (ret == -1) { perror("Reading model file error"); } else { fprintf(stderr, "Syntax error on line: %u\n", ret); } return -1; } else { printf(".OBJ model viewer\n" "Usage: %s <.obj model filename>\n", *argv); } return 0; }
Scene::Scene(const char* sceneFile, const Point& robotSize) : robot(robotSize), ballRadius(1) { ReadObjFile(sceneFile); BuildBaseScene(); }