source: nanovis/trunk/ZincBlendeVolume.cpp @ 5303

Last change on this file since 5303 was 4895, checked in by ldelgass, 5 years ago

Merge some fixes from release branch

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * ----------------------------------------------------------------------
4 * ZincBlendeVolume.cpp: 3d zincblende volume class, a subclass of Volume.
5 *                      It contains two cubic volumes.
6 *
7 * ======================================================================
8 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
9 *           Purdue Rendering and Perceptualization Lab (PURPL)
10 *
11 *  Copyright (c) 2004-2013  HUBzero Foundation, LLC
12 *
13 *  See the file "license.terms" for information on usage and
14 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
15 * ======================================================================
16 */
17#include <assert.h>
18
19#include <vrmath/Vector3f.h>
20
21#include "ZincBlendeVolume.h"
22
23using namespace nv;
24using namespace vrmath;
25
26ZincBlendeVolume::ZincBlendeVolume(int width, int height, int depth,
27                                   int numComponents, 
28                                   float *dataVolumeA, float *dataVolumeB,
29                                   double vmin, double vmax, double nonZeroMin,
30                                   const Vector3f& cellSz) :
31    Volume(width, height, depth, numComponents, dataVolumeA, vmin, vmax, nonZeroMin),
32    cellSize(cellSz)
33{
34    //label it as zincblende
35    _volumeType = ZINCBLENDE;
36
37    //store member tex initialize in Volume() as zincblendeTex[0]
38    assert(_tex);
39    zincblendeTex[0] = _tex;
40
41    //now add another tex as zincblendeTex[1]
42    Texture3D *secondTex = new Texture3D(width, height, depth, GL_FLOAT, GL_LINEAR, numComponents);
43    assert(secondTex);
44    secondTex->initialize(dataVolumeB);
45
46    zincblendeTex[1] = secondTex;
47}
48
49ZincBlendeVolume::~ZincBlendeVolume()
50{ 
51    // First texture will be deleted in ~Volume()
52    if (zincblendeTex[1])
53        delete zincblendeTex[1];
54}
Note: See TracBrowser for help on using the repository browser.