VTK
vtkSplineGraphEdges.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSplineGraphEdges.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 -------------------------------------------------------------------------*/
33 #ifndef vtkSplineGraphEdges_h
34 #define vtkSplineGraphEdges_h
35 
36 #include "vtkInfovisLayoutModule.h" // For export macro
37 #include "vtkGraphAlgorithm.h"
38 #include "vtkSmartPointer.h" // For ivars
39 
40 class vtkSpline;
41 
42 class VTKINFOVISLAYOUT_EXPORT vtkSplineGraphEdges : public vtkGraphAlgorithm
43 {
44 public:
45  static vtkSplineGraphEdges *New();
47  void PrintSelf(ostream& os, vtkIndent indent);
48 
50 
53  virtual void SetSpline(vtkSpline* s);
54  vtkGetObjectMacro(Spline, vtkSpline);
56 
57  enum
58  {
59  BSPLINE = 0,
60  CUSTOM
61  };
62 
64 
69  vtkSetMacro(SplineType, int);
70  vtkGetMacro(SplineType, int);
72 
74 
77  vtkSetMacro(NumberOfSubdivisions, vtkIdType);
78  vtkGetMacro(NumberOfSubdivisions, vtkIdType);
80 
81 protected:
84 
85  virtual int RequestData(
89 
90  virtual vtkMTimeType GetMTime();
91 
92  void GeneratePoints(vtkGraph* g, vtkIdType e);
93  void GenerateBSpline(vtkGraph* g, vtkIdType e);
94 
96 
98 
102 
104 
105 private:
106  vtkSplineGraphEdges(const vtkSplineGraphEdges&) VTK_DELETE_FUNCTION;
107  void operator=(const vtkSplineGraphEdges&) VTK_DELETE_FUNCTION;
108 };
109 
110 #endif
static vtkGraphAlgorithm * New()
vtkSmartPointer< vtkSpline > ZSpline
subsample graph edges to make smooth curves
Store vtkAlgorithm input/output information.
int vtkIdType
Definition: vtkType.h:287
Superclass for algorithms that produce only graph as output.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248
Base class for graph data types.
Definition: vtkGraph.h:287
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSmartPointer< vtkSpline > YSpline
spline abstract class for interpolating splines
Definition: vtkSpline.h:62
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.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkSmartPointer< vtkSpline > XSpline
Store zero or more vtkInformation instances.