VTK
vtkIncrementalForceLayout.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkScatterPlotMatrix.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 
31 #ifndef vtkIncrementalForceLayout_h
32 #define vtkIncrementalForceLayout_h
33 
34 #include "vtkInfovisLayoutModule.h" // For export macro
35 #include "vtkObject.h"
36 
37 #include "vtkVector.h" // For vector ivars
38 
39 class vtkGraph;
40 
42 {
43 public:
45  virtual void PrintSelf(ostream &os, vtkIndent indent);
47 
49 
50  virtual void SetGraph(vtkGraph* g);
51  vtkGetObjectMacro(Graph, vtkGraph);
53 
55 
57  virtual void SetFixed(vtkIdType fixed);
58  vtkGetMacro(Fixed, vtkIdType);
60 
62 
63  vtkSetMacro(Alpha, float);
64  vtkGetMacro(Alpha, float);
66 
68 
70  vtkSetMacro(Theta, float);
71  vtkGetMacro(Theta, float);
73 
75 
77  vtkSetMacro(Charge, float);
78  vtkGetMacro(Charge, float);
80 
82 
83  vtkSetMacro(Strength, float);
84  vtkGetMacro(Strength, float);
86 
88 
90  vtkSetMacro(Distance, float);
91  vtkGetMacro(Distance, float);
93 
95 
97  vtkSetMacro(Gravity, float);
98  vtkGetMacro(Gravity, float);
100 
102 
104  vtkSetMacro(Friction, float);
105  vtkGetMacro(Friction, float);
107 
108 //BTX
110 
113  virtual void SetGravityPoint(const vtkVector2f &point)
114  { this->GravityPoint = point; }
116  { return this->GravityPoint; }
117 //ETX
119 
121  void UpdatePositions();
122 
123 protected:
126 
128  class Implementation;
129  Implementation* Impl;
132  float Alpha;
133  float Theta;
134  float Charge;
135  float Strength;
136  float Distance;
137  float Gravity;
138  float Friction;
139 
140 private:
141  vtkIncrementalForceLayout(const vtkIncrementalForceLayout &); // Not implemented.
142  void operator=(const vtkIncrementalForceLayout &); // Not implemented.
143 };
144 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:61
#define VTKINFOVISLAYOUT_EXPORT
virtual void SetGravityPoint(const vtkVector2f &point)
int vtkIdType
Definition: vtkType.h:275
Base class for graph data types.
Definition: vtkGraph.h:288
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual vtkVector2f GetGravityPoint()
static vtkObject * New()
incremental force-directed layout.