示例#1
0
文件: calc.test.c 项目: jcarrano/expr
int main(int argc, char *argv[])
{
	int nsteps = 0;
	data_t a = 0, b = 0;
	char *s = NULL;
	
	if (argc != 1 && argc != 2 && argc != 4 && argc != 5) {
		EE("Usage:\n");
		EE("To integrate each expression between a and b:"
						"%s a b nsteps\n", argv[0]);
		EE("If called without arguments it is a calculator\n");
		return 1;
	} else if (argc >= 4) {
		a = strtod(argv[1], NULL);
		b = strtod(argv[2], NULL);
		nsteps = strtol(argv[3], NULL, 0);
		if (argc == 5)
			s = argv[4];
	} else if (argc == 2) {
		s = argv[1];
	}
	
	uiloop(a, b, nsteps, s);
	
	return 0;
}
// runs the raytrace over all tests and saves the corresponding images
int main(int argc, char** argv) {
    
    // test that glfw and glew are linked properly
    uiloop();
    message("GLFW and GLEW seem to work\n\n");
    
    // test max_component function
    vec3f v(1,2,-3);
    float max_val = max_component(v);
    message("Result of max_component: %f\n", max_val);
    
    // test sum of three vectors
    vec3f va(1,0,0);
    vec3f vb(0,4,0);
    vec3f vc(0,0,2);
    vec3f vabc = sum_three(va, vb, vc);
    message("Result of sum_three: %s\n", tostring(vabc).c_str());
    
    // test sum of vectors
    vector<vec3f> vs = {
        {3.14,1.5,2.7},
        {2.71,8.2,8.2},
        {1.61,8.0,3.4},
        {1.41,4.2,1.4},
    };
    vec3f vsum = sum_many(vs);
    message("Result of sum_many: %s\n", tostring(vsum).c_str());

    message("\nThis message indicates a successful build!\n\n");

    return 0;
}
示例#3
0
// main function
int main(int argc, char** argv) {
    auto args = parse_cmdline(argc, argv,
        { "03_animate", "view scene",
            {  {"resolution", "r", "image resolution", typeid(int), true, jsonvalue() }  },
            {  {"scene_filename", "", "scene filename", typeid(string), false, jsonvalue("scene.json")},
               {"image_filename", "", "image filename", typeid(string), true, jsonvalue("")}  }
        });
    
    // generate/load scene either by creating a test scene or loading from json file
    scene_filename = args.object_element("scene_filename").as_string();
    scene = nullptr;
    if(scene_filename.length() > 9 and scene_filename.substr(0,9) == "testscene") {
        int scene_type = atoi(scene_filename.substr(9).c_str());
        scene = create_test_scene(scene_type);
        scene_filename = scene_filename + ".json";
    } else {
        scene = load_json_scene(scene_filename);
    }
    error_if_not(scene, "scene is nullptr");
    
    image_filename = (args.object_element("image_filename").as_string() != "") ?
        args.object_element("image_filename").as_string() :
        scene_filename.substr(0,scene_filename.size()-5)+".png";
    
    if(not args.object_element("resolution").is_null()) {
        scene->image_height = args.object_element("resolution").as_int();
        scene->image_width = scene->camera->width * scene->image_height / scene->camera->height;
    }
    
    animate_reset(scene);
    
    subdivide(scene);
    
    uiloop();
}
示例#4
0
// main function
int main(int argc, char** argv) {
    auto args = parse_cmdline(argc, argv,
        { "03_model", "raytrace a scene",
            {  {"resolution", "r", "image resolution", "int", true, jsonvalue() }  },
            {  {"scene_filename", "", "scene filename", "string", false, jsonvalue("scene.json")},
               {"image_filename", "", "image filename", "string", true, jsonvalue("")}  }
        });
    scene_filename = args.object_element("scene_filename").as_string();
    image_filename = (args.object_element("image_filename").as_string() != "") ?
        args.object_element("image_filename").as_string() :
        scene_filename.substr(0,scene_filename.size()-5)+".png";
    scene = load_json_scene(scene_filename);
    if(! args.object_element("resolution").is_null()) {
        scene->image_height = args.object_element("resolution").as_int();
        scene->image_width = scene->camera->width * scene->image_height / scene->camera->height;
    }
    subdivide(scene);
    uiloop();
}