VTK
vtkPath.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPath.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 =========================================================================*/
26 #ifndef vtkPath_h
27 #define vtkPath_h
28 
29 #include "vtkCommonDataModelModule.h" // For export macro
30 #include "vtkPointSet.h"
31 
32 class vtkIntArray;
33 
35 {
36 public:
37  static vtkPath *New();
38 
39  vtkTypeMacro(vtkPath,vtkPointSet);
40  void PrintSelf(ostream& os, vtkIndent indent);
41 
43  int GetDataObjectType() {return VTK_PATH;}
44 
46 
58  {
59  MOVE_TO = 0,
62  CUBIC_CURVE
63  };
65 
67 
68  void InsertNextPoint(float pts[3], int code);
69  void InsertNextPoint(double pts[3], int code);
70  void InsertNextPoint(double x, double y, double z, int code);
72 
74 
75  void SetCodes(vtkIntArray *);
76  vtkIntArray *GetCodes();
78 
80 
81  vtkIdType GetNumberOfCells() { return 0; }
82  vtkCell *GetCell(vtkIdType) { return NULL; }
84  int GetCellType(vtkIdType) { return 0; }
86 
88  void GetCellPoints(vtkIdType, vtkIdList *ptIds);
89 
91  void GetPointCells(vtkIdType ptId, vtkIdList *cellIds);
92 
94  int GetMaxCellSize() { return 0; }
95 
98  void Allocate(vtkIdType size=1000, int extSize=1000);
99 
102  void Reset();
103 
105 
107  static vtkPath* GetData(vtkInformationVector* v, int i=0);
109 
110 protected:
111  vtkPath();
112  ~vtkPath();
113 
114 private:
115  vtkPath(const vtkPath&); // Not implemented.
116  void operator=(const vtkPath&); // Not implemented.
117 };
118 
119 #endif
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
static vtkDataObject * New()
concrete dataset representing a path defined by Bezier curves.
Definition: vtkPath.h:34
Store vtkAlgorithm input/output information.
static vtkPointSet * GetData(vtkInformation *info)
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:41
int vtkIdType
Definition: vtkType.h:247
provides thread-safe access to cells
vtkCell * GetCell(vtkIdType)
Definition: vtkPath.h:82
int GetDataObjectType()
Definition: vtkPath.h:43
abstract class to specify cell behavior
Definition: vtkCell.h:58
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:49
a simple class to control print indentation
Definition: vtkIndent.h:38
int GetMaxCellSize()
Definition: vtkPath.h:94
list of point or cell ids
Definition: vtkIdList.h:35
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
void PrintSelf(ostream &os, vtkIndent indent)
int GetCellType(vtkIdType)
Definition: vtkPath.h:84
vtkIdType GetNumberOfCells()
Definition: vtkPath.h:81
Store zero or more vtkInformation instances.
#define VTK_PATH
Definition: vtkType.h:99
ControlPointType
Definition: vtkPath.h:57
#define VTKCOMMONDATAMODEL_EXPORT
virtual vtkCell * GetCell(vtkIdType cellId)=0