source: nanovis/branches/1.1/VolumeInterpolator.h @ 4889

Last change on this file since 4889 was 4889, checked in by ldelgass, 9 years ago

Merge r3611:3618 from trunk

  • Property svn:eol-style set to native
File size: 1.1 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * Copyright (C) 2004-2013  HUBzero Foundation, LLC
4 *
5 */
6#ifndef NV_VOLUME_INTERPOLATOR_H
7#define NV_VOLUME_INTERPOLATOR_H
8
9#include <vector>
10
11#include "Volume.h"
12
13namespace nv {
14
15class VolumeInterpolator
16{
17public :
18    VolumeInterpolator();
19
20    void addVolume(Volume *vol);
21
22    void clearAll();
23   
24    void start();
25
26    Volume *update(float fraction);
27
28    void stop();
29
30    void computeKeys(float fraction, int count, float *interp, int *key1, int *key2);
31
32    bool isStarted() const;
33
34    double getInterval() const;
35
36    double getStartTime() const;
37
38    Volume *getVolume();
39
40private:
41    Volume *_volume;
42
43    std::vector<Volume*> _volumes;
44
45    double _interval;
46    bool _started;
47    unsigned int _numBytes;
48    unsigned int _dataCount;
49    unsigned int _numComponents;
50    double _startTime;
51};
52
53inline bool VolumeInterpolator::isStarted() const
54{
55    return _started;
56}
57
58inline double VolumeInterpolator::getStartTime() const
59{
60    return _startTime;
61}
62
63inline double VolumeInterpolator::getInterval() const
64{
65    return _interval;
66}
67
68}
69
70#endif
71
Note: See TracBrowser for help on using the repository browser.