VTK
vtkGraphLayoutStrategy.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGraphLayoutStrategy.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 -------------------------------------------------------------------------*/
36 #ifndef vtkGraphLayoutStrategy_h
37 #define vtkGraphLayoutStrategy_h
38 
39 #include "vtkInfovisLayoutModule.h" // For export macro
40 #include "vtkObject.h"
41 
42 class vtkGraph;
43 
45 {
46 public:
48  void PrintSelf(ostream& os, vtkIndent indent);
49 
51  virtual void SetGraph(vtkGraph *graph);
52 
55  virtual void Initialize() {}
56 
61  virtual void Layout()=0;
62 
65  virtual int IsLayoutComplete() {return 1;}
66 
68 
69  virtual void SetWeightEdges(bool state);
70  vtkGetMacro(WeightEdges, bool);
72 
74 
75  virtual void SetEdgeWeightField(const char* field);
76  vtkGetStringMacro(EdgeWeightField);
78 
79 protected:
82 
86 private:
87 
88  vtkGraphLayoutStrategy(const vtkGraphLayoutStrategy&); // Not implemented.
89  void operator=(const vtkGraphLayoutStrategy&); // Not implemented.
90 };
91 
92 #endif
93 
vtkGraphLayoutStrategy
abstract superclass for all graph layout strategies
Definition: vtkGraphLayoutStrategy.h:45
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkGraphLayoutStrategy::EdgeWeightField
char * EdgeWeightField
Definition: vtkGraphLayoutStrategy.h:84
vtkGraphLayoutStrategy::IsLayoutComplete
virtual int IsLayoutComplete()
Definition: vtkGraphLayoutStrategy.h:65
vtkGraphLayoutStrategy::Layout
virtual void Layout()=0
vtkGraphLayoutStrategy::Graph
vtkGraph * Graph
Definition: vtkGraphLayoutStrategy.h:83
vtkGraphLayoutStrategy::vtkGraphLayoutStrategy
vtkGraphLayoutStrategy()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkX3D::field
@ field
Definition: vtkX3D.h:177
vtkGraphLayoutStrategy::Initialize
virtual void Initialize()
Definition: vtkGraphLayoutStrategy.h:55
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGraphLayoutStrategy::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkGraphLayoutStrategy::WeightEdges
bool WeightEdges
Definition: vtkGraphLayoutStrategy.h:85
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
VTKINFOVISLAYOUT_EXPORT
#define VTKINFOVISLAYOUT_EXPORT
Definition: vtkInfovisLayoutModule.h:15
vtkObject.h
vtkGraphLayoutStrategy::SetGraph
virtual void SetGraph(vtkGraph *graph)
vtkInfovisLayoutModule.h
vtkGraphLayoutStrategy::SetWeightEdges
virtual void SetWeightEdges(bool state)
vtkGraphLayoutStrategy::SetEdgeWeightField
virtual void SetEdgeWeightField(const char *field)
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:289
vtkGraphLayoutStrategy::~vtkGraphLayoutStrategy
~vtkGraphLayoutStrategy()