#include #include #include #include "module.h" // prototype for tiff write routine int tiff_raster2file(char filename[], uint32 *raster, uint32 nrow, uint32 ncol); // main routine demonstrating a hierarchical modeling system main(int argc, char *argv[]) { ColorVector_t spec = ColorVector(0.1, 0.1, 0.1); ColorVector_t Grey = ColorVector(0.5, 0.5, 0.5); ColorVector_t Purple = ColorVector(0.8, 0.1, 0.8); // define other variables; Image_t im; long nPixels; // set up the 3D viewing geometry ViewStructure3D vs; vs.vrp = Vector(0, 0, -40); vs.vpn = Vector(0, 0, 1); vs.vup = Vector(0, 1, 0); vs.cop = Vector(0, 0, -6); vs.umax = vs.vmax = 2; vs.umin = vs.vmin = -2; vs.F = 1; vs.B = 50; vs.screenX = vs.screenY = 500; // get an angle for the faces from the command line double angle1 = M_PI / 5.0; if(argc > 1) { sscanf(argv[1], "%lf", &angle1); angle1 = angle1 / 180.0 * M_PI; } double angle2 = M_PI / 5.0; if(argc > 2) { sscanf(argv[2], "%lf", &angle2); angle2 = angle2 / 180.0 * M_PI; } // allocate the image im.image = new uint32[(long)vs.screenX * (long)vs.screenY]; im.depth = new float[(long)vs.screenX * (long)vs.screenY]; im.rows = (long)vs.screenY; im.cols = (long)vs.screenX; long i; nPixels = im.rows * im.cols; for(i=0;i 1) sprintf(buffer, "math.%03d.tif", (int)(angle1*180 / M_PI + 0.5)); else strcpy(buffer, "tmp.tif"); // write out the image tiff_raster2file(buffer, im.image, im.rows, im.cols); }