VTK/Tutorials/VtkIdType: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Daviddoria (talk | contribs) No edit summary |
Daviddoria (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
Here is an example: | Here is an example: | ||
<source lang="cpp"> | <source lang="cpp"> | ||
vtkSmartPointer<vtkCellArray> | vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New(); | ||
for ( unsigned int i = 0; i < | for ( unsigned int i = 0; i < polydata->GetNumberOfPoints(); ++i ) | ||
{ | { | ||
vertices->InsertNextCell(1,i); | |||
} | } | ||
</source> | </source> | ||
Line 18: | Line 18: | ||
To fix this, you need to put the value into a vtkIdType object, as follows: | To fix this, you need to put the value into a vtkIdType object, as follows: | ||
<source lang="cpp"> | <source lang="cpp"> | ||
vtkSmartPointer<vtkCellArray> | vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New(); | ||
for ( unsigned int i = 0; i < | for ( unsigned int i = 0; i < polydata->GetNumberOfPoints(); ++i ) | ||
{ | { | ||
vtkIdType id[1]; | vtkIdType id[1]; | ||
id[0] = i; | id[0] = i; | ||
vertices->InsertNextCell(1,id); | |||
} | } | ||
</source> | </source> |
Revision as of 21:25, 12 December 2009
Confused why you can't use ints or unsigned ints in some places?
Here is an example: <source lang="cpp"> vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();
for ( unsigned int i = 0; i < polydata->GetNumberOfPoints(); ++i )
{ vertices->InsertNextCell(1,i); }
</source>
The error generated is: <source lang="text"> error: invalid conversion from 'unsigned int' to 'const vtkIdType*' </source>
To fix this, you need to put the value into a vtkIdType object, as follows: <source lang="cpp"> vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();
for ( unsigned int i = 0; i < polydata->GetNumberOfPoints(); ++i )
{ vtkIdType id[1]; id[0] = i; vertices->InsertNextCell(1,id); }
</source>