VTK
vtkChartMatrix.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkChartMatrix.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 
26 #ifndef vtkChartMatrix_h
27 #define vtkChartMatrix_h
28 
29 #include "vtkChartsCoreModule.h" // For export macro
30 #include "vtkAbstractContextItem.h"
31 #include "vtkVector.h" // For ivars
32 
33 #include <map> // For specific gutter
34 #include <utility> // For specific gutter
35 
36 class vtkChart;
37 
38 class VTKCHARTSCORE_EXPORT vtkChartMatrix : public vtkAbstractContextItem
39 {
40 public:
42  void PrintSelf(ostream &os, vtkIndent indent) override;
43 
47  static vtkChartMatrix *New();
48 
52  void Update() override;
53 
57  bool Paint(vtkContext2D *painter) override;
58 
64  virtual void SetSize(const vtkVector2i& size);
65 
69  virtual vtkVector2i GetSize() const { return this->Size; }
70 
72 
75  virtual void SetBorders(int left, int bottom, int right, int top);
76  void SetBorderLeft(int value);
77  void SetBorderBottom(int value);
78  void SetBorderRight(int value);
79  void SetBorderTop(int value);
80  virtual void GetBorders(int borders[4])
81  {
82  for(int i=0;i<4;i++)
83  {
84  borders[i]=this->Borders[i];
85  }
86  }
88 
90 
93  virtual void SetGutter(const vtkVector2f& gutter);
94  void SetGutterX(float value);
95  void SetGutterY(float value);
97 
99 
102  virtual void SetSpecificResize(const vtkVector2i& index, const vtkVector2f& resize);
103  virtual void ClearSpecificResizes();
105 
109  virtual vtkVector2f GetGutter() const { return this->Gutter; }
110 
114  virtual void Allocate();
115 
122  virtual bool SetChart(const vtkVector2i& position, vtkChart* chart);
123 
129  virtual vtkChart* GetChart(const vtkVector2i& position);
130 
136  virtual bool SetChartSpan(const vtkVector2i& position,
137  const vtkVector2i& span);
138 
142  virtual vtkVector2i GetChartSpan(const vtkVector2i& position);
143 
148  virtual vtkVector2i GetChartIndex(const vtkVector2f& position);
149 
150 protected:
151  vtkChartMatrix();
152  ~vtkChartMatrix() override;
153 
154  // The number of charts in x and y.
156 
157  // The gutter between each chart.
159  std::map<vtkVector2i, vtkVector2f> SpecificResize;
160  int Borders[4];
162 
163 private:
164  vtkChartMatrix(const vtkChartMatrix &) = delete;
165  void operator=(const vtkChartMatrix &) = delete;
166 
167  class PIMPL;
168  PIMPL *Private;
169 };
170 
171 #endif //vtkChartMatrix_h
vtkChart
Factory class for drawing 2D charts.
Definition: vtkChart.h:44
vtkChartMatrix::Gutter
vtkVector2f Gutter
Definition: vtkChartMatrix.h:158
vtkChartMatrix::SpecificResize
std::map< vtkVector2i, vtkVector2f > SpecificResize
Definition: vtkChartMatrix.h:159
vtkX3D::value
Definition: vtkX3D.h:220
vtkAbstractContextItem
base class for items that are part of a vtkContextScene.
Definition: vtkAbstractContextItem.h:40
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkChartMatrix::GetSize
virtual vtkVector2i GetSize() const
Get the width and height of the chart matrix.
Definition: vtkChartMatrix.h:69
vtkChartMatrix::Size
vtkVector2i Size
Definition: vtkChartMatrix.h:155
vtkChartMatrix
container for a matrix of charts.
Definition: vtkChartMatrix.h:38
vtkVector.h
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:52
vtkX3D::top
Definition: vtkX3D.h:502
vtkX3D::position
Definition: vtkX3D.h:261
vtkAbstractContextItem::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkChartMatrix::GetBorders
virtual void GetBorders(int borders[4])
Definition: vtkChartMatrix.h:80
vtkX3D::bottom
Definition: vtkX3D.h:290
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkChartMatrix::GetGutter
virtual vtkVector2f GetGutter() const
Get the gutter that should be left between the charts in the matrix.
Definition: vtkChartMatrix.h:109
vtkX3D::size
Definition: vtkX3D.h:253
vtkAbstractContextItem.h
vtkAbstractContextItem::Paint
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
vtkChartMatrix::LayoutIsDirty
bool LayoutIsDirty
Definition: vtkChartMatrix.h:161
vtkVector2i
Some derived classes for the different vectors commonly used.
Definition: vtkVector.h:405
vtkX3D::index
Definition: vtkX3D.h:246
vtkVector2f
Definition: vtkVector.h:415
vtkAbstractContextItem::Update
virtual void Update()
Perform any updates to the item that may be necessary before rendering.