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

« back to all changes in this revision

Viewing changes to core/iserialpipeline.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:
34
34
 
35
35
 
36
36
#include "igenericfilter.h"
37
 
#include "iviewobjectcomponent.h"
38
 
 
39
 
 
40
 
class vtkPolyData;
41
37
 
42
38
 
43
39
template<class Filter, class InputType>
44
 
class iSerialPipeline : public Filter, public iViewObjectComponent
 
40
class iSerialPipeline : public Filter
45
41
{
46
42
 
47
43
public:
48
44
 
49
 
        virtual void AttachObservers(bool master) = 0;
50
45
        virtual iSerialPipeline<Filter,InputType>* Copy() const = 0;
51
46
 
52
 
        virtual float GetMemorySize() const = 0;
 
47
        virtual float GetMemorySize()
 
48
        {
 
49
                return this->Filter::GetMemorySize() + this->GetContentsMemorySize();
 
50
        }
 
51
 
 
52
        virtual void UpdateContents(int n, int info = 0) = 0;
53
53
 
54
54
        void SetGlobalInput(InputType *i)
55
55
        {
58
58
 
59
59
        InputType* GetGlobalInput() const {     return this->mGlobalInput; }
60
60
 
61
 
        virtual void SetNthInput(int num, vtkDataObject *input){ Filter::SetNthInput(num,input); }
 
61
        virtual void SetNthInput(int num, vtkDataObject *input){ Filter::SetNthInput(num,input); } // vtkProcessObject::SetNthInput(num,input) is protected
62
62
 
63
63
protected:
64
64
 
65
 
        iSerialPipeline(int numInputs, iViewObject *vo) : Filter(numInputs), iViewObjectComponent(vo)
 
65
        iSerialPipeline(iViewSubject *vo, int numInputs) : Filter(vo,numInputs,true,true)
66
66
        {
67
67
                this->mGlobalInput = 0;
68
68
        }
69
69
 
 
70
        virtual float GetContentsMemorySize() const = 0;
 
71
 
70
72
        InputType *mGlobalInput;
71
73
};
72
74
 
77
79
typedef iSerialPipeline<iAbstractPolyDataToPolyDataFilter,vtkPolyData>  iPolyDataToPolyDataPipeline;
78
80
typedef iSerialPipeline<iAbstractGridDataToPolyDataFilter,vtkImageData> iGridDataToPolyDataPipeline;
79
81
typedef iSerialPipeline<iAbstractGridDataToGridDataFilter,vtkImageData> iGridDataToGridDataPipeline;
 
82
typedef iSerialPipeline<iAbstractAnyDataToPolyDataFilter,vtkDataSet> iAnyDataToPolyDataPipeline;
80
83
 
81
84
#endif  // ISERIALPIPELINE_H