nuclear@4: #include nuclear@0: #include "renderer.h" nuclear@0: nuclear@0: Renderer::Renderer() nuclear@0: { nuclear@0: vol = 0; nuclear@0: view_width = 512; nuclear@0: view_height = 512; nuclear@4: nuclear@4: for(int i=0; i<3; i++) { nuclear@4: xfer[i].set_point(0, 0); nuclear@4: xfer[i].set_point(1, 1); nuclear@4: } nuclear@4: nuclear@5: xfer_low = 0.0; nuclear@5: xfer_high = 1.0; nuclear@5: nuclear@4: for(int i=0; ivol = vol; nuclear@0: } nuclear@0: nuclear@0: Volume *Renderer::get_volume() const nuclear@0: { nuclear@0: return vol; nuclear@0: } nuclear@0: nuclear@4: Curve &Renderer::transfer_curve(int color) nuclear@4: { nuclear@4: return xfer[color]; nuclear@4: } nuclear@4: nuclear@4: const Curve &Renderer::transfer_curve(int color) const nuclear@4: { nuclear@4: return xfer[color]; nuclear@4: } nuclear@4: nuclear@5: void Renderer::set_simple_transfer(float low, float high) nuclear@5: { nuclear@5: xfer_low = std::min(low, high); nuclear@5: xfer_high = std::max(low, high); nuclear@5: } nuclear@5: nuclear@5: void Renderer::get_simple_transfer(float *low, float *high) const nuclear@5: { nuclear@5: *low = xfer_low; nuclear@5: *high = xfer_high; nuclear@5: } nuclear@5: nuclear@4: void Renderer::set_clipping_plane(int idx, float nx, float ny, float nz, float dist) nuclear@4: { nuclear@4: float len = sqrt(nx * nx + ny * ny + nz * nz); nuclear@4: if(len != 0.0) { nuclear@4: nx /= len; nuclear@4: ny /= len; nuclear@4: nz /= len; nuclear@4: } nuclear@4: clip_plane[idx][0] = nx; nuclear@4: clip_plane[idx][1] = ny; nuclear@4: clip_plane[idx][2] = nz; nuclear@4: clip_plane[idx][3] = dist; nuclear@4: } nuclear@4: nuclear@4: void Renderer::disable_clipping_plane(int idx) nuclear@4: { nuclear@4: clip_plane[idx][0] = clip_plane[idx][2] = 0; nuclear@4: clip_plane[idx][1] = 1; nuclear@4: clip_plane[idx][3] = -1; nuclear@4: } nuclear@4: nuclear@0: void Renderer::reshape(int x, int y) nuclear@0: { nuclear@0: view_width = x; nuclear@0: view_height = y; nuclear@0: } nuclear@0: nuclear@0: void Renderer::update(unsigned int msec) nuclear@0: { nuclear@0: }