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 -------------------------------------------------------------------------*/
30 #ifndef vtkSplineGraphEdges_h
31 #define vtkSplineGraphEdges_h
32 
33 #include "vtkInfovisLayoutModule.h" // For export macro
34 #include "vtkGraphAlgorithm.h"
35 #include "vtkSmartPointer.h" // For ivars
36 
37 class vtkSpline;
38 
39 class VTKINFOVISLAYOUT_EXPORT vtkSplineGraphEdges : public vtkGraphAlgorithm
40 {
41 public:
42  static vtkSplineGraphEdges *New();
44  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
45 
47 
50  virtual void SetSpline(vtkSpline* s);
51  vtkGetObjectMacro(Spline, vtkSpline);
53 
54  enum
55  {
56  BSPLINE = 0,
57  CUSTOM
58  };
59 
61 
66  vtkSetMacro(SplineType, int);
67  vtkGetMacro(SplineType, int);
69 
71 
74  vtkSetMacro(NumberOfSubdivisions, vtkIdType);
75  vtkGetMacro(NumberOfSubdivisions, vtkIdType);
77 
78 protected:
80  ~vtkSplineGraphEdges() VTK_OVERRIDE;
81 
82  int RequestData(
85  vtkInformationVector *) VTK_OVERRIDE;
86 
87  vtkMTimeType GetMTime() VTK_OVERRIDE;
88 
89  void GeneratePoints(vtkGraph* g, vtkIdType e);
90  void GenerateBSpline(vtkGraph* g, vtkIdType e);
91 
92  vtkSpline* Spline;
93 
94  int SplineType;
95 
99 
100  vtkIdType NumberOfSubdivisions;
101 
102 private:
103  vtkSplineGraphEdges(const vtkSplineGraphEdges&) VTK_DELETE_FUNCTION;
104  void operator=(const vtkSplineGraphEdges&) VTK_DELETE_FUNCTION;
105 };
106 
107 #endif
static vtkGraphAlgorithm * New()
subsample graph edges to make smooth curves
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:345
Superclass for algorithms that produce only graph as output.
Base class for graph data types.
Definition: vtkGraph.h:281
a simple class to control print indentation
Definition: vtkIndent.h:33
spline abstract class for interpolating splines
Definition: vtkSpline.h:62
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.