[vtkusers] some queries with vtkcellarrays

Chiranjib Sur sur.chiranjib at gmail.com
Tue Aug 4 14:15:11 EDT 2015


Hi Sankhesh,
I am still struggling with this. By any chance do you have a code snippets
which can.
The reason I want to create these cells because I want to use the
*vtkSelectEnclosedPoints
*class in my program by which I can mark points as to whether they are
inside a closed surface. This is the reason I need to construct the closed
surface out pof the vtk points I have created.

Any help will be really helpful at this stage to me.

Thanks,
Chiranjib


On Thu, Jul 23, 2015 at 12:06 AM, Chiranjib Sur <sur.chiranjib at gmail.com>
wrote:

> 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/20150804/54cc581b/attachment.html>


More information about the vtkusers mailing list