VTK
vtkGraphLayout.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGraphLayout.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 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
34 #ifndef vtkGraphLayout_h
35 #define vtkGraphLayout_h
36 
37 #include "vtkInfovisLayoutModule.h" // For export macro
38 #include "vtkGraphAlgorithm.h"
39 
43 
44 class VTKINFOVISLAYOUT_EXPORT vtkGraphLayout : public vtkGraphAlgorithm
45 {
46 public:
47  static vtkGraphLayout *New();
49  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
50 
52 
55  void SetLayoutStrategy(vtkGraphLayoutStrategy *strategy);
56  vtkGetObjectMacro(LayoutStrategy, vtkGraphLayoutStrategy);
58 
62  virtual int IsLayoutComplete();
63 
67  vtkMTimeType GetMTime() VTK_OVERRIDE;
68 
70 
76  vtkGetMacro(ZRange, double);
77  vtkSetMacro(ZRange, double);
79 
81 
84  vtkGetObjectMacro(Transform, vtkAbstractTransform);
85  virtual void SetTransform(vtkAbstractTransform* t);
87 
89 
92  vtkSetMacro(UseTransform, bool);
93  vtkGetMacro(UseTransform, bool);
94  vtkBooleanMacro(UseTransform, bool);
96 
97 protected:
99  ~vtkGraphLayout() VTK_OVERRIDE;
100 
101  vtkGraphLayoutStrategy* LayoutStrategy;
102 
107  vtkEventForwarderCommand *EventForwarder;
108 
109  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
110 
111 private:
112 
113  vtkGraph* LastInput;
114  vtkGraph* InternalGraph;
115  vtkMTimeType LastInputMTime;
116  bool StrategyChanged;
117  double ZRange;
118  vtkAbstractTransform* Transform;
119  bool UseTransform;
120 
121  vtkGraphLayout(const vtkGraphLayout&) VTK_DELETE_FUNCTION;
122  void operator=(const vtkGraphLayout&) VTK_DELETE_FUNCTION;
123 };
124 
125 #endif
a simple event forwarder command
static vtkGraphAlgorithm * New()
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
Superclass for algorithms that produce only graph as output.
abstract superclass for all graph layout strategies
Base class for graph data types.
Definition: vtkGraph.h:281
a simple class to control print indentation
Definition: vtkIndent.h:33
layout a graph in 2 or 3 dimensions
superclass for all geometric transformations
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Transform
Definition: ADIOSDefs.h:39