void Canvas::LoadVolume(std::string filename) { volumeReader.Read(filename); volumeReader.CreateDeviceVolume(&deviceVolume); deviceVolume.SetClipPlane(glm::vec2(-1.f, 1.f), glm::vec2(-1.f, 1.f), glm::vec2(-1.f, 1.f)); deviceVolume.SetDensityScale(1.f); setup_volume(deviceVolume); ZoomToExtent(); camera.Setup(glm::vec3(0.f, 0.f, eyeDist), glm::vec3(0.f, 0.f, 0.f), glm::vec3(0.f, 1.f, 0.f), fov, apeture, focalLength, exposure, WIDTH, HEIGHT); viewMat = glm::lookAt(glm::vec3(0.f, 0.f, eyeDist), glm::vec3(0.f), glm::vec3(0.f, 1.f, 0.f)); UpdateCamera(); ready = true; }
int read_volparams(void) { int vol_params_read = FALSE; si32 nbytes_char; si32 nelev; si32 nheights; si32 *radar_elevations; si32 *plane_heights; si32 packet_id; vol_params_t *vol_params; /* * read in a packet */ while (!vol_params_read) { if (read_packet(&packet_id) == CS_FAILURE) { return(CS_FAILURE); } /* * check for volume packet type */ if (packet_id == VOL_PARAMS_PACKET_CODE) { vol_params = (vol_params_t *) Glob->packet; umalloc_verify(); /* * decode the data from network byte order */ BE_to_array_32((ui32 *) &vol_params->mid_time, (ui32) sizeof(radtim_t)); nbytes_char = (si32) BE_to_si32((ui32) vol_params->radar.nbytes_char); BE_to_array_32((ui32 *) &vol_params->radar, (ui32) (sizeof(radar_params_t) - nbytes_char)); nbytes_char = (si32) BE_to_si32((ui32) vol_params->cart.nbytes_char); BE_to_array_32((ui32 *) &vol_params->cart, (ui32) (sizeof(cart_params_t) - nbytes_char)); vol_params->nfields = (si32) BE_to_si32((ui32) vol_params->nfields); umalloc_verify(); radar_elevations = (si32 *) ((char *) vol_params + sizeof(vol_params_t)); nelev = vol_params->radar.nelevations; BE_to_array_32((ui32 *) radar_elevations, (ui32) (nelev * sizeof(si32))); plane_heights = radar_elevations + nelev; nheights = vol_params->cart.nz * N_PLANE_HEIGHT_VALUES; umalloc_verify(); BE_to_array_32((ui32 *) plane_heights, (ui32) (nheights * sizeof(si32))); /* * place this data in shared memory */ umalloc_verify(); setup_volume(vol_params, radar_elevations, plane_heights); vol_params_read = TRUE; } /* if (packet_id == VOL_PARAMS_PACKET_CODE) */ } /* while (!vol_params_read) */ return(CS_SUCCESS); }