OGS
VtkVisPipelineItem.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <QList>
7#include <QMap>
8#include <QString>
9#include <QVariant>
10
11#include "Base/TreeItem.h"
12
13class QStringList;
14class vtkAlgorithm;
15class vtkDataSetAttributes;
16class vtkPointSet;
17class vtkProp3D;
18class vtkRenderer;
19class vtkTransformFilter;
21
24
31class VtkVisPipelineItem : /*public QObject,*/ public TreeItem
32{
33// Q_OBJECT
34
35public:
37 VtkVisPipelineItem(vtkAlgorithm* algorithm,
39 const QList<QVariant> data = QList<QVariant>());
40
43 const QList<QVariant> data = QList<QVariant>());
44
45 ~VtkVisPipelineItem() override;
46
48 VtkVisPipelineItem* child(int row) const;
49
52 virtual void Initialize(vtkRenderer* renderer) = 0;
53
54 QVariant data(int column) const override;
55 bool setData(int column, const QVariant& value) override;
56
58 vtkAlgorithm* algorithm() const { return _algorithm; }
59
61 vtkProp3D* actor() const;
62
63 // Dummy for implementation in derived classes
64 virtual QString GetActiveAttribute() const { return QString(""); }
65
66 // Dummy for implementation in derived classes
67 virtual void SetActiveAttribute(const QString& str) { (void)str; }
68
71
73 bool isVisible() const;
74
76 void setVisible(bool visible);
77
80 int writeToFile(const std::string &filename) const;
81
86 virtual void setScale(double x, double y, double z) const;
87
90 void setScaleOnChildren(double x, double y, double z) const;
91
96 virtual void setTranslation(double x, double y, double z) const;
97
102 virtual vtkAlgorithm* transformFilter() const = 0;
103
105 virtual void setBackfaceCulling(bool enable) const;
106
108 void setBackfaceCullingOnChildren(bool enable) const;
109
112 QStringList getScalarArrayNames() const;
113
116
117protected:
118 vtkProp3D* _actor;
119 vtkAlgorithm* _algorithm;
120 vtkRenderer* _renderer;
122
126
131 virtual int callVTKWriter(vtkAlgorithm* algorithm, const std::string &filename) const;
132
133private:
134};
Simply wraps vtkDataSetMapper as a Qt object to enable slot connections.
TreeItem * parentItem() const
Definition TreeItem.cpp:104
int row() const
Definition TreeItem.cpp:62
TreeItem(QList< QVariant > data, TreeItem *parent)
Definition TreeItem.cpp:12
Contains properties for the visualization of objects as VtkVisPipelineItems.
Is used to combine several filter in one VtkVisPipelineItem. You can use vtk filter and custom filter...
virtual void setScale(double x, double y, double z) const
Scales the data in visualisation-space. This function is empty and needs to be implemented by derived...
virtual void setTranslation(double x, double y, double z) const
Translates the item in visualisation-space. This function is empty and needs to be implemented by der...
vtkProp3D * actor() const
Returns the actor as vtkProp3D.
QStringList getScalarArrayNames() const
Returns a list of array names prefixed with P- or C- for point and cell data.
vtkAlgorithm * algorithm() const
Returns the algorithm object.
VtkAlgorithmProperties * _vtkProps
The active VtkAlgorithmProperties. From algorithm, compositeFilter, or copied from parent.
virtual void setBackfaceCulling(bool enable) const
Enables / disables backface culling.
bool isVisible() const
Returns if the VTK object is visible in the visualization.
bool setData(int column, const QVariant &value) override
void setBackfaceCullingOnChildren(bool enable) const
Enables / disables backface culling on all children.
VtkVisPipelineItem(vtkAlgorithm *algorithm, TreeItem *parentItem, const QList< QVariant > data=QList< QVariant >())
Constructor for a source/filter object.
virtual vtkAlgorithm * transformFilter() const =0
void setVisible(bool visible)
Sets the visibility of the VTK object in the visualization.
vtkAlgorithm * _algorithm
VtkCompositeFilter * _compositeFilter
VtkVisPipelineItem * child(int row) const
Returns a VtkVisPipelineItem.
VtkAlgorithmProperties * getVtkProperties() const
Returns the VtkAlgorithmProperties.
virtual QString GetActiveAttribute() const
virtual int callVTKWriter(vtkAlgorithm *algorithm, const std::string &filename) const
int writeToFile(const std::string &filename) const
Writes this algorithm's vtkDataSet (i.e. vtkPolyData or vtkUnstructuredGrid) to a vtk-file.
QVariant data(int column) const override
virtual void Initialize(vtkRenderer *renderer)=0
Initializes vtkMapper and vtkActor necessary for visualization of the item and sets the item's proper...
VtkCompositeFilter * compositeFilter() const
Returns the composite filter.
void setScaleOnChildren(double x, double y, double z) const
Sets the geometry and date scaling recursively on all children of this item.
virtual void SetActiveAttribute(const QString &str)