~ubuntu-branches/ubuntu/saucy/ifrit/saucy

« back to all changes in this revision

Viewing changes to core/icrosssectionparallelpipeline.h

  • Committer: Bazaar Package Importer
  • Author(s): Mark Hymers
  • Date: 2006-10-28 15:06:32 UTC
  • mfrom: (1.1.4 upstream) (2.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20061028150632-hyvuhvsv6zpmf5ev
Tags: 3.0.5-1
New upstream version. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*=========================================================================
2
 
 
3
 
  Program:   Ionization FRont Interactive Tool (IFRIT)
4
 
  Language:  C++
5
 
 
6
 
 
7
 
Copyright (c) 2002-2006 Nick Gnedin 
8
 
All rights reserved.
9
 
 
10
 
This file may be distributed and/or modified under the terms of the
11
 
GNU General Public License version 2 as published by the Free Software
12
 
Foundation and appearing in the file LICENSE.GPL included in the
13
 
packaging of this file.
14
 
 
15
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
16
 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
 
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
19
 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
 
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
 
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23
 
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
 
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
 
 
26
 
=========================================================================*/
27
 
 
28
 
 
29
 
#ifndef ICROSSECTIONPARALLELPIPELINE_H
30
 
#define ICROSSECTIONPARALLELPIPELINE_H
31
 
 
32
 
 
33
 
#include "iparallelpipeline.h"
34
 
 
35
 
 
36
 
#include "iserialpipeline.h"
37
 
 
38
 
class iCrossSectionViewObject;
39
 
 
40
 
class vtkImageAppend;
41
 
class vtkImageData;
42
 
 
43
 
 
44
 
class iCrossSectionParallelPipeline : public iParallelGridDataToPolyDataPipeline
45
 
{
46
 
 
47
 
        friend class iCrossSectionViewObject;
48
 
        
49
 
public:
50
 
        
51
 
        virtual float GetMemorySize() const;
52
 
 
53
 
        void UpdateMethod();
54
 
        void UpdateDir();
55
 
        void UpdateVar();
56
 
        void UpdatePos();
57
 
        void UpdateResampleFactor();
58
 
        void UpdateInterpolateData();
59
 
 
60
 
        inline vtkImageData* GetTextureData() const { return mTextureData; }
61
 
 
62
 
protected:
63
 
        
64
 
        iCrossSectionParallelPipeline(iCrossSectionViewObject *s);
65
 
        virtual ~iCrossSectionParallelPipeline();
66
 
 
67
 
        virtual void InitExecution(vtkImageData *input, vtkPolyData *output);
68
 
        virtual int ParallelExecute(int step);
69
 
 
70
 
        virtual void Append();
71
 
        virtual iGridDataToPolyDataPipeline* CreateSerialPipeline();
72
 
 
73
 
        void CreateTextureSupport();
74
 
 
75
 
        iCrossSectionViewObject *mParent;
76
 
        vtkImageData *mTextureData;
77
 
};
78
 
 
79
 
#endif // ICROSSECTIONPARALLELPIPELINE_H
80