[vtkusers] some queries with vtkcellarrays

Chiranjib Sur sur.chiranjib at gmail.com
Wed Jul 22 14:36:10 EDT 2015


Sankhesh,
Thank you very much for your suggestion. Let me try it out. Amazon is
showing the VTK books which are last updated on 2010. With the new versions
of VTK, are you guys planning to have an updated version of the VTK books.

I will write back after trying your suggestions.

Thanks again,
Chiranjib

On Wed, Jul 22, 2015 at 6:46 PM, Sankhesh Jhaveri <
sankhesh.jhaveri at kitware.com> wrote:

> Chiranjib,
>
> The code segment adds 'count' number of cells with one point per cell.
>
> This example
> <http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/IterateOverLines>
> creates a set of lines () with a bunch of points. That should give you some
> idea about the data structures.
>
> Some basic concepts are explained here:
> http://www.vtk.org/Wiki/VTK/Tutorials
>
> Other than that, you can refer to the VTK User's guide
> <http://www.amazon.com/VTK-Users-Guide-Kitware/dp/1930934238/ref=as_sl_pc_tf_til?tag=kitinc-20&linkCode=w00&linkId=O634K4YN4IH7SJ6V&creativeASIN=1930934238>
> or the VTK Textbook
> <http://www.amazon.com/Visualization-Toolkit-Object-Oriented-Approach-Graphics/dp/193093419X/ref=as_sl_pc_tf_til?tag=kitinc-20&linkCode=w00&linkId=CZW6DJTGVZD3YQJP&creativeASIN=193093419X>
> for more details.
>
> You could also look at the API documentation
> <http://www.vtk.org/doc/nightly/html/>.
>
>
>
> Warm Regards,
>
> Sankhesh Jhaveri
> Research & Development Engineer
> Kitware, Inc.
> *Phone*: (518) 881 4417
> *Fax*: (518) 371 4573
>
>
>
> On Tue, Jul 21, 2015 at 1:24 PM, Chiranjib Sur <sur.chiranjib at gmail.com>
> wrote:
>
>> Hi Sankesh,
>> Thanks for the pointers. If I change this to the following
>>
>>
>>
>>    for (vtkIdType i= 0; i < count; i++)
>>    {
>>        cell->InsertNextCell( i );
>> cell->InsertCellPoint(i);
>>    }
>> will this mean the same what you are suggesting? In that case how the
>> points are getting distributed ? I have been learning VTK by going through
>> the examples. Indeed they are useful.
>>
>> I would really appreciate, if you can point me towards some "description"
>> of VTK cells / normals /Tcoords etc that will be very helpful to understand
>> the underlying concepts easily.
>>
>> Thanks,
>> Chiranjib
>>
>> On Tue, Jul 21, 2015 at 8:27 PM, Sankhesh Jhaveri <
>> sankhesh.jhaveri at kitware.com> wrote:
>>
>>> Hi Chiranjib,
>>>
>>> Your code calls InsertNextCell once and adds all points to that cell
>>> using InsertCellPoint. Thats why you just end up with one cell.
>>>
>>> You can add more cells by calling InsertNextCell as many times as the
>>> number of cells you want. You will have to distribute the points in the
>>> resultant cells accordingly.
>>>
>>> Take a look at examples here: http://www.vtk.org/Wiki/VTK/Examples/Cxx
>>>
>>>
>>>
>>> Warm Regards,
>>>
>>> Sankhesh Jhaveri
>>> Research & Development Engineer
>>> Kitware, Inc.
>>> *Phone*: (518) 881 4417
>>> *Fax*: (518) 371 4573
>>>
>>>
>>>
>>> On Mon, Jul 20, 2015 at 5:48 AM, Chiranjib Sur <sur.chiranjib at gmail.com>
>>> wrote:
>>>
>>>> Hi VTK experts,
>>>> I am not an expert vtk programmers like many others in the forum. I
>>>> have a confusion.
>>>>
>>>> I am creating a set of vtk points (and eventually a vtkpolydata) and
>>>> want to create vtkcells for the associated points. I was looking at the
>>>> examples and trying to implement this way (
>>>> http://www.vtk.org/gitweb?p=VTK.git;a=blob;f=Examples/VisualizationAlgorithms/Cxx/TubesWithVaryingRadiusAndColors.cxx
>>>> )
>>>>
>>>> What I am observing is that when I create vtkcells, I only create ONE
>>>> cell. What is going wrong here and why not all vtkcells are created?
>>>>
>>>> Any suggestions ?
>>>>
>>>> Thanks in advance,
>>>> Chiranjib
>>>>
>>>> Here is my code snippet
>>>>
>>>>
>>>>
>>>> // VTK points are defined here
>>>>
>>>>     vtkSmartPointer<vtkPoints> newPoints =
>>>> vtkSmartPointer<vtkPoints>::New();
>>>>
>>>> // Set precision for the vtk points
>>>>    newPoints->SetDataType( VTK_DOUBLE );
>>>>
>>>>     unsigned int count = 0;
>>>>     double resolution = 0.1;
>>>>
>>>> // Create the points for the entire volume
>>>>       for (unsigned int j = 0; j<10; j++)
>>>>       {
>>>>          for (unsigned int i = 0; i<10; i++)
>>>>          {
>>>>             for (unsigned int k = 0; k<10; k++)
>>>>             {
>>>>                newPoints->InsertNextPoint( x0[0]+ resolution*i, x0[1]+
>>>> resolution*j, x0[2]+ resolution*k );
>>>>                count++;
>>>>             }
>>>>          }
>>>>       }
>>>>
>>>> std::cout << "length of mycube = " << xl << ","<<yl<<","<<zl <<
>>>> std::endl;
>>>> std::cout << "Number of points = " << count << std::endl;
>>>>
>>>>
>>>>
>>>>    // Insert vtk cell arrays
>>>>    vtkSmartPointer<vtkCellArray> cell =
>>>> vtkSmartPointer<vtkCellArray>::New();
>>>>
>>>>    cell->InsertNextCell( count);
>>>>
>>>>    for (vtkIdType i= 0; i < count; i++)
>>>>    {
>>>>    cell->InsertCellPoint(i);
>>>>    }
>>>>
>>>> // Define the polydata for the cube
>>>>       vtkSmartPointer<vtkPolyData> np =
>>>> vtkSmartPointer<vtkPolyData>::New();
>>>>       np->SetPoints( newPoints );
>>>>       np->SetLines( cell);
>>>>
>>>>    std::cout << "Number of cells "<< np->GetNumberOfCells() << ":" <<
>>>> count << std::endl;
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://public.kitware.com/mailman/listinfo/vtkusers
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150723/2a80241f/attachment.html>


More information about the vtkusers mailing list