3D Human Airway Tree
Program generuje ludzkie drzewo oskrzelowe
BasicObject.h
Idź do dokumentacji tego pliku.
1 /*=========================================================================
2 
3  Program: 3D Human Airway Tree
4  Module: BasicObject.h
5 
6  Copyright (c) Kacper Pluta <kacperp@wsinf.edu.pl>
7  All rights reserved.
8  See Copyright.txt or http://leo.wsinf.edu.pl/~kacperp/3dtree for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
21 #ifndef BASICOBJ_H
22 #define BASICOBJ_H
23 
24 #include <vtkTransform.h>
25 #include <vtkPolyData.h>
26 #include <vtkTransformPolyDataFilter.h>
27 #include <vtkAlgorithmOutput.h>
28 
30 {
31 protected:
32  vtkTransform *objTransform;
33  vtkTransformPolyDataFilter *polyDataTransFilter;
34 public:
35  BasicObject();
36  virtual ~BasicObject();
38  vtkTransform *GetTransform() const {return objTransform;}
45  virtual vtkPolyData *GetOutput() const;
46  virtual vtkAlgorithmOutput *GetOutputPort() const;
47  void Update(){objTransform->Update(); polyDataTransFilter->Update();}
49  void SetPipeline(vtkAlgorithm *objShape)
50  {
52  polyDataTransFilter->SetInputConnection(objShape->GetOutputPort());
53  polyDataTransFilter->SetTransform(objTransform);
54  }
55  void SetPipeline(vtkTransform *relativeTrs, vtkAlgorithm *objShape)
56  {
57  objTransform->SetInput(relativeTrs);
58  objTransform->Update();
60  polyDataTransFilter->SetInputConnection(objShape->GetOutputPort());
61  polyDataTransFilter->SetTransform(objTransform);
62  }
63 };
64 
65 #endif // BASICOBJ_H