-
Notifications
You must be signed in to change notification settings - Fork 3
/
vtkMRMLPointSplineNode.h
71 lines (56 loc) · 2.06 KB
/
vtkMRMLPointSplineNode.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef __vtkMRMLPointSplineNode_h
#define __vtkMRMLPointSplineNode_h
// MRML includes
#include "vtkSlicerCameraPathModuleMRMLExport.h"
#include <vtkMRMLModelNode.h>
class vtkMRMLStorageNode;
// VTK includes
#include <vtkKochanekSpline.h>
class vtkAlgorithmOutput;
/// \brief MRML node to hold the information about a 3D spline.
///
class VTK_SLICER_CAMERAPATH_MODULE_MRML_EXPORT vtkMRMLPointSplineNode :
public vtkMRMLModelNode
{
public:
typedef vtkMRMLPointSplineNode Self;
typedef vtkKochanekSpline splineType;
static vtkMRMLPointSplineNode *New();
vtkTypeMacro(vtkMRMLPointSplineNode,vtkMRMLModelNode)
virtual void PrintSelf(ostream& os, vtkIndent indent);
//--------------------------------------------------------------------------
/// MRMLNode methods
//--------------------------------------------------------------------------
virtual vtkMRMLNode* CreateNodeInstance();
/// Copy the node's attributes to this object
virtual void Copy(vtkMRMLNode *node);
/// Get node XML tag name (like Volume, Model)
virtual const char* GetNodeTagName() {return "PointSpline";}
/// Create and observe default camera path display node
/// \sa vtkMRMLPointSplineDisplayNode
void CreateDefaultDisplayNodes();
//--------------------------------------------------------------------------
/// PointSpline methods
//--------------------------------------------------------------------------
double GetMinimumT();
double GetMaximumT();
splineType* GetXSpline();
splineType* GetYSpline();
splineType* GetZSpline();
void SetSplines(splineType* xSpline,
splineType* ySpline,
splineType* zSpline);
void RemoveAllPoints();
void AddPoint(double t, double point[3]);
void RemovePoint(double t);
void UpdatePolyData(int framerate);
void Evaluate(double t, double point[3]=0);
protected:
vtkMRMLPointSplineNode();
virtual ~vtkMRMLPointSplineNode();
vtkMRMLPointSplineNode(const vtkMRMLPointSplineNode&);
void operator=(const vtkMRMLPointSplineNode&);
class vtkInternal;
vtkInternal* Internal;
};
#endif