VTK/Tutorials/VtkIdType: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Daviddoria (talk | contribs) (New page: 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(); ...) |
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> Vertices = vtkSmartPointer<vtkCellArray>::New(); | |||
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> Vertices = vtkSmartPointer<vtkCellArray>::New(); | |||
for ( unsigned int i = 0; i < Polydata->GetNumberOfPoints(); ++i ) | |||
{ | { | ||
vtkIdType id[1]; | |||
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>