VTK  9.2.6
vtkPlot3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlot3D.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 
27 #ifndef vtkPlot3D_h
28 #define vtkPlot3D_h
29 
30 #include "vtkChartsCoreModule.h" // For export macro
31 #include "vtkContextItem.h"
32 #include "vtkNew.h" // Needed to hold vtkNew ivars
33 #include "vtkSmartPointer.h" // Needed to hold SP ivars
34 #include "vtkVector.h" // For Points ivar
35 #include <vector> // For ivars
36 
37 class vtkChartXYZ;
38 class vtkDataArray;
39 class vtkIdTypeArray;
40 class vtkTable;
42 class vtkPen;
43 
44 class VTKCHARTSCORE_EXPORT vtkPlot3D : public vtkContextItem
45 {
46 public:
47  vtkTypeMacro(vtkPlot3D, vtkContextItem);
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
51 
54  void SetPen(vtkPen* pen);
55  vtkPen* GetPen();
57 
59 
62  void SetSelectionPen(vtkPen* pen);
63  vtkPen* GetSelectionPen();
65 
67 
70  virtual void SetInputData(vtkTable* input);
71  virtual void SetInputData(vtkTable* input, const vtkStdString& xName, const vtkStdString& yName,
72  const vtkStdString& zName);
73  virtual void SetInputData(vtkTable* input, const vtkStdString& xName, const vtkStdString& yName,
74  const vtkStdString& zName, const vtkStdString& colorName);
75  virtual void SetInputData(
76  vtkTable* input, vtkIdType xColumn, vtkIdType yColumn, vtkIdType zColumn);
78 
84  virtual void SetColors(vtkDataArray* colorArr);
85 
89  std::vector<vtkVector3f> GetPoints();
90 
92 
95  vtkGetObjectMacro(Chart, vtkChartXYZ);
96  virtual void SetChart(vtkChartXYZ* chart);
98 
102  std::string GetXAxisLabel();
103 
107  std::string GetYAxisLabel();
108 
112  std::string GetZAxisLabel();
113 
117  std::vector<vtkVector3f> GetDataBounds() { return this->DataBounds; }
118 
120 
123  virtual void SetSelection(vtkIdTypeArray* id);
124  virtual vtkIdTypeArray* GetSelection();
126 
127 protected:
128  vtkPlot3D();
129  ~vtkPlot3D() override;
130 
134  virtual void ComputeDataBounds();
135 
140 
145 
150 
156 
161 
166 
171 
175  std::vector<vtkVector3f> Points;
176 
181 
186 
190  std::vector<vtkVector3f> DataBounds;
191 
196 
197 private:
198  vtkPlot3D(const vtkPlot3D&) = delete;
199  void operator=(const vtkPlot3D&) = delete;
200 };
201 
202 #endif // vtkPlot3D_h
std::string XAxisLabel
The label for the X Axis.
Definition: vtkPlot3D.h:160
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:38
base class for items that are part of a vtkContextScene.
record modification and/or execution time
Definition: vtkTimeStamp.h:35
std::vector< vtkVector3f > DataBounds
A bounding cube surrounding the currently rendered data points.
Definition: vtkPlot3D.h:190
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:332
vtkSmartPointer< vtkPen > Pen
This object stores the vtkPen that controls how the plot is drawn.
Definition: vtkPlot3D.h:139
vtkSmartPointer< vtkPen > SelectionPen
This object stores the vtkPen that controls how the plot is drawn.
Definition: vtkPlot3D.h:144
std::vector< vtkVector3f > GetDataBounds()
Get the bounding cube surrounding the currently rendered data points.
Definition: vtkPlot3D.h:117
int NumberOfComponents
Number of components in our color vectors.
Definition: vtkPlot3D.h:155
a simple class to control print indentation
Definition: vtkIndent.h:39
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
std::vector< vtkVector3f > Points
The data points read in during SetInputData().
Definition: vtkPlot3D.h:175
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition: vtkPen.h:39
dynamic, self-adjusting array of unsigned char
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:73
std::string ZAxisLabel
The label for the Z Axis.
Definition: vtkPlot3D.h:170
std::string YAxisLabel
The label for the Y Axis.
Definition: vtkPlot3D.h:165
vtkChartXYZ * Chart
The chart containing this plot.
Definition: vtkPlot3D.h:185
Abstract class for 3D plots.
Definition: vtkPlot3D.h:44
vtkNew< vtkUnsignedCharArray > Colors
This array assigns a color to each datum in the plot.
Definition: vtkPlot3D.h:149
Factory class for drawing 3D XYZ charts.
Definition: vtkChartXYZ.h:50
vtkSmartPointer< vtkIdTypeArray > Selection
Selected indices for the table the plot is rendering.
Definition: vtkPlot3D.h:195
vtkTimeStamp PointsBuildTime
When the points were last built.
Definition: vtkPlot3D.h:180